Generating structured implementation schemes from UML sequence diagrams

In the Unified Modeling Language (UML), a use case describes a particular functionality a system can perform by interacting with outside actors. A realization of a use case can be given as a set of sequence diagrams. The paper discusses how to generate structured implementation schemes represented as pseudocode from a set of sequence diagrams in UML. The proposed approach can be applied to any set of sequence diagrams, allowing the user to view the implementations of operation bodies as implied by this set of sequence diagrams, and to merge the different views into a single implementation scheme that can be used as a starting point for the actual implementation. We show how these techniques can be exploited in a UML-based CASE environment by augmenting an automatically generated class diagram with UML notes describing implementation schemes for individual operations. The described techniques have been implemented in a real CASE environment.

[1]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[3]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[5]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[6]  Kurt Nørmark Synthesis of Program Outlines from Scenarios in DYNAMO , 1998 .

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

[8]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[9]  Kai Koskimies,et al.  How to make apples from oranges in UML , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[10]  T. Systa,et al.  MAS - an interactive synthesizer to support behavioral modeling in UML , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[11]  Andy Schürr,et al.  A graph grammar approach to graphical parsing , 1995, Proceedings of Symposium on Visual Languages.

[12]  Erkki Mäkinen,et al.  MAS — an interactive synthesizer to support behavioral modelling in UML , 2001, ICSE.

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

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

[15]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[16]  Tarja Systä,et al.  Static and Dynamic Reverse Engineering Techniques for Java Software Systems , 2000 .

[17]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[18]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.