Implementing associations: UML 2.0 to Java 5

A significant current software engineering problem is the conceptual mismatch between the abstract concept of an association as found in modelling languages such as UML and the lower level expressive facilities available in object-oriented languages such as Java. This paper introduces some code generation patterns that aid the production of Java based implementations from UML models. The work is motivated by a project to construct model driven development tools in support of the construction of embedded systems. This involves the specification and implementation of a number of meta-models (or models of languages). Many current UML oriented tools provide code generation facilities, in particular the generation of object-oriented code from class diagrams. However, many of the more complex aspects of class diagrams, such as qualified associations are not supported. In addition, several concepts introduced in UML version 2.0 are also not supported.The aim of the work presented in this paper is to develop a number of code generation patterns that allow us to support the automatic generation of Java code from UML class diagrams that support these new and complex association concepts. These patterns significantly improve the code generation abilities of UML tools, providing a useful automation facility that bridges the gap between the concept of an association and lower level object-oriented programming languages.

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

[2]  Conrad E. Bock UML 2 Composition Model. , 2004 .

[3]  Juan Llorens Morillo,et al.  Mapping UML Associations into Java Code , 2003, J. Object Technol..

[4]  Stéphane Barbey,et al.  Implementing Associations with Ada , 1993 .

[5]  Yann-Gaël Guéhéneuc,et al.  Recovering binary class relationships: putting icing on the UML cake , 2004, OOPSLA.

[6]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[7]  Juan Llorens Morillo,et al.  The meaning of multiplicity of n-ary associations in UML , 2002, Software and Systems Modeling.

[8]  Martin Gogolla,et al.  Application of UML associations and their adornments in design recovery , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[9]  Martin Gogolla,et al.  Transformation Rules for UML Class Diagrams , 1998, UML.

[10]  Craig Larman,et al.  Applying UML and patterns , 1997 .

[11]  Andy Schürr,et al.  Codegenerierung für Assoziationen in MOF 2.0 , 2004, Modellierung.

[12]  Frank Budinsky,et al.  Eclipse modeling framework : a developer's guide , 2004 .

[13]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[14]  James Noble Basic Relationship Patterns , 1997 .

[15]  Perdita Stevens On the interpretation of binary associations in the Unified Modelling Language , 2002, Software and Systems Modeling.

[16]  Martin Gogolla,et al.  On Generalization and Overriding in UML 2.0 , 2004 .

[17]  Charles Suscheck,et al.  A Construct for Effectively Implementing Semantic Associations , 2003, J. Object Technol..

[18]  Mukund Raghavachari,et al.  Mapping UML designs to Java , 2000, OOPSLA '00.

[19]  Juan Llorens Morillo,et al.  UML Associations: A Structural and Contextual View , 2004, J. Object Technol..

[20]  Colin Atkinson,et al.  The Normal Object Form: Bridging the Gap from Models to Code , 1999, UML.