Performance Evaluation Process Algebra (PEPA) is a stochasticprocess algebra designed for modelling computer and communication systems introduced by Jane Hillston in the 1990s.[1] The language extends classical process algebras such as Milner's CCS and Hoare's CSP by introducing probabilistic branching and timing of transitions.
As with most process algebras, PEPA is a parsimonious language. It has only four combinators, prefix, choice, co-operation and hiding. Prefix is the basic building block of a sequential component: the process (a, r).P performs activity a at rate r before evolving to behave as component P. Choice sets up a competition between two possible alternatives: in the process (a, r).P + (b, s).Q either a wins the race (and the process subsequently behaves as P) or b wins the race (and the process subsequently behaves as Q).
The co-operation operator requires the two "co-operands" to join for those activities which are specified in the co-operation set: in the process P < a, b> Q the processes P and Q must co-operate on activities a and b, but any other activities may be performed independently. The reversed compound agent theorem gives a set of sufficient conditions for a co-operation to have a product form stationary distribution.
Finally, the process P/{a} hides the activity a from view (and prevents other processes from joining with it).
Syntax
Given a set of action names, the set of PEPA processes is defined by the following BNF grammar:
The parts of the syntax are, in the order given above
action
the process can perform an action a at rate and continue as the process P.
choice
the process P+Q may behave as either the process P or the process Q.
cooperation
processes P and Q exist simultaneously and behave independently for actions whose names do not appear in L. For actions whose names appear in L, the action must be carried out jointly and a race condition determines the time this takes.
hiding
the process P behaves as usual for action names not in L, and performs a silent action for action names that appear in L.
process identifier
write to use the identifier A to refer to the process P.
^Stefanek, A.; Hayden, R. A.; Bradley, J. T. (2011). "GPA - A Tool for Fluid Scalability Analysis of Massively Parallel Systems". 2011 Eighth International Conference on Quantitative Evaluation of SysTems. p. 147. doi:10.1109/QEST.2011.26. ISBN978-1-4577-0973-9. S2CID10220707.