Skip to main content

Raw SML Bindings to the Soar Cognitive Architecture

Project description

Soar

Build/Test

This is the code base for Soar, a cognitive architecture for developing systems that exhibit intelligent behavior. For more information about this project, please visit:

Note that the readme included with the Soar distribution for end-users is in the Release-Support repository.

Soar Builds

For binary builds of Soar you can get them in two places:

  • Official Releases
  • Latest Successful Development Build: click the latest run and scroll down to "Artifacts".
    • If the download for your platform isn't there, the build failed. You'll need to download the result of an earlier build.
    • GitHub cannot build for ARM64 (M-series Macs), so you'll need to build from source or use the release version instead.

Soar Performance

Some performance statistics are calculated automatically using the Factorization Stress Tests. You can see performance on a commit-by-commit basis either in Performance.md or here. The raw data used to generate the graphs for each build can be found here.

Disclaimer: These are worst case tests. Average performance is probably much higher. In addition, these show that even in worst case, Soar beats its goal of 50 msec reactivity (in these tests, the max is ~30msec per decision).

Development

Prerequisites

The instructions below are cursory and may be out of date; the most up-to-date instructions for compiling Soar from source will always be the CI build scripts. You can find them here.

To compile Soar, you will need the dependencies listed below. Note that the installation commands are not complete, e.g. missing instructions for Mac do not mean that the dependency is not needed on Mac, etc.:

  • C/C++ compiler
    • Mac: xcode-select --install
    • Linux: sudo apt-get install build-essential
  • Python
    • Mac: brew install python
  • Java
    • We recommend using SDKMan. The debugger, etc. require Java 11 at a minimum, but it's best to install the latest LTS. Temurin is recommended.

To compile the extra SML wrapper libs, you will need the following:

  • pkg-config
    • Mac: brew install pkg-config
    • Linux: sudo apt install pkgconf
  • SWIG
    • Mac: brew install swig
    • Linux: sudo apt install swig
  • Python development headers (only needed for Python wrapper)
    • Linux: sudo apt install python3-dev
  • C# compiler (csc) (only needed for C# wrapper)
    • Mac: brew install mono
  • Tcl (only needed for Tcl wrapper and TclSoarlib)
    • Mac: brew install tcl-tk

The project supports generating compile_commands.json, which can be used by e.g. VSCode with the C/C++ plugin to provide IntelliSense. To generate this file, run scons with the cdb target:

python3 scons/scons.py --scu --opt --verbose cdb

Note for M-series Mac users: you'll want to make sure you're compiling for ARM64, not x86_64. Sometimes users have Python installed in compatibility mode, leading to compiles for the wrong architecture. You can check which architecture your Python is built for using this:

import sysconfig
>>> print(sysconfig.get_config_vars())

You can also check your clang's default compile target using clang --version.

License

Soar is available under the following LICENSE. This license is BSD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

soar_sml-9.6.3-cp35-abi3-win_amd64.whl (2.1 MB view hashes)

Uploaded CPython 3.5+ Windows x86-64

soar_sml-9.6.3-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.5+ manylinux: glibc 2.17+ x86-64

soar_sml-9.6.3-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB view hashes)

Uploaded CPython 3.5+ manylinux: glibc 2.17+ i686

soar_sml-9.6.3-cp35-abi3-macosx_11_0_arm64.whl (1.9 MB view hashes)

Uploaded CPython 3.5+ macOS 11.0+ ARM64

soar_sml-9.6.3-cp35-abi3-macosx_10_9_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.5+ macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page