Statecharts are probably the most popular mechanism for behavior modeling of embedded system components. Modeling a component involves using a mainstream language for features that statecharts cannot express: detailed behavior of conditions and actions, object-orientation and distributed computing features. Debugging is done at the level of the generated native code. Rather than treating statecharts as a separate programming model from the native programming model, we extend a (Java-like) language with support for key concepts of statecharts: (1) explicit states, (2) asynchronous events, and (3) conditional execution. This paper presents ESP∗, a language that supports statecharts and a set of other advanced programming concepts to make programming embedded systems easier. The paper also shows how to translate statecharts to ESP∗. Categories and Subject Descriptors: D.2.2 [Software Engineering]: Design Tools and Techniques General Terms: Languages, Design.
Vugranam C. Sreedhar, Maria-Cristina V. Marinescu