Dragan Milicev, Ph.D.

Associate Professor

University of Belgrade
School of Electrical Engineering
Department of Computer Engineering and Science

POB 35-54, 11120 Belgrade, Serbia

E-mail: dmilicev@etf.rs

Publications on Model-Driven Development

Back to Dragan's homepage

Contents

This page contains references to publications and downloadable papers on object-oriented modeling, model-driven development, UML, domain-specific modeling, metamodeling, model-based software engineering, model-driven architecture, model transformations, code generation, and automatic software development.

The publications present some originally developed techniques for rapid application development with executable UML, automatic model transformations in modeling tools, and novel approaches to highly abstract domain-specific software construction using automatic model transformations.

Note: Some parts of this personal home page are in Serbian. Links to these parts are labeled with (S).

Note: Papers that are submitted to conferences or journals have not been published yet. This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Copyright and all rights for the papers published in journals, magazines, or conference proceedings are usually retained by the publishers. All persons copying this information are expected to adhere to the terms and constraints invoked by the copyright holders.

Note: Remarks "Recommended" refer to the publications that are recommended for initial, informative reading, in the order indicated with the associated enumeration. The others are with too much or too little detail, less up-to-date, or less interesting.

Recommended Book

 Milicev, D., "Model-Driven Development with Executable UML," Wiley/Wrox, July 2009, ISBN 9780470481639

More details...

Keywords: model-driven development, information systems, UML, rapid application development, database applications

Translated to Chinese.

Back to top

 Milicev, D., "Automatic Model Transformations in Modeling Tools," Doctoral thesis, University of Belgrade, School of Electrical Engineering, March 2001

Keywords: object-oriented modeling, Unified Modeling Language (UML), object diagram, metamodeling, domain-specific modeling, meta CASE tool, automatic code generation, model transformation

Download (Serbian, Zipped PDF, 1582KB)

Back to top

 Milicev, D., "Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments," Technical Report TI-ETF-RTI-00-0042, University of Belgrade, School of Electrical Engineering, October 2000

Abstract:

One of the most important features of modeling tools is output generation. The output may be documentation, source code, net list, or any other model of the system being constructed. The process of output generation may be considered as an automatic creation of the model in the target domain from the model in the source domain. In this paper, it is recognized that this mapping 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 to describe the system better, or to decrease the level of abstraction of the user-defined model, gradually leading to the desired implementation. If the domains are metamodeled using the object-oriented paradigm, the models consist of instances of the domain abstractions and links between them. A new technique for specifying the mapping between different domains is proposed here. It uses the UML object diagrams that show the instances and links of the target model that should be created automatically. The diagrams are extended by the concepts of conditional, repetitive, parameterized, and polymorphic model creation, which are implemented using the standard UML extensibility mechanisms. Several examples from different software engineering domains are provided, illustrating the applicability and benefits of the approach. The first experimental results show that the specifications tend to be clear and concise, easy to maintain and modify, and lead to better reuse and to shorter production time.

Keywords: object-oriented modeling, Unified Modeling Language (UML), object diagram, metamodeling, domain-specific modeling, metaenvironment, meta CASE tool, automatic model transformation, automatic code generation, automatic output generation

Download (Zipped PDF, 198KB)

Back to top

 Milicev, D., "Extended Object Diagrams for Transformational Specifications in Modeling Environments," Proc. Second International Symposium on Constructing Software Engineering Tools (CoSET2000), Limerick, Ireland, June 2000

Abstract:

One of the most important features of software tools for domain-specific modeling is automatic output generation. Since the existing techniques for specifying output generation in customizable modeling and metamodeling environments suffer from some weaknesses analyzed in this paper, a new approach is proposed. The analysis is based on the observation that the output generation is a process of transformation of a model from the source domain into the model from the target domain. If the domains are at distant levels of abstraction, the mapping is difficult to specify, maintain, and reuse. Therefore, the proposed approach introduces one or more intermediate domains. Assuming that the source, target, and intermediate domains are conceptually modeled (metamodeled) using the object-oriented paradigm, the proposed approach uses extended UML object diagrams for specifying the mapping between them. The diagrams specify instances and links that should be created by the transformational process. The proposed extensions are the concepts of conditional, repetitive, and sequential creation. These concepts are implemented using the standard UML extensibility mechanisms. Several examples from different software engineering domains are presented in the paper. They prove some important benefits of the approach: the specifications are clear and concise, easy to maintain and modify. Besides, the approach leads to better reuse of domain models and to remarkably shorter production time.

Keywords: object-oriented modeling, Unified Modeling Language (UML), object diagram, metamodeling, model transformations

Download (Zipped PDF, 95KB)

Back to top

 Milicev, D., "Customizable Output Generation in Modeling Environments Using Pipelined Domains," ACM SIGSOFT Software Engineering Notes, Vol. 25, No. 3, May 2000, pp. 46-50

Abstract:

