Process calculus

In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. 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 algebraic 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 CSP, CCS, ACP, and LOTOS.[1] More recent additions to the family include the π-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:[2]

  • Representing interactions between independent processes as communication (message-passing), rather than as modification of shared variables.
  • Describing processes and systems using a small collection of primitives, and operators for combining those primitives.
  • Defining algebraic laws for the process operators, which allow process expressions to be manipulated using equational reasoning.

Mathematics of processes

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 ones. The basic operators, always present in some form or other, allow:[3]

  • 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 and , usually written , is the key primitive distinguishing the process calculi from sequential models of computation. Parallel composition allows computation in and to proceed simultaneously and independently. But it also allows interaction, that is synchronisation and flow of information from to (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 π-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. ) and an output operator (e.g. ), both of which name an interaction point (here ) 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 , this data is . 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 , 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 and then send that data on . 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 will wait for an input on . Only when this input has occurred will the process be activated, with the received data through substituted for identifier .

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:

The interpretation to this reduction rule is:

  1. The process sends a message, here , along the channel . Dually, the process receives that message on channel .
  2. Once the message has been sent, becomes the process , while becomes the process , which is with the place-holder substituted by , the data received on .

The class of processes that 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 π-calculus the hiding of a name in can be expressed as , while in CSP it might be written as .

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 can be understood as abbreviating the parallel composition of a countably infinite number of processes:

Null process

Process calculi generally also include a null process (variously denoted as , , , , 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).[4]

History

In the first half of the 20th century, various formalisms were proposed to capture the informal concept of a computable function, with μ-recursive functions, Turing machines 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 nets in 1962, and the actor model in 1973 emerged from this line of inquiry.

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.[1] 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 systems.
  • 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). Bisimulations 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 π-calculus is more expressive than its asynchronous variant, has the same expressive power as the higher-order π-calculus,[5] but is less than the ambient calculus.[citation needed]
  • Using process calculus to model biological systems (stochastic π-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:

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.[6] 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 generated by the Kleene star).

The use of channels for communication is one of the features distinguishing the process calculi from other models of concurrency, such as Petri nets 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

References

  1. ^ a b Baeten, J.C.M. (2004). "A brief history of process algebra" (PDF). Rapport CSR 04-02. Vakgroep Informatica, Technische Universiteit Eindhoven.
  2. ^ Pierce, Benjamin (1996-12-21). "Foundational Calculi for Programming Languages". The Computer Science and Engineering Handbook. CRC Press. pp. 2190–2207. ISBN 0-8493-2909-4.
  3. ^ Baeten, J.C.M.; Bravetti, M. (August 2005). "A Generic Process Algebra". Algebraic Process Calculi: The First Twenty Five Years and Beyond (BRICS Notes Series NS-05-3). Bertinoro, Forlì, Italy: BRICS, Department of Computer Science, University of Aarhus. Retrieved 2007-12-29.
  4. ^ Baeten, J. C. M.; Middelburg, C. A. (2000). "Process algebra with timing: Real time and discrete time": 627–684. CiteSeerX 10.1.1.42.729. {{cite journal}}: Cite journal requires |journal= (help)
  5. ^ Sangiorgi, Davide (1993). "From π-calculus to higher-order π-calculus — and back". In Gaudel, M. -C.; Jouannaud, J. -P. (eds.). TAPSOFT'93: Theory and Practice of Software Development. Lecture Notes in Computer Science. Vol. 668. Springer Berlin Heidelberg. pp. 151–166. doi:10.1007/3-540-56610-4_62. ISBN 9783540475989.
  6. ^ Mazurkiewicz, Antoni (1995). "Introduction to Trace Theory". In Diekert, V.; Rozenberg, G. (eds.). The Book of Traces. Singapore: World Scientific. pp. 3–41. ISBN 981-02-2058-8. Archived from the original (PostScript) on 2011-06-13. Retrieved 2009-04-29.

Further reading

Read other articles:

Public park in Fort Wayne, Indiana, U.S. Johnny Appleseed ParkLocationIndiana 930, 1500 Harry Baals Drive Fort Wayne, IndianaArea31.0 acres (12.5 ha)Created1973 (acquired)Operated byFort Wayne Parks and RecreationStatusOpen all year Johnny Appleseed Memorial ParkU.S. National Register of Historic Places Show map of IndianaShow map of the United StatesLocationSwanson Blvd. at Parnell Ave. along Old Feeder Canal, Fort Wayne, IndianaCoordinates41°6′42.5″N 85°07′23.39″W...

