This Article 
 Bibliographic References 
 Add to: 
Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments
April 2002 (vol. 28 no. 4)
pp. 413-431

One of the most important features of modeling tools is generation of output. The output may be documentation, source code, net list, or any other presentation of the system being constructed. The process of output generation may be considered as automatic creation of a target model from a model in the source modeling domain. This translation does not need to be accomplished in a single step. Instead, a tool may generate multiple intermediate models as other views to the system. These models may be used either as better descriptions of the system, or as a descent down the abstraction levels of the user-defined model, gradually leading to the desired implementation. If the modeling domains have their metamodels defined in terms of object-oriented concepts, the models consist of instances of the abstractions from the metamodels and links between them. A new technique for specifying the mapping between different modeling domains is proposed in the paper. It uses UML object diagrams that show the instances and links of the target model that should be created during automatic translations. The diagrams are extended with the proposed concepts of conditional, repetitive, parameterized, and polymorphic model creation, implemented by the standard UML extensibility mechanisms. Several examples from different engineering domains are provided, illustrating the applicability and benefits of the approach. The first experimental results show that the specifications may lead to better reuse and shorter production time when developing customized output generators.

[1] D. Harel, “Statecharts: A Visual Approach to Complex Systems,” Science of Computer Programming, Vol. 8, No. 3, pp. 231–274, 1987.
[2] SDL Forum Society, SDL-2000, http:/, 2000.
[3] B. Selic, G. Gullekson, and P. Ward, Real-Time Object-Oriented Modeling, John Wiley and Sons, New York, 1994.
[4] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide. Addison Wesley, 1999.
[5] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns. Reading, Mass.: Addison-Wesley Longman, 1995.
[6] The Object Management Group, OMG Unified Modeling Language Specification, version 1.3,http:/, June 1999.
[7] “Response to OMG RFP ad/98-11-01: Action Semantics for the UML,” version 16,http:/, Sept. 2000.
[8] S. Artsy, “Meta-Modeling the OO Methods, Tools, and Interoperability Facilities,” OOPSLA'95 Workshop Metamodeling in OO, Oct. 1995.
[9] A.S. Karrer and W. Scacchi, “Meta-Environments for Software Production,” Int'l J. Software Eng. and Knowledge Eng., vol. 3, no. 2, pp. 139-162, May 1993. Revised and reprinted in Advances in Software Eng. and Knowledge Eng., D. Hurley, ed., vol. 4, pp. 37-70, 1995.
[10], Metamodeling Glossary, http:/, 1999.
[11] G. Nordstrom, J. Sztipanovits, G. Karsai, and A. Ledeczi, “Metamodeling—Rapid Design and Evolution of Domain-Specific Modeling Environments,” Proc. IEEE Eng. of Computer-Based Systems Conf. (ECBS'98), 1998.
[12] Advanced Software Technologies, Inc., Graphical Designer, http:/, 1999.
[13] Lincoln Software Ltd., IPSYS ToolBuilder, http:/, 1999.
[14] MetaCase Consulting, MetaEdit+ Method Workbench, http:/, 1999.
[15] MicroGold Software Inc., WithClass Scripting Tool, http:/, 1999.
[16] mip GmbH, Alfabet, http:/, 1999.
[17] Platinum Tech nology, Paradigm Plus, http://www.platinum.comclearlake, 1999.
[18] Rational Software Corporation, Rational Rose, http:/, 1998.
[19] University of Alberta, MetaView, software.html, 1999.
[20] Vanderbilt University, Multigraph Architecture, http:/, 1999.
[21] W. Aitken, B. Dickens, P. Kwiatkowski, O. De Moor, D. Richter, and C. Simonyi, “Transformation in Intentional Programming,”, 2000.
[22] D. Garlan, C.W. Krueger, and B.J. Staudt, “A Structural Approach to the Evolution of Structure-Oriented Environments,” Proc. ACM SIGSOFT/SIGPLAN Software Eng. Symp. Practical Software Development Environments, Dec. 1986.
[23] D. Garlan, L. Cai, and R.L. Nord, “A Transformational Approach to Generating Application-Specific Environments,” Proc. Fifth ACM SIGSOFT Symp. Software Development Environments, pp. 68-77, Dec. 1992.
[24] A. Nico Habermann and David Notkin, "Gandalf: Software Development Environments," IEEE Transactions on Software Engineering, vol. 12, p. 1,118, Dec. 1986.
[25] G. Karsai, J. Sztipanovits, and H. Franke, “Towards Specification of Program Synthesis in Model-Integrated Computing,” Proc. IEEE ECBS'98 Conf., pp. 226-233, 1998.
[26] G. Karsai, "Structured Specification of Model Interpreters," Proc. Conf. Eng. of Computer-Based Systems (ECBS 99), IEEE Press, Piscataway, N.J., Mar. 1999, pp. 84-90.
[27] D. Milicev, “Automatic Model Transformations in Modeling Environments” (in Serbian), PhD thesis, Univ. of Belgrade, School of Electrical Eng., Mar. 2001, also available at
[28] D. Milicev, “Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments,” Technical Report TI-ETF-RTI-00-0042, Univ. Belgrade, School of Electical Eng., Oct. 2000, also available at
[29] J.M. Neighbors, “The Draco Approach to Constructing Software from Reusable Components,” IEEE Trans. Software Eng., vol. 10, no. 5, pp. 564-574, Sept. 1984.
[30] M.P. Papazoglou and N. Russell, "A Semantic Meta-Modeling Approach to Schema Transformation," Proc. Fourth Int'l Conf. Information and Knowledge Management,Baltimore, Dec. 1995.
[31] S. Shlaer and S.J. Mellor, "Recursive Design of an Application-Independent Architecture," IEEE Software, Jan./Feb. 1997, pp. 61-72.
[32] C. Simonyi, “Intentional Programming—Innovation in the Legacy Age,” Int'l Federation for Information Processing Work Group 2.1,, June 1996.

Index Terms:
object-oriented modeling, domain-specific modeling, Unified Modeling Language (UML), model-based output generation, automatic model transformation, model-based translation, object diagram, metamodeling, modeling tool
D. Milicev, "Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments," IEEE Transactions on Software Engineering, vol. 28, no. 4, pp. 413-431, April 2002, doi:10.1109/TSE.2002.995438
Usage of this product signifies your acceptance of the Terms of Use.