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-1is 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.