event structures for the reversible early internal
play

Event structures for the reversible early internal -calculus Eva - PowerPoint PPT Presentation

Event structures for the reversible early internal -calculus Eva Graversen , Iain Phillips, and Nobuko Yoshida Imperial College London 9th of June 2020 1 Background Process calculi describe concurrent processes. RCCS (Danos and


  1. Event structures for the reversible early internal π -calculus Eva Graversen , Iain Phillips, and Nobuko Yoshida Imperial College London 9th of June 2020 1

  2. Background • Process calculi describe concurrent processes. • RCCS (Danos and Krivine, 04) was the first reversible process calculus. It stored memories in stacks separate from processes (dynamic reversibility). • CCSK (Phillips and Ulidowski, 06) used keys to denote past actions in CCS while maintaining the structure of the process (static reversibility). • Extrusion histories containing past outputs of bound names and inputs of free names have been used to define stable non-interleaving early operational semantics of π -calculus (Hildebrandt et al., 17). 2

  3. Background • Event structures have been used to define semantics for CCS, π -calculus, LOTOS, etc. in forwards-only setting. • Event structures provide true concurrency semantics, which describe the causal relationships between actions. • Existing true concurrency semantics of reversible process calculi (Cristescu et al., 15, Aubert and Cristescu, 15) needed to reverse all past actions before mapping to their model of true concurrency. 3

  4. Motivation • Currently existing reversible π -calculus semantics are either late (Cristescu et al., 13, Medic et al., 18) or reduction semantics (Lanese et al., 10, Tiezzi and Yoshida, 10). • This is despite early semantics being more common than late in forward-only π -calculi. • Reduction semantics are unlabelled, late and early are labelled. • Early semantics lets the process receive existing free names from the environment, late do not. • Using early semantics gives us some non-structural causation, e.g. if a ♣ x q ⑤ ♣ ν b q a ♣ b q receives b after sending b . 4

  5. Motivation • π I-calculus is a variant of π -calculus where output names are bound. • π I-calculus avoids most of the non-structural causation of the π -calculus, including situations like ♣ ν x q♣ a ① x ② ⑤ b ① x ② ⑤ x ♣ y qq . • We want true concurrency semantics of a dynamically reversible early π I-calculus, and we use denotational event structure semantics. • We go through a statically reversible early π I-calculus. 5

  6. π IH-calculus

  7. π IH-calculus Hildebrandt et al. defined stable non-interleaving early operational semantics for the π -calculus using extrusion histories. We extend the histories to contain enough information to reverse. a ① c ② a ♣ x q . ♣♣ ν b q ♣ x ① b ②q ⑤ x ♣ y qq ⑤ ♣ ν c q ♣ a ① c ②q Ý Ý Ñ a ♣ c q a ♣ x q . ♣♣ ν b q ♣ x ① b ②q ⑤ x ♣ y qq ⑤ 0 Ý Ý Ñ τ ♣♣ ν b q ♣ c ① b ②q ⑤ c ♣ y qq ⑤ 0 Ý Ñ ♣ ν b q ♣ 0 ⑤ 0 q ⑤ 0 6

  8. π IH-calculus Hildebrandt et al. defined stable non-interleaving early operational semantics for the π -calculus using extrusion histories. We extend the histories to contain enough information to reverse. a ① c ② ♣❍ , ❍q ✩ a ♣ x q . ♣♣ ν b q ♣ x ① b ②q ⑤ x ♣ y qq ⑤ ♣ ν c q ♣ a ① c ②q Ý Ý Ý Ý Ý Ý Ñ 1 r a ① c ②sr 0 s a ♣ c q ♣t♣ c , 1 r a ① c ②sr 0 sq✉q ✩ a ♣ x q . ♣♣ ν b q ♣ x ① b ②q ⑤ x ♣ y qq ⑤ 0 Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ñ 0 r a ♣ x q . ♣♣ ν b q♣ x ① b ②q⑤ x ♣ y qqsr♣♣ ν b q♣ c ① b ②q⑤ c ♣ y qqs ✄ ☛ t♣ c , 1 r a ① c ②sr 0 sq✉ , τ ✩♣♣ ν b q ♣ c ① b ②q ⑤ c ♣ y qq ⑤ 0 Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ñ t♣ c , 0 r a ♣ x q . ♣♣ ν b q ♣ x ① b ②q ⑤ x ♣ y qqsr♣♣ ν b q ♣ c ① b ②q ⑤ c ♣ y qqsq✉ 0 ① 0 r♣ c ① b ②qsr 0 s , 1 r c ♣ y qsr 0 s② ✄ ☛ t♣ c , 1 r a ① c ②sr 0 sq✉ , ✩♣ ν b q ♣ 0 ⑤ 0 q ⑤ 0 t♣ c , 0 r a ♣ x q . ♣♣ ν b q ♣ x ① b ②q ⑤ x ♣ y qqsr♣♣ ν b q ♣ c ① b ②q ⑤ c ♣ y qqsq✉ 6

  9. π IH-calculus Hildebrandt et al. defined stable non-interleaving early operational semantics for the π -calculus using extrusion histories. We extend the histories to contain enough information to reverse. a ♣ c q ♣❍ , ❍ , ❍q ✩ a ♣ x q . ♣ x ♣ b q⑤ x ♣ y qq ⑤ a ♣ c q Ý Ý Ý Ý Ý Ý Ñ 1 r a ♣ c qsr 0 s a ♣ c q ♣t♣ a ♣ c q , 1 r a ♣ c qsr 0 sq✉ , ❍ , ❍q ✩ a ♣ x q . ♣ x ♣ b q⑤ x ♣ y qq ⑤ 0 Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ñ 0 r a ♣ x q . ♣ x ♣ b q⑤ x ♣ y qqsr♣ c ♣ b q⑤ c ♣ y qqs ✄ ☛ t♣ a ♣ c q , 1 r a ♣ c qsr 0 sq✉ , τ ✩♣ c ♣ b q⑤ c ♣ y qq ⑤ 0 Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ñ t♣ a ♣ c q , 0 r a ♣ x q . ♣ x ♣ b q⑤ x ♣ y qqsr♣ c ♣ b q⑤ c ♣ y qqsq✉ , ❍ 0 ① 0 r c ♣ b qsr 0 s , 1 r c ♣ y qsr 0 s② ☎ ☞ t♣ a ♣ c q , 1 r a ♣ c qsr 0 sq✉ , t♣ a ♣ c q , 0 r a ♣ x q . ♣ x ♣ b q⑤ x ♣ y qqsr♣ c ♣ b q⑤ c ♣ y qqsq✉ , ✌ ✩♣ ν b q ♣ 0 ⑤ 0 q ⑤ 0 ✝ ✍ ✆ t♣♣ c ♣ b q , c ♣ b qq , 0 ① 0 r c ♣ b qsr 0 s , 1 r c ♣ y qsr 0 s②q✉ 6

  10. From π IH to Event Structures Existing Approach Our Approach Process with past actions π IH Reverse all actions E Standard process Denotational semantics π IK Truely concurrect structure Denotational semantics Redo actions Truely concurrent structure Event Structure with current state 7

  11. π IK-calculus CCSK uses keys to denote past actions and which actions they have synchronised with. (Medic et al., 18) used keys to denote past actions in π -calculus, but due to only dealing with π I-calculus, our semantics are simpler. a ♣ b q . b ♣ c q ⑤ a ♣ x q . x ♣ y q a ♣ b qr n 1 s Ý Ý Ý Ý Ý Ñ a ♣ b qr n 1 s . b ♣ c q ⑤ a ♣ x q . x ♣ y q a ♣ b qr n 2 s Ý Ý Ý Ý Ý Ñ a ♣ b qr n 1 s . b ♣ c q ⑤ a ♣ b qr n 2 s . b r n 2 s ♣ y q τ r n 3 s Ý Ý Ý Ñ ♣ ν c q♣ a ♣ b qr n 1 s . b ♣ c qr n 3 s ⑤ a ♣ b qr n 2 s . b r n 2 s ♣ c qr n 3 sq 8

  12. Operational Correspondence We can construct a π IK process from a π IH process: • Use locations as keys • Use a second copy of the location to determine where the action originated • Iteratively add actions from the extrusion history back onto the process • Keep another copy of the process where the actions are instead reversed • Use the state of the locations in the second process to determine which extrusions should be added to the process next. 9

  13. ♣♣t♣ ♣ q q✉ ❍ ❍q ✩ ⑤ ♣ q ♣ q ⑤ ♣ qq ✏ ♣♣❍ t♣ ♣ q ① ②q✉ ❍q ✩ ♣ q ♣ qq ✏ ♣♣t♣ ♣ q ① ②q✉ ❍ ❍q ✩ q ✏ ♣♣❍ ❍ ❍q ✩ ♣ qr① ②s ♣ ♣ q ♣ q r① ②s q ♣ q ♣ qq ✏ ♣ qr① ②s ②s ♣ q r① ✏ ♣ qr① ②s ♣♣t♣ ♣ q q✉ ❍ ❍q ✩ ⑤ ♣ q ♣ q ⑤ ♣ qq ✏ ♣ qr s ♣ ♣ qr① ②s ②s ♣ q ⑤ ♣ qr① ②s q r① We want to find the π IK process corresponding to ♣t♣ b ♣ c q , u 2 q✉ , ❍ , t♣ b ♣ a q , b ♣ a q , ① 0 u 0 , 1 u 1 ②q✉q ✩ a ♣ x q ⑤ 0 with locations u 0 ✏ r b ♣ y q . y ♣ x qsr a ♣ x qs , u 1 ✏ r b ♣ a qsr 0 s , and u 2 ✏ r b ♣ c q . ♣ b ♣ y q . y ♣ x q ⑤ b ♣ a qsr b ♣ y q . y ♣ x q ⑤ b ♣ a qs . We perform E ♣ lcopy ♣♣t♣ b ♣ c q , u 2 q✉ , ❍ , t♣ b ♣ a q , b ♣ a q , ① 0 u 0 , 1 u 1 ②q✉qq ✩ a ♣ x q ⑤ 0 , a ♣ x q ⑤ 0 q 10

  14. ✏ ♣♣❍ ❍ ❍q ✩ ♣ qr① ②s ♣ ♣ q ♣ q r① ②s q ♣ q ♣ qq ✏ ♣ qr① ②s ②s ♣ q r① ✏ ♣ qr① ②s ♣♣t♣ ♣ q q✉ ❍ ❍q ✩ ⑤ ♣ q ♣ q ⑤ ♣ qq ✏ ♣ qr s ♣ ♣ qr① ②s ②s ♣ q ⑤ ♣ qr① ②s q r① We want to find the π IK process corresponding to ♣t♣ b ♣ c q , u 2 q✉ , ❍ , t♣ b ♣ a q , b ♣ a q , ① 0 u 0 , 1 u 1 ②q✉q ✩ a ♣ x q ⑤ 0 with locations u 0 ✏ r b ♣ y q . y ♣ x qsr a ♣ x qs , u 1 ✏ r b ♣ a qsr 0 s , and u 2 ✏ r b ♣ c q . ♣ b ♣ y q . y ♣ x q ⑤ b ♣ a qsr b ♣ y q . y ♣ x q ⑤ b ♣ a qs . We perform E ♣ lcopy ♣♣t♣ b ♣ c q , u 2 q✉ , ❍ , t♣ b ♣ a q , b ♣ a q , ① 0 u 0 , 1 u 1 ②q✉qq ✩ a ♣ x q ⑤ 0 , a ♣ x q ⑤ 0 q E ♣♣t♣ b ♣ c q , u 2 , u 2 q✉ , ❍ , ❍q ✩ P 0 ⑤ P 1 , b ♣ y q . y ♣ x q ⑤ b ♣ a qq where P 0 ✏ E ♣♣❍ , t♣ b ♣ a q , u 0 , ① 0 u 0 , 1 u 1 ②q✉ , ❍q ✩ a ♣ x q , a ♣ x qq and P 1 ✏ E ♣♣t♣ b ♣ a q , u 1 , ① 0 u 0 , 1 u 1 ②q✉ , ❍ , ❍q ✩ 0 , 0 q 10

Recommend


More recommend