1 / 18

Syntax-driven partitioning for model-checking of Esterel programs

Syntax-driven partitioning for model-checking of Esterel programs. Eric Vecchié - INRIA Tick. Introduction. Esterel Synchronous reactive structural programming (structure = sequence, parallel, if-then-else...) circuit translation (gates+registers) Objective

kohana
Download Presentation

Syntax-driven partitioning for model-checking of Esterel programs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Syntax-driven partitioning for model-checking of Esterel programs Eric Vecchié - INRIA Tick

  2. Introduction • Esterel • Synchronous reactivestructural programming (structure = sequence, parallel, if-then-else...) • circuit translation (gates+registers) • Objective • Efficient Reachable State Space computation • Contribution • Rely on program structural syntax to reduce the size of intermediate computations

  3. The Wristwatch example TIME_SET DISPLAY ALARM_SET STOPWATCH

  4. RSS : Breadth-First Search P abort P when S; present T then Q1 else Q2 end; R Q2 Q1 R

  5. Partitioning - overview Q1 P S R Q2

  6. Partitioning - detail

  7. Sequence / if-then-else S S P1 P1 P2 S P2 P3 Q

  8. Parallel and signals || P1 Q1 R1 S1 P2 Q2 S2 Q3 R2

  9. How to partition ? • Partition register structure according to program blocks • Frontiers synthesized from signal receptions present statements abort statements Only enlarging (removing frontiers)but applying to pending states past "last" frontier • Generated from control flow graph

  10. Symbolic methods Binary Decision Diagrams (BDDs) allow to represent : • Boolean functions • Sets (in a finite universe) • Partitioned Transition Relations (according to individual target registers)

  11. Cofactoring Given a domain D, reduce the BDD of a function f: f↑D(x) = f(x) if x belongs to D Reduces individual transition functions relative to source domain

  12. Control Flow Graph construction abort loop pause end ; present T then pause ; pause pause pause || || when S else pause end

  13. Problem on loops P Q

  14. Conclusion • Program verification following program syntax • Sequences, if-then-else • Signals in parallels • Less memory required • Smaller intermediate BDDs • Lighter transition relation • Lighter image computation

More Related