A Practical Approach to Object-oriented State Modeling
Maher Awad, Jürgen Ziegler · Software Practice and Experience · 1997
A widely accepted approach in object-oriented methods is the early decomposition of the state-dependent behavior of the system between its objects and specifying it at the object or class level. In the flexible state modeling approach presented in this paper, analysis avoids strong mapping of statecharts to objects. The state-dependent behavior of the system is specified by a number of statecharts that can be at different levels of abstraction and detail. A statechart can be associated with a class or an object, but can also be of more ‘floating nature’, capturing aspects of the behavior that cut across objects and classes. Later in design, statecharts are refined by recognizing the two dimensions of how statecharts are integrated with objects, namely type (active or passive) and scope (shared, per class or per object). These are first illustrated by general examples and later by more specific examples. Pieces of source code are also provided to clarify some aspects. The flexible state modeling approach is more practical than the common approach because it enables a comprehensible specification of the state-dependent behavior without requiring object interactions to be specified for the purpose of accessing state information. ©1997 by John Wiley & Sons, Ltd.