Skip to main content
Log in

A metamodeling language supporting subset and union properties

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

In this article, we describe successive versions of a metamodeling language using a set-theoretic formalization. We focus on language extension mechanisms, particularly on the relatively new subset and union properties of MOF 2.0 and the UML 2.0 Infrastructure. We use Liskov substitutability as the rationale for our formalization. We also show that property redefinitions are not a safe language extension mechanism. Each language version provides new features, and we note how such features cannot be mixed arbitrarily. Instead, constraints over the metamodel and model structures must be established. We expect that this article provides a better understanding of the foundations of MOF 2.0, which is necessary to define new extensions, model transformation languages and tools.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Alanen M., Lundkvist T. and Porres I. (2005). Comparison of modeling frameworks for software engineering. Nord. J. Comput. 12(4): 321–342

    MATH  Google Scholar 

  2. Alanen, M., Porres, I.: Coral: a metamodel kernel for transformation engines. In: Akerhurst, D.H. (ed.) Proceedings of the Second European Workshop on Model Driven Architecture (MDA), number 17, pp. 165–170. University of Kent (2004)

  3. Alanen, M., Porres, I.: Model Interchange Using OMG Standards. In: Werner, B. (ed) Proceedings of the 31st Euromicro Conference on Software Engineering and Advanced Applications, pp. 450–458. IEEE Computer Society, Aug 2005. ISBN 0-7695-2431-1

  4. Alanen, M., Porres, I.: A metamodeling language supporting subset and union properties. In: Prinz, A., Tveit, M.S. (eds.) 4th Nordic Workshop on the Unified Modeling Language NWUML’2006, Jun 2006

  5. Alanen, M., Porres, I.: Basic operations over models containing subset and union properties. In: Oscar Nierstrasz, D.H., Whittle, J., Reggio, G. (eds) Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2006), vol. 4199 of Lecture Notes in Computer Science, pp. 469–483. Springer, Berlin, Oct 2006

  6. Albano, A., Ghelli, G., Orsini, R.: A relationship mechanism for a strongly typed object-oriented database programming language. In: Proceedings of the 17th Conference on Very Large Databases. Morgan Kaufman Publishers Inc. (1991)

  7. Álvarez, J., Evans, A., Sammut, P: MML and the metamodel architecture. In: Whittle, J. (ed) WTUML: Workshop on Transformation in UML 2001, April 2001

  8. Amelunxen, C., Rötschke, T., Schürr, A.: Graph Transformations with MOF 2.0. In: Holger Giese, Albert Zündorf (eds.) Fujaba Days 2005, September 2005

  9. Atkinson C. and Kühne T. (2002). Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4): 290–321

    Article  Google Scholar 

  10. Baar T. (2003). Metamodels without metacircularities. L’Objet 9(4): 95–114

    Google Scholar 

  11. Back, R.-J., Grundy, J., von Wright, J.: Structured calculational proof. Technical Report 65, Turku Center for Computer Science, November 1996

  12. Barbier F., Henderson-Sellers B., Le Parc A. and Bruel J.-M. (2003). Formalization of the Whole-Part Relationship in the Unified Modeling Language. IEEE Trans. Softw. Eng. 29(5): 459–470

    Article  Google Scholar 

  13. Baresi, L., Heckel, R.: Tutorial introduction to graph transformation: a software engineering perspective. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Proceedings of Graph Transformation—First International Conf., ICGT 2002, Barcelona, Spain, vol. 2505 of LNCS. Springer, Heidelberg (2002)

  14. Bézivin, J., Breton, E., Dupé, G., Valduriez, P.: The ATL Transformation-based Model Management Framework. Technical Report 03.08, University of Nantes, France (2003)

  15. Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Workshop on Foundations of Object-Oriented Languages (FOOL 2005), January 2005

  16. Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework. Addison Wesley Professional, August 2003

  17. Castagna G. (1995). Covariance and contravariance: conflict without a cause. ACM Trans. Program. Lang. Syst. 17(3): 431–447

    Article  Google Scholar 

  18. Clark, T., Evans, A., Kent, S.: The metamodelling language calculus: foundation semantics for UML. In: Proceedings of the Fundamental Aspects of Software Engineering (FASE), pp. 17–31 (2001)

  19. Akehurst D.H., Kent S. and Patrascoiu O. (2003). A relational approach to defining and implementing transformations between metamodels. Softw. Syst. Model. 2(4): 215–239

    Article  Google Scholar 

  20. EMF development team. The Eclipse Modeling Framework website. http://www.eclipse.org/emf

  21. France, R., Rumpe, B.: Domain specific modeling, Editorial. Springer Int. J. Softw. Syst. Model. 4(1) (2005)

  22. Génova G., del Castillo C.R. and Lloréns J. (2003). Mapping UML Associations into Java Code. J. Object Technol. 2(5): 135–162

    Google Scholar 

  23. Gonzalez-Perez C., Henderson-Sellers B. (2006). a powertype-based metamodelling framework. Softw. Syst. Model. 5:72–90. doi:10.1007/s10270-005-0099-9

    Article  Google Scholar 

  24. Gonzalez-Perez C. and Henderson-Sellers B. (2006). a powertype-based metamodelling framework. Softw. Syst. Model. 5: 72–90

    Article  MATH  MathSciNet  Google Scholar 

  25. Henderson-Sellers, B., Barbier, F.: Black and white diamonds. In: France, R., Rumpe B. (eds) UML’99—The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, October 28–30. 1999, Proceedings, vol. 1723 of LNCS, pp. 550–565. Springer, Heidelberg (1999)

  26. Jiang, J., Systä, T.: Exploring differences in exchange formats—tool support and case studies. In: Seventh European Conference on Software Manteinance and Reengineering. IEEE Computer Society, March 2003

  27. Jouault, F., Bézivin, J.: KM3: a DSL for metamodel specification. In: Proceedings of 8th IFIP International Conference on Formal Methods for Open Object-Based Distributed Systems, Bologna, Italy (2006)

  28. Kalnins, A., Barzdins, J., Celms, E.: Basics of model transformation language MOLA. In: Workshop on Model Transformation and Execution in the Context of MDA (ECOOP 2004), June 2004

  29. Kleppe, A.: April 2003. Discussion on the mailing-list puml-list@cs.york.ac.uk

  30. Harel D. (1987). Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3): 231–274

    Article  Google Scholar 

  31. Lundell, B., Lings, B., Persson, A., Mattsson, A.: UML model interchange in heterogeneous tool environments: an analysis of adoptions of XMI 2. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2006), volume 4199 of Lecture Notes in Computer Science. Springer, Berlin (2006)

  32. Netbeans. Netbeans Metadata Repository (NMR). Available at http://mdr.netbeans.org/

  33. Nickel, U.A., Niere, J., Zündorf, A.: Tool demonstration: the FUJABA environment. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE), pp. 742–745. ACM Press (2000)

  34. Nytun, J.P., Prinz, A., Kunert, A.: Representation of levels and instantiation in a metamodelling environment. In: Proceedings of the 2nd Nordic Workshop on the Unified Modeling Language NWUML’2004, pp. 1–17 (2003)

  35. OMG. Meta Object Facility, version 1.4, April 2002. Document formal/2002-04-03. Available at http://www.omg.org/

  36. OMG. XML Metadata Interchange (XMI) Specification, version 1.2, January 2002. Available at http://www.omg.org/

  37. OMG. XML Metadata Interchange (XMI) Specification, version 2.0, May 2003. Available at http://www.omg.org/

  38. OMG. MOF 2.0 Query/View/Transformation Final Adopted Specification, November 2005. OMG Document ptc/05-11-01. Available at http://www.omg.org/

  39. OMG. UML 2.0 Superstructure Specification, August 2005. Document formal/05-07-04. Available at http://www.omg.org/

  40. OMG. XML Metadata Interchange (XMI) Specification, version 2.1, September 2005. Available at http://www.omg.org/

  41. OMG. Meta Object Facility (MOF) Core Specification, version 2.0, January 2006. Document formal/06-01-01. Available at http://www.omg.org/

  42. OMG. UML 2.0 Infrastructure Specification, March 2006. Document formal/05-07-05. Available at http://www.omg.org/

  43. OMG Architecture Board. Model Driven Architecture—A Technical Perspective, 2001. OMG Document ormsc/01-07-01. Available at http://www.omg.org/

  44. Octavian Patrascoiu. YATL:Yet Another Transformation Language. In: Proceedings of the 1st European MDA Workshop, MDA-IA, pp. 83–90. University of Twente, The Nederlands (2004)

  45. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations, vol. 1. Foundations. World Scientific (1997)

  46. Scheidgen, M.: On Implementing MOF 2.0—New Features for Modelling Language Abstractions. July 2005. Available at http://www.informatik.hu-berlin.de/~scheidge/

  47. Steel, J., Jézéquel, J.-M.: Typing Relationships in MDA. In:Akehurst, D.H. (ed) Proceedings of the Second European Workshop on Model Driven Architecture (EWMDA), number 17, Canterbury, Kent CT2 7NF, UK, Sep 2004. University of Kent

  48. Steel, J., Jézéquel, J.-M.: Model typing for improving reuse in model-driven engineering. In: MoDELS, pp. 84–96 (2005)

  49. Sutton, A.: Open Modeling Framework. Available at http://www.sdml.info/projects/omf/

  50. ATLAS Team. Atlantic Metamodel Zoo (2006). http://www.eclipse.org/gmt/am3/zoos/atlanticZoo/

  51. Tratt, L.: The MT model transformation language. In: Proceedings of ACM Symposium on Applied Computing, pp. 1296–1303, April 2006

  52. Varró, D.: Automatic program generation for and by model transformation systems. In: Kreowski, H.-J., Knirsch, P. (eds) Proceedings of AGT 2002: Workshop on Applied Graph Transformation, pp. 161–173, Grenoble, France, April 12–13 (2002)

  53. Liskov B. (1988). Keynote address—data abstraction and hierarchy. SIGPLAN Not 23(5): 17–34

    Article  Google Scholar 

  54. Varró D. and Pataricza A. (2003). VPM: a visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. J. Softw. Syst. Model. 2(3): 187–210

    Article  MATH  Google Scholar 

  55. Winter, A., Kullbach, B., Riediger, V.: An overview of the GXL graph exchange language. In: Revised Lectures on Software Visualization, International Seminar, pp. 324–336. Springer, London (2002)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marcus Alanen.

Additional information

Communicated by Dr. Jean-Michel Bruel.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Alanen, M., Porres, I. A metamodeling language supporting subset and union properties. Softw Syst Model 7, 103–124 (2008). https://doi.org/10.1007/s10270-007-0049-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-007-0049-9

Keywords

Navigation