facilitating concurrency in hybrid programs
play

Facilitating Concurrency in Hybrid Programs D E C E M E C E M B E - PowerPoint PPT Presentation

Facilitating Concurrency in Hybrid Programs D E C E M E C E M B E R E R 1 0 , 2 0 1 9 15-824: Logical Foundations of Cyber-Physical Systems (Fall 2019) Haithem Turki Long Pham Languages shape our thinking Shaden enfreu eude - Malicious


  1. Facilitating Concurrency in Hybrid Programs D E C E M E C E M B E R E R 1 0 , 2 0 1 9 15-824: Logical Foundations of Cyber-Physical Systems (Fall 2019) Haithem Turki Long Pham

  2. Languages shape our thinking Shaden enfreu eude - Malicious enjoyment of the misfortunes of others. (Oxford English Dictionary) 2

  3. Overview Motivation and Background • Theory • Implementation • Future Work • 3

  4. Motivation and Background

  5. Cyber-physical systems (CPSs) are inherently composite Inte tera racti tion b betw tween C CPSs Int Interaction wi n within a n a CPS Image courtesy of http://lfcps.org/course/lfcps19.html Image courtesy of https://lfcps.org/lfcps/slides/09-time-slides.pdf 5

  6. Inputs, outputs, and parallel composition C. A. R. (Tony) Hoare, Communicating Sequential Processes , 1978 Image courtesy of Microsoft Research 6

  7. Inputs, outputs, and parallel composition Consumer = order!coffee -> how-much?x -> pay!x -> get?y -> STOP Barista = order?y -> how-much!2 -> pay?x -> get!y -> STOP Consumer || Barista = order!coffee -> how-much!2 -> pay!2 -> get!coffee -> STOP 7

  8. Inputs, outputs, and parallel composition Consumer = order!coffee -> how-much?x -> get?y -> pay!x -> STOP Barista = order?y -> how-much!2 -> pay?x -> get!y -> STOP Consumer || Barista = order!coffee -> how-much!2 -> STOP 8

  9. Adding concurrency to hybrid programs Our ur C Cont ontributions ns Adding channels to hybrid programs • Providing trace semantics • Devising a sequentialization algorithm • Extending KeYmaera X to provide a proof-of-concept implementation supporting our • augmented syntax 9

  10. Theory

  11. Local variables Consumer = x:=1; pay!x; x:=0 Barista = pay?x; x:=x+1 11

  12. Global variables 12

  13. Syntax of concurrent hybrid programs 13

  14. Trace semantics 14

  15. Trace semantics 15

  16. Trace semantics 16

  17. Implementation

  18. Current Implementation Author horing ng P Paral allel P Prog ogram ams Extended existing KeYmaera X [1] • theorem prover Augmented KeYmaera X parser and lexer • to handle necessary syntax Added new Parallel program type • Propagated new Channel concept Authoring parallel programs in KeYmaera X web interface • throughout existing KeYmaera X codebase [1] http://www.ls.cs.cmu.edu/KeYmaeraX/ 18

  19. Current Implementation Proof oofs f for Paral allel P Prog ogram ams Implemented subset of the core and • derived axioms needed to prove the safety of parallel programs Full set of axioms still to be • implemented But able to complete proofs of small • examples in current implementation Parallel axioms suggested in KeYmaera X web interface 19

  20. Current Implementation Completed proof in KeYmaera X web interface Proof tree in KeYmaera X web interface 20

  21. Future Work Providing full implementation of our extension in KeYmaera X • Providing a formal definition of equality based on trace semantics • Formally proving the sequentialization axioms • Introduce more constructs to make calculus for concurrent hybrid programs more expressive • • Example: wake up a stalled program when an ODE of another program reaches a certain state 21

  22. Thank you! • Code available on GitHub: https://github.com/hturki/KeYmaeraX-release/tree/parallel 22

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