<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.150.199.17</id>
	<title>formulasearchengine - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.150.199.17"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/wiki/Special:Contributions/5.150.199.17"/>
	<updated>2026-08-10T12:36:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Saturation_arithmetic&amp;diff=9410</id>
		<title>Saturation arithmetic</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Saturation_arithmetic&amp;diff=9410"/>
		<updated>2013-11-04T09:14:16Z</updated>

		<summary type="html">&lt;p&gt;5.150.199.17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&#039;&#039;For the drug see [[PEPA (drug)]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Performance Evaluation Process Algebra&#039;&#039;&#039; (&#039;&#039;&#039;PEPA&#039;&#039;&#039;) is a [[stochastic]] [[process algebra]] designed for modelling computer and communication systems introduced by [[Jane Hillston]] in the 1990s.&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; The language extends classical process algebras such as [[Robin Milner|Milner]]&#039;s [[Calculus of Communicating Systems|CCS]] and [[C.A.R. Hoare|Hoare]]&#039;s [[Communicating Sequential Processes|CSP]] by introducing probabilistic branching and timing of transitions.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
As with most process algebras, PEPA is a parsimonious language.  It has only four combinators, &#039;&#039;prefix&#039;&#039;, &#039;&#039;choice&#039;&#039;, &#039;&#039;co-operation&#039;&#039; and &#039;&#039;hiding&#039;&#039;.  Prefix is the basic building block of a sequential component: the process (&#039;&#039;a&#039;&#039;, &#039;&#039;r&#039;&#039;).&#039;&#039;P&#039;&#039; performs activity &#039;&#039;a&#039;&#039; at rate &#039;&#039;r&#039;&#039; before evolving to behave as component &#039;&#039;P&#039;&#039;.  Choice sets up a competition between two possible alternatives: in the process (&#039;&#039;a&#039;&#039;, &#039;&#039;r&#039;&#039;).&#039;&#039;P&#039;&#039; + (&#039;&#039;b&#039;&#039;, &#039;&#039;s&#039;&#039;).&#039;&#039;Q&#039;&#039; either &#039;&#039;a&#039;&#039; wins the race (and the process subsequently behaves as &#039;&#039;P&#039;&#039;) or &#039;&#039;b&#039;&#039; wins the race (and the process subsequently behaves as &#039;&#039;Q&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
The co-operation operator requires the two &amp;quot;co-operands&amp;quot; to join for those activities which are specified in the co-operation set: in the process &#039;&#039;P&#039;&#039; &amp;lt; &#039;&#039;a&#039;&#039;, &#039;&#039;b&#039;&#039;&amp;gt; &#039;&#039;Q&#039;&#039; the processes &#039;&#039;P&#039;&#039; and &#039;&#039;Q&#039;&#039; must co-operate on activities &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039;, 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]].&lt;br /&gt;
&lt;br /&gt;
Finally, the process &#039;&#039;P&#039;&#039;/{&#039;&#039;a&#039;&#039;} hides the activity &#039;&#039;a&#039;&#039; from view (and prevents other processes from joining with it).&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
Given a set of action names, the set of CCS processes is defined by the following [[BNF grammar]]:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P ::= (a,\lambda).P\,\,\, | \,\,\,P + Q\,\,\, | \,\,\,P\stackrel{\triangleright \!\! \triangleleft}{\scriptstyle{L}}Q\,\,\, | \,\,\,P/L\,\,\,|\,\,\,A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parts of the syntax are, in the order given above&lt;br /&gt;
&lt;br /&gt;
; action : the process &amp;lt;math&amp;gt;(a,\lambda).P&amp;lt;/math&amp;gt; can perform an action &#039;&#039;a&#039;&#039; at rate &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; and continue as the process &#039;&#039;P&#039;&#039;.&lt;br /&gt;
; choice : the process &#039;&#039;P+Q&#039;&#039; may behave as either the process &#039;&#039;P&#039;&#039; or the process &#039;&#039;Q&#039;&#039;.&lt;br /&gt;
; cooperation : processes &#039;&#039;P&#039;&#039; and &#039;&#039;Q&#039;&#039; exist simultaneously and behave indepdendently for actions whose names do not appear in &#039;&#039;L&#039;&#039;. For actions whose names appear in &#039;&#039;L&#039;&#039;, the action must be carried out jointly and a race condition determines the time this takes.&lt;br /&gt;
; hiding : the process &#039;&#039;P&#039;&#039; behaves as usual for action names not in &#039;&#039;L&#039;&#039;, and performs a silent action &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; for action names that appear in &#039;&#039;L&#039;&#039;.&lt;br /&gt;
; process identifier : write &amp;lt;math&amp;gt;A \overset{\underset{\mathrm{def}}{}}{=} P&amp;lt;/math&amp;gt; to use the identifier &#039;&#039;A&#039;&#039; to refer to the process &#039;&#039;P&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&lt;br /&gt;
* [http://www.dcs.ed.ac.uk/pepa/tools/plugin/index.html PEPA Plug-in] for [[Eclipse (software)|Eclipse]]&amp;lt;ref&amp;gt;{{cite doi|10.1145/1530873.1530880}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [http://www.doc.ic.ac.uk/ipc/ ipc: the imperial PEPA compiler]&amp;lt;ref&amp;gt;{{cite doi|10.1109/MASCOT.2003.1240679}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [http://code.google.com/p/gpanalyser/ GPAnalyser] for fluid analysis of massively parallel systems&amp;lt;ref&amp;gt;{{cite doi|10.1109/QEST.2011.26}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
&lt;br /&gt;
* [http://www.dcs.ed.ac.uk/pepa PEPA: Performance Evaluation Process Algebra]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Process calculi]]&lt;/div&gt;</summary>
		<author><name>5.150.199.17</name></author>
	</entry>
</feed>