Saturation arithmetic: Difference between revisions
Small maths typo for maximum value: corrected to 2^n-1 instead of n. |
No edit summary |
||
Line 1: | Line 1: | ||
:''For the drug see [[PEPA (drug)]]'' | |||
'''Performance Evaluation Process Algebra''' ('''PEPA''') is a [[stochastic]] [[process algebra]] designed for modelling computer and communication systems introduced by [[Jane Hillston]] in the 1990s.<ref>{{cite book|last=Hillston|first=Jane|authorlink=Jane Hillston|title=A Compositional Approach to Performance Modelling|year=1996|publisher=Cambridge University Press|isbn=0-521-57189-8|url=http://www.dcs.ed.ac.uk/pepa/book.pdf|accessdate=2009-04-21}}</ref> The language extends classical process algebras such as [[Robin Milner|Milner]]'s [[Calculus of Communicating Systems|CCS]] and [[C.A.R. Hoare|Hoare]]'s [[Communicating Sequential Processes|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 (technology)|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 CCS processes is defined by the following [[BNF grammar]]: | |||
:<math>P ::= (a,\lambda).P\,\,\, | \,\,\,P + Q\,\,\, | \,\,\,P\stackrel{\triangleright \!\! \triangleleft}{\scriptstyle{L}}Q\,\,\, | \,\,\,P/L\,\,\,|\,\,\,A</math> | |||
The parts of the syntax are, in the order given above | |||
; action : the process <math>(a,\lambda).P</math> can perform an action ''a'' at rate <math>\lambda</math> 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 indepdendently 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 <math>\tau</math> for action names that appear in ''L''. | |||
; process identifier : write <math>A \overset{\underset{\mathrm{def}}{}}{=} P</math> to use the identifier ''A'' to refer to the process ''P''. | |||
==Tools== | |||
* [http://www.dcs.ed.ac.uk/pepa/tools/plugin/index.html PEPA Plug-in] for [[Eclipse (software)|Eclipse]]<ref>{{cite doi|10.1145/1530873.1530880}}</ref> | |||
* [http://www.doc.ic.ac.uk/ipc/ ipc: the imperial PEPA compiler]<ref>{{cite doi|10.1109/MASCOT.2003.1240679}}</ref> | |||
* [http://code.google.com/p/gpanalyser/ GPAnalyser] for fluid analysis of massively parallel systems<ref>{{cite doi|10.1109/QEST.2011.26}}</ref> | |||
==External links== | |||
* [http://www.dcs.ed.ac.uk/pepa PEPA: Performance Evaluation Process Algebra] | |||
==References== | |||
{{Reflist}} | |||
[[Category:Process calculi]] |
Revision as of 10:14, 4 November 2013
- For the drug see PEPA (drug)
Performance Evaluation Process Algebra (PEPA) is a stochastic process 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.
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 CCS 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 indepdendently 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.
Tools
- PEPA Plug-in for Eclipse[2]
- ipc: the imperial PEPA compiler[3]
- GPAnalyser for fluid analysis of massively parallel systems[4]
External links
References
43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.
- ↑ 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.
My blog: http://www.primaboinca.com/view_profile.php?userid=5889534 - ↑ Template:Cite doi
- ↑ Template:Cite doi
- ↑ Template:Cite doi