An Efficient Object-Oriented Variation of the Statecharts Formalism for Distributed Real-Time Systems

The ROOM (Real-Time Object-Oriented Modeling) methodology was developed specifically for dealing with distributed real-time systems based on the object paradigm. For describing high-level concurrent behavior of systems, ROOM uses a variation of the basic statechart visual formalism. This variation was driven by two sets of requirements. First, we wanted to integrate some of the more powerful aspects of the object paradigm, such as inheritance, with the statechart formalism. In addition, based on our own experience with finite-state machine descriptions, we felt that statecharts had a potential to be used not only for specification but also for implementation. Consequently, we filtered the set of basic statechart concepts, modifying some, removing others and introducing new ones, based on their implementability using state-ofthe-art technology. The result is a highly efficient and expressive formalism which can be applied from the early phases of development (analysis) all the way to implementation. This eliminates some of the error-prone paradigm shifts which characterized traditional system development processes. This new formalism has been incorporated into a commercial toolset and has been used extensively in the design of a large number of real-time systems.