Definition.   Simulating method (run)

Let A be an atom in an atomistic model M having command C. The run simulating method  is a method, which uses the semantics of C in order to implement the assumed behavior for A so that the situation of M with side effects will be updated in order to allow a recursive simulation of the called atoms with their invocations.

We state that the necessary atom activation for each element type has the form:

Result = Atom:run().

It is necessary to initialize only some atom types before their use. These types are methods, some variable types, and dynamic references if no corresponding constructors have been run in the sequence before a reference.

Definition. Simulating logic

Let A be an atom and C be the corresponding command. A simulating logic is an automaton, a state machine, which performs the necessary logic expressed in a state transition table (see  TABLE).

TABLE             The run method as a state transition table.

State Condition Next State References
Entry CEntry,2 S1 A1.etc.
S1 C1,k Sk
Sk Ck,n Sn Aj
Sn Exit

On each line of TABLE there can only be either input or output references.

The run method (Definition 32) makes simulation possible by being the glue which connects the current atom to other actual atoms around it in order to make a correct sequence, i.e., a tape with its side effects according to the state formalism of Definition 34.

A general call for a run method of an element E is the following: Output = E:run()

If the atom doesn’t return any value, then it results in an empty list ([]). Otherwise, if the method calculates a complete and ready value, then Output has the form [valClause] meaning a constant. If there are some unknown variables or expressions without a value in the command of the element, then Output has the form [linkClause]. The logic of the run method is described as a state transition table in TABLE.  It specifies the states, conditions and transitions for each command.

An example:  An if-clause contains a command: iff(A1, [T1, T2, .. TN], [E1, … EM]). It is simulated as follows:

  • At first A1 is evaluated. It responds by a value true or false.
  • If A1 is true, then statements T1.. TN are executed.
  • Otherwise statements E1.. EM are executed.