Підтримка
www.wikidata.uk-ua.nina.az
Vzayemodiya poslidovnih procesiv angl Communicating Sequential Processes CSP formalna mova dlya opisu zakonomirnostej vzayemodiyi v rivnochasnih sistemah Ce chlen sim yi matematichnih teorij rivnochasnosti vidomoyi yak algebra abo en v osnovi yakoyi lezhit obmin povidomlennyami cherez kanali CSP vidigrav vazhlivu rol u rozrobci movi programuvannya occam a takozh vplinuv na dizajn takih mov programuvannya yak Limbo en Go ta biblioteki core async v Clojure CSP opisuye poslidovni procesi yaki vzayemodiyut lishe cherez peredachu povidomlen i ne cherez vikoristannya spilnoyi pam yati CSP buv vpershe opisanij v 1978 u publikaciyi Goara ale z tih pir suttyevo zminivsya CSP praktichno zastosovuvavsya v promislovosti yak instrument dlya specifikaciyi i verifikaciyi rivnochasnih aspektiv riznih sistem takih yak Transputer T9000 a takozh bezpechnoyi sistemi elektronnoyi komerciyi Teoriya samogo CSP dosi ye predmetom aktivnih doslidzhen u tomu chisli robota z pidvishennya jogo spektru praktichnoyi zastosovnosti napriklad zbilshennya masshtabiv sistem yaki mozhut buti proanalizovani IstoriyaVersiya CSP predstavlena v originalnij publikaciyi Hoara 1978 roku bula po suti rivnochasnoyu movoyu programuvannya a ne en CSP mav principovo inshij sintaksis nizh u bilsh piznih versiyah ne volodiv matematichno viznachenoyu semantikoyu i ne buv v zmozi predstavlyati en Programi v originalnomu CSP buli napisani yak paralelni kompoziciyi fiksovanogo chisla poslidovnih procesiv yaki spilkuvalisya odin z odnim strogo cherez sinhronnu peredachu povidomlen Na vidminu vid piznishih versij CSP kozhnomu procesu priznachalos yavne im ya a dzherelo abo adresat povidomlennya viznachalis zadavannyam imeni peredbachuvanogo vidpravnika abo procesu otrimuvacha Napriklad proces COPY c character west c gt east c bez perestanu otrimuye simvol vid procesu west ta vidpravlyaye cej simvol procesu east Paralelna kompoziciya west DISASSEMBLE X COPY east ASSEMBLE prisvoyuye im ya west procesu DISASSEMBLE X procesu COPY i east procesu ASSEMBLE ta vikonuye ci tri procesi paralelno Pislya publikaciyi originalnoyi versiyi CSP Hoar Stiven Bruks ta Bil Rosko rozvinuli ta vdoskonalili teoriyu CSP do yiyi suchasnoyi formi algebri procesiv Pidhid vikoristanij pri peretvorenni CSP v algebru procesiv buv obranij pid vplivom pid vplivom roboti Robina Milnera nad en CCS ta navpaki CSP vplinula na CCS Teoretichna versiya CSP bula spochatku predstavlena u statti Bruksa Hoara i Rosko 1984r piznishe u knizi Hoara Communicating Sequential Processes sho bula opublikovana u 1985r U veresni 2006 cya kniga vse she bula odniyeyu z najbilsh citovanih publikacij u komp yuternih naukah vsih chasiv za versiyeyu Citeseer Teoriya CSP perezhila dekilka neznachnih zmin z momentu publikaciyi knigi Hoara Bilshist zmin bula viklikana poyavoyu avtomatizovanih instrumentiv dlya analizu ta verifikaciyi procesiv The Theory and Practice of Concurrency vid Rosko opisuye novishu versiyu CSP Vikoristannya Rannim i vazhlivim vikoristannyam CSP bula specifikaciya i verifikaciya elementiv transpyutera INMOS T9000 kompleksnogo superskalyarnogo konveyernogo procesora rozroblenogo dlya pidtrimki krupnomasshtabnogo multiprocesingu CSP bulo vikoristano u verifikaciyi korektnosti konveyera ta procesora virtualnogo kanalu angl Virtual Channel Processor sho keruvav pozachipovimi komunikaciyami procesora Industrialne vikoristannya CSP u rozrobci programnogo zabezpechennya zazvichaj sfokusovane na nadijnih ta kritichno bezpechnih sistemah Napriklad Bremen Institute for Safe Systems ta Daimler Benz Aerospace zmodelyuvali z dopomogoyu CSP sistemu keruvannya pomilkami ta interfejs avioniki z priblizno 23000 ryadkiv kodu dlya vikoristannya na Mizhnarodnij kosmichnij stanciyi ta proanalizuvali model perevirivshi vidsutnist v yihnomu proekti vzayemnih blokuvan ta livelock iv Proces modelyuvannya ta analizu dopomig vidshukati pomilki yaki bulo b vazhko znajti vikoristovuyuchi lishe testuvannya Analogichno en vikoristali CSP modelyuvannya i analiz pid chas rozrobki programnogo zabezpechennya priblizno 100000 ryadkiv kodu dlya bezpechnoyi sertifikaciyi smart kartok Praxis stverdzhuye sho sistema maye znachno menshu chastotu defektiv porivnyano z analogichnimi sistemami Oskilki CSP ye vdalim rishennyam u modelyuvanni ta analizi sistem yaki mistyat skladnij obmin povidomlennyami vin takozh vikoristovuyetsya u perevirci bezpeki protokoliv zv yazku Garnim prikladom takogo zastosuvannya ye vikoristannya CSP ta en dlya znahodzhennya nevidomoyi ranishe ataki na protokol autentifikaciyi z vidkritim klyuchem Nidgema Shredera a potim rozrobiti vipravlenu versiyu protokolu sho spromozhna protistoyati ataci Neformalnij opisVihodyachi z nazvi CSP dozvolyaye opis sistem z tochki zoru skladovih procesiv sho pracyuyut nezalezhno ta vzayemodiyut odin z odnim viklyuchno cherez obmin povidomlennyami Tim ne mensh slovo poslidovni v nazvi komunikuyuchih poslidovnih procesiv na sogodni desho nedorechne tomu sho suchasna CSP dozvolyaye viznachati procesi komponenti yak poslidovnimi procesami tak i paralelnoyu kompoziciyeyu bilsh primitivnih procesiv Zv yazki mizh riznimi procesami i sposib vzayemodiyi procesu zi svoyim seredovishem opisuyutsya za dopomogoyu riznih operatoriv en Vikoristovuyuchi takij algebrayichnij pidhid dovoli skladnij opis procesu mozhe buti legko pobudovanij z dekilkoh primitivnih elementiv Primitivi CSP zabezpechuye dva klasi primitiviv v algebri procesiv Podiyi Podiyi yavlyayut soboyu komunikaciyu chi inshi vzayemodiyi Pripuskayetsya sho voni nerozdilni i mittyevi Voni mozhut mati yak atomarni imena napriklad vkl vikl skladeni imena napriklad kran vidkriti kran zakriti abo podiyi vvodu vivodu napriklad mouse xy screen bitmap Primitivni procesi Primitivni procesi zadayut fundamentalni povedinki napriklad STOP proces yakij ne komunikuye yakij takozh nazivayut deadlock ta SKIP yakij zavzhdi maye uspishne zavershennya Algebrayichni operatori CSP maye shirokij spektr algebrayichnih operatoriv Osnovnimi z nih ye Prefiks Operator prefiks z yednuye podiyu i proces dlya otrimannya novogo procesu Napriklad a P displaystyle a rightarrow P dd proces yakij peredaye v navkolishnye seredovishe podiyu a displaystyle mathit a pislya chogo povoditsya yak proces P displaystyle mathit P Determinovanij vibir Operator determinovanogo abo zovnishnogo viboru dozvolyaye viznachiti majbutnij rozvitok procesu yak vibir mizh dvoma skladovimi procesami i dozvolyaye navkolishnomu seredovishu zrobiti vibir po pochatkovij podiyi odnogo z procesiv Napriklad a P b Q displaystyle left a rightarrow P right Box left b rightarrow Q right dd ce proces yakij zalezhno vid pochatkovoyi podiyi a displaystyle mathit a abo b displaystyle mathit b povodit sebe yak P displaystyle mathit P abo Q displaystyle mathit Q Yaksho odnochasno vidbudutsya i a displaystyle mathit a i b displaystyle mathit b vibir bude zdijsneno nedeterminovano Nedeterminovanij vibir Operator nedeterminovanogo abo vnutrishnogo viboru dozvolyaye viznachiti majbutnij rozvitok procesu yak vibir mizh dvoma skladovimi procesami ale ne nadaye navkolishnomu seredovishu kontrol nad cim viborom Napriklad a P b Q displaystyle left a rightarrow P right sqcap left b rightarrow Q right dd mozhe povoditi sebe yak a P displaystyle left a rightarrow P right chi b Q displaystyle left b rightarrow Q right Vin mozhe vidkinuti a displaystyle mathit a abo b displaystyle mathit b i zobov yazanij prodovzhiti robotu yaksho seredovishe proponuye i a displaystyle mathit a i b displaystyle mathit b Nedeterminizm mozhe buti nenavmisno vvedenij u determinovanij vibir yaksho pochatkovi podiyi oboh storin ye identichnimi Napriklad a a S T O P a b S T O P displaystyle left a rightarrow a rightarrow STOP right Box left a rightarrow b rightarrow STOP right dd ekvivalentno do a a S T O P b S T O P displaystyle a rightarrow left left a rightarrow STOP right sqcap left b rightarrow STOP right right dd Cherguvannya Operator cherguvannya predstavlyaye absolyutno nezalezhnu odnochasnu diyalnist P Q displaystyle P vert vert vert Q dd povodit sebe odnochasno i yak P displaystyle mathit P i yak Q displaystyle mathit Q Podiyi z oboh procesiv dovilno cherguyutsya u chasi Interfejsnij paralelelizm Operator interfejsnogo paralelelizmu predstavlyaye odnochasnu diyalnist sho potrebuye sinhronizaciyi mizh skladovimi procesami bud yaka podiya z naboru interfejsiv mozhe vidbutisya lishe todi koli vsi skladovi procesi mayut mozhlivist vikonati cyu podiyu Napriklad P a Q displaystyle P left vert left left a right right right vert Q dd pered vikonannyam podiyi a displaystyle mathit a neobhidno shob i P displaystyle mathit P i Q displaystyle mathit Q buli v zmozi vikonati cyu podiyu Tomu napriklad proces a P a a Q displaystyle left a rightarrow P right left vert left left a right right right vert left a rightarrow Q right dd mozhe vikonati podiyu a displaystyle mathit a i stati procesom P a Q displaystyle P left vert left left a right right right vert Q dd v toj chas yak na a P a b b Q displaystyle left a rightarrow P right left vert left left a b right right right vert left b rightarrow Q right dd chekaye deadlock Prihovuvannya Operator prihovuvannya dozvolyaye robiti deyaki podiyi nemozhlivimi dlya sposterezhennya Trivialnij priklad a P a displaystyle left a rightarrow P right setminus left a right dd yakij pripustivshi sho podiya a displaystyle mathit a ne z yavlyayetsya u P displaystyle mathit P sproshuyetsya do P displaystyle mathit P dd Rekursiya Prefiksnij zapis dozvolyaye nam opisuvati povedinku skinchennogo procesu ale u vipadku torgovogo avtomata bude ne zruchno opisuvati vse jogo zhittya z jogo sotnyami i tisyachami prodazhiv Takim chinom nam potriben sposib dlya opisu povtoryuvanih dij sho dast nam pobichno mozhlivist opisuvati neskinchenno zhivut procesi Rozglyanemo mehanichnij godinnik zvazhayuchi na te sho nas cikavlyat lishe jogo tiki todi aCLOCK tick Pislya togo yak godinnik tiknuv vin zalishatsya tim zhe godinnikom todi mi mozhemo skazati sho ob yekt pislya tiku staye godinnikom sho viglyadaye nastupnim chinom CLOCK tick CLOCK Pidstavlyayuchi CLOCK v pravu chastinu mi budemo otrimuvati CLOCK Tick CLOCK pochatkove rivnyannya Tick tick CLOCK persha pidstanovka Tick tick tick CLOCK druga pidstanovka Otzhe povedinku godinnika mozhe buti opisano yak neskinchenna kilkist povtoryuyuchihsya tikiv tick tick tick Danij sposib posilannya na sebe bude pracyuvati tilki u vipadku yaksho z pravogo boku rivnyannya vkazano viraz sho pochinayetsya z prefiksu napriklad rivnyannya X X Nichogo ne viznachaye tomu jomu vidpovidaye bud yakij proces Budemo dali nazivati opis procesu pochinayutsya z prefiksu zahishenim Takim chinom yaksho F X zahishene viraz mistit im ya procesu X i aX A to rivnyannya X F X maye yedine rishennya z alfavitom A Tverdzhennya pro te sho zahishenij viraz maye rishennya i vono mozhlivo unikalne legko demonstruyetsya za dopomogoyu metodu pidstanovok pidstavlyayuchi u viraz proces mi jogo podovzhuyemo sho mozhe trivati neobmezheno takim chinom mi mozhemo napisati dovilno dovgij ale kincevij opis procesu a yaksho dva procesi protyagom dovilno dovgogo chasu mayut odnakovu povedinku to mi govorimo sho voni odnakovi Formalne viznachennyaSintaksis Sintaksis CSP viznachaye legalni sposobi kombinuvannya podij i procesiv Nehaj e displaystyle mathit e podiya X displaystyle mathit X mnozhina podij Todi bazovij sintaksis CSP mozhna viznachiti yak P r o c STOP SKIP e Proc prefixing Proc Proc external choice Proc Proc nondeterministic choice Proc Proc interleaving Proc X Proc interface parallel Proc X hiding Proc Proc sequential composition i f b t h e n Proc e l s e P r o c boolean conditional Proc Proc timeout Proc Proc interrupt displaystyle begin matrix Proc amp amp textit STOP amp amp amp textit SKIP amp amp amp e rightarrow textit Proc amp text prefixing amp amp textit Proc Box textit Proc amp text external text choice amp amp textit Proc sqcap textit Proc amp text nondeterministic text choice amp amp textit Proc vert vert vert textit Proc amp text interleaving amp amp textit Proc X textit Proc amp text interface text parallel amp amp textit Proc setminus X amp text hiding amp amp textit Proc textit Proc amp text sequential text composition amp amp mathrm if b mathrm then textit Proc mathrm else Proc amp text boolean text conditional amp amp textit Proc triangleright textit Proc amp text timeout amp amp textit Proc triangle textit Proc amp text interrupt end matrix Vidznachimo sho v interesah stislosti opisanij sintaksis opuskaye proces d i v displaystyle mathbf div yakij yavlyaye soboyu en a takozh rizni operatori taki yak alfavitnij paralelelizm konveyerizaciya ta indeksovanij vibir Formalna semantika CSP buv dopovnenij kilkoma riznimi semantikami yaki viznachayut znachennya sintaksichno pravilnogo virazu CSP Teoriya komunikuyuchih poslidovnih procesiv vklyuchaye vzayemno uzgodzheni denotativnu semantiku algebrayichnu semantiku ta operacijnu semantiku Denotativna semantika Osnovnimi denotativnimi modelyami v CSP ye model slidiv angl traces model model stabilnih nevdach angl stable failures ta model nevdach rozbizhnostej angl failures divergences Vidobrazhennya z viraziv sho zadayut procesi na kozhnu z cih troh modelej i zadayut denotativnu smantiku CSP Model slidiv viznachaye znachennya virazu procesu yak mnozhinu poslidovnostej podij slidiv yaki mozhna sposterigati pri roboti procesu Napriklad t r a c e s S T O P displaystyle mathit traces left mathit STOP right left langle rangle right tomu sho S T O P displaystyle mathit STOP ne generuye niyakih podij t r a c e s a b S T O P a a b displaystyle mathit traces left a rightarrow b rightarrow mathit STOP right left langle rangle langle a rangle langle a b rangle right tomu sho proces a b S T O P displaystyle a rightarrow b rightarrow mathit STOP mozhe ne zgeneruvati podiyi zgeneruvati podiyu a displaystyle a abo poslidovnist podij a b displaystyle a b Bilsh formalno proces P displaystyle P v modeli procesiv opisuyetsya yak t r a c e s P S displaystyle mathit traces left P right subseteq Sigma ast takij sho t r a c e s P displaystyle langle rangle in mathit traces left P right tobto t r a c e s P displaystyle mathit traces left P right mistit porozhnyu poslidovnist s 1 s 2 t r a c e s P s 1 t r a c e s P displaystyle s 1 smallfrown s 2 in mathit traces left P right implies s 1 in mathit traces left P right tobto t r a c e s P displaystyle mathit traces left P right zamknuta operaciyeyu vzyattya prefiksu de S displaystyle Sigma ast mnozhina vsih mozhlivih skinchennih poslidovnostej podij Model stabilnih nevdach rozshiryuye model slidiv mnozhinami vidmov yaki ye mnozhinami podij X S displaystyle X subseteq Sigma yaki proces mozhe vidmovitis vikonati Nevdacha ce para s X displaystyle left s X right sho skladayetsya zi slidu s displaystyle s ta mnozhini nevdach X displaystyle X yaka viznachaye podiyi yaki proces mozhe vidmovitis vikonati koli vin vikonav slid s displaystyle s Sposterezhuvana povedinka procesu v modeli stabilnih nevdach opisuyetsya paroyu t r a c e s P f a i l u r e s P displaystyle left mathit traces left P right mathit failures left P right right Napriklad f a i l u r e s a S T O P b S T O P a a b b a b displaystyle mathit failures left left a rightarrow mathit STOP right Box left b rightarrow mathit STOP right right left left langle rangle emptyset right left langle a rangle left a b right right left langle b rangle left a b right right right f a i l u r e s a S T O P b S T O P a b a b a a b b a b displaystyle mathit failures left left a rightarrow mathit STOP right sqcap left b rightarrow mathit STOP right right left left langle rangle left a right right left langle rangle left b right right left langle a rangle emptyset right left langle b rangle emptyset right left langle a rangle left a b right right left langle b rangle left a b right right right Model nevdach rozbizhnostej she bilshe rozvivaye model nevdach abi pracyuvati z Semantikoyu procesu v modeli nevdach rozbizhnostej ye para f a i l u r e s P d i v e r g e n c e s P displaystyle left mathit failures perp left P right mathit divergences left P right right de d i v e r g e n c e s P displaystyle mathit divergences left P right viznachayetsya yak mnozhina vsih slidiv yaki mozhut privesti do rozbizhnoyi povedinki a f a i l u r e s P f a i l u r e s P s X s d i v e r g e n c e s P displaystyle mathit failures perp left P right mathit failures left P right cup left left s X right mid s in mathit divergences left P right right Pov yazani zasobi specifikaciyi ta formalizmiDeyaki inshi movi specifikaciyi ta formalizmi buli vivedeni z klasichnogo CSP vklyuchayuchi Timed CSP yakij ob yednuye v sobi chasovu informaciyu pro sistemi realnogo chasu Receptive Process Theory specializaciya CSP sho peredbachaye asinhronni operaciyi vidpravlennya CSPP HSCSP Wright mova opisu arhitekturi TCOZ integraciya Timed CSP i Object Z Circus integraciya CSP i Z CML Compass Modelling Language kombinaciya Circus i VDM stvorena dlya modelyuvannya SoS Systems of Systems CspCASL rozshirennya CCCASL sho integruye CSP LOTOS mizhnarodnij standart sho mistit v sobi osoblivosti CSP i CCSZnoskiRoscoe A W 1997 The Theory and Practice of Concurrency Prentice Hall ISBN 0 13 674409 5 12 travnya 1995 PDF SGS THOMSON Microelectronics Ltd Arhiv originalu PDF za 1 Serpnya 2020 Procitovano 27 Veresnya 2017 INMOS document 72 occ 45 03 Arhiv originalu za 26 Kvitnya 2013 Procitovano 15 kvitnya 2010 Arhiv originalu za 2 Sichnya 2013 Procitovano 27 Veresnya 2017 Higginbotham Daniel Mastering Concurrent Processes with core async vid 1 edition San Francisco No Starch Press ISBN 978 1 59327 591 4 Arhiv originalu za 28 Veresnya 2017 Procitovano 27 Veresnya 2017 Coding Tech Concurrency Patterns In Go Procitovano 9 serpnya 2018 Arhiv originalu za 30 grudnya 2018 Procitovano 9 serpnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Hoare C A R 1978 Communicating sequential processes Communications of the ACM 21 8 666 677 doi 10 1145 359576 359585 Abdallah Ali E Jones Cliff B Sanders Jeff W 2005 Communicating Sequential Processes The First 25 Years T 3525 Springer Barrett G 1995 Model checking in practice The T9000 Virtual Channel Processor IEEE Transactions on Software Engineering 21 2 69 78 doi 10 1109 32 345823 Hall A Chapman R 2002 PDF IEEE Software 19 1 18 25 doi 10 1109 52 976937 Arhiv originalu PDF za 2 Grudnya 2020 Procitovano 27 Veresnya 2017 Creese S 2001 Data Independent Induction CSP Model Checking of Arbitrary Sized Networks D Phil Oxford University Hoare C A R 1985 Communicating Sequential Processes Prentice Hall ISBN 0 13 153289 8 Clinger William June 1981 Mathematics Doctoral Dissertation MIT Arhiv originalu za 25 Lipnya 2019 Procitovano 8 Lyutogo 2018 Brookes Stephen Hoare C A R Roscoe A W 1984 A Theory of Communicating Sequential Processes 31 3 560 599 doi 10 1145 828 833 Buth B M Kouvaras J Peleska H Shi December 1997 Deadlock analysis for a fault tolerant system Proceedings of the 6th International Conference on Algebraic Methodology and Software Technology AMAST 97 s 60 75 Buth B J Peleska H Shi January 1999 Combining methods for the livelock analysis of a fault tolerant system Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology AMAST 98 s 124 139 Lowe G Breaking and fixing the Needham Schroeder public key protocol using FDR PDF Posilannyahttps swtch com rsc thread squint pdf 11 Sichnya 2018 u Wayback Machine
Топ