Basic Action Notation
Basic action notation is primarily concerned with specifying flow of
control in performances of actions. It includes basic notation for
data as well.
Actions
- All primitive basic actions:
- Give no transients, except for escape.
- Produce no bindings.
- Make no changes to storage.
- do not communicate.
- Redirect no bindings.
- All basic action combinators are:
- Functionally conducting
(see the basic action A1andA2),
except for A1trapA2, which is functionally composing
(see the functional action A1thenA2.
- declaratively conducting
(see the basic action A1andA2).
- complete:
a primitive basic action. Represents normal termination. Unit for
A1andA2, as well as for A1and thenA2.
- Indivisible. Always completes.
- escape:
a primitive basic action. Represents abnormal termination. Unit for
A1trapA2.
- Indivisible. Always escapes.
- Gives any given transients.
- fail:
a primitive basic action. Represents abortion of the current alternative.
Unit for A1orA2.
- Indivisible. Always fails.
Example
- commit:
a primitive basic action. Represents commitment to the current
alternative, cutting away other current alternatives.
- Indivisible. Always commits and completes.
Example
- diverge:
a basic action. Represents nontermination.
Example
- unfold:
a dummy action, standing for the innermost
enclosing unfolding.
- unfolding A:
Represents the (in general, infinite) action formed by continually
substituting A for unfold.
(To avoid singularities in
pathological cases, substitute complete and
then A, rather than just A.)
- Performs A, but whenever the dummy
action unfold is
reached, A is performed in place of unfold.
- indivisibly A:
a basic combination of action A. Represents that the
steps of performing
A are not interleaved with those of other actions performed
by the same
agent. Also ensures that the performance of A cannot be
interrupted by
an escape or failure occurring outside A. For use only
when A cannot
diverge.
- Indivisible: A is performed as a
single step.
- A1 or A2:
a basic combination of actions A1 or A2. Represents
implementation-dependent choice; specializes to deterministic choice
when one or the other of A1, A2 must fail.
- Performs either A1orA2.
When the performed alternative fails without committing,
it is ignored and the other alternative is performed instead.
- All the transients given to the
combination of A1, A2 are given to the performed
alternative. On normal or abnormal termination, all the transients
given by the performed alternative are given by the combined
action.
- All the bindings received by
the combination of A1, A2
are received by the performed
alternative. On normal termination, all the bindings produced by the
performed alternative are produced by the combined action.
- A1 and A2:
a basic combination of actions A1, A2. Represents
implementation-dependent order of performance of indivisible
subactions, specializing to independent performance when there is no
interference between A1 and A2.
- Basically interleaving: Performs both A1, A2,
with arbitrary interleaving of their indivisible steps. An escape or
a failure causes any remaining parts of the subactions to be
skipped.
- Functionally conducting: The transients given to the
combination
of A1, A2
is given to both A1, A2. On normal
termination, all the transients given by A1, A2 is
collected and
given by the combined action---if both give one or more items of transients,
these are tupled in the given order. On escape, only the transients given by
the escape is given by the combined action.
- declaratively conducting: The bindings received by the
combination of A1, A2
are received by both A1, A2. On normal
termination, all the bindings produced by A1, A2
are collected and produced by the combined action---provided
that the bindings are all for distinct tokens, otherwise the combined
action fails.
- A1 and then A2:
a basic combination of actions A1, A2. Represents
dependency on normal termination.
- Basically (normal) sequencing: Performs A1
first. If A1 completes, performs A2.
- A1 trap A2:
a basic action combination. Represents recovery from abnormal
termination.
- Performs A1 first.
If A1 escapes,
performs A2.
- Functionally composing
(see the functional action A1thenA2 in Section d.2.1).
- action: the sort of all actions.
Yielders
Data
|
data |
a d
- datum: a sort. Its individuals represent items of data.
Left open, as it depends on the variety of information processed by
the programs of a programming language. Includes generally-useful
sorts from data notation, except for tuples. Similarly
for distinct-datum,
the sort of datum whose individuals are
distinguished by the operation _is_ .
- data : a sort. Its individuals represent tuples, i.e., ordered
collections of individuals of sort datum, which may also be processed as
transient information.
- a d : the same data as d. Only used to
improve the readability of the notation. Similarly for an
, the d, of d,
and some d. Thus an
application of an operation op to arguments x can be written as
op x, op of x, and the
op of x. Note that the words 'the' and 'of' are
obligatory parts of some other operation symbols. (Compare
the HyperCard scripting language, HyperTalk [].)

WebAni |
Ani |
RAT |
AG |
Actions |
People |
Action Notation |
Data Notation
[Created by Jin Jin Yi and Ana Carla Santos. Last modified at 21 Dec 1997 by Ana Carla]