-
Notifications
You must be signed in to change notification settings - Fork 0
Code Structure
The Cadence-Embedded source code is organised into the following directory structure. The structure within the modules is generally a good template for developing modules and should be used as a standard.
Non-executable part of Cadence to be used as a library by other C++ applications.
Source code files for the library. There may be some header files here which do not form a part of the API.
Source for the core virtual machine. This includes event and oid implementations as well as the main event router and scheduler. Definitions and their byte-code representation are also implemented here.
Built-in handlers for local in-memory graph storage and arithmetical operations. Agents are also implemented using an agent handler which receives and then forwards their events.
The DASM parser. May eventually include other notations.
Built-in agents, includes the module loading agent and the notation management agent.
Utility classes for using the VM. Includes dstring.
The test harness used by the automated tests. Not used in ordinary use of Cadence.
Public API header files which get installed.
Headers for the core virtual machine in Cadence.
Headers for the test framework.
Source and scripts for generating a binary version of Cadence. Is a simple executable wrapper around the library version, with shell scripts for setting up the execution environment.
Basic optional modules provided with Cadence.
Simple single side-effect upon condition agency.
Networking module to connect multiple Cadence instances together.
A basic IDE for observing and modifying the Cadence environment.
Unit and system tests.