Nivel: a metamodelling language with a formal semantics

Software & Systems Modeling - Tập 8 - Trang 521-549 - 2008
Timo Asikainen1, Tomi Männistö1
1Department of Computer Science and Engineering, Helsinki University of Technology, TKK, Finland

Tóm tắt

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.

Tài liệu tham khảo

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