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

If you're not sure about the file name format, learn more about wheel file names.

soar_sml-9.6.3.202405172339.dev122-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

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

soar_sml-9.6.3.202405172339.dev122-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB view details)

Uploaded CPython 3.5+manylinux: glibc 2.17+ i686

soar_sml-9.6.3.202405172339.dev122-cp35-abi3-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.5+macOS 11.0+ ARM64

soar_sml-9.6.3.202405172339.dev122-cp35-abi3-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.5+macOS 10.9+ x86-64

File details

Details for the file soar_sml-9.6.3.202405172339.dev122-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3.202405172339.dev122-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9f5435783c84cccb6b6feb97a994a3a91899912c55b5bf4986c91836e9c1fe48
MD5 7f5ef25a4e5133a40db2b36ac6b0130a
BLAKE2b-256 66fef17cb094aa6e2331e1f60b0b4b29653861db42859bb4848615e92597e015

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3.202405172339.dev122-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3.202405172339.dev122-cp35-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8be131645db3734124bb2f38832fc1eab597f5b44cfcb1ab8cf804dfbb3bdf24
MD5 dc3cffecdd51107d691b50e4c759a8d1
BLAKE2b-256 3e7b93fcd3e0d9937fd833900ec93b96e2d4247f45b07054b7ef5d8480151a62

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3.202405172339.dev122-cp35-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3.202405172339.dev122-cp35-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa9a6eb9966e449cbc97a1477a946a522e9f7a7921fb9b170c2863fba703385b
MD5 760f02726162efaa9b3741c13dc8119a
BLAKE2b-256 37dcc26e835ca1dcb0d70f160fed4974ced5488937b2c1475193188145b94c6c

See more details on using hashes here.

File details

Details for the file soar_sml-9.6.3.202405172339.dev122-cp35-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for soar_sml-9.6.3.202405172339.dev122-cp35-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ccc247167d77815c3deee421b2ebe8e0e8d92a558bbf2b282f387a6429eb89db
MD5 24d4941328031b93545343d2d3e54794
BLAKE2b-256 28f6672f730494616c0b85374fc58bd7830e0702286757b35f7432b1db13ea56

See more details on using hashes here.

Supported by

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