GhajiniPoster rilis teatrikalNama lainHindiगजनी Sutradara A. R. Murugadoss Produser Allu Aravind Tagore Madhu Madhu Mantena Ditulis oleh Piyush Mishra (Dialog) SkenarioA. R. Murugadoss Aamir Khan (Klimaks)[1]CeritaA. R. MurugadossPemeran Aamir Khan Asin Jiah Khan Penata musikA. R. RahmanSinematograferRavi K. ChandranPenyuntingAnthonyPerusahaanproduksiGeetha ArtsDistributor Reliance Entertainment Showman Pictures Tanggal rilis 25 Desember 2008 (2008-12-25) Dura...

Komunikasi Portal · Sejarah Aspek umum Bahasa Informasi Logika Semiotika Sosiologi Teori komunikasi Bidang Analisis wacana Komunikasi massa Komunikasi organisasi Linguistik Pragmatika Semiotika Sosiolinguistik Disiplin ilmu Budaya Diskursus Etika komunikasi Filsafat Kajian literatur Komunikasi interaksi Komunikasi persuasif Komunikasi publik Meta komunikasi Retorika Kategori Garis besar lbs Komunikasi (serapan dari Belanda: communicatie) adalah suatu proses ketika seseorang atau beberapa...

110 Tosari Halte TransjakartaTampilan Halte Tosari generasi ketiga, 2023LetakKotaJakarta PusatDesa/kelurahanMenteng, MentengKodepos10310AlamatJalan M.H. ThamrinKoordinat6°11′55″S 106°49′23″E / 6.1986°S 106.8230°E / -6.1986; 106.8230Koordinat: 6°11′55″S 106°49′23″E / 6.1986°S 106.8230°E / -6.1986; 106.8230Desain HalteStruktur BRT, median jalan bebas 1 tengah Pintu masukMelalui pelican crossing di Jalan M.H. ThamrinGer...

Lucent Danstheater (2010) Het Nederlands Dans Theater (NDT) is een in Nederland gevestigd, internationaal opererend dansgezelschap. Sinds 1987 was het NDT gevestigd in het Lucent Danstheater aan het Spui in Den Haag. Dit gebouw werd in 2015 gesloopt om plaats te maken voor een nieuw cultureel centrum, Amare, dat in 2021 in gebruik werd genomen. In die tussenliggende jaren werden de voorstellingen gehouden in het Zuiderstrandtheater. Oprichting Repetitie Nederlands Ballet in 1961 Het NDT is in...

Multi-purpose arena in Tulsa, Oklahoma Expo Square PavilionPavilion at Expo Square in 2006Former namesTulsa Fairgrounds PavilionLocation4145 East 21st StreetTulsa, OklahomaCoordinates36°8′12″N 95°55′58″W / 36.13667°N 95.93278°W / 36.13667; -95.93278OwnerTulsa CountyOperatorTulsa County Public Facilities Authority[1]Capacity6,311ConstructionOpened1932ArchitectLeland I. ShumwayTenantsTulsa Golden Hurricane (NCAA) (1947–1964)Tulsa Oilers (CHL) (1...

This article may require copy editing for grammar, style, cohesion, tone, or spelling. You can assist by editing it. (December 2023) (Learn how and when to remove this template message)Chief Minister of Telangana K. Chandrashekar RaoKCROfficial portrait, April 20171st Chief Minister of Telangana (Caretaker)In office2 June 2014 – 3 December 2023GovernorE. S. L. NarasimhanDr. Tamilisai SoundararajanDeputyM. Mahmood Ali(until 12 December 2018)T. Rajaiah(until 25 January 2015)Kadiyam S...

Mazmur 7Naskah Gulungan Mazmur 11Q5 di antara Naskah Laut Mati memuat salinan sejumlah besar mazmur Alkitab yang diperkirakan dibuat pada abad ke-2 SM.KitabKitab MazmurKategoriKetuvimBagian Alkitab KristenPerjanjian LamaUrutan dalamKitab Kristen19← Mazmur 6 Mazmur 8 → Mazmur 7 (disingkat Maz 7, Mzm 7 atau Mz 7) adalah mazmur ketujuh dalam bagian pertama Kitab Mazmur di Alkitab Ibrani dan Perjanjian Lama dalam Alkitab Kristen. Mazmur ini digubah oleh Daud.[1][2] Tek...

    Hoofddorp    Het station in de jaren twintig Afkorting Hfd Opening 2 augustus 1912 Sluiting 31 december 1935 Lijn(en) Aalsmeer – Haarlem en Hoofddorp – Leiden Vervoerder(s) HESM Portaal    Openbaar vervoer Feestelijke opening in 1912 Het station omstreeks het openingsjaar Het eerste Station Hoofddorp was een spoorwegstation in Hoofddorp in de gemeente Haarlemmermeer in de Nederlandse provincie Noord-Holland. Geschiedenis Het werd geopend op 2 au...

خوسيه رامون لوبيث معلومات شخصية الميلاد 22 نوفمبر 1950 (العمر 73 سنة)سبتة مواطنة إسبانيا  الطول 180 سنتيمتر  الحياة العملية المهنة متسابق قوارب الكانوي  اللغات الإسبانية  الرياضة كانو-كاياك  تعديل مصدري - تعديل   سجل الميداليات كانو كاياك - رجال منافس من  إسبانيا

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) دائرة قفصة الانتخابية خارطة الدائرة الانتخابية.الموقع على المستوى الوطني. خارطة الدائرة الانتخابية.خار...

