ArticleslgStudy

computer science

PEPA

PEPA is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand PEPA rather than just read about it. In short: Performance Evaluation Process Algebra (PEPA) is a stochastic process algebra designed for modelling computer and communication systems introduced by Jane Hillston in the 1990s. The language extends classical process algebras such as Milner's CCS and Hoare's CSP by introducing probabilistic branching and timing of transitions.

Key takeaways

  • PEPA belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect PEPA to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of PEPA from memory before moving on to harder problems.

Reference excerpt

Performance Evaluation Process Algebra (PEPA) is a stochastic process algebra designed for modelling computer and communication systems introduced by Jane Hillston in the 1990s. The language extends classical process algebras such as Milner's CCS and Hoare's CSP by introducing probabilistic branching and timing of transitions. Rates are drawn from the exponential distribution and PEPA models are finite-state and so give rise to a stochastic process, specifically a continuous-time Markov process (CTMC). Thus the language can be used to study quantitative properties of models of computer and communication systems such as throughput, utilisation and response time as well as qualitative properties such as freedom from deadlock. The language is formally defined using a structured operational semantics in the style invented by Gordon Plotkin. 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:

P ::= ( a , λ ) . P | P + Q | P L ▹ ◃ Q | P / L | A {\displaystyle P::=(a,\lambda ).P\,\,\,|\,\,\,P+Q\,\,\,|\,\,\,P{\stackrel {\triangleright \!\!\triangleleft }{\scriptstyle {L}}}Q\,\,\,|\,\,\,P/L\,\,\,|\,\,\,A}

The parts of the syntax are, in the order given above

action the process ( a , λ ) . P {\displaystyle (a,\lambda ).P} can perform an action a at rate λ {\displaystyle \lambda } 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 τ {\displaystyle \tau } for action names that appear in L. process identifier write A = d e f P {\displaystyle A{\overset {\underset {\mathrm {def} }{}}{=}}P} to use the identifier A to refer to the process P.

Tools PEPA Plug-in for Eclipse ipc: the imperial PEPA compiler GPAnalyser for fluid analysis of massively parallel systems

References

External links PEPA: Performance Evaluation Process Algebra

Worked examples

Example 1 — a first encounter with PEPA

Start with the simplest possible case. Write down what PEPA claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to PEPA before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about PEPA ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of PEPA

In research
PEPA appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses PEPA in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
PEPA is common in secondary-school and first-year university syllabi. It links to neighbouring topics Process calculi, Theoretical computer science, so understanding it makes those chapters shorter.
In everyday life
Look for PEPA outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study PEPA in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what PEPA means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain PEPA out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is PEPA in simple terms?

Performance Evaluation Process Algebra (PEPA) is a stochastic process algebra designed for modelling computer and communication systems introduced by Jane Hillston in the 1990s. The language extends classical process algebras such as Milner's CCS and Hoare's CSP by introducing probabilistic branchi…

Why does PEPA matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study PEPA?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on PEPA.

Tags

  • Process calculi
  • Theoretical computer science

Keep exploring