b'\n_START_ARTICLE_\nProces\xc5\xb3 algebra\n_START_SECTION_\nLygiagretus komponavimas\n_START_PARAGRAPH_\nLygiagretaus komponavimo metu yra atliekami du procesai \\mathit{P} ir \\mathit{Q}, kurie paprastai u\xc5\xbera\xc5\xa1omi kaip P \\vert Q, tai yra primityvus proceso skai\xc4\x8diavim\xc5\xb3 atskyrimas nuo nuosekli\xc5\xb3 apskai\xc4\x8diavimo modeli\xc5\xb3. Lygiagretus komponavimas leid\xc5\xbeia atlikti skai\xc4\x8diavimus naudojant \\mathit{P} ir \\mathit{Q}, kad b\xc5\xabt\xc5\xb3 galima dirbti vienu metu ir atskirai. Bet tai taip pat leid\xc5\xbeia sukurti s\xc4\x85veik\xc4\x85, kuri sukuria informacijos ir \\mathit{P} \xc4\xaf \\mathit{Q} sinchronizacij\xc4\x85 ir tek\xc4\x97jim\xc4\x85. O svarbiausia, priemon\xc4\x97 arba procesas gali b\xc5\xabti sujungtas su daugiua nei vienu kanalu vienu metu._NEWLINE_Kanalai gali b\xc5\xabti sinchroni\xc5\xa1ki arba nesinchroni\xc5\xa1ki. Kai yra kalbama apie sinchroni\xc5\xa1kus kanalus, priemon\xc4\x97, kuri siun\xc4\x8dia prane\xc5\xa1im\xc4\x85, palaukia, kol kita priemon\xc4\x97 gaus prane\xc5\xa1im\xc4\x85. Nesinchroni\xc5\xa1kiems kanalams nereikia tokios sinchronizacijos. Atliekant kai kuriuos proceso skai\xc4\x8diavimus (\xcf\x80 skai\xc4\x8diavimas), kanalai patys gali b\xc5\xabti nusiun\xc4\x8diami prane\xc5\xa1im\xc5\xb3 forma per (kitus) kanalus, tokiu b\xc5\xabdu yra galima pakeisti proceso susijungimo topologij\xc4\x85. Kai kurie proceso skai\xc4\x8diavimai taip pat gali b\xc5\xabti sukuriami apskai\xc4\x8diavimo metu.\n_START_SECTION_\nBendravimas\n_START_PARAGRAPH_\nS\xc4\x85veika gali b\xc5\xabti (bet ne visada b\xc5\xabna) nukreiptu informacijos srautu. Tai yra, \xc4\xafvestis ir i\xc5\xa1vestis gali b\xc5\xabti atskiriamos, kaip dvigubi s\xc4\x85veikos baziniai elementai. Proceso skai\xc4\x8diavimas, kuris leid\xc5\xbeia atlikti tok\xc4\xaf atskyrim\xc4\x85, paprastai apibr\xc4\x97\xc5\xbeia \xc4\xafvesties operatori\xc5\xb3 (pvz., x (v)) ir i\xc5\xa1vesties operatori\xc5\xb3 (pvz., x(y)), jie abu \xc4\xafvardina s\xc4\x85veikos ta\xc5\xa1k\xc4\x85 (\xc4\x8dia x), kuris yra naudojamas norint atlikti sinchronizacij\xc4\x85, naudojant dvigub\xc4\x85 s\xc4\x85veikos bazin\xc4\xaf element\xc4\x85. Jei norima pakeisti informacij\xc4\x85, ji tek\xc4\x97s i\xc5\xa1vesties proceso metu, kuris pereina \xc4\xaf \xc4\xafvesties proces\xc4\x85. I\xc5\xa1vesties bazinis elementas patvirtins, kurie duomenys turi b\xc5\xabti siun\xc4\x8diami. x(y) tokie duomenys \xc5\xbeymimi y. Pana\xc5\xa1iai yra, jei \xc4\xafvestyje norima gauti duomenis, tada vienas arba daugiau kintam\xc5\xb3j\xc5\xb3 veiks kaip laikikliai, kurie turi b\xc5\xabti pakei\xc4\x8diami duomenimis, kai duomenys ateis. x(v) raid\xc4\x97 v atliek\xc4\x85 \xc5\xa1i\xc4\x85 funkcij\xc4\x85. Duomen\xc5\xb3, kuriuos norima sukeisti s\xc4\x85veikoje, pasirinkimas yra viena i\xc5\xa1 esmini\xc5\xb3 savybi\xc5\xb3, kurios i\xc5\xa1skiria skirtingus proces\xc5\xb3 skai\xc4\x8diavimus.\n_START_SECTION_\nEili\xc5\xb3 kompozicija\n_START_PARAGRAPH_\nKartais s\xc4\x85veikos turi b\xc5\xabti laikinai atliekamos. Pvz., galima patvirtinti tokius algoritmus: pirmiausia reikia gauti dal\xc4\xaf duomen\xc5\xb3 \xc4\xaf x ir nusi\xc5\xb3sti duomenis \xc4\xaf y. Nuoseklus komponavimas gali b\xc5\xabti naudojamas tokiu tikslu. Jis yra gerai \xc5\xbeinomas i\xc5\xa1 kit\xc5\xb3 apskai\xc4\x8diavimo modeli\xc5\xb3. Atliekant proceso skai\xc4\x8diavim\xc4\x85 i\xc5\xa1d\xc4\x97stymo nuosekliai operatorius yra paprastai integruojamas su \xc4\xafvestimi ir i\xc5\xa1vestimi, arba abiem. Pvz., procesas x(v) .P palauks \xc4\xafvesties x. Tik kai \xc5\xa1i \xc4\xafvestis pasirodys, procesas P bus aktyvuotas, o gauti duomenys per x bus pakeisti \xc4\xaf vard\xc4\x85 v.\n_START_SECTION_\nSl\xc4\x97pimas\n_START_PARAGRAPH_\nProcesai neriboja jung\xc4\x8di\xc5\xb3, kurias galima atlikti konkre\xc4\x8diame s\xc4\x85veikos ta\xc5\xa1ke, skai\xc4\x8diaus. Ta\xc4\x8diau s\xc4\x85veikos ta\xc5\xa1kai lemia tam tikrus trukd\xc5\xbeius (pvz., s\xc4\x85veika). Kalbant apie kompakti\xc5\xa1kumo sintez\xc4\x99, kai kalbama apie minimalias ir sud\xc4\x97tines sistemas, galimyb\xc4\x97 riboti trukd\xc5\xbeius, yra labai svarbi. Sl\xc4\x97pimo operacijos leid\xc5\xbeia kontroliuoti jungtis, kurios padaromos tarp s\xc4\x85veikos ta\xc5\xa1k\xc5\xb3, kai sudedamosios priemon\xc4\x97s yra naudojamos lygiagre\xc4\x8diai. Sl\xc4\x97pimas gali b\xc5\xabti \xc5\xbeymimas \xc4\xafvairiais b\xc5\xabdais. Pvz., \xcf\x80 skai\xc4\x8diavime x sl\xc4\x97pimas P gali b\xc5\xabti i\xc5\xa1reik\xc5\xa1tas kaip (vx) P, kai CSP gali b\xc5\xabti u\xc5\xbera\xc5\xa1omas kaip P\\ {x}.\n_START_SECTION_\nNegaliojantys (Null) procesai\n_START_PARAGRAPH_\nProceso skai\xc4\x8diavimai apskritai taip pat apima ir negaliojant\xc4\xaf "null proces\xc4\x85" (\xc4\xafvairiai \xc5\xbeymimas kaip \\mathit{nil}, 0, \\mathit{STOP}, \\delta, arba kokiu nors kitu atitinkamu simboliu), kuris neturi joki\xc5\xb3 s\xc4\x85veikos punkt\xc5\xb3. Jis yra absoliu\xc4\x8diai neaktyvus ir jo vienintel\xc4\x97 paskirtis yra veikti kaip indukcinis inkaras, vir\xc5\xa1 kurio gali b\xc5\xabti vykdomi daug \xc4\xafdomesni procesai.\n_START_SECTION_\nAtskira ir nuolatin\xc4\x97 proceso algebra\n_START_PARAGRAPH_\nProceso algebra buvo studijuota diskretiniam laikui ir nuolatinis laikas (realus laikas ar tankus laikas).\n_START_SECTION_\nIstorija\n_START_PARAGRAPH_\nPirmojoje XX am\xc5\xbeiaus pus\xc4\x97je buvo bandoma naudoti \xc4\xafvairius formalizmus, kad b\xc5\xabt\xc5\xb3 galima \xc5\xbeym\xc4\x97ti neformali\xc4\x85 s\xc4\x85vok\xc4\x85 skai\xc4\x8diuojamoji funkcija, rei\xc5\xa1kian\xc4\x8di\xc4\x85 \xc2\xb5-gr\xc4\xaf\xc5\xbetam\xc4\x85sias funkcijas, Turingo ma\xc5\xa1inas ir lambda skai\xc4\x8diavim\xc4\x85, visa tai yra geriausiai \xc5\xbeinomi pavyzd\xc5\xbeiai \xc5\xa1iandien. Steb\xc4\x97tinas faktas, kad \xc5\xa1ie pavyzd\xc5\xbeiai i\xc5\xa1 esm\xc4\x97s yra lyg\xc5\xabs, nes jie gali b\xc5\xabti \xc4\xaftraukiami vienas \xc4\xaf kit\xc4\x85, jie palaiko Church-Turing tez\xc4\x99. Kita visiems bendra savyb\xc4\x97 yra re\xc4\x8diau aptariama: jie visi yra geriausiai suprantami kaip nuoseklaus apskai\xc4\x8diavimo modeliai, ypa\xc4\x8d tiksliai jie i\xc5\xa1rei\xc5\xa1kia konkurencij\xc4\x85 ir komunikacij\xc4\x85. Konkuravimo modeliai, kaip tarkim proceso skai\xc4\x8diavimas, Petri-Nets 1962 m. ir Aktoriaus modelis 1973 m. buvo i\xc5\xa1vesti i\xc5\xa1 \xc5\xa1io tipo informacijos. Tyrimai proceso skai\xc4\x8diavimo tema buvo prad\xc4\x97ti Robin Milner pradiniame darbe Komunikacini\xc5\xb3 sistem\xc5\xb3 skai\xc4\x8diavimas (CCS) per laikotarp\xc4\xaf tarp 1973 ir 1980 m. A. A. R. Hoare darbas Komunikaciniai nuosekl\xc5\xabs procesai (CSP) pirm\xc4\x85 kart\xc4\x85 pasirod\xc4\x97 1978 m. ir buvo toliau i\xc5\xa1pl\xc4\x97totas \xc4\xaf piln\xc4\x85 proces\xc5\xb3 skai\xc4\x8diavim\xc4\x85 devintojo de\xc5\xa1imtme\xc4\x8dio prad\xc5\xbeioje. \xc4\x8cia buvo matomas id\xc4\x97j\xc5\xb3 supliekimas tarp CCS ir CSP, kol jie buvo vystomi. 1982 m. Jan Bergstra ir Jan Willem Klop prad\xc4\x97jo dirbti prie to, kas tapo \xc5\xbeinoma kaip Komunikacini\xc5\xb3 proces\xc5\xb3 algebra (ACP), ir i\xc5\xa1 \xc4\x8dia kilo terminas proceso algebra, kuris i\xc5\xa1rei\xc5\xa1k\xc4\x97 j\xc5\xb3 darb\xc4\x85. CCS, CSP ir ACP sudaro tris pagrindines proceso skai\xc4\x8diavimo \xc5\xa1eimos \xc5\xa1akas: did\xc5\xbeioji dalis proceso skai\xc4\x8diavimo gali b\xc5\xabti grind\xc5\xbeiamas \xc5\xa1iais trimis skai\xc4\x8diavimais.\n_START_SECTION_\nSantykis su kitais pana\xc5\xa1iai modeliais\n_START_PARAGRAPH_\nIstorinis monoidas yra laisvas objektas, kuris leid\xc5\xbeia bendrai i\xc5\xa1reik\xc5\xa1ti atskir\xc5\xb3 komunikacini\xc5\xb3 proces\xc5\xb3 istorijas. Proceso skai\xc4\x8diavimas tada yra \xc5\xbeinomas, kaip formali kalba, kuri buvo nuosekliai primesta istoriniam monoidui. Tai yra, istorinis monoidas gali fiksuoti \xc4\xafvyki\xc5\xb3 sek\xc4\x85, j\xc4\x85 sinchronizuojant, bet negali pagr\xc4\xafsti galimos b\xc5\xabsenos perdavimo. Taigi, proceso skai\xc4\x8diavimas yra istorinis monoidas, kur\xc4\xaf formali kalba i\xc5\xa1rei\xc5\xa1kia kaip laisv\xc4\x85 monoid\xc4\x85 (formali kalba yra vis\xc5\xb3 galim\xc5\xb3 riboto ilgio alfabeto styg\xc5\xb3 pogrupis, kur\xc4\xaf suk\xc5\xabr\xc4\x97 Kleene star). Komunikacijos kanal\xc5\xb3 naudojimas yra viena i\xc5\xa1 savybi\xc5\xb3, kuri atskiria proceso skai\xc4\x8diavim\xc4\x85 nuo kit\xc5\xb3 konkuravimo modeli\xc5\xb3, kaip tarkim Petri nets ir Actor modelis (\xc5\xbei\xc5\xabr\xc4\x97kite Actor model\xc4\xaf ir proceso skai\xc4\x8diavim\xc4\x85). Viena i\xc5\xa1 esmini\xc5\xb3 motyvacij\xc5\xb3, kuri leid\xc5\xbeia \xc4\xaf proces\xc4\x85 \xc4\xaftraukti kanalus, buvo galimyb\xc4\x97 panaudoti tam tikras algebros technikas, tokiu b\xc5\xabdu suteikiant galimyb\xc4\x99 lengviau pagr\xc4\xafsti procesus i\xc5\xa1 algebros pus\xc4\x97s.'