Short version: SC-machine is a software package that emulates semantic computer behaviour. It uses agent-based approach to to process knowledge graphs.
SC-machine stores and processes knowledge graphs represented in the SC-code (language of the universal knowledge representation). Theoretical basis of SC-machine is provided by the OSTIS Technology.
SC-machine allows integrating problem solutions from different subject domains by using the same:
- technology
- programming and data representation language
- software stack.
This project contains:
sc-memory
- semantic storage to store graph constructions;sc-event-manager
- event-based processing (async program workflow handling);- tools to communicate with
sc-memory
:- native C++ API;
sc-server
- a Websocket server that provides a network API to communicate with storage using JSON;sc-builder
loads information from SCs files into the storage (SCs-code is one of the external representation languages of the SC-code).
More info
SC-machine is a platform-independent graph database management system that can store / retrieve knowledge graphs and run tasks (agents) on them.
Both declarative (data, data structures, documentation, tasks specification, etc.) and procedural (programs, modules, systems, communication between systems) knowledge is represented using the same language: the SC-code.
-
A brief user manual and developer docs are hosted on our GitHub Pages.
-
Full documentation, including:
- core concepts
- rationale behind the SC-machine
- system design
- software interfaces
is redistributed in a form of the SCn-TeX document.
or alternatively you can build sc-machine documentation only. To do that refer to the scn-latex-plugin documentation.
SC-machine is a core of any OSTIS-system, so you can use a reference system named OSTIS Web platform to get it up and running quickly.
-
Docker: We provide a Docker image for this project. Head to Installing with Docker to learn more. It's the recommended way to deploy the SC-machine.
-
Native: If you do not have the option to deploy the system using Docker, please refer to the docs for your OS: Build on Linux or Build on macOS respectively.
Note: currently, the SC-machine isn't natively supported on Windows.
-
Docker
# create empty KB sources folder mkdir kb && cat "." > kb/repo.path # note: at this stage you can move your KB sources to the ./kb folder # build kb docker compose run --rm machine build # run sc-server docker compose up
-
Native
#build kb python3 scripts/build_kb.py -c ./sc-machine.ini -b bin <path to kb folder with SCs and SCg sources (or path to repo.path file)> #launch sc-server ./bin/sc-server -c ./sc-machine.ini
Most of these commands have a help page bundled inside, so if you have any questions or want to customize the command behavior, use --help
flag to learn more about them.
This repository provides a default configuration for the SC-machine. To customize the SC-machine to suit your needs you can create your own config file.
Contributions, bug reports and feature requests are welcome! Feel free to check our issues page and file a new issue (or comment in existing ones).
Distributed under the MIT License. Check COPYING.MIT for more information.