Domain-specific modeling and metamodeling environments most often base their output generation capability on output templates, grammar-based transformers, or hard-coded output generators. The complexity of the specification process for such generators, and their dependence on the domain do not encourage customization, flexibility, and reuse. This paper proposes a solution to this problem. In the proposed approach, the domains are (meta) modeled using the standard object-oriented paradigm. Second, the generation of a model in the target domain from a model in the source domain is specified using extended UML object diagrams that allow specification of conditional, repetitive, and sequential creation of instances of the target domain's abstractions. Finally, the transformation of models may be performed in a pipelined fashion, where each domain model and mapping may be either created from the scratch or reused from the repository. This approach allows efficient, incremental building of more abstract domains and their mapping into less abstract domains, because each transformation step is much less complicated to specify, maintain, and reuse. Furthermore, by simple choosing other pipelines, different versions of the ultimate implementation from the same initial high-level, user-defined model may be obtained automatically. A prototypal supporting tool has been implemented and briefly presented in the paper, too.

Keywords: domain-specific modeling, metamodeling, object-oriented modeling, model transformation, UML

Download (Zipped PDF, 138KB)

Back to top

Recommended 2

 Milicev, D., "Domain Mapping Using Extended UML Object Diagrams," IEEE Software, Vol. 19, No. 2, March/April 2002, pp. 90-97

Abstract:

Most contemporary software and other engineering methods rely on modeling and automatic translations of models into different forms. The author advocates a UML-based translation specification method that is visual and therefore easier to understand and use.

Keywords: Object-oriented modeling, Unified Modeling Language (UML), model-based output generation, model-based translation, object diagram, modeling tool

© 2002 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Download (Zipped PDF, 107KB)

Back to top

Recommended 3

 Milicev, D., "Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments," IEEE Transactions on Software Engineering, Vol. 28, No. 4, April 2002, pp. 413-431

Abstract:

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.

Keywords: 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

© 2002 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Download (Zipped PDF, 196KB)

Back to top

Milicev, D., "On the Semantics of Associations and Association Ends in UML," Technical Report TI-ETF-RTI-06-0001, University of Belgrade, School of Electrical Engineering, February 2006

Abstract:

Association is one of the key concepts in UML that is intensively used in conceptual modeling. Unfortunately, in spite of the fact that this concept is very old and is inherited from other successful modeling techniques, a fully unambiguous understanding of it, especially in correlation with other newer concepts connected with association ends, such as uniqueness, still does not exist. This paper describes a problem with one widely assumed interpretation of the uniqueness of association ends – the restrictive interpretation, and proposes an alternative – the intentional interpretation. Instead of restricting the association from having duplicate links, uniqueness of an association end in the intentional interpretation modifies the way in which the association end maps an object of the opposite class to a collection of objects of the class at that association end. If the association end is unique, the collection is a set obtained by projecting the collection of all linked objects. In that sense, the uniqueness of an association end modifies the view to the objects at that end, but does not constrain the underlying object structure. The paper demonstrates how intentional interpretation improves expressiveness of the modeling language and has some other interesting advantages. Finally, the paper gives a completely formal definition of the concepts of association and association ends, along with the related notions of uniqueness, ordering, and multiplicity. The semantics of the UML actions on associations are also defined formally.

Keywords: Object-oriented modeling, Unified Modeling Language (UML), association, association end, formal semantics, conceptual modeling, model-driven development

Download (Zipped PDF, 213KB)

Back to top

Recommended 4

 Milicev, D., "On the Semantics of Associations and Association Ends in UML," IEEE Transactions on Software Engineering, Vol. 33, No. 4, April 2007, pp. 238-251

Abstract:

Association is one of the key concepts in UML that is intensively used in conceptual modeling. Unfortunately, in spite of the fact that this concept is very old and is inherited from other successful modeling techniques, a fully unambiguous understanding of it, especially in correlation with other newer concepts connected with association ends, such as uniqueness, still does not exist. This paper describes a problem with one widely assumed interpretation of the uniqueness of association ends – the restrictive interpretation, and proposes an alternative – the intentional interpretation. Instead of restricting the association from having duplicate links, uniqueness of an association end in the intentional interpretation modifies the way in which the association end maps an object of the opposite class to a collection of objects of the class at that association end. If the association end is unique, the collection is a set obtained by projecting the collection of all linked objects. In that sense, the uniqueness of an association end modifies the view to the objects at that end, but does not constrain the underlying object structure. The paper demonstrates how the intentional interpretation improves expressiveness of the modeling language and has some other interesting advantages. Finally, the paper gives a completely formal definition of the concepts of association and association ends, along with the related notions of uniqueness, ordering, and multiplicity. The semantics of the UML actions on associations are also defined formally.

Keywords: Object-oriented modeling, Unified Modeling Language (UML), association, association end, formal semantics, conceptual modeling, model-driven development

http://doi.ieeecomputersociety.org/10.1109/TSE.2007.37

Back to top