Translating STM to CSP

37
Translating ESTM to CSP Yoriyuki YAMAGATA, Weiqiang KONG, Akira FUKUDA,Noriyuki KATAHIRA, Van Tang NGUYEN, Hitoshi OHSAKI 23 Feb. 2012 Singapore

Transcript of Translating STM to CSP

Page 1: Translating STM to CSP

Translating ESTM to CSP

Yoriyuki YAMAGATA, Weiqiang KONG, Akira FUKUDA,Noriyuki KATAHIRA, Van Tang

NGUYEN, Hitoshi OHSAKI23 Feb. 2012

Singapore

Page 2: Translating STM to CSP

Extended State Transition Matrix

• Similar to State Transition Diagram

• Based on tables, not diagrams

Page 3: Translating STM to CSP

Extended State Transition Matrix

• No formal semantics

• Semantics defined through implementation

• Non-trivial features– Hierarchical tables– Hierarchical events

...

Page 4: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

Page 5: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

Page 6: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

Page 7: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

Page 8: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

Page 9: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

Page 10: Translating STM to CSP

Syntax Sugar

)P(a?a|...|)Pa?a( nn11 →→

Page 11: Translating STM to CSP

Syntax Sugar

nn11 Pa?a|...|Pa?a →→

Page 12: Translating STM to CSP

Syntax Sugar

STOPaxP

...axP

axPq?x

Pq?a|...|Pq?a

nn

22

11

nn11

==

=→≡→→

Page 13: Translating STM to CSP

Simple STM

P3

S1e2

P2P1

S1S2e1

S2S1

...)|STOPq?e( T.state?S |

) | T ;S : T.state ;P (q?e T.state?S T

22

2111

→→…=→→=

Page 14: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 15: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 16: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 17: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 18: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 19: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 20: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

Page 21: Translating STM to CSP

Hierarchical events

……e2

……e4

P1…

S2e3

e1

S2S1T

T.state?S |

)) (q?e (q?e T.state?S T

2

311

→…→→→=

Page 22: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 23: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 24: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 25: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 26: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 27: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 28: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 29: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 30: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 31: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 32: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 33: Translating STM to CSP

Hierarchical STM

……e2

□T1

S2

e1

S2S1T0

return

……e4

P1

S3S4

e3

S4S3T1

Page 34: Translating STM to CSP

Hierarchical STM

……e2

□T1…

S2e1

S2S1T0

…→…=→→=

.state?ST |

) | T S2; : .stateT );call(T (q?e .state?ST T

20

0111100

SKIP .return T .start T )call(T 111 →→=

Page 35: Translating STM to CSP

Hierarchical STM

return

……e4

P1

S3S4e3

S4S3T1

...)|Tstart.TreturnTq?e( .state?ST |

) | ... (q?e .sate?ST T

111.341

3311

→→→→…→→=

Page 36: Translating STM to CSP

Hierarchical STM

……e2

□T1…

S2e1

S2S1T0

……e4

return…

S4e3

S4S3T1

T1) .start (T_A || T ;S : .stateT ;S : .stateT 103100 →==

Where .return}T .start,{T A 11=

Page 37: Translating STM to CSP

Further work

• More feature– Hierarchical states, Parallel states– Interrupt

– Event type…

• Experiments using PAT

• Comparison to Garakabu2