Processos comunicants seqüencials
Aparença
(S'ha redirigit des de: CSP)
Processos comunicants seqüencials, de sigles anglosaxones CSP (Communicating sequential processes), és un model de Programació d'ordinadors de sistemes concurrents basat en la comunicació entre processos. Definició del model:[1]
- Estructures de control seqüencials: ordres amb guarda de Dijkstra: <condició o guarda> → <acció>
- Execució concurrent dels processos.
- Ordres especials d'entrada/sortida entre processos: Pj ! i Pi? X
- La comunicació té lloc quan un procés Pi nomena a un altre procés Pj com a destí de la seva sortida i Pj nomena Pi com a origen de la seva entrada.
- No hi ha buffering (coixí de missatges). Els processos que han d'enviar o rebre missatges queden bloquejats fins que aconsegueixen la comunicació.
- No es creen ni es destrueixen processos durant l'execució dels programes (són estàtics).
- No hi ha recursivitat.
Relacionat
[modifica]- Occam Pi
- CSP amb àlgebra de processos "calcul Pi" on els noms dels canals poden ser l'objecte transmès com a missatge.[2]
- JoCaml
- llenguatge funcional, extensió de OCaml, que implementa l'àlgebra de processos anomenada "càlcul Join" on les guardes són patrons de sincronisme (simultaneïtat de missatges a diversos canals), amb concurrència per pas de missatges asíncrons i síncrons.
- llenguatge Hume
- implementa concurrència per pas de missatges i sincronia de canals. Els processos s'agrupen en autòmats (construcció box) on l'entrada és una tupla de canals amb un conjunt d'alternatives de patrons de sincronisme (càlcul Join) i l'estat és a les bústies modificades per realimentació. Les comunicacions s'especifiquen com a cablejat entre autòmats (instrucció wire) i es poden descriure en un entorn gràfic IDE.[3][4]
- Communicating Haskell Processes
- biblioteca de Haskell que implementa CSP basada en mònades.[5]
- Java JCSP
- "Communicating Sequential Processes for Java" de la Univ. de Kent[6]
- Join Java
- implementació de càlcul Join sobre Java.[7]
Referències
[modifica]- ↑ Using CSP versió en línia del llibre de Tony Hoare "Communicating Sequential Processes"
- ↑ Occam-Π
- ↑ Robert Pointon - Hume Arxivat 2011-06-05 a Wayback Machine.(anglès)
- ↑ Web del llenguatge Hume(anglès)
- ↑ Univ. de Kent - CHP: Communicating Haskell Processes(anglès)
- ↑ Univ. de Kent - JCSP(anglès)
- ↑ «Univ. d'austràlia del sud - Join Java». Arxivat de l'original el 2012-08-03. [Consulta: 20 gener 2013].
- ↑ Poliphonic C#(anglès)
- ↑ El llenguatge Cw de Microsoft(anglès)