Skip to main content
Log in

Nivel: a metamodelling language with a formal semantics

  • Theme Section
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Much work has been done to clarify the notion of metamodelling and new ideas, such as strict metamodelling, distinction between ontological and linguistic instantiation, unified modelling elements and deep instantiation, have been introduced. However, many of these ideas have not yet been fully developed and integrated into modelling languages with (concrete) syntax, rigorous semantics and tool support. Consequently, applying these ideas in practice and reasoning about their meaning is difficult, if not impossible. In this paper, we strive to add semantic rigour and conceptual clarity to metamodelling through the introduction of Nivel, a novel metamodelling language capable of expressing models spanning an arbitrary number of levels. Nivel is based on a core set of conceptual modelling concepts: class, generalisation, instantiation, attribute, value and association. Nivel adheres to a form of strict metamodelling and supports deep instantiation of classes, associations and attributes. A formal semantics is given for Nivel by translation to weight constraint rule language (WCRL), which enables decidable, automated reasoning about Nivel. The modelling facilities of Nivel and the utility of the formalisation are demonstrated in a case study on feature modelling.

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.

Similar content being viewed by others

References

  1. Asikainen, T., Männistö, T., Soininen, T.: A unified conceptual foundation for feature modelling. In: O’Brien, L. (ed.) Proceedings of the 10th International Software Product Line Conference (SPLC 2006), pp. 31–40 (2006)

  2. Asikainen T., Männistö T., Soininen T.: Kumbang: a domain ontology for modelling variability in software product families. Adv. Eng. Inform. 21(1), 23–40 (2007)

    Article  Google Scholar 

  3. Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: Gogolla, M., Kobryn, C. (eds.) Proceedings of The Fourth International Conference on the Unified Modeling Language UML 2001). Lecture Notes in Computer Science, vol. 2185, pp. 19–33 (2001)

  4. Atkinson C., Kühne T.: Profiles in a strict metamodeling framework. Sci. Comput. Program. 44(1), 5–22 (2002)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  6. Atkinson C., Kühne T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)

    Article  Google Scholar 

  7. Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)

    Article  Google Scholar 

  8. Atkinson, C., Kühne, T., Henderson-Sellers, B.: Stereotypical encounters of the third kind. In: Jézéquel, J.M., Hussmann, H., Cook, S. (eds.) Proceedings of the 5th International Conference on the Unified Modeling Language (UML 2002). Lecture Notes in Computer Science, vol. 2460 (2002)

  9. Berardi D., Calvanese D., Giacomo G.D.: Reasoning on UML class diagrams. Artif. Intell. 168(1–2), 70–118 (2005)

    Article  MATH  Google Scholar 

  10. Bobrow, D.G., Stefik, M.: The LOOPS manual. Tech. rep., Xerox Corporation (1983)

  11. Costal, D., Gómez, C.: On the use of association redefinition in UML class diagrams. In: Embley, D.W., Olivé, A., Ram, S. (eds.) 25th International Conference on Conceptual Modeling (ER2006). Lecture Notes in Computer Science, vol. 4215, pp. 513–527 (2006)

  12. Czarnecki K., Eisenecker U.W.: Generative Programming. Addison-Wesley, Boston (2000)

    Google Scholar 

  13. Czarnecki K., Helsen S., Eisenecker U.W.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process Improv. Pract. 10(2), 143–169 (2005)

    Article  Google Scholar 

  14. Evans, A., France, R.B., Lano, K., Rumpe, B.: The UML as a formal modeling notation. In: Selected papers from the First International Workshop on The Unified Modeling Language UML’98. Lecture Notes in Computer Science, vol. 1618, pp. 336–348 (1999)

  15. van Gigch J.P.: System Design, Modeling and Metamodeling. Plenum Press, New York (1991)

    Google Scholar 

  16. Hall A.: Seven myths of formal methods. IEEE Softw. 7(5), 11–19 (1990)

    Article  Google Scholar 

  17. Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10) 64–72 (2004)

    Google Scholar 

  18. Henderson-Sellers B., Bulthuis A.: COMMA: sample metamodels. JOOP 9(7), 44–48 (1996)

    Google Scholar 

  19. Henderson-Sellers, B., Gonzalez-Perez, C.: Uses and abuses of the stereotype mechanism in UML 1.x and 2.0. In: 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2006), pp. 16–26 (2006)

  20. Jaffar, J., Lassez, J.L.: Constraint logic programming. In: POPL ’87: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 111–119. ACM Press, New York (1987)

  21. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, S.A.: Feature-oriented domain analysis (FODA)—feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)

  22. Kühne T.: Matters of (meta-) modeling. Softw. Syst. Model. 5(4), 369–385 (2006)

    Article  Google Scholar 

  23. Kühne, T., Steimann, F.: Tiefe Charakterisierung. In: Modellierung 2004, pp. 121–133 (in German) (2004)

  24. Ludewig J.: Models in software engineering—an introduction. Softw. Syst. Model. 2(1), 5–14 (2003)

    Article  Google Scholar 

  25. McUmber, W.E., Cheng, B.H.C.: A general framework for formalizing UML with formal languages. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE 2001), pp. 433–442 (2001)

  26. Meyer B.: Introduction to the Theory of Programming Languages. Prentice Hall, New York (1990)

    Google Scholar 

  27. Meta Object Facility (MOF) core specification, OMG available specification, version 2.0. Tech. Rep. formal/06-01-01 (2006)

  28. Mylopoulos J., Borgida A., Jarke M., Koubarakis M.: Telos: representing knowledge about information systems. ACM Trans. Inform. Syst. 8(4), 325–362 (1990)

    Article  Google Scholar 

  29. Niemelä I.: Logic programs with stable model semantics as a constraint programming paradigm. Ann. Math. Artif. Intell. 25(3–4), 241–273 (1999)

    Article  MATH  Google Scholar 

  30. Object constraint language, OMG available specification, version 2.0. Tech. Rep. formal/06-05-01, Object Management Group (2006)

  31. Olivé, A.: Derivation rules in object-oriented conceptual modeling languages. In: Eder, J., Missikoff, M. (eds.) Proceedings of the 15th International Conference on Advanced Information Systems Engineering. Lecture Notes in Computer Science, vol. 2681, pp. 404–420 (2003)

  32. Simons P., Niemelä I., Soininen T.: Extending and implementing the stable model semantics. Artif. Intell. 138(1–2), 181–234 (2002)

    Article  MATH  Google Scholar 

  33. Soininen, T.: An approach to knowledge representation and reasoning for product configuration tasks. Ph.D. thesis, Helsinki University of Technology (2000)

  34. Stachowiak H.: Allgemeine Modelltheorie. Springer, Berlin (1973)

    Google Scholar 

  35. Steimann, F.: Role = interface: a merger of concepts. J. Object-Oriented Program. 14(4):23–32 (2001)

    Google Scholar 

  36. Syrjänen, T.: Omega-restricted logic programs. In: Proceedings of the 6th International Conference on Logic Programming and Nonmonotonic Reasoning. Lecture Notes in Artificial Intelligence, vol. 2713, pp. 267–280 (2001)

  37. Thalheim, B.: Fundamentals of cardinality constraints. In: Pernul, G., Tjoa, A.M. (eds.) Proceedings of the 11th International Conference on the Entity-Relationship Approach (ER’92). Lecture Notes in Computer Science, vol. 645, pp. 7–23 (1992)

  38. Unified Modeling Language: Infrastructure, version 2.1.1. Tech. Rep. formal/2007-02-06, Object Management Group (OMG) (2007)

  39. Unified Modeling Language: Superstructure, version 2.1.1. Tech. Rep. formal/2007-02-05, Object Management Group (OMG) (2007)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timo Asikainen.

Additional information

Communicated by Prof. Thomas Kühne.

We gratefully acknowledge the financial support from the Finnish Funding Agency for Technology and Innovation (Tekes) and from the Technology Industries of Finland Centennial Foundation.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Asikainen, T., Männistö, T. Nivel: a metamodelling language with a formal semantics. Softw Syst Model 8, 521–549 (2009). https://doi.org/10.1007/s10270-008-0103-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0103-2

Keywords

Navigation