Abstract
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.
Similar content being viewed by others
References
Barwise, J. (eds).: Handbook of Mathematical Logic, vol. 90 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam (1977)
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), 2005
Bernstein, P.: Applying model management to classical meta data problems. In: Conference on Innovate Database Research (CIDR’03), 2003
Bernstein, P., Halevy, A., Pottinger, R.: A vision for management of complex models. SIGMOD Rec. 29(4), 55–63 (2000)
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), 2005
Bordbar, B., Anastasakis, K.: Uml2alloy: A tool for lightweight modelling of discrete event systems. In: IADIS International Conference in Applied Computing, Algarve, Portugal, 2005
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 2005
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,
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 2002
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, 1999
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, 2005
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, 2000
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, 1999
D’Souza, D., Wills, A.: Objects, Components, and Frameworks with UML. Addison Wesley, Reading (1999)
Georg, G., France, R., Ray, I.: Composing aspect models. In: 4th Workshop on Aspect-Oriented Software Development Modeling With UML, 2003
Goguen, J., Burstall, R.: Institutions: abstract model theory for specification and programming. J. ACM 39(1), 95–146 (1992)
Gordon, M., Melham, T. (eds.): Introduction to HOL. Cambridge University Press, Cambridge (1993)
T.R.M. Group: The RAISE Development Method. BCS Practitioner Series. Prentice Hall, Englewood Cliffs, 1995. Out of print, but publically available at ftp://ftp.iist.unu.edu/pub/RAISE/method_book
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, 2006
Jackson, D.: Software abstractions: logic, language and analysis. MIT, Cambridge (2006)
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 2007
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, 2006
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, 2002
Object Management Group: MOF 2.0/XMI Mapping Specification (ver. 2.1, formal/05-09-01), September 2005
Object Management Group: Meta Object Facility (MOF) Core Specification (version 2.0, formal/06-01-01), January 2006
Object Management Group: Unified Modeling Language: Infrastructure (ver. 2.1.1, formal/07-01-04), February 2007
Object Management Group: Unified Modeling Language: Superstructure (Version 2.1.1, formal/07-02-05), February 2007
Pottinger, R., Bernstein, P.: Merging models based on given correspondences. Technical Report UW-CSE-03-02-03, University of Washington, 2003
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)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, Second Edition. Object Technology Series. Addison-Wesley, Reading (2005)
Selic, B.: What’s new in UML 2.0? IBM rational software, April 2005
Selic, B.: Model-driven software development. IBM Syst. J. 45(3), (2006)
Simons, A., Fernandez, C.: Using Alloy to model-check visual design notations. In: Sixth Mexican International Conference on Computer Science, pp. 121–128 (2005)
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 2004
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)
Xactium Ltd: www.xactium.com, 2007
Zito, A.: UML’s package extension mechanism: taking a closer look at package merge. Master’s thesis, School of Computing, Queen’s University, September 2006
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Oscar Nierstrasz; Jon Whittle.
Rights and permissions
About this article
Cite this article
Dingel, J., Diskin, Z. & Zito, A. Understanding and improving UML package merge. Softw Syst Model 7, 443–467 (2008). https://doi.org/10.1007/s10270-007-0073-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-007-0073-9