Not to be confused with Molossus of Epirus. For other uses, see Molossus. Dog breedMolossusThe Jennings Dog, a Roman copy of a lost Greek bronze statue, on display in the British Museum.Other namesΜολοσσόςMolossian houndOriginEpirus, ancient GreeceBreed statusExtinctDog (domestic dog) The Molossus (Greek: Μολοσσός, romanized: Molossós; also known as the Molossian hound, Epirus mastiff) was a breed of dog from Ancient Greece. History The Molossus were dogs that were kept ...

1960 United States men's Olympic basketball teamHead coachPete Newell1960 Summer OlympicsScoring leader Oscar Robertson (17.3)← 19561964 → The 1960 United States men's Olympic basketball team competed in the Games of the XVII Olympiad, representing the United States of America. The USA team, coached by California Golden Bears head coach Pete Newell, dominated the competition, winning its games by an average of 42.4 points per game. The team is considered by many to be th...

DNA

Molecule that carries genetic information For a non-technical introduction to the topic, see Introduction to genetics. For other uses, see DNA (disambiguation). The structure of the DNA double helix (type B-DNA). The atoms in the structure are colour-coded by element and the detailed structures of two base pairs are shown in the bottom right.Simplified diagramPart of a series onGenetics Key components Chromosome DNA RNA Genome Heredity Nucleotide Mutation Genetic variation Allele Amino acid O...

Malaysian association football player In this Indian name, the name Vengadesan is a patronymic, and the person should be referred to by the given name, Ruventhiran. The abbreviation a/l (anak lelaki) or a/p (anak perempuan), if used, means son of or daughter of in Malay respectively. V. Ruventhiran Ruventhiran in 2021Personal informationFull name Ruventhiran a/l Vengadesan[1]Date of birth (2001-08-24) 24 August 2001 (age 22)Place of birth Klang, Selangor, MalaysiaHeight 1.75 ...

Federasi MikronesiaFederated States of Micronesia (Inggris) Bendera Lambang Semboyan: Peace, Unity, Liberty(Inggris: Perdamaian, Persatuan, Kebebasan)Lagu kebangsaan: Patriots of Micronesia Ibu kotaPalikir6°55′N 158°11′E / 6.917°N 158.183°E / 6.917; 158.183Kota terbesarWeno7°27′N 151°51′E / 7.450°N 151.850°E / 7.450; 151.850Bahasa resmiInggrisPemerintahanRepublik sistem campuran1• Presiden David W. Panuelo•...

Cet article est une ébauche concernant la musique classique et Vienne. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Concert du nouvel an 2003 à VienneChef Nikolaus HarnoncourtDate 1er janvier 2003NavigationConcert du nouvel an 2002 à VienneConcert du nouvel an 2004 à Viennemodifier - modifier le code - modifier Wikidata Le concert du nouvel an 2003 de l'orchestre philharmonique de Vienne, qui alieu le 1er ...

Fort in Akola district, Maharashtra, India This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Akola Fort – news · newspapers · books · scholar · JSTOR (September 2017) (Learn how and when to remove this template message) Akola FortAkola district, Maharashtra Akola FortAkola FortCoordinates20°42′22″N 76°59...

Species of fish Popoyote Conservation status Endangered (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Actinopterygii Order: Cyprinodontiformes Family: Profundulidae Genus: Tlaloc Species: T. hildebrandi Binomial name Tlaloc hildebrandi(R. R. Miller, 1950)[2] Synonyms Profundulus hildebrandi Miller, 1950[3] The Popoyote (Tlaloc hildebrandi), also known as the Chiapas killifish,[4] is a killifish fro...

2023 Liberian general election ← 2017 10 October 2023 (first round)14 November 2023 (second round) 2029 → Presidential election   Nominee Joseph Boakai George Weah Party UP CDC Running mate Jeremiah Koung Jewel Taylor Popular vote 814,481 793,914 Percentage 50.64% 49.36% First round results by countySecond round results by countySecond round results by electoral districtWeah:      40–50%      50–60% ...