Software & Systems Modeling

, Volume 8, Issue 4, pp 521–549 | Cite as

Nivel: a metamodelling language with a formal semantics

  • Timo Asikainen
  • Tomi Männistö
Theme Section


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.


Conceptual modelling Metamodelling Nivel Weight constraint rules Formal semantics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)Google Scholar
  2. 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)CrossRefGoogle Scholar
  3. 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)Google Scholar
  4. 4.
    Atkinson C., Kühne T.: Profiles in a strict metamodeling framework. Sci. Comput. Program. 44(1), 5–22 (2002)zbMATHCrossRefGoogle Scholar
  5. 5.
    Atkinson C., Kühne T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 22(4), 290–321 (2002)CrossRefGoogle Scholar
  6. 6.
    Atkinson C., Kühne T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)CrossRefGoogle Scholar
  7. 7.
    Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)CrossRefGoogle Scholar
  8. 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)Google Scholar
  9. 9.
    Berardi D., Calvanese D., Giacomo G.D.: Reasoning on UML class diagrams. Artif. Intell. 168(1–2), 70–118 (2005)zbMATHCrossRefGoogle Scholar
  10. 10.
    Bobrow, D.G., Stefik, M.: The LOOPS manual. Tech. rep., Xerox Corporation (1983)Google Scholar
  11. 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)Google Scholar
  12. 12.
    Czarnecki K., Eisenecker U.W.: Generative Programming. Addison-Wesley, Boston (2000)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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)Google Scholar
  15. 15.
    van Gigch J.P.: System Design, Modeling and Metamodeling. Plenum Press, New York (1991)Google Scholar
  16. 16.
    Hall A.: Seven myths of formal methods. IEEE Softw. 7(5), 11–19 (1990)CrossRefGoogle Scholar
  17. 17.
    Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10) 64–72 (2004)Google Scholar
  18. 18.
    Henderson-Sellers B., Bulthuis A.: COMMA: sample metamodels. JOOP 9(7), 44–48 (1996)Google Scholar
  19. 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)Google Scholar
  20. 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)Google Scholar
  21. 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)Google Scholar
  22. 22.
    Kühne T.: Matters of (meta-) modeling. Softw. Syst. Model. 5(4), 369–385 (2006)CrossRefGoogle Scholar
  23. 23.
    Kühne, T., Steimann, F.: Tiefe Charakterisierung. In: Modellierung 2004, pp. 121–133 (in German) (2004)Google Scholar
  24. 24.
    Ludewig J.: Models in software engineering—an introduction. Softw. Syst. Model. 2(1), 5–14 (2003)CrossRefGoogle Scholar
  25. 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)Google Scholar
  26. 26.
    Meyer B.: Introduction to the Theory of Programming Languages. Prentice Hall, New York (1990)Google Scholar
  27. 27.
    Meta Object Facility (MOF) core specification, OMG available specification, version 2.0. Tech. Rep. formal/06-01-01 (2006)Google Scholar
  28. 28.
    Mylopoulos J., Borgida A., Jarke M., Koubarakis M.: Telos: representing knowledge about information systems. ACM Trans. Inform. Syst. 8(4), 325–362 (1990)CrossRefGoogle Scholar
  29. 29.
    Niemelä I.: Logic programs with stable model semantics as a constraint programming paradigm. Ann. Math. Artif. Intell. 25(3–4), 241–273 (1999)zbMATHCrossRefGoogle Scholar
  30. 30.
    Object constraint language, OMG available specification, version 2.0. Tech. Rep. formal/06-05-01, Object Management Group (2006)Google Scholar
  31. 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)Google Scholar
  32. 32.
    Simons P., Niemelä I., Soininen T.: Extending and implementing the stable model semantics. Artif. Intell. 138(1–2), 181–234 (2002)zbMATHCrossRefGoogle Scholar
  33. 33.
    Soininen, T.: An approach to knowledge representation and reasoning for product configuration tasks. Ph.D. thesis, Helsinki University of Technology (2000)Google Scholar
  34. 34.
    Stachowiak H.: Allgemeine Modelltheorie. Springer, Berlin (1973)Google Scholar
  35. 35.
    Steimann, F.: Role = interface: a merger of concepts. J. Object-Oriented Program. 14(4):23–32 (2001)Google Scholar
  36. 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)Google Scholar
  37. 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)Google Scholar
  38. 38.
    Unified Modeling Language: Infrastructure, version 2.1.1. Tech. Rep. formal/2007-02-06, Object Management Group (OMG) (2007)Google Scholar
  39. 39.
    Unified Modeling Language: Superstructure, version 2.1.1. Tech. Rep. formal/2007-02-05, Object Management Group (OMG) (2007)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringHelsinki University of TechnologyTKKFinland

Personalised recommendations