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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend