syntax-driven partitioning for model-checking of esterel programs

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

Upload: kohana

Post on 22-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Syntax-driven partitioning for model-checking of Esterel programs

Syntax-driven partitioning for model-checking of Esterel

programs

Eric Vecchié - INRIA Tick

Page 2: Syntax-driven partitioning for model-checking of Esterel programs

Introduction

• Esterel– Synchronous reactive structural 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

Page 3: Syntax-driven partitioning for model-checking of Esterel programs

The Wristwatch example

ALARM_SET

TIME_SET

STOPWATCH

DISPLAY

Page 4: Syntax-driven partitioning for model-checking of Esterel programs

abort Pwhen S;present T then Q1else Q2end;R

RSS : Breadth-First Search

P

Q2

R

Q1

Page 5: Syntax-driven partitioning for model-checking of Esterel programs

P

Partitioning - overview

Q1

Q2

R

S

Page 6: Syntax-driven partitioning for model-checking of Esterel programs

Partitioning - detail

Page 7: Syntax-driven partitioning for model-checking of Esterel programs

Sequence / if-then-else

P1

P2

P3

P1 P2

Q

SS

S

Page 8: Syntax-driven partitioning for model-checking of Esterel programs

Parallel and signals||

P1 Q1

R1

P2

Q2

Q3 R2

S1

S2

Page 9: Syntax-driven partitioning for model-checking of Esterel programs

How to partition ?

• 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

• Partition register structure according to program blocks

Page 10: Syntax-driven partitioning for model-checking of Esterel programs

Symbolic methods

• Boolean functions

• Sets (in a finite universe)

• Partitioned Transition Relations

(according to individual target registers)

Binary Decision Diagrams (BDDs) allow to represent :

Page 11: Syntax-driven partitioning for model-checking of Esterel programs

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

Page 12: Syntax-driven partitioning for model-checking of Esterel programs

pause

pause

loop end||

abort

when S

present T then

else

end

;

Control Flow Graph construction

|| pausepausepause pause;

Page 13: Syntax-driven partitioning for model-checking of Esterel programs

Problem on loops

PQ

Page 14: Syntax-driven partitioning for model-checking of Esterel programs
Page 15: Syntax-driven partitioning for model-checking of Esterel programs
Page 16: Syntax-driven partitioning for model-checking of Esterel programs
Page 17: Syntax-driven partitioning for model-checking of Esterel programs
Page 18: Syntax-driven partitioning for model-checking of Esterel programs

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