Translating ESTM to CSP
Yoriyuki YAMAGATA, Weiqiang KONG, Akira FUKUDA,Noriyuki KATAHIRA, Van Tang
NGUYEN, Hitoshi OHSAKI23 Feb. 2012
Singapore
Extended State Transition Matrix
• Similar to State Transition Diagram
• Based on tables, not diagrams
Extended State Transition Matrix
• No formal semantics
• Semantics defined through implementation
• Non-trivial features– Hierarchical tables– Hierarchical events
...
Simple STM
P3
S1e2
P2P1
S1S2e1
S2S1
Simple STM
P3
S1e2
P2P1
S1S2e1
S2S1
Simple STM
P3
S1e2
P2P1
S1S2e1
S2S1
Simple STM
P3
S1e2
P2P1
S1S2e1
S2S1
Simple STM
P3
S1e2
P2P1
S1S2e1
S2S1
Simple STM
P3
S1e2
P2P1
S1S2e1
S2S1
Syntax Sugar
)P(a?a|...|)Pa?a( nn11 →→
Syntax Sugar
nn11 Pa?a|...|Pa?a →→
Syntax Sugar
STOPaxP
...axP
axPq?x
Pq?a|...|Pq?a
nn
22
11
nn11
==
=→≡→→
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
→→…=→→=
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
Hierarchical events
……e2
……e4
P1…
S2e3
e1
S2S1T
T.state?S |
)) (q?e (q?e T.state?S T
2
311
→…→→→=
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
Hierarchical STM
……e2
□T1
…
S2
e1
S2S1T0
return
……e4
P1
S3S4
e3
S4S3T1
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 →→=
Hierarchical STM
return
……e4
P1
S3S4e3
S4S3T1
...)|Tstart.TreturnTq?e( .state?ST |
) | ... (q?e .sate?ST T
111.341
3311
→→→→…→→=
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=
Further work
• More feature– Hierarchical states, Parallel states– Interrupt
– Event type…
• Experiments using PAT
• Comparison to Garakabu2