From statecharts to ESP*: Programming with events, states and predicates for embedded systems
Abstract
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*. Copyright 2005 ACM.