Brief History of Process Algebra 3
unit of behaviour. Besides, there is an initial state (sometimes, more than one)
and a number of final states. A behaviour is a run, i.e. a path from initial state
to final state. Important from the beginning is when to consider two automata
equal, expressed by a notion of equivalence. On automata, the basic notion of
equivalence is language equivalence: a behaviour is characterized by the set of
executions from the initial state to a final state. An algebra that allows equational
reasoning about automata is the algebra of regular expressions (see e.g. [58]).
Later on, this model was found to be lacking in several situations. Basically,
what is missing is the notion of interaction: during the execution from initial
state to final state, a system may interact with another system. This is needed
in order to describe parallel or distributed systems, or so-called reactive sys-
tems. When dealing with interacting sys tems , we say we are doing concurrency
theory, so concurrency theory is the theory of interacting, parallel and/or dis-
tributed systems . When talking about process algebra, we usually consider it as
an approach to concurrency theory, so a process algebra will usually (but not
necessarily) have parallel composition as a basic operator.
Thus, we can say that process algebra is the study of the behaviour of parallel
or distributed systems by algebraic means. It offers means to describe or specify
such systems, and thus it has means to talk about parallel composition. Besides
this, it can usually also talk about alternative composition (choice) and sequen-
tial composition (sequencing). Moreover, we can reason about such systems using
algebra, i.e. equational reasoning. By means of this equational reasoning, we can
do verification, i.e. we c an establish that a system satisfies a certain property.
What are these basic laws of process algebra? We can list some, that are
usually called structural or static laws. We start out from a given set of atomic
actions, and use the basic op erators to compose these into more complicated pro-
cesses. As basic operators, we use + denoting alternative composition, ; denoting
sequential composition and k denoting parallel composition. Usually, there are
also neutral elements for some or all of these operators, but we do not consider
these here. Some basic laws are the following (+ binding weakest, ; binding
strongest).
– x + y = y + x (commutativity of alternative composition)
– x + (y + z) = (x + y) + z (associativity of alternative composition)
– x + x = x (idempotency of alternative composition)
– (x + y); z = x; z + y; z (right distributivity of + over ;)
– (x; y); z = x; (y; z) (associativity of sequential composition)
– x k y = y k x (commutativity of parallel composition)
– (x k y) k z = x k (y k z) (asso ciativity of parallel comp os ition)
These laws are called static laws because they do not mention action execu-
tion explicitly, but only list general properties of the operators involved.
We can see that there is a law connecting alternative and sequential compo-
sition. In some cases, other connections are considered. On the other hand, we
list no law connecting parallel composition to the other operators. It turns out
such a connection is at the heart of process algebra, and it is the to ol that makes
calculation possible. In most process algebras, this law allows to express parallel
评论0
最新资源