Causal Runtime

Create structurally and algorithmically complex, causality driven, asymmetric non-linear, scalable, topological, data abstracted and evolving systems.

Supported Targets

Implementation

Aspects

A discrete piece of data stored into memory is called an "Aspect". The thing about aspects is, they are managed by a ref counting borrowing pattern.

A borrowing pattern means, before you can access the memory you have to lock it to a scope. This borrow pattern ensures there are no concurrent mutable accesses to protected memory. However immutable accesses can be concurrent.

This memory protection is realized by a so called "Essence". It manages its atomic lock state.

An "Essence" can be referenced by multiple ref tracking/counting "References".

Tick/Acts

A "Tick" is a procedure taking in/out parameters triggering consecutive Ticks. An "Act" is a "Tick" set into an execution context.

Wirks

A "Wirks" is a meaningful set of Ticks and their contextual requirements.

Branch

Discrete algorithm's execution order is given by "Branches". Branches are thread safe.

Dispatcher

Processes/Ticks "Branch"(es). "Dispatcher" are thread safe.

Facets

Each "Aspect" can relate to other "Aspect"s through so called "Facet"s. A facet defines how an "Aspect" can interact. While relational information could also be stored at runtime just in the happening "Wirkung" a topology should always rely on properly defined "Facet"s except you have very certain intentions beyond.

License

All content and and sources of causal runtimes are licensed under the terms of the GNU Affero General Public License v3

Notes

Contact

udet (at) causal-rt.org

Supported by