100 likes | 118 Views
Explore the design, implementation, and evaluation of a Statechart service, extending state transition diagrams for concurrency support. Learn why Statecharts save on diagram complexity. Implement a textual expression for developing concurrent applications.
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