Title: The design, implementation, integration and evaluation of a Statechart service.
1The design, implementation, integration and
evaluation of a Statechart service.
By Xin Bai Feb 7, 2002
2Why use statecharts?
- Statechart extends the classical state transition
diagram. - It saves the number of the state and arrow in the
diagram. - Most importantly it supports concurrency.
3Backgrounds
- David Harel invented this language in 1983.
- The STATEMATE system by I-Logix Israel., Ltd. has
implemented statechart language.
4Statecharts extend classical state transition
diagrams
State transition diagrams Statecharts
Depth, hierarchy or modularity support No Yes
Number of transition arrows Uneconomical Economical
Number of states Grow exponentially Economical
Concurrency Support No (sequential in nature) Yes
5From state transition diagrams to statecharts
States A, B, C, D Events e, f, g Condition c
D A XOR C gc triggers the transition from A
to C if and when g occurs, but only if c is true
at that time
6History entrance to a state overrides the default
arrow
A
e
B
H
f
D
C
7AND decomposition, actions and chain reaction
8Objectives
- Design a textual expression for a simplified
statechart just like blueprint. - Implement a statechart service so that users can
use this textual expression to develop concurrent
application. - Implement a sample application
9Literature
- D. Harel, Statecharts A Visual Formalism for
Complex Systems, Science of Computer Programming
8 (1987), pp. 231-274 - D. Harel, A. Pnueli, J.P. Schmidt, and R.
Sherman, On the Formal Semantics of Statecharts,
in Proc. 2nd Symp. on Logic in Computer Science
(LICS 87), pages 54-64. IEEE Computer Society
Press, 1987
10Thank you!