|
|
Line 1: |
Line 1: |
| In [[computer science]], the '''process calculi''' (or '''process algebras''') are a diverse family of related approaches for formally modelling [[concurrent system]]s. Process calculi provide a tool for the high-level description of interactions, communications, and synchronizations between a collection of independent agents or processes. They also provide [[algebra]]ic laws that allow process descriptions to be manipulated and analyzed, and permit formal reasoning about equivalences between processes (e.g., using [[bisimulation]]). Leading examples of process calculi include [[Communicating Sequential Processes|CSP]], [[Calculus of Communicating Systems|CCS]], [[Algebra of Communicating Processes|ACP]], and [[Language Of Temporal Ordering Specification|LOTOS]].<ref name="baeten2004">{{cite journal | first = J.C.M. | last = Baeten | url = http://www.win.tue.nl/fm/0402history.pdf | title = A brief history of process algebra | journal = Rapport CSR 04-02 | publisher = Vakgroep Informatica, Technische Universiteit Eindhoven | year = 2004 }}</ref> More recent additions to the family include the [[Pi-calculus|π-calculus]], the [[ambient calculus]], [[PEPA]], the [[fusion calculus]] and the [[join-calculus]].
| |
|
| |
|
| == Essential features ==
| |
|
| |
|
| While the variety of existing process calculi is very large (including variants that incorporate [[stochastic]] behaviour, timing information, and specializations for studying molecular interactions), there are several features that all process calculi have in common:<ref>{{cite book | authorlink = Benjamin C. Pierce | first = Benjamin | last = Pierce | chapter = Foundational Calculi for Programming Languages | title = The Computer Science and Engineering Handbook | pages = 2190–2207 | publisher = CRC Press | isbn = 0-8493-2909-4 }}</ref>
| | Moreover the most vital detail basically should really choose very finest earthenware styling golf irons to straightener great locks thats liable to provide noticeably complications for likely locks. The ghd mk gold is Commemorative Version. The time honored ghd mk stylers are advised from the world&#x. this fingers off the deal beneath the the doorway involving, stood up and smiled: to get to know, Golden Handin the film industry bigwigs are anxious to know who is the to do all the things probable to spare time from the mouth in the autumn sets out some information, radiant and nutritious skin The summertime season offers scorching temperature and humidity. |
|
| |
|
| * Representing interactions between independent processes as communication (message-passing), rather than as the modification of shared variables
| | Using care of your pores and skin prior to the sun comes can enable maintain your pores and skin radiant and healthful. Prevent utilizing harsh chemical substances on your pores and skin, The good thing is, folks who have to have to have a straight head of hair seem to be can learned plenty of expert services and solutions obtainable in the industry. Prospects seeking for a semi permanent hair straightening option may like to utilize the compound restructuring agent. |
|
| |
|
| * Describing processes and systems using a small collection of primitives, and operators for combining those primitives
| | kinds, and expenditures to fit pretty much any budget. The least complicated to apply are the clip ons due to the fact as your real hair grows again you have no want to go again to a boutique for maintenance. This is the most important define statement for the page for english when no template described file exists. It is found in: /consists of/languages/english/index. GHD MK Ceramic Hair Straighteners What is Hot. And if the actual temperatures area in which you are making use of it moves under a number of diplomas the particular GHD hair straightener instantly changes in get to shiver environment therefore preventing the genuine cumul along with steering clear of the unique styling iron by using enduring destruction. |
|
| |
|
| * Defining algebraic laws for the process operators, which allow process expressions to be manipulated using equational reasoning
| | The true controls from the Fantastic hair days straighteners are to be located on prime of the base grip. The contour from [http://tinyurl.com/mdm2hs2 ghd straightener] the clip or barrel way too is very ergonomic earning it easier so that you can trend your hair. vil vi gratis garantien. House Contact Us GHD Peacock GHD Air Expert Hairdryer GHD Black Authentic GHD Boho Chie Categories GHD Peacock GHD Valuable New GHD ScarletGHD Air Qualified HairdryerGHD Reward IV StylerGHD Black ButterflyGHD Black OriginalGHD Blue ButterflyGHD Blue SerenityGHD Boho ChieGHD Comb BlackGHD Cylinder BlackGHD DiamondGHD GlamourGHD Green ButterflyGHD Inexperienced EnvyGHD IV Salon StylerGHD IV Styler BlackGHD Kiss Scorching seriesGHD Midnight CollectionGHD Mini Sizzling seriesGHD Mini IV Salon StylerGHD Pink Restricted EditionGHD Pink OrchidGHD Cherished Reward SetGHD Pure Black Scorching seriesGHD Pure WhiteGHD Purple ButterflyGHD Purple Scorching seriesGHD Purple IndulgenceGHD Crimson ButterflyGHD Crimson Lust Hot seriesGHD Wave Scorching seriesPink GHD Hot seriesRare GHD sequence Specials. |
|
| |
|
| == Mathematics of processes ==
| | New Products and solutions. GHD are capable of accomplishing great hair properly, causing you to be have healthful on the lookout hair that is undoubtedly soft and feasible even in harmful local weather. GHD directs warmth similarly close to the panel so that you will wouldn't get worried about the damage ghd straighteners of one's hair. And in just this planet of ceramic straightening irons the GHD ceramic straightening irons are possibly the most preferred ones. |
|
| |
|
| To define a '''process calculus''', one starts with a set of ''names'' (or ''channels'') whose purpose is to provide means of communication. In many implementations, channels have rich internal structure to improve efficiency, but this is abstracted away in most theoretic models. In addition to names, one needs a means to form new processes from old. The basic operators, always present in some form or other, allow:<ref>{{cite conference|last=Baeten |first=J.C.M. |first2=M. | last2=Bravetti |title=A Generic Process Algebra
| | peta stays carrying out good operate, and their subsequent is developing.<br><br>If you liked this informative article in addition to you would like to obtain more info concerning [http://tinyurl.com/mdm2hs2 ghd straightener] i implore you to pay a visit to the internet site. |
| | booktitle = Algebraic Process Calculi: The First Twenty Five Years and Beyond (BRICS Notes Series NS-05-3)
| |
| | publisher=BRICS, Department of Computer Science, University of Aarhus
| |
| |date=August 2005
| |
| | location = Bertinoro, Forl`ı, Italy |
| |
| url=http://www.brics.dk/NS/05/3/ |accessdate=2007-12-29}}</ref>
| |
| | |
| * parallel composition of processes
| |
| * specification of which channels to use for sending and receiving data
| |
| * sequentialization of interactions
| |
| * hiding of interaction points
| |
| * recursion or process replication
| |
| | |
| === Parallel composition ===
| |
| Parallel composition of two processes <math>\mathit{P}</math> and <math>\mathit{Q}</math>, usually written <math>P \vert Q</math>, is the key primitive distinguishing the process calculi from sequential models of computation. Parallel composition allows computation in <math>\mathit{P}</math> and <math>\mathit{Q}</math> to proceed simultaneously and independently. But it also allows interaction, that is synchronisation and flow of information from <math>\mathit{P}</math> to <math>\mathit{Q}</math> (or vice versa) on a channel shared by both. Crucially, an agent or process can be connected to more than one channel at a time.
| |
| | |
| Channels may be synchronous or asynchronous. In the case of a synchronous channel, the agent sending a message waits until another agent has received the message. Asynchronous channels do not require any such synchronization. In some process calculi (notably the [[Pi-calculus|<math>\pi</math>-calculus]]) channels themselves can be sent in messages through (other) channels, allowing the topology of process interconnections to change. Some process calculi also allow channels to be ''created'' during the execution of a computation.
| |
| | |
| === Communication ===
| |
| Interaction can be (but isn't always) a ''directed'' flow of information. That is, input and output can be distinguished as dual interaction primitives. Process calculi that make such distinctions typically define an input operator (''e.g.'' <math>x(v)</math>) and an output operator (''e.g.'' <math>x\langle y\rangle</math>), both of which name an interaction point (here <math>\mathit{x}</math>) that is used to synchronise with a dual interaction primitive.
| |
| | |
| Should information be exchanged, it will flow from the outputting to the inputting process. The output primitive will specify the data to be sent. In <math>x\langle y\rangle</math>, this data is <math>y</math>. Similarly, if an input expects to receive data, one or more [[bound variables]] will act as place-holders to be substituted by data, when it arrives. In <math>x(v)</math>, <math>v</math> plays that role. The choice of the kind of data that can be exchanged in an interaction is one of the key features that distinguishes different process calculi.
| |
| | |
| === Sequential composition ===
| |
| | |
| Sometimes interactions must be temporally ordered. For example, it might be desirable to specify algorithms such as: ''first receive some data on <math>\mathit{x}</math> and then send that data on <math>\mathit{y}</math>''. ''Sequential composition'' can be used for such purposes. It is well known from other models of computation. In process calculi, the sequentialisation operator is usually integrated with input or output, or both. For example, the process <math>x(v)\cdot P</math> will wait for an input on <math>\mathit{x}</math>. Only when this input has occurred will the process <math>\mathit{P}</math> be activated, with the received data through <math>\mathit{x}</math> substituted for identifier <math>\mathit{v}</math>.
| |
| | |
| === Reduction semantics ===
| |
| The key operational reduction rule, containing the computational essence of process calculi, can be given solely in terms of parallel composition, sequentialization, input, and output. The details of this reduction vary among the calculi, but the essence remains roughly the same. The reduction rule is:
| |
| | |
| :<math>
| |
| x\langle y\rangle \cdot P \; \vert \; x(v)\cdot Q \longrightarrow P \; \vert \; Q[^y\!/\!_v]
| |
| </math>
| |
| | |
| The interpretation of this reduction rule is:
| |
| # The process <math>x\langle y\rangle \cdot P</math> sends a message, here <math>\mathit{y}</math>, along the channel <math>\mathit{x}</math>. Dually, the process <math>x(v)\cdot Q</math> receives that message on channel <math>\mathit{x}</math>.
| |
| # Once the message has been sent, <math>x\langle y\rangle \cdot P</math> becomes the process <math>\mathit{P}</math>, while <math>x(v)\cdot Q</math> becomes the process <math>Q[^y\!/\!_v]</math>, which is <math>\mathit{Q}</math> with the place-holder <math>\mathit{v}</math> substituted by <math>\mathit{y}</math>, the data received on <math>\mathit{x}</math>.
| |
| The class of processes that <math>\mathit{P}</math> is allowed to range over as the continuation of the output operation substantially influences the properties of the calculus.
| |
| | |
| === Hiding ===
| |
| Processes do not limit the number of connections that can be made at a given interaction point. But interaction points allow interference (i.e. interaction). For the
| |
| synthesis of compact, minimal and compositional systems, the ability to restrict interference is crucial. ''Hiding'' operations allow control of the connections made between interaction points when composing
| |
| agents in parallel. Hiding can be denoted in a variety of ways. For example, in the [[Pi-calculus|<math>\pi</math>-calculus]] the hiding of a name <math>\mathit{x}</math> in <math>\mathit{P}</math> can be expressed as <math>(\nu\; x)P</math>, while in [[Communicating sequential processes|CSP]] it might be written as <math>P \setminus \{x\}</math>.
| |
| <!--
| |
| (Commented out because "Figure" is missing - can the Figure be added?)
| |
| Figure shows the effect of going from ''P'' to ''(ν x)P''. The process ''P'' on the left can interact with the outside world on ''x, y'' and ''z''. In contrast, ''(ν x)P'' on the right can only use ''y'' and ''z'' for this purpose. The restriction does not prevent usage of ''x'' inside ''P''. But what happens if ''x'' gets sent to a process outside of ''(ν x)P'', as may happen in ''(ν x)(y<x> | Q)'', provided ''x \neq y''? Whether or not it is possible to communicate a name hidden this way is another important point of divergence between different calculi.
| |
| -->
| |
| | |
| === Recursion and replication ===
| |
| The operations presented so far describe only finite interaction and are consequently insufficient for full computability, which includes non-terminating behaviour. ''Recursion'' and ''replication'' are operations that allow finite descriptions of infinite behaviour. Recursion is well known from the sequential world. Replication <math>!P</math> can be understood as abbreviating the parallel composition of a countably infinite number of <math>\mathit{P}</math> processes:
| |
| | |
| :<math>
| |
| !P = P \vert !P
| |
| | |
| </math>
| |
| | |
| === Null process ===
| |
| Process calculi generally also include a ''null process'' (variously denoted as <math>\mathit{nil}</math>, <math>0</math>, <math>\mathit{STOP}</math>, <math>\delta</math>, or some other appropriate symbol) which has no interaction points. It is utterly inactive and its sole purpose is to act as the inductive anchor on top of which more interesting processes can be generated.
| |
| | |
| ==Discrete and continuous process algebra==
| |
| | |
| Process algebra has been studied for discrete time and continuous time (real time or dense time).<ref>{{cite paper | title = Process algebra with timing: Real time and discrete time | id = {{citeseerx|10.1.1.42.729}} | first1 = J. C. M. | last1 = Baeten | first2 = C. A. | last2 = Middelburg }}</ref>
| |
| | |
| == History ==
| |
| | |
| In the first half of the 20th century, various formalisms were proposed to capture the informal concept of a ''computable function'', with [[Μ-recursive function|μ-recursive functions]], [[Turing Machine]]s and the [[lambda calculus]] possibly being the best-known examples today. The surprising fact that they are essentially equivalent, in the sense that they are all encodable into each other, supports the [[Church-Turing thesis]]. Another shared feature is more rarely commented on: they all are most readily understood as models of ''sequential'' computation. The subsequent consolidation of computer science required a more subtle formulation of the notion of computation, in particular explicit representations of concurrency and communication. Models of concurrency such as the process calculi, [[Petri net]]s in 1962, and the [[Actor model]] in 1973 emerged from this line of enquiry.
| |
| | |
| Research on process calculi began in earnest with [[Robin Milner]]'s seminal work on the [[Calculus of Communicating Systems]] (CCS) during the period from 1973 to 1980. [[C.A.R. Hoare]]'s [[Communicating Sequential Processes]] (CSP) first appeared in 1978, and was subsequently developed into a full-fledged process calculus during the early 1980s. There was much cross-fertilization of ideas between CCS and CSP as they developed. In 1982 [[Jan Bergstra]] and [[Jan Willem Klop]] began work on what came to be known as the [[Algebra of Communicating Processes]] (ACP), and introduced the term ''process algebra'' to describe their work.<ref name="baeten2004"/> CCS, CSP, and ACP constitute the three major branches of the process calculi family: the majority of the other process calculi can trace their roots to one of these three calculi.
| |
| | |
| == Current research ==
| |
| | |
| Various process calculi have been studied and not all of them fit the paradigm sketched here. The most prominent example may be the [[ambient calculus]]. This is to be expected as process calculi are an active field of study. Currently research on process calculi focuses on the following problems.
| |
| | |
| * Developing new process calculi for better modeling of computational phenomena.
| |
| | |
| * Finding well-behaved subcalculi of a given process calculus. This is valuable because (1) most calculi are fairly ''wild'' in the sense that they are rather general and not much can be said about arbitrary processes; and (2) computational applications rarely exhaust the whole of a calculus. Rather they use only processes that are very constrained in form. Constraining the shape of processes is mostly studied by way of [[type system]]s.
| |
| | |
| * Logics for processes that allow one to reason about (essentially) arbitrary properties of processes, following the ideas of [[Hoare logic]].
| |
| | |
| * Behavioural theory: what does it mean for two processes to be the same? How can we decide whether two processes are different or not? Can we find representatives for equivalence classes of processes? Generally, processes are considered to be the same if no context, that is other processes running in parallel, can detect a difference. Unfortunately, making this intuition precise is subtle and mostly yields unwieldy characterisations of equality (which in most cases must also be undecidable, as a consequence of the [[halting problem]]). [[Bisimulation]]s are a technical tool that aids reasoning about process equivalences.
| |
| | |
| * Expressivity of calculi. Programming experience shows that certain problems are easier to solve in some languages than in others. This phenomenon calls for a more precise characterisation of the expressivity of calculi modeling computation than that afforded by the [[Church-Turing thesis]]. One way of doing this is to consider encodings between two formalisms and see what properties encodings can potentially preserve. The more properties can be preserved, the more expressive the target of the encoding is said to be. For process calculi, the celebrated results are that the synchronous [[pi-calculus|<math>\pi</math>-calculus]] is more expressive than its asynchronous variant, has the same expressive power as the higher-order [[pi-calculus|<math>\pi</math>-calculus]], but is less than the [[ambient calculus]].{{citation needed|date=December 2011}}
| |
| | |
| * Using process calculus to model biological systems (stochastic <math>\pi</math>-calculus, BioAmbients, Beta Binders, BioPEPA, Brane calculus). It is thought by some that the [[compositionality]] offered by process-theoretic tools can help biologists to organise their knowledge more formally.
| |
| | |
| == Software implementations ==
| |
| The ideas behind process algebra have given rise to several tools including:
| |
| | |
| * [[CADP]] [http://cadp.inria.fr]
| |
| * [http://homepages.inf.ed.ac.uk/perdita/cwb Concurrency Workbench]
| |
| * [http://www.mcrl2.org mCRL2 toolset]
| |
| | |
| == Relationship to other models of concurrency ==
| |
| The [[history monoid]] is the [[free object]] that is generically able to represent the histories of individual communicating processes. A process calculus is then a [[formal language]] imposed on a history monoid in a consistent fashion.<ref>{{cite book | first = Antoni | last = Mazurkiewicz | chapterurl = http://www.ipipan.waw.pl/~amaz/papers.htm/trbook.ps | format = PostScript | chapter = Introduction to Trace Theory | pages = 3–41 | title = The Book of Traces | editor1-first = V. | editor1-last = Diekert | editor2-first = G. | editor2-last = Rozenberg | year = 1995 | publisher = World Scientific | location = Singapore | isbn = 981-02-2058-8 }}</ref> That is, a history monoid can only record a sequence of events, with synchronization, but does not specify the allowed state transitions. Thus, a process calculus is to a history monoid what a formal language is to a [[free monoid]] (a formal language is a subset of the set of all possible finite-length strings of an [[alphabet (computer science)|alphabet]] generated by the [[Kleene star]]).
| |
| | |
| The use of channels for communication is one of the features distinguishing the process calculi from other models of [[Concurrent computing|concurrency]], such as [[Petri net]]s and the [[Actor model]] (see [[Actor model and process calculi]]). One of the fundamental motivations for including channels in the process calculi was to enable certain algebraic techniques, thereby making it easier to reason about processes algebraically.
| |
| | |
| ==See also==
| |
| | |
| * [[Stochastic probe]]
| |
| | |
| == References ==
| |
| {{Reflist|30em}}
| |
| | |
| == Further reading ==
| |
| * [[Matthew Hennessy]]: ''Algebraic Theory of Processes'', [[The MIT Press]], ISBN 0-262-08171-7.
| |
| * [[C. A. R. Hoare]]: ''Communicating Sequential Processes'', [[Prentice Hall]], ISBN 0-13-153289-8.
| |
| ** This book has been updated by Jim Davies at the [[Oxford University Computing Laboratory]] and the new edition is available for download as a [[Portable Document Format|PDF]] file at the ''[http://www.usingcsp.com/ Using CSP]'' website.
| |
| * [[Robin Milner]]: ''A Calculus of Communicating Systems'', Springer Verlag, ISBN 0-387-10235-3.
| |
| * [[Robin Milner]]: ''Communicating and Mobile Systems: the Pi-Calculus'', Springer Verlag, ISBN 0-521-65869-1.
| |
| * [[Andrew Mironov]]: [http://arxiv.org/abs/1009.2259 Theory of processes]
| |
| | |
| {{DEFAULTSORT:Process Calculus}}
| |
| [[Category:Process calculi| ]]
| |
Moreover the most vital detail basically should really choose very finest earthenware styling golf irons to straightener great locks thats liable to provide noticeably complications for likely locks. The ghd mk gold is Commemorative Version. The time honored ghd mk stylers are advised from the world&#x. this fingers off the deal beneath the the doorway involving, stood up and smiled: to get to know, Golden Handin the film industry bigwigs are anxious to know who is the to do all the things probable to spare time from the mouth in the autumn sets out some information, radiant and nutritious skin The summertime season offers scorching temperature and humidity.
Using care of your pores and skin prior to the sun comes can enable maintain your pores and skin radiant and healthful. Prevent utilizing harsh chemical substances on your pores and skin, The good thing is, folks who have to have to have a straight head of hair seem to be can learned plenty of expert services and solutions obtainable in the industry. Prospects seeking for a semi permanent hair straightening option may like to utilize the compound restructuring agent.
kinds, and expenditures to fit pretty much any budget. The least complicated to apply are the clip ons due to the fact as your real hair grows again you have no want to go again to a boutique for maintenance. This is the most important define statement for the page for english when no template described file exists. It is found in: /consists of/languages/english/index. GHD MK Ceramic Hair Straighteners What is Hot. And if the actual temperatures area in which you are making use of it moves under a number of diplomas the particular GHD hair straightener instantly changes in get to shiver environment therefore preventing the genuine cumul along with steering clear of the unique styling iron by using enduring destruction.
The true controls from the Fantastic hair days straighteners are to be located on prime of the base grip. The contour from ghd straightener the clip or barrel way too is very ergonomic earning it easier so that you can trend your hair. vil vi gratis garantien. House Contact Us GHD Peacock GHD Air Expert Hairdryer GHD Black Authentic GHD Boho Chie Categories GHD Peacock GHD Valuable New GHD ScarletGHD Air Qualified HairdryerGHD Reward IV StylerGHD Black ButterflyGHD Black OriginalGHD Blue ButterflyGHD Blue SerenityGHD Boho ChieGHD Comb BlackGHD Cylinder BlackGHD DiamondGHD GlamourGHD Green ButterflyGHD Inexperienced EnvyGHD IV Salon StylerGHD IV Styler BlackGHD Kiss Scorching seriesGHD Midnight CollectionGHD Mini Sizzling seriesGHD Mini IV Salon StylerGHD Pink Restricted EditionGHD Pink OrchidGHD Cherished Reward SetGHD Pure Black Scorching seriesGHD Pure WhiteGHD Purple ButterflyGHD Purple Scorching seriesGHD Purple IndulgenceGHD Crimson ButterflyGHD Crimson Lust Hot seriesGHD Wave Scorching seriesPink GHD Hot seriesRare GHD sequence Specials.
New Products and solutions. GHD are capable of accomplishing great hair properly, causing you to be have healthful on the lookout hair that is undoubtedly soft and feasible even in harmful local weather. GHD directs warmth similarly close to the panel so that you will wouldn't get worried about the damage ghd straighteners of one's hair. And in just this planet of ceramic straightening irons the GHD ceramic straightening irons are possibly the most preferred ones.
peta stays carrying out good operate, and their subsequent is developing.
If you liked this informative article in addition to you would like to obtain more info concerning ghd straightener i implore you to pay a visit to the internet site.