100 likes | 108 Views
The design, implementation, integration and evaluation of a Statechart service. By Xin Bai Feb 7, 2002. Why 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.
E N D
The design, implementation, integration and evaluation of a Statechart service. By Xin Bai Feb 7, 2002
Why 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.
Backgrounds: • David Harel invented this language in 1983. • The STATEMATE system by I-Logix Israel., Ltd. has implemented statechart language.
From state transition diagrams to statecharts e D A e A g[c] f B g[c] f B f C C h h States: A, B, C, D Events: e, f, g Condition: c D = A XOR C g[c] triggers the transition from A to C if and when g occurs, but only if c is true at that time
History entrance to a state overrides the default arrow A e B H f C D
AND decomposition, actions and chain reaction A D B E k F e f/g n g C e G H m/e I J n/f
Objectives: • 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
Literature: • 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