Algorithmic support for model transformation in object‐oriented software development

Current methods for object‐oriented software development provide notation for the specification of models, yet do not sufficiently relate the different model types to each other, nor do they provide support for transformations from one model type to another. This makes transformations a manual activity, which increases the risk of inconsistencies among models and may lead to a loss of information. We have developed and implemented an algorithm supporting one of the transitions from analysis to design, the transformation of scenario models into behavior models. This algorithm supports the Unified Modelling Language (UML), mapping the UML's collaboration diagrams into state transition diagrams. We believe that CASE tools implementing such algorithms will be highly beneficial in object‐oriented software development. In this paper, we provide an overview of our algorithm and discuss all its major steps. The algorithm is detailed in semi‐formal English and illustrated with a number of examples. Furthermore, the algorithm is assessed from different perspectives, such as scope and role in the overall development process, issues in the design of the algorithm, complexity, implementation and experimentation, and related work. Copyright © 2001 John Wiley & Sons, Ltd.

[1]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[2]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[3]  Stéphane S. Somé,et al.  Toward an Automation of Requirements Engineering using Scenarios , 1996 .

[4]  Brian Henderson-Sellers,et al.  An Object-Oriented Analysis and Design Notation for Distributed Systems , 1996, J. Object Oriented Program..

[5]  Ismaïl Khriss,et al.  Automating the Synthesis of UML StateChart Diagrams from Multiple Collaboration Diagrams , 1998, UML.

[6]  James E. Rumbaugh,et al.  OMT: The Object Model , 1995, J. Object Oriented Program..

[7]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[8]  Desmond D'Souza Java: Design and Modeling Opportunities , 1996, J. Object Oriented Program..

[9]  Peter Clark,et al.  The Object Model , 1997 .

[10]  Kai Koskimies,et al.  SCED: A TOOL FOR DYNAMIC MODELLING OF OBJECT SYSTEMS , 1996 .

[11]  Masaki Itoh,et al.  SDE: Incremental Specification and Development of Communications Software , 1991, IEEE Trans. Computers.

[12]  James E. Rumbaugh,et al.  OMT: The Dynamic Model , 1995, Journal of object-oriented programming.

[13]  James E. Rumbaugh,et al.  OMT: The Functional Model , 1995, J. Object Oriented Program..

[14]  Kai Koskimies,et al.  Automated Support for Modeling OO Software , 1998, IEEE Softw..

[15]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[16]  James E. Rumbaugh,et al.  Driving to a Solution: Reification and the Art of System Design , 1995, J. Object Oriented Program..

[17]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[18]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[19]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[20]  Erkki Mäkinen,et al.  Automatic synthesis of state machines from trace diagrams , 1994, Softw. Pract. Exp..

[21]  Anders Olsen,et al.  Systems Engineering Using SDL-92 , 1994 .

[22]  Charles McArthur,et al.  The dynamic model. , 1956 .

[23]  Alan W. Biermann,et al.  Constructing Programs from Example Computations , 1976, IEEE Transactions on Software Engineering.

[24]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[25]  James E. Rumbaugh,et al.  UML: The Language of Blueprints for Software? (Panel) , 1997, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[26]  Reinhard Schauer,et al.  Visual Object Modelling , 1992, DEXA.

[27]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[28]  David Chenho Kung,et al.  Formal approach to scenario analysis , 1994, IEEE Software.

[29]  David W. Embley,et al.  Object-oriented systems analysis - a model-driven approach , 1991, Yourdon Press Computing series.

[30]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[31]  Hans-Erik Eriksson,et al.  UML toolkit , 1997 .

[32]  Ivar Jacobson,et al.  Formalizing Use-Case Modeling , 1995, J. Object Oriented Program..

[33]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[34]  Grady Booch,et al.  Object Solutions: Managing the Object-Oriented Project , 1995 .

[35]  F. Bordeleau,et al.  The UCM-ROOM Design Method: from Use Case Maps to Communicating State Machines , 1997 .

[36]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.