1.7 QSMM Components
The QSMM package consists of the following main components:
- Actor implementation.
Actor is an adaptive probabilistic mapping.
An actor has a number of adjustable modes and parameters and supports limited customization of its algorithms.
The Actor API makes it possible to create and destroy actors and perform various operations on them.
The main operation is obtaining an outcome for a particular argument.
Supplying the spur to an actor modulates causal relationships between the arguments and outcomes.
- Multinode model engine.
It is an engine for running adaptive (“intelligent”) state models.
The engine relies on actors to achieve adaptive behavior.
A node, a state sub-model represented by a probabilistic finite automaton, interacts with an environment by means of executing assembler instructions.
A developer provides a set of those assembler instructions and their implementations as callback functions.
By default, every node is a probabilistic finite automaton of uniform structure—it has all states connected in all possible ways with equal probabilities.
Parses a probabilistic assembler program and converts it to a probabilistic finite automaton.
The assembler program defines the probabilities of transitions between states of this finite automaton.
The probabilities specify soft and hard constraints on automaton behavior.
Converts a probabilistic finite automaton with state transition probabilities adjusted by spur modulation back to a probabilistic assembler program.
The QSMM package also includes auxiliary components that may simplify developing programs:
- Tree map implementation.
A C implementation of functionality of STL
A developer can use it to create ordered tree mapping objects in C programs without the need to rewrite those programs in C++.
- Simple packet exchange.
A simple API for exchanging data packets in multithreaded programs according to “producers-consumer” model.
A developer can use this API, for example, to model a system and an environment running in two separate threads and communicating with each other.