Abstract
The value of graphical modeling within the analysis and design activities of object-oriented development is predicated on the assumption that the resulting models can be mapped correctly, optimally and efficiently into executable (normally textual) code. In practice, however, because of the large potential mismatch in abstraction levels, the mapping of graphical models into code is often one of the weakest and most error prone links in the chain of development steps. This paper describes a practical approach for addressing this problem based upon the definition of a restricted extension of the UML known as the Normal Object Form (NOF). The basic purpose of the NOF is to provide a set of UML modeling concepts which are “semantically close” to those found in object-oriented programming languages. Highly abstract UML models can then be mapped into corresponding executable code by means of a series of semantically small refinement (intra-UML) and translation (extra-UML) translation steps, rather than in one large (often ad hoc) step. This not only increases the chances of a correct and optimal mapping, but also significantly improves the traceability of UML constructs to and from code constructs, with all the associated advantages for maintenance and reuse.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Colin Atkinson and Michel Izygon. ION a notation for the graphical depiction of object-oriented programs. Technical report, University of Houston-Clear Lake, 1995.
G. Booch, J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1999.
Grady Booch. Object Oriented Analysis and Design with Applications. Benjamin/Cummings, Redwood City, California, 2nd edition, 1994.
Christian Bunse and Colin Atkinson. Improving quality in object-oriented software: Systematic refinement and translation of models to code. Technical Report IESE-Report No. 036.99/E, Fraunhofer Institute for Experimental Software Engineering, Kaiserslautern, Germany, 1999.
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture — A System of Patterns. John Wiley and Sons, 1996.
D. Coleman, P. Arnold, S. Bodoff, C. Dollin, H. Gilchrist, F. Hayes, and P. Jeremaes. Object-Oriented Development: The Fusion Method. Prentice Hall, 1993.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns — Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
Richard C. Lee and William M. Tepfenhart. UML and C++. A Practical Guide To Object-Oriented Development. Prentice Hall, 1997.
Bertrand Meyer. EIFFEL-The Language. Prentice Hall, 1992.
James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorensen. Object-Oriented Modeling and Design. Prentice Hall, 1991.
James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Object Technology Series. Addison-Wesley, 1999.
Sally Shlaer and Stephen J. Mellor. The shlaer-mellor method. Pages on the WWW which can be found at: http://www.projtech.com/, 1998.
Sally Shlaer and Stephen J. Mellor. Recursive design of an application-independent architecture. IEEE Software, 14(1):61–72, January 97.
Bjarne Stroustrup, editor. The C++ Programming Language. Addison Wesley, 1993.
US Department of Defense. Reference Manual for the Ada Programming Language, 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bunse, C., Atkinson, C. (1999). The Normal Object Form: Bridging the Gap from Models to Code. In: France, R., Rumpe, B. (eds) «UML»’99 — The Unified Modeling Language. UML 1999. Lecture Notes in Computer Science, vol 1723. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46852-8_47
Download citation
DOI: https://doi.org/10.1007/3-540-46852-8_47
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66712-4
Online ISBN: 978-3-540-46852-3
eBook Packages: Springer Book Archive