Knowledge

Process calculus

Source đź“ť

2491: 143:) 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: 1783:. 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 1766:
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
758:
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
1751:
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
1286:
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.
1848:
imposed on a history monoid in a consistent fashion. 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
1778:
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
341:
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
1683:
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,
859: 1767:
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
1711:(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 618:
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
1635:, 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. 1727:
to describe their work. 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.
1880:). 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. 46:. 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 1046: 901: 362:
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 (
346:) 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 1675:
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
480: 424: 1613: 1410: 1291:
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
1560: 2253: 1477: 1341: 1317: 1276: 1248: 1224: 1200: 1176: 1070: 1008: 949: 925: 748: 724: 700: 676: 611: 587: 448: 336: 312: 288: 264: 214: 190: 1518: 1105: 984: 652: 1374: 240: 1633: 1420:
The operations presented so far describe only finite interaction and are consequently insufficient for full computability, which includes non-terminating behaviour.
533: 392: 2312: 1453: 555:
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.
1580: 1152: 765: 553: 500: 1798:
Using process calculus to model biological systems (stochastic π-calculus, BioAmbients, Beta Binders, BioPEPA, Brane calculus). It is thought by some that the
102:
behaviour, timing information, and specializations for studying molecular interactions), there are several features that all process calculi have in common:
2400: 67: 453:
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
1740:. This is to be expected as process calculi are an active field of study. Currently research on process calculi focuses on the following problems. 50:
laws that allow process descriptions to be manipulated and analyzed, and permit formal reasoning about equivalences between processes (e.g., using
2362: 2179: 242:, is the key primitive distinguishing the process calculi from sequential models of computation. Parallel composition allows computation in 2395: 2385: 2305: 1889: 1720: 1708: 1377: 63: 55: 1432:
are operations that allow finite descriptions of infinite behaviour. Recursion is well known from the sequential world. Replication
2390: 2227: 2209: 2172: 2150: 2102: 2073: 1970: 1736:
Various process calculi have been studied and not all of them fit the paradigm sketched here. The most prominent example may be the
1700: 1648: 1644: 59: 2238: 290:
to proceed simultaneously and independently. But it also allows interaction, that is synchronisation and flow of information from
2090: 338:(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. 2054:
Sangiorgi, Davide (1993). "From π-calculus to higher-order π-calculus — and back". In Gaudel, M. -C.; Jouannaud, J. -P. (eds.).
1877: 1278:
is allowed to range over as the continuation of the output operation substantially influences the properties of the calculus.
2335: 2461: 1759:
Logics for processes that allow one to reason about (essentially) arbitrary properties of processes, following the ideas of
2495: 2298: 1844:
that is generically able to represent the histories of individual communicating processes. A process calculus is then a
2471: 2456: 2451: 1854: 113:
Describing processes and systems using a small collection of primitives, and operators for combining those primitives.
1864:
The use of channels for communication is one of the features distinguishing the process calculi from other models of
563:
Sometimes interactions must be temporally ordered. For example, it might be desirable to specify algorithms such as:
1747:
Finding well-behaved subcalculi of a given process calculus. This is valuable because (1) most calculi are fairly
2446: 2345: 2012:
Baeten, J. C. M.; Middelburg, C. A. (2000). "Process algebra with timing: Real time and discrete time": 627–684.
1909: 1780: 2516: 2183: 1016: 871: 1659:
In the first half of the 20th century, various formalisms were proposed to capture the informal concept of a
2476: 1664: 1428: 116:
Defining algebraic laws for the process operators, which allow process expressions to be manipulated using
2013: 1679:. Another shared feature is more rarely commented on: they all are most readily understood as models of 2350: 2249: 2027: 456: 400: 139: 1585: 1383: 2321: 1865: 1676: 1535: 117: 83: 1787:
is more expressive than its asynchronous variant, has the same expressive power as the higher-order
2340: 1458: 1322: 1298: 1257: 1229: 1205: 1181: 1157: 1051: 989: 930: 906: 729: 705: 681: 657: 592: 568: 429: 317: 293: 269: 245: 195: 171: 2058:. Lecture Notes in Computer Science. Vol. 668. Springer Berlin Heidelberg. pp. 151–166. 2018: 2271: 1958: 1802:
offered by process-theoretic tools can help biologists to organise their knowledge more formally.
1485: 1075: 954: 622: 98:
While the variety of existing process calculi is very large (including variants that incorporate
1346: 1937: 2223: 2205: 2168: 2146: 2098: 2069: 1992:
Algebraic Process Calculi: The First Twenty Five Years and Beyond (BRICS Notes Series NS-05-3)
1966: 219: 43: 1618: 1455:
can be understood as abbreviating the parallel composition of a countably infinite number of
2410: 2134: 2059: 1899: 1799: 1792: 1737: 75: 31: 2367: 2357: 2283: 2040: 1845: 1768: 1716: 1672: 854:{\displaystyle x\langle y\rangle \cdot P\;\vert \;x(v)\cdot Q\longrightarrow P\;\vert \;Q} 509: 503: 368: 107: 2234: 1435: 2466: 2156: 1904: 1837: 1668: 1565: 1110: 538: 485: 2108: 1994:. Bertinoro, Forlì, Italy: BRICS, Department of Computer Science, University of Aarhus 1853:(a formal language is a subset of the set of all possible finite-length strings of an 17: 2510: 2425: 2405: 2246:
Formale Grundlagen der Informatik II: Modellierung und Analyse von Informatiksystemen
2164: 2142: 1914: 1788: 1784: 1292: 343: 87: 2415: 2215: 2197: 1772: 1712: 1704: 1696: 51: 2441: 1873: 1858: 1850: 1841: 1760: 1753: 1689: 71: 1744:
Developing new process calculi for better modeling of computational phenomena.
99: 2064: 1811:
The ideas behind process algebra have given rise to several tools including:
1869: 1820: 1685: 1422: 106:
Representing interactions between independent processes as communication (
1894: 506:
will act as place-holders to be substituted by data, when it arrives. In
2290: 47: 150:
specification of which channels to use for sending and receiving data
2239:"Chapter 5: Prozessalgebra - Parallele und kommunizierende Prozesse" 1775:
are a technical tool that aids reasoning about process equivalences.
42:) are a diverse family of related approaches for formally modelling 450:) that is used to synchronise with a dual interaction primitive. 2420: 1961:(1996-12-21). "Foundational Calculi for Programming Languages". 1815: 79: 2294: 1987: 502:. Similarly, if an input expects to receive data, one or more 1600: 1597: 1594: 1591: 1547: 1544: 1541: 1464: 1328: 1304: 1263: 1235: 1211: 1187: 1163: 1057: 995: 936: 912: 735: 711: 687: 663: 598: 574: 435: 323: 299: 275: 251: 201: 177: 2188: 1947:. Vakgroep Informatica, Technische Universiteit Eindhoven. 2237:; Moldt, Daniel; Köhler-Bußmeier, Michael, eds. (2011). 2056:
TAPSOFT'93: Theory and Practice of Software Development
1825: 1621: 1588: 1568: 1538: 1488: 1461: 1438: 1386: 1349: 1325: 1301: 1260: 1232: 1208: 1184: 1160: 1113: 1078: 1054: 1019: 992: 957: 933: 909: 874: 768: 732: 708: 684: 678:. Only when this input has occurred will the process 660: 625: 595: 571: 541: 512: 488: 459: 432: 403: 371: 320: 296: 272: 248: 222: 198: 174: 27:
Family of approaches for modelling concurrent systems
2434: 2376: 2328: 2182:and the new edition is available for download as a 110:), rather than as modification of shared variables. 1695:Research on process calculi began in earnest with 1627: 1607: 1574: 1554: 1512: 1471: 1447: 1404: 1368: 1335: 1311: 1270: 1242: 1218: 1194: 1170: 1146: 1099: 1064: 1040: 1002: 978: 943: 919: 895: 853: 742: 718: 694: 670: 646: 605: 581: 547: 527: 494: 474: 442: 418: 386: 330: 306: 282: 258: 234: 208: 184: 70:. More recent additions to the family include the 2220:Communicating and Mobile Systems: the Pi-Calculus 1134: 1127: 841: 834: 426:), both of which name an interaction point (here 2178:This book has been updated by Jim Davies at the 54:). Leading examples of process calculi include 2097:. Singapore: World Scientific. pp. 3–41. 864:The interpretation to this reduction rule is: 2306: 1963:The Computer Science and Engineering Handbook 702:be activated, with the received data through 8: 1986:Baeten, J.C.M.; Bravetti, M. (August 2005). 1931: 1929: 1399: 1393: 1029: 1023: 884: 878: 817: 788: 778: 772: 469: 463: 413: 407: 226: 1832:Relationship to other models of concurrency 1719:began work on what came to be known as the 1703:(CCS) during the period from 1973 to 1980. 1692:in 1973 emerged from this line of inquiry. 2313: 2299: 2291: 1356: 820: 816: 791: 787: 2063: 2017: 1620: 1590: 1589: 1587: 1567: 1540: 1539: 1537: 1528:Process calculi generally also include a 1487: 1463: 1462: 1460: 1437: 1385: 1348: 1327: 1326: 1324: 1303: 1302: 1300: 1262: 1261: 1259: 1234: 1233: 1231: 1210: 1209: 1207: 1186: 1185: 1183: 1162: 1161: 1159: 1135: 1128: 1121: 1112: 1077: 1056: 1055: 1053: 1041:{\displaystyle x\langle y\rangle \cdot P} 1018: 994: 993: 991: 956: 935: 934: 932: 911: 910: 908: 896:{\displaystyle x\langle y\rangle \cdot P} 873: 842: 835: 828: 767: 734: 733: 731: 710: 709: 707: 686: 685: 683: 662: 661: 659: 624: 597: 596: 594: 573: 572: 570: 540: 511: 487: 458: 434: 433: 431: 402: 370: 322: 321: 319: 298: 297: 295: 274: 273: 271: 250: 249: 247: 221: 200: 199: 197: 176: 175: 173: 2093:. In Diekert, V.; Rozenberg, G. (eds.). 358:Interaction can be (but isn't always) a 1925: 1639:Discrete and continuous process algebra 1390: 350:during the execution of a computation. 2279: 2269: 2180:Oxford University Computing Laboratory 2036: 2025: 168:Parallel composition of two processes 1643:Process algebra has been studied for 7: 1938:"A brief history of process algebra" 2202:A Calculus of Communicating Systems 2161:Communicating Sequential Processes 1890:Communicating sequential processes 1721:Algebra of Communicating Processes 1709:Communicating Sequential Processes 475:{\displaystyle x\langle y\rangle } 419:{\displaystyle x\langle y\rangle } 25: 1965:. CRC Press. pp. 2190–2207. 1701:Calculus of Communicating Systems 986:receives that message on channel 153:sequentialization of interactions 147:parallel composition of processes 2490: 2489: 1608:{\displaystyle {\mathit {STOP}}} 1405:{\displaystyle P\setminus \{x\}} 1013:Once the message has been sent, 159:recursion or process replication 2259:from the original on 2019-07-09 2248:(in German). Vol. Part 2. 1878:Actor model and process calculi 1723:(ACP), and introduced the term 1555:{\displaystyle {\mathit {nil}}} 2496:Category: Concurrent computing 2091:"Introduction to Trace Theory" 1360: 1350: 1141: 1118: 1088: 1082: 967: 961: 848: 825: 810: 801: 795: 635: 629: 522: 516: 381: 375: 1: 2139:Algebraic Theory of Processes 2089:Mazurkiewicz, Antoni (1995). 1472:{\displaystyle {\mathit {P}}} 1336:{\displaystyle {\mathit {P}}} 1312:{\displaystyle {\mathit {x}}} 1271:{\displaystyle {\mathit {P}}} 1243:{\displaystyle {\mathit {x}}} 1219:{\displaystyle {\mathit {y}}} 1195:{\displaystyle {\mathit {v}}} 1171:{\displaystyle {\mathit {Q}}} 1065:{\displaystyle {\mathit {P}}} 1003:{\displaystyle {\mathit {x}}} 944:{\displaystyle {\mathit {x}}} 920:{\displaystyle {\mathit {y}}} 743:{\displaystyle {\mathit {v}}} 719:{\displaystyle {\mathit {x}}} 695:{\displaystyle {\mathit {P}}} 671:{\displaystyle {\mathit {x}}} 606:{\displaystyle {\mathit {y}}} 582:{\displaystyle {\mathit {x}}} 443:{\displaystyle {\mathit {x}}} 331:{\displaystyle {\mathit {Q}}} 307:{\displaystyle {\mathit {P}}} 283:{\displaystyle {\mathit {Q}}} 259:{\displaystyle {\mathit {P}}} 209:{\displaystyle {\mathit {Q}}} 185:{\displaystyle {\mathit {P}}} 1254:The class of processes that 156:hiding of interaction points 2457:Dining philosophers problem 1988:"A Generic Process Algebra" 1651:(real time or dense time). 1513:{\displaystyle !P=P\mid !P} 1100:{\displaystyle x(v)\cdot Q} 979:{\displaystyle x(v)\cdot Q} 726:substituted for identifier 647:{\displaystyle x(v)\cdot P} 589:and then send that data on 565:first receive some data on 133:, one starts with a set of 2533: 2346:Concurrent data structures 1665:μ-recursive functions 1369:{\displaystyle (\nu \;x)P} 654:will wait for an input on 394:) and an output operator ( 2485: 2462:Producer–consumer problem 2447:Cigarette smokers problem 1910:Temporal Process Language 1416:Recursion and replication 2065:10.1007/3-540-56610-4_62 1807:Software implementations 235:{\displaystyle P\vert Q} 125:Mathematics of processes 2477:Sleeping barber problem 2472:Readers–writers problem 1936:Baeten, J.C.M. (2004). 1791:, but is less than the 1699:'s seminal work on the 1628:{\displaystyle \delta } 1380:it might be written as 1226:, the data received on 2351:Concurrent hash tables 2035:Cite journal requires 1629: 1609: 1576: 1556: 1532:(variously denoted as 1514: 1473: 1449: 1406: 1370: 1337: 1313: 1272: 1244: 1220: 1196: 1178:with the place-holder 1172: 1148: 1101: 1066: 1042: 1004: 980: 951:. Dually, the process 945: 921: 903:sends a message, here 897: 855: 744: 720: 696: 672: 648: 616:Sequential composition 607: 583: 559:Sequential composition 549: 529: 496: 476: 444: 420: 388: 332: 308: 284: 260: 236: 210: 186: 18:Sequential composition 2250:University of Hamburg 1821:Concurrency Workbench 1630: 1610: 1577: 1557: 1515: 1474: 1450: 1407: 1371: 1338: 1314: 1295:the hiding of a name 1273: 1245: 1221: 1197: 1173: 1149: 1102: 1067: 1043: 1005: 981: 946: 922: 898: 856: 745: 721: 697: 673: 649: 608: 584: 550: 530: 497: 477: 445: 421: 389: 333: 309: 285: 261: 237: 211: 187: 2322:Concurrent computing 1781:Church–Turing thesis 1677:Church-Turing thesis 1619: 1586: 1566: 1536: 1486: 1459: 1436: 1384: 1347: 1343:can be expressed as 1323: 1299: 1258: 1230: 1206: 1182: 1158: 1111: 1107:becomes the process 1076: 1052: 1048:becomes the process 1017: 990: 955: 931: 927:, along the channel 907: 872: 766: 730: 706: 682: 658: 623: 593: 569: 539: 528:{\displaystyle x(v)} 510: 486: 457: 430: 401: 387:{\displaystyle x(v)} 369: 318: 294: 270: 246: 220: 196: 172: 164:Parallel composition 118:equational reasoning 2341:Concurrency control 2222:, Springer Verlag, 2204:, Springer Verlag, 1661:computable function 754:Reduction semantics 2095:The Book of Traces 1625: 1605: 1572: 1552: 1510: 1469: 1448:{\displaystyle !P} 1445: 1402: 1366: 1333: 1309: 1268: 1240: 1216: 1192: 1168: 1144: 1097: 1062: 1038: 1000: 976: 941: 917: 893: 851: 740: 716: 692: 668: 644: 603: 579: 545: 525: 492: 472: 440: 416: 384: 328: 304: 280: 256: 232: 216:, usually written 206: 182: 94:Essential features 44:concurrent systems 2504: 2503: 1945:Rapport CSR 04-02 1857:generated by the 1688:in 1962, and the 1575:{\displaystyle 0} 1147:{\displaystyle Q} 548:{\displaystyle v} 495:{\displaystyle y} 16:(Redirected from 2524: 2493: 2492: 2435:Classic problems 2411:Ambient calculus 2358:Concurrent users 2315: 2308: 2301: 2292: 2287: 2281: 2277: 2275: 2267: 2265: 2264: 2258: 2243: 2135:Matthew Hennessy 2123: 2122: 2120: 2119: 2113: 2107:. Archived from 2086: 2080: 2079: 2067: 2051: 2045: 2044: 2038: 2033: 2031: 2023: 2021: 2009: 2003: 2002: 2000: 1999: 1983: 1977: 1976: 1959:Pierce, Benjamin 1955: 1949: 1948: 1942: 1933: 1900:Stochastic probe 1800:compositionality 1793:ambient calculus 1738:ambient calculus 1732:Current research 1634: 1632: 1631: 1626: 1614: 1612: 1611: 1606: 1604: 1603: 1581: 1579: 1578: 1573: 1561: 1559: 1558: 1553: 1551: 1550: 1519: 1517: 1516: 1511: 1478: 1476: 1475: 1470: 1468: 1467: 1454: 1452: 1451: 1446: 1411: 1409: 1408: 1403: 1375: 1373: 1372: 1367: 1342: 1340: 1339: 1334: 1332: 1331: 1318: 1316: 1315: 1310: 1308: 1307: 1277: 1275: 1274: 1269: 1267: 1266: 1249: 1247: 1246: 1241: 1239: 1238: 1225: 1223: 1222: 1217: 1215: 1214: 1201: 1199: 1198: 1193: 1191: 1190: 1177: 1175: 1174: 1169: 1167: 1166: 1153: 1151: 1150: 1145: 1140: 1139: 1132: 1126: 1125: 1106: 1104: 1103: 1098: 1071: 1069: 1068: 1063: 1061: 1060: 1047: 1045: 1044: 1039: 1009: 1007: 1006: 1001: 999: 998: 985: 983: 982: 977: 950: 948: 947: 942: 940: 939: 926: 924: 923: 918: 916: 915: 902: 900: 899: 894: 860: 858: 857: 852: 847: 846: 839: 833: 832: 749: 747: 746: 741: 739: 738: 725: 723: 722: 717: 715: 714: 701: 699: 698: 693: 691: 690: 677: 675: 674: 669: 667: 666: 653: 651: 650: 645: 612: 610: 609: 604: 602: 601: 588: 586: 585: 580: 578: 577: 554: 552: 551: 546: 534: 532: 531: 526: 501: 499: 498: 493: 481: 479: 478: 473: 449: 447: 446: 441: 439: 438: 425: 423: 422: 417: 393: 391: 390: 385: 337: 335: 334: 329: 327: 326: 313: 311: 310: 305: 303: 302: 289: 287: 286: 281: 279: 278: 265: 263: 262: 257: 255: 254: 241: 239: 238: 233: 215: 213: 212: 207: 205: 204: 191: 189: 188: 183: 181: 180: 131:process calculus 76:ambient calculus 40:process algebras 32:computer science 21: 2532: 2531: 2527: 2526: 2525: 2523: 2522: 2521: 2517:Process calculi 2507: 2506: 2505: 2500: 2481: 2430: 2378:Process calculi 2372: 2368:Linearizability 2324: 2319: 2278: 2268: 2262: 2260: 2256: 2241: 2233: 2131: 2129:Further reading 2126: 2117: 2115: 2111: 2105: 2088: 2087: 2083: 2076: 2053: 2052: 2048: 2034: 2024: 2011: 2010: 2006: 1997: 1995: 1985: 1984: 1980: 1973: 1957: 1956: 1952: 1940: 1935: 1934: 1927: 1923: 1886: 1846:formal language 1834: 1809: 1769:halting problem 1734: 1725:process algebra 1717:Jan Willem Klop 1673:lambda calculus 1669:Turing machines 1657: 1649:continuous time 1641: 1617: 1616: 1584: 1583: 1564: 1563: 1534: 1533: 1526: 1484: 1483: 1457: 1456: 1434: 1433: 1418: 1382: 1381: 1345: 1344: 1321: 1320: 1297: 1296: 1284: 1256: 1255: 1228: 1227: 1204: 1203: 1202:substituted by 1180: 1179: 1156: 1155: 1133: 1117: 1109: 1108: 1074: 1073: 1050: 1049: 1015: 1014: 988: 987: 953: 952: 929: 928: 905: 904: 870: 869: 840: 824: 764: 763: 756: 728: 727: 704: 703: 680: 679: 656: 655: 621: 620: 591: 590: 567: 566: 561: 537: 536: 508: 507: 504:bound variables 484: 483: 482:, this data is 455: 454: 428: 427: 399: 398: 367: 366: 356: 316: 315: 292: 291: 268: 267: 244: 243: 218: 217: 194: 193: 170: 169: 166: 127: 108:message-passing 96: 84:fusion calculus 36:process calculi 28: 23: 22: 15: 12: 11: 5: 2530: 2528: 2520: 2519: 2509: 2508: 2502: 2501: 2499: 2498: 2486: 2483: 2482: 2480: 2479: 2474: 2469: 2467:Race condition 2464: 2459: 2454: 2449: 2444: 2438: 2436: 2432: 2431: 2429: 2428: 2423: 2418: 2413: 2408: 2403: 2398: 2393: 2388: 2382: 2380: 2374: 2373: 2371: 2370: 2365: 2360: 2355: 2354: 2353: 2343: 2338: 2332: 2330: 2326: 2325: 2320: 2318: 2317: 2310: 2303: 2295: 2289: 2288: 2231: 2213: 2195: 2194: 2193: 2157:C. A. R. Hoare 2154: 2130: 2127: 2125: 2124: 2103: 2081: 2074: 2046: 2037:|journal= 2004: 1978: 1971: 1950: 1924: 1922: 1919: 1918: 1917: 1912: 1907: 1905:Tamarin Prover 1902: 1897: 1892: 1885: 1882: 1838:history monoid 1833: 1830: 1829: 1828: 1823: 1818: 1808: 1805: 1804: 1803: 1796: 1776: 1764: 1757: 1745: 1733: 1730: 1656: 1653: 1640: 1637: 1624: 1602: 1599: 1596: 1593: 1571: 1549: 1546: 1543: 1525: 1522: 1521: 1520: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1466: 1444: 1441: 1417: 1414: 1401: 1398: 1395: 1392: 1389: 1365: 1362: 1359: 1355: 1352: 1330: 1306: 1283: 1280: 1265: 1252: 1251: 1237: 1213: 1189: 1165: 1143: 1138: 1131: 1124: 1120: 1116: 1096: 1093: 1090: 1087: 1084: 1081: 1059: 1037: 1034: 1031: 1028: 1025: 1022: 1011: 997: 975: 972: 969: 966: 963: 960: 938: 914: 892: 889: 886: 883: 880: 877: 862: 861: 850: 845: 838: 831: 827: 823: 819: 815: 812: 809: 806: 803: 800: 797: 794: 790: 786: 783: 780: 777: 774: 771: 755: 752: 737: 713: 689: 665: 643: 640: 637: 634: 631: 628: 600: 576: 560: 557: 544: 524: 521: 518: 515: 491: 471: 468: 465: 462: 437: 415: 412: 409: 406: 383: 380: 377: 374: 355: 352: 325: 301: 277: 253: 231: 228: 225: 203: 179: 165: 162: 161: 160: 157: 154: 151: 148: 126: 123: 122: 121: 114: 111: 95: 92: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2529: 2518: 2515: 2514: 2512: 2497: 2488: 2487: 2484: 2478: 2475: 2473: 2470: 2468: 2465: 2463: 2460: 2458: 2455: 2453: 2450: 2448: 2445: 2443: 2440: 2439: 2437: 2433: 2427: 2426:Join-calculus 2424: 2422: 2419: 2417: 2414: 2412: 2409: 2407: 2404: 2402: 2399: 2397: 2394: 2392: 2389: 2387: 2384: 2383: 2381: 2379: 2375: 2369: 2366: 2364: 2363:Indeterminacy 2361: 2359: 2356: 2352: 2349: 2348: 2347: 2344: 2342: 2339: 2337: 2334: 2333: 2331: 2327: 2323: 2316: 2311: 2309: 2304: 2302: 2297: 2296: 2293: 2285: 2273: 2255: 2251: 2247: 2240: 2236: 2235:Valk, RĂĽdiger 2232: 2229: 2228:0-521-65869-1 2225: 2221: 2217: 2214: 2211: 2210:0-387-10235-3 2207: 2203: 2199: 2196: 2191: 2190: 2185: 2181: 2177: 2176: 2174: 2173:0-13-153289-8 2170: 2166: 2165:Prentice Hall 2162: 2158: 2155: 2152: 2151:0-262-08171-7 2148: 2144: 2143:The MIT Press 2140: 2136: 2133: 2132: 2128: 2114:on 2011-06-13 2110: 2106: 2104:981-02-2058-8 2100: 2096: 2092: 2085: 2082: 2077: 2075:9783540475989 2071: 2066: 2061: 2057: 2050: 2047: 2042: 2029: 2020: 2019:10.1.1.42.729 2015: 2008: 2005: 1993: 1989: 1982: 1979: 1974: 1972:0-8493-2909-4 1968: 1964: 1960: 1954: 1951: 1946: 1939: 1932: 1930: 1926: 1920: 1916: 1913: 1911: 1908: 1906: 1903: 1901: 1898: 1896: 1893: 1891: 1888: 1887: 1883: 1881: 1879: 1875: 1871: 1867: 1862: 1860: 1856: 1852: 1847: 1843: 1839: 1831: 1827: 1826:mCRL2 toolset 1824: 1822: 1819: 1817: 1814: 1813: 1812: 1806: 1801: 1797: 1794: 1790: 1786: 1782: 1777: 1774: 1773:Bisimulations 1770: 1765: 1762: 1758: 1755: 1750: 1746: 1743: 1742: 1741: 1739: 1731: 1729: 1726: 1722: 1718: 1714: 1710: 1706: 1702: 1698: 1693: 1691: 1687: 1682: 1678: 1674: 1670: 1666: 1662: 1654: 1652: 1650: 1646: 1645:discrete time 1638: 1636: 1622: 1569: 1531: 1523: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1482: 1481: 1480: 1442: 1439: 1431: 1430: 1425: 1424: 1415: 1413: 1396: 1387: 1379: 1363: 1357: 1353: 1294: 1290: 1281: 1279: 1136: 1129: 1122: 1114: 1094: 1091: 1085: 1079: 1035: 1032: 1026: 1020: 1012: 973: 970: 964: 958: 890: 887: 881: 875: 867: 866: 865: 843: 836: 829: 821: 813: 807: 804: 798: 792: 784: 781: 775: 769: 762: 761: 760: 753: 751: 641: 638: 632: 626: 617: 613: 558: 556: 542: 519: 513: 505: 489: 466: 460: 451: 410: 404: 397: 378: 372: 365: 361: 354:Communication 353: 351: 349: 345: 339: 229: 223: 163: 158: 155: 152: 149: 146: 145: 144: 142: 141: 136: 132: 124: 119: 115: 112: 109: 105: 104: 103: 101: 93: 91: 89: 88:join-calculus 85: 81: 77: 73: 69: 65: 61: 57: 53: 49: 45: 41: 37: 33: 19: 2416:API-Calculus 2377: 2261:. Retrieved 2245: 2219: 2216:Robin Milner 2201: 2198:Robin Milner 2187: 2186:file at the 2160: 2138: 2116:. Retrieved 2112:(PostScript) 2109:the original 2094: 2084: 2055: 2049: 2028:cite journal 2007: 1996:. Retrieved 1991: 1981: 1962: 1953: 1944: 1863: 1835: 1810: 1754:type systems 1748: 1735: 1724: 1713:Jan Bergstra 1705:C.A.R. Hoare 1697:Robin Milner 1694: 1680: 1660: 1658: 1642: 1530:null process 1529: 1527: 1524:Null process 1427: 1421: 1419: 1288: 1285: 1253: 868:The process 863: 757: 615: 564: 562: 452: 395: 363: 359: 357: 347: 340: 167: 138: 134: 130: 129:To define a 128: 97: 52:bisimulation 39: 35: 29: 2442:ABA problem 2336:Concurrency 2280:|work= 1874:actor model 1866:concurrency 1859:Kleene star 1851:free monoid 1842:free object 1761:Hoare logic 1690:actor model 1479:processes: 1429:replication 1376:, while in 1154:, which is 2406:Ď€-calculus 2263:2019-07-13 2118:2009-04-29 1998:2007-12-29 1921:References 1915:Ď€-calculus 1870:Petri nets 1868:, such as 1789:Ď€-calculus 1785:Ď€-calculus 1686:Petri nets 1681:sequential 1293:Ď€-calculus 344:Ď€-calculus 100:stochastic 72:Ď€-calculus 2282:ignored ( 2272:cite book 2189:Using CSP 2014:CiteSeerX 1623:δ 1502:∣ 1423:Recursion 1391:∖ 1354:ν 1092:⋅ 1033:⋅ 1030:⟩ 1024:⟨ 971:⋅ 888:⋅ 885:⟩ 879:⟨ 811:⟶ 805:⋅ 782:⋅ 779:⟩ 773:⟨ 639:⋅ 470:⟩ 464:⟨ 414:⟩ 408:⟨ 48:algebraic 2511:Category 2452:Deadlock 2254:Archived 2252:. FGI2. 2192:website. 1895:ProVerif 1884:See also 1872:and the 1855:alphabet 1671:and the 1072:, while 360:directed 140:channels 86:and the 2329:General 1840:is the 1663:, with 1655:History 348:created 2494:  2226:  2208:  2171:  2149:  2101:  2072:  2016:  1969:  1289:Hiding 1282:Hiding 82:, the 74:, the 66:, and 34:, the 2401:LOTOS 2257:(PDF) 2242:(PDF) 1941:(PDF) 1876:(see 135:names 68:LOTOS 2421:PEPA 2284:help 2224:ISBN 2206:ISBN 2169:ISBN 2147:ISBN 2099:ISBN 2070:ISBN 2041:help 1967:ISBN 1836:The 1816:CADP 1749:wild 1715:and 1647:and 1426:and 759:is: 396:e.g. 364:e.g. 266:and 192:and 137:(or 80:PEPA 38:(or 2396:ACP 2391:CCS 2386:CSP 2184:PDF 2060:doi 1861:). 1771:). 1707:'s 1378:CSP 1319:in 614:. 314:to 64:ACP 60:CCS 56:CSP 30:In 2513:: 2276:: 2274:}} 2270:{{ 2244:. 2218:: 2200:: 2175:. 2167:, 2163:, 2159:: 2145:, 2141:, 2137:: 2068:. 2032:: 2030:}} 2026:{{ 1990:. 1943:. 1928:^ 1667:, 1615:, 1582:, 1562:, 1412:. 750:. 535:, 90:. 78:, 62:, 58:, 2314:e 2307:t 2300:v 2286:) 2266:. 2230:. 2212:. 2153:. 2121:. 2078:. 2062:: 2043:) 2039:( 2022:. 2001:. 1975:. 1795:. 1763:. 1756:. 1601:P 1598:O 1595:T 1592:S 1570:0 1548:l 1545:i 1542:n 1508:P 1505:! 1499:P 1496:= 1493:P 1490:! 1465:P 1443:P 1440:! 1400:} 1397:x 1394:{ 1388:P 1364:P 1361:) 1358:x 1351:( 1329:P 1305:x 1264:P 1250:. 1236:x 1212:y 1188:v 1164:Q 1142:] 1137:v 1130:/ 1123:y 1119:[ 1115:Q 1095:Q 1089:) 1086:v 1083:( 1080:x 1058:P 1036:P 1027:y 1021:x 1010:. 996:x 974:Q 968:) 965:v 962:( 959:x 937:x 913:y 891:P 882:y 876:x 849:] 844:v 837:/ 830:y 826:[ 822:Q 818:| 814:P 808:Q 802:) 799:v 796:( 793:x 789:| 785:P 776:y 770:x 736:v 712:x 688:P 664:x 642:P 636:) 633:v 630:( 627:x 599:y 575:x 543:v 523:) 520:v 517:( 514:x 490:y 467:y 461:x 436:x 411:y 405:x 382:) 379:v 376:( 373:x 324:Q 300:P 276:Q 252:P 230:Q 227:| 224:P 202:Q 178:P 120:. 20:)

Index

Sequential composition
computer science
concurrent systems
algebraic
bisimulation
CSP
CCS
ACP
LOTOS
Ď€-calculus
ambient calculus
PEPA
fusion calculus
join-calculus
stochastic
message-passing
equational reasoning
channels
Ď€-calculus
bound variables
Ď€-calculus
CSP
Recursion
replication
discrete time
continuous time
μ-recursive functions
Turing machines
lambda calculus
Church-Turing thesis

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