Action Systems

The action system is a notation for writing programs, due to Ralph Back[1].

An action is a guarded command. That is, it contains a guard, which is an expression which may be true or false, and a command, which is an instruction. For example,

 n>0  -->  n:=n-1
is an action in which the guard n>0 is true whenever n is greater than zero, and the command n:=n-1 says to subtract one from the value of n. An action may be executed any time when the guard is true, by carrying out the command.

An action system is a collection of actions. It is executed by repeatedly choosing an action to execute. If it is the case that no action is able to be executed, then execution of the action system stops.

[1] R.J.R. Back and R.Kurki-Suonio, Decentralization of process nets with centralized control. 2nd annual symposium on principles of distributed computing, Montreal 1983.


Home