Issue No.01 - January/February (1998 vol.15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.646888
A basic problem of software development is how to derive executable software components from requirements, and how this process could be systematized. The object-oriented approach provides a common paradigm throughout the software development process from analysis to implementation, enabling a smooth shift from one phase to another and use of a wide spectrum of tools. Current object-oriented CASE tools support various graphical notations for modeling an application from different perspectives, for consistency checking between models, for storing models in a repository, and for generating documents and code from models. However, the level of built-in automation is relatively low as far as the actual development process is concerned. In object-oriented analysis and design, or OOAD, dynamic modeling aims at specifying the dynamic behavior of objects. For an object whose role is to control other objects, specification of its dynamic behavior can often be given in the form of a finite-state machine. A simple state machine consists of states associated with actions, and transitions associated with events. The actions of a state are executed when this state becomes the object's current state.
Kai Koskimies, Tarja Systä, Jyrki Tuomi, Tatu Männistö, "Automated Support for Modeling OO Software", IEEE Software, vol.15, no. 1, pp. 87-94, January/February 1998, doi:10.1109/52.646888