Dragan Milicev, Ph.D.

Professor

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

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

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

Translated to Chinese: Executable UML模型驱动开发, Tsinghua University Press, October 2011, ISBN 9787302256311

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

Copyright (C) 2001 by Dragan Milicev

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

Copyright (C) 2001 by Dragan Milicev

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

Recommended 5

 Milicev, D., "Towards Understanding of Classes versus Data Types in Conceptual Modeling and UML," Computer Science and Information Systems, Vol. 9, No. 2, June 2012, pp. 506-538

Abstract:

Traditional conceptual modeling and UML take different vague, ambiguous, and apparently incompatible approaches to making a distinction between two different entity types – classes and data types. In this paper, an in-depth theoretical study of these ambiguities and discrepancies is given and a new semantic interpretation is proposed for consolidation. The interpretation is founded on the premise that populations of the two kinds of entity types are defined in two substantially different ways: by intensional (for data types) and extensional (for classes) definitions. The notion of a generative relationship set is introduced to explain the role of specific relationship types that are used to define populations of structured data types by cross-combinations of populations of the related entity types. Finally, some important semantic consequences are described through the proposed interpretation: value-based vs. object-based semantics, associations vs. attributes, and identity vs. identification. The given interpretation is based on runtime semantics and allows for fully unambiguous discrimination of the related concepts, yet it fits into intuitive understanding and common practical usage of these concepts.

Keywords: Conceptual modeling, Unified Modeling Language (UML), formal semantics, class, data type, entity, relationship, object identity, identification, association, attribute

http://www.comsis.org/archive.php?show=ppr352-1106

Back to top

 Milicev, D.,  Mijailovic, Z., "A UML Profile for Modeling User Interfaces of Business Applications," Tecnical Report, June 2012

Abstract:

We present a novel approach to modeling and implementing user interfaces of large business applications. The approach is based on the concept of capsule, a profiled structured class from UML, that models a simple UI component or a coherent UI fragment of logically and functionally coupled components or other fragments with clear interface. Consequently, the same modeling concept of capsule with internal structure can be re-applied recursively at successively lower levels of detail within a model, starting from high architectural modeling levels, down to lowest levels of modeling simple UI components. Interface of capsules is defined in terms of pins, while functional coupling of capsules is specified declaratively, by simply wiring their pins. Pins and wires transport messages between capsules, ensuring strict encapsulation. The approach includes a method for formal coupling of capsules’ behavior with the underlying object space that provides proper impedance matching between the UI and the domain object space layers, while preserving clear separation of concerns between them. We also describe an implementation of a framework that supports the proposed method, including a rich library of ready-to-use capsules, and report on our experience in applying the approach in large-scale commercial systems.

Keywords: Graphical user interface (GUI), Unified Modeling Language (UML), modeling, model-driven development, software architecture, business applications, data-centric applications, information systems

Download the paper

Download the analysis results

Back to top

           

Recommended 6

  Milicev, D., Mijailovic, Z., “Capsule-Based User Interface Modeling for Large-Scale Applications,” IEEE Transactions on Software Engineering, Vol. 39, No. 9, pp. 1190-1207, September 2013, DOI 10.1109/TSE.2013.8

Abstract:

We present a novel approach to modeling and implementing user interfaces (UI) of large business applications. The approach is based on the concept of capsule, a profiled structured class from UML which models a simple UI component or a coherent UI fragment of logically and functionally coupled components or other fragments with a clear interface. Consequently, the same modeling concept of capsule with internal structure can be reapplied recursively at successively lower levels of detail within a model, starting from high architectural modeling levels down to the lowest levels of modeling simple UI components. The interface of capsules is defined in terms of pins, while the functional coupling of capsules is specified declaratively by simply wiring their pins. Pins and wires transport messages between capsules, ensuring strict encapsulation. The approach includes a method for formal coupling of capsules' behavior with the underlying object space that provides proper impedance matching between the UI and the business logic while preserving clear separation of concerns between them. We also briefly describe an implementation of a framework that supports the proposed method, including a rich library of ready-to-use capsules, and report on our experience in applying the approach in large-scale industrial systems.

Keywords: User interfaces, information systems, graphical user interface (GUI), Unified Modeling Language (UML), modeling, model-driven development, software architecture, business applications, data-centric applications

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

Back to top

Recommended 7

  Mijailovic, Z., Milicev, D., “A Retrospective on User Interface Development Technology,” IEEE Software, Vol. 30, No. 6, November/December 2013, pp. 76-83, DOI 10.1109/MS.2013.45

Abstract:

The authors present a brief survey on the evolution of user interface (UI) development technology, especially over the past two decades, shaped by the desktop, Web, and mobile eras. From the technology mainstream, the authors describe form-oriented, template-based, object-oriented, hybrid, and declarative frameworks and address model-driven and generic approaches. The focus of this article is on a framework of UI development concerns and how these have been addressed in each analyzed technology or group of technologies. At the end, the authors summarize current issues and future directions of UI development in general.

Keywords: User interfaces, software development, XML, Java, mobile communication, mobile user interfaces, user interface development, UI development, Web user interfaces

http://doi.ieeecomputersociety.org/10.1109/MS.2013.45

Back to top