Software & Systems Modeling

, Volume 7, Issue 4, pp 443–467 | Cite as

Understanding and improving UML package merge

  • J. DingelEmail author
  • Z. Diskin
  • A. Zito
Regular Paper


Package merge allows the content of one package to be combined with that of another package. Package merge is used extensively in the UML 2 specification to modularize the definition of the UML 2 meta model and to define the four compliance levels of UML 2. Package merge is a novel construct in UML and currently not well understood. This paper summarizes our work to understand and improve package merge. First, we identify ambiguous and missing rules in the package merge definition and suggest corrections. Then, we formalize package merge and analyze it with respect to some desirable properties. Our analyses employs Alloy, a first-order modelling language with tool support, and concepts from mathematical logic which allow us to develop a general taxonomy of package extension mechanisms. The analyses reveal the unexpected failure of important properties.


UML Semantics formalization Model composition Metamodeling techniques 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barwise, J. (eds).: Handbook of Mathematical Logic, vol. 90 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam (1977)Google Scholar
  2. 2.
    Baudry, B., Fleurey, F., France, R., Reddy, R.: Exploring the relationship between model composition and model transformation. In: International Workshop on Aspect-Oriented Modeling (AOM’05), 2005Google Scholar
  3. 3.
    Bernstein, P.: Applying model management to classical meta data problems. In: Conference on Innovate Database Research (CIDR’03), 2003Google Scholar
  4. 4.
    Bernstein, P., Halevy, A., Pottinger, R.: A vision for management of complex models. SIGMOD Rec. 29(4), 55–63 (2000)CrossRefGoogle Scholar
  5. 5.
    Bézivin, J., Jouault, F., Touzet, D.: An introduction to the atlas model management architecture. Technical Report 05-01, Research Report Laboratoire D’Informatique de Nantes Atlantique (LINA), 2005Google Scholar
  6. 6.
    Bordbar, B., Anastasakis, K.: Uml2alloy: A tool for lightweight modelling of discrete event systems. In: IADIS International Conference in Applied Computing, Algarve, Portugal, 2005Google Scholar
  7. 7.
    Bouzitouna, S., Gervais, M.P., Blanc, X.: Model reuse in MDA. In: Proceedings of the International Conference on Software Engineering Research and Practice (SERPİ5), Las Vegas, USA, June 2005Google Scholar
  8. 8.
    Brunet, G., Chechik, M., Uchitel, S.: Properties of behavioural model merging. In: 14th International Symposium on Formal Methods (FM 2006), LNCS vol. 4085, pp. 98–114, Hamilton, Canada, August 2006. Springer, Heidelberg,Google Scholar
  9. 9.
    Clark, T., Evans, A., Kent, S.: Engineering modelling languages: a precise metamodelling approach. In: Weber, H. (ed.) Fundamental Approaches to Software Engineering (FASE’02), LNCS 2306, pp. 159–173, Grenoble, France, April 2002Google Scholar
  10. 10.
    Diskin, Z.: Abstract metamodeling, I: How to reason about meta-metamodeling in a formal way. In: Baclawski, K., Kilov, H., Thalassinidis, A., Tyson, K. (eds.) 8th OOPSLA Workshop on Behavioral Specifications, OOPSLA99. Northeastern University, College of Computer Science, 1999Google Scholar
  11. 11.
    Diskin, Z., Kadish, B.: Generic model management. In: Doorn, J.H., Rivero, L.C., Ferraggine, V.E. (eds.) Encyclopedia of Database Technologies and Applications, pp. 258–265. Idea Group, 2005Google Scholar
  12. 12.
    Diskin, Z., Kadish, B., Piessens, F., Johnson, M.: Universal arrow foundations for visual modeling. In: Diagrams’2000: 1st International Conference on the Theory and Applications of Diagrams, LNAI#1889, pp. 345–360. Springer, Heidelberg, 2000Google Scholar
  13. 13.
    D’Souza, D., Sane, A., Birchenough, A.: First-class extensibility for UML-profiles, stereotypes, patterns. In: Second International Conference on the Unified Modeling Language (UML’99), volume LNCS 1723, pp. 265–277. Fort Collins, Colo., USA, October 1999. Springer, Heidelberg, 1999Google Scholar
  14. 14.
    D’Souza, D., Wills, A.: Objects, Components, and Frameworks with UML. Addison Wesley, Reading (1999)Google Scholar
  15. 15.
    Georg, G., France, R., Ray, I.: Composing aspect models. In: 4th Workshop on Aspect-Oriented Software Development Modeling With UML, 2003Google Scholar
  16. 16.
    Goguen, J., Burstall, R.: Institutions: abstract model theory for specification and programming. J. ACM 39(1), 95–146 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Gordon, M., Melham, T. (eds.): Introduction to HOL. Cambridge University Press, Cambridge (1993)zbMATHGoogle Scholar
  18. 18.
    T.R.M. Group: The RAISE Development Method. BCS Practitioner Series. Prentice Hall, Englewood Cliffs, 1995. Out of print, but publically available at
  19. 19.
    Jackson, A., Barais, O., Jézéquel, J.-M., Clarke, S.: Towards a generic and extensible merge operator. In: Second Workshop on Models and Aspects—Handling Crosscutting Concerns in MDSD at ECOOP 2006, 2006Google Scholar
  20. 20.
    Jackson, D.: Software abstractions: logic, language and analysis. MIT, Cambridge (2006)Google Scholar
  21. 21.
    Jossic, A., Fabro, M.D., Lerat, J.-P., Bézivin, J., Jouault, F.: Model integration with model weaving: a case study in system architecture. In: International Conference on Systems Engineering and Modeling (ICSEM’07), Haifa, Israel, March 2007Google Scholar
  22. 22.
    Kolovos, D., Paige, R., Polack, F.: Merging models with the Epsilon merging language. In: Proceedings ACM/IEEE 9th International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006), LNCS, Genova, Italy, October 2006. Springer, Heidelberg, 2006Google Scholar
  23. 23.
    Naumenko, A., Wegmann, A.: A metamodel for the unified modeling language. In: S.C.E., Jézéquel, J.-M., Hussmann, H. (eds.) 5th International Conference on the Unified Modeling Language: Model Engineering, Concepts, and Tools (UML 2002), LNCS 2460, pp. 2–17, Dresden, Germany, September/October 2002. Springer, Heidelberg, 2002Google Scholar
  24. 24.
    Object Management Group: MOF 2.0/XMI Mapping Specification (ver. 2.1, formal/05-09-01), September 2005Google Scholar
  25. 25.
    Object Management Group: Meta Object Facility (MOF) Core Specification (version 2.0, formal/06-01-01), January 2006Google Scholar
  26. 26.
    Object Management Group: Unified Modeling Language: Infrastructure (ver. 2.1.1, formal/07-01-04), February 2007Google Scholar
  27. 27.
    Object Management Group: Unified Modeling Language: Superstructure (Version 2.1.1, formal/07-02-05), February 2007Google Scholar
  28. 28.
    Pottinger, R., Bernstein, P.: Merging models based on given correspondences. Technical Report UW-CSE-03-02-03, University of Washington, 2003Google Scholar
  29. 29.
    Reddy, Y., Ghosh, S., France, R., Straw, G., Bieman, J., McEachen, N., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. 3880, 75–105 (2006)Google Scholar
  30. 30.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, Second Edition. Object Technology Series. Addison-Wesley, Reading (2005)Google Scholar
  31. 31.
    Selic, B.: What’s new in UML 2.0? IBM rational software, April 2005Google Scholar
  32. 32.
    Selic, B.: Model-driven software development. IBM Syst. J. 45(3), (2006)Google Scholar
  33. 33.
    Simons, A., Fernandez, C.: Using Alloy to model-check visual design notations. In: Sixth Mexican International Conference on Computer Science, pp. 121–128 (2005)Google Scholar
  34. 34.
    Straw, G., Georg, G., Song, E., Ghosh, S., France, R., Bieman, J.M.: Model composition directives. In: Baar, T., Strohmeier, A., Moreira, A. (eds.) 7th International Conference on UML Modelling Languages and Applications. Springer, Heidelberg, October 2004Google Scholar
  35. 35.
    Varró, D., Pataricza, A.: VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. J. Softw. Syst. Model. 2(3), 187–210 (2003)CrossRefGoogle Scholar
  36. 36.
    Xactium Ltd:, 2007
  37. 37.
    Zito, A.: UML’s package extension mechanism: taking a closer look at package merge. Master’s thesis, School of Computing, Queen’s University, September 2006Google Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.School of ComputingQueen’s UniversityKingstonCanada
  2. 2.Department of Computer ScienceUniversity of TorontoTorontoCanada
  3. 3.IBM Rational SoftwareKanataCanada
  4. 4.Institute for Software and Systems EngineeringBraunschweig University of TechnologyBraunschweigGermany

Personalised recommendations