Introducing Safe Jumps in Esterel Olivier Tardieu Schizophrenia and - - PowerPoint PPT Presentation

introducing safe jumps in esterel
SMART_READER_LITE
LIVE PREVIEW

Introducing Safe Jumps in Esterel Olivier Tardieu Schizophrenia and - - PowerPoint PPT Presentation

Introducing Safe Jumps in Esterel Olivier Tardieu Schizophrenia and Reincarnation Schizophrenia and Reincarnation


slide-1
SLIDE 1

Introducing Safe Jumps in Esterel

Olivier Tardieu

slide-2
SLIDE 2
  • Schizophrenia and Reincarnation
  • ;

Schizophrenia and Reincarnation

slide-3
SLIDE 3

Efficient Reincarnation?

  • ;
slide-4
SLIDE 4

Non-instantaneous Goto Goto

  • ;
slide-5
SLIDE 5

Outline

  • Esterel
  • Goto

– formal semantics – restrictions

  • Applications

– Automata – Schizophrenia

slide-6
SLIDE 6

Syntax

  • nothing
  • pause
  • p; q
  • p || q
  • loop p end
  • signal S in p end
  • – emit S

– present S then p else q end

slide-7
SLIDE 7

Logical Semantics

  • Reaction:

p, E → p’, E’

  • Execution:

p ⇒ p’ ⇒ • iff

  • p = program
  • E = inputs + outputs
  • b = terminates?
  • p’ = residual
  • E’ = outputs
  • p, I∪O → p’, O
  • p’, I’∪O’ → p’’, O’

b O O’ I I’

slide-8
SLIDE 8

→

false

Rules – 1/2

→

true

→

false

→

false

→ ∪

b

→

true

→

b

→ → ∪

b∧b’ b

→

b’

→

false

→

false

→

true

slide-9
SLIDE 9

Rules – 2/2

→

b

∪ →

b

∈ ∈ ∈ ∈ →

b

→

b

∉ ∉ ∉ ∉ →

b

→

b

∉ ∉ ∉ ∉ →

b

→

b

∈ ∈ ∈ ∈

slide-10
SLIDE 10

→ → → → → ∈

  • Examples

  • →

→ → →

slide-11
SLIDE 11

Goto?

  • Syntax

– gotolabel – pauselabel (pairwise distinct labels)

  • Semantics

– Collect labels reached by the reaction – Compute residual by combining:

  • initial statement
  • with labels

p’ ≡ < p | L >

slide-12
SLIDE 12

→

false

Labeled Logical Semantics

→

true

→

false

→

false

→ ∪

b

→ !

true

→

b

→ → ∪!∪!

b∧b’ b

→

b’

→

false

→

false

→

true

Labeled Logical Semantics

→ →

true

→

false

→ !

false

→ !

false

→ ∪!∪!

b

→ !

true

→ !

b

→ ∪!∪!

b∧b’

→ !

b

→ !

b’

→ !

false

→ !

false

→

true

∈ →

false

slide-13
SLIDE 13

Example – Part 1

"# # $ #→ # $ #"→ ## $ %&' $ ())*'+

slide-14
SLIDE 14

State Semantics

  • p ⇒ p’ ⇒ p’’ ⇒ ...

– p, I∪O → p’, O – p’, I’∪O’ → p’’, O’

  • p ⇒ p’ ⇒ p’’ ⇒ ...

– p, I∪O → p’, O, L and p’ ≡ < p | L > – p’, I’∪O’ → p’’, O’, L’ and p’’ ≡ < p | L’ >

I I’ O O’

  • I

I’ O O’

slide-15
SLIDE 15

Example – Part 2

"# # $ #→ #

,"# #- .,"# -# .,"# -# ., -# ."# #

slide-16
SLIDE 16

Example – Part 3

" # # $ #→ # ,#-.# $ #"→ ## ,##-.,# #-.

slide-17
SLIDE 17

State Expansion

$ ,-. $ , -. $ ,!-.,!- $ ,!-.,!∩!/0-,!∩!/0- $ ,!-.,!- $ ,!-.,!- !⊂!/0 $ ,!-.,!- !⊂!/0 $ ,!-.,!- !⊂!/0 $ ,!-.,!- !⊂!/0

slide-18
SLIDE 18

Well-formedness – Part 1

'& '' $ 1 #2 1 #2 $ 1 #2 '& 3 $ 1 #2 # $ 1 #2 # $ 1 #2

slide-19
SLIDE 19

Exclusive or Compatible Statements?

  • 1

2 ; 3 4 || 5 6

EXCLUSIVE EXCLUSIVE COMPATIBLE

slide-20
SLIDE 20

Well-formedness – Part 2

$ "*'&' 34' $ " 5*'& '34'&

  • 6 77# ⇒ 77#

6 77# ⇒ 77#

slide-21
SLIDE 21

Summary

  • A sound semantics of goto in Esterel
  • Constraints

– non-instantaneity ⇒ no (causality) cycles – well-formedness ⇒ preserve Esterel semantics

  • But powerful!
slide-22
SLIDE 22

Automata

  • 8 #

#

  • 9

#

1 2 A B

':

slide-23
SLIDE 23
  • Schizophrenia and Reincarnation
  • ;
slide-24
SLIDE 24

To jump or not to jump?

;

  • ;
slide-25
SLIDE 25

Algorithms

$

6 */ 0. */0*/0

$

6 */ 0. '/0*/0 6 '/0. 6 '/ 0.'/0 6 '/0.'/0'4 6 '/0.'/0'/0)

slide-26
SLIDE 26
  • Example
slide-27
SLIDE 27

Multiple Reincarnation – No Goto

  • ;

<

  • ;

<

  • ;

<

  • ;

<

  • ;

;

2n !!!

; <

  • ;
slide-28
SLIDE 28

Multiple Reincarnation – Goto

  • ;

<

  • ;

<

  • #
  • ;

<

  • #
  • ;

<

  • ;

;

n2 !!!

slide-29
SLIDE 29

Conclusion

  • Introduction of safe jumps in Esterel
  • A preprocessor for schizophrenia

– get rid of schizophrenia using ‘‘goto’’ – simple, efficient, extends to full Esterel

If you do not understand schizophrenia, that is OK, because you no longer have to!