This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "PEPA" – news ·newspapers ·books ·scholar ·JSTOR(October 2018) (Learn how and when to remove this message) |
Performance Evaluation Process Algebra (PEPA) is astochasticprocess algebra designed for modelling computer and communication systems introduced byJane Hillston in the 1990s.[1] The language extends classical process algebras such asMilner'sCCS andHoare'sCSP by introducing probabilistic branching and timing of transitions.
Rates are drawn from theexponential distribution and PEPA models are finite-state and so give rise to astochastic process, specifically acontinuous-time Markov process (CTMC). Thus the language can be used to study quantitative properties of models of computer and communication systems such asthroughput, utilisation andresponse time as well as qualitative properties such as freedom fromdeadlock. The language is formally defined using a structuredoperational semantics in the style invented byGordon Plotkin.
As with most process algebras, PEPA is a parsimonious language. It has only four combinators,prefix,choice,co-operation andhiding. Prefix is the basic building block of a sequential component: the process (a,r).P performs activitya at rater before evolving to behave as componentP. Choice sets up a competition between two possible alternatives: in the process (a,r).P + (b,s).Q eithera wins the race (and the process subsequently behaves asP) orb wins the race (and the process subsequently behaves asQ).
The co-operation operator requires the two "co-operands" to join for those activities which are specified in the co-operation set: in the processP <a,b>Q the processesP andQ must co-operate on activitiesa andb, but any other activities may be performed independently. Thereversed compound agent theorem gives a set of sufficient conditions for a co-operation to have aproduct form stationary distribution.
Finally, the processP/{a} hides the activitya from view (and prevents other processes from joining with it).
Given a set of action names, the set of PEPA processes is defined by the followingBNF grammar:
The parts of the syntax are, in the order given above