A semantic framework for metamodel-based languages

Automated Software Engineering - Tập 16 - Trang 415-454 - 2009
Angelo Gargantini1, Elvinia Riccobene2, Patrizia Scandurra1
1Dip. Ing. dell’Informazione e Metodi Matematici, Universitá di Bergamo, Dalmine, Italy
2Dip. di Tecnologie dell’Informazione, Universitá di Milano, Crema, Italy

Tóm tắt

In the model-based development context, metamodel-based languages are increasingly being defined and adopted either for general purposes or for specific domains of interest. However, meta-languages such as the MOF (Meta Object Facility)—combined with the OCL (Object Constraint Language) for expressing constraints—used to specify metamodels focus on structural and static semantics but have no built-in support for specifying behavioral semantics. This paper introduces a formal semantic framework for the definition of the semantics of metamodel-based languages. Using metamodelling principles, we propose several techniques, some based on the translational approach while others based on the weaving approach, all showing how the Abstract State Machine formal method can be integrated with current metamodel engineering environments to endow language metamodels with precise and executable semantics. We exemplify the use of our semantic framework by applying the proposed techniques to the OMG metamodelling framework for the behaviour specification of the Finite State Machines provided in terms of a metamodel.

Tài liệu tham khảo

AMMA: The AMMA platform. http://www.sciences.univ-nantes.fr/lina/atl/ (2005) Anlauff, M.: XASM—an extensible, component-based ASM language. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) Abstract State Machines, Theory and Applications, Proceedings of International Workshop, ASM 2000, Monte Verità, Switzerland, March 19–24, 2000. LNCS, vol. 1912, pp. 69–90. Springer, Berlin (2000) AS: OMG. The Action Semantics Consortium for the UML. ad/2001-03-01. http://www.omg.org/ (2001) ASML: The ASML language website. research.microsoft.com/foundations/AsmL/ (2001) AsmM: The Abstract State Machine Metamodel website. http://asmeta.sf.net/ (2006) Balasubramanian, D., Narayanan, A., vanBuskirk, C., Karsai, G.: The Graph Rewriting and Transformation Language: GReAT. In: International Workshop on Graph Based Tools (GraBaTs) (2006) Bézivin, J.: On the unification power of models. Softw. Syst. Model. (SoSym) 4(2), 171–188 (2005) Börger, E.: The ASM method for system design and analysis. A tutorial introduction. In: Gramlich, B. (ed.) Frontiers of Combining Systems, Proceedings of the 5th International Workshop, FroCoS 2005, Vienna, Austria, September 19–21, 2005. LNCS, vol. 3717, pp. 264–283. Springer, Berlin (2005) Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Berlin (2003) Börger, E., Cavarra, A., Riccobene, E.: Modeling the dynamics of UML state machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) Abstract State Machines, Theory and Applications, Proceedings of the International Workshop, ASM 2000, Monte Verità, Switzerland, March 19–24, 2000. LNCS, vol. 1912, pp. 223–241. Springer, Berlin (2000) Broy, M., Crane, M., Dingel, J., Hartman, A., Rumpe, B., Selic, B.: 2nd UML 2 semantics symposium: formal semantics for UML. In: Proc. of MoDELS 2006. LNCS, vol. 4364, pp. 318–323. Springer, Berlin (2007) Cavarra, A., Riccobene, E., Scandurra, P.: Mapping UML into abstract state machines: a framework to simulate UML models. Studia Inform. Universalis 3(3), 367–398 (2004) Chen, K., Sztipanovits, J., Neema, S.: Toward a semantic anchoring infrastructure for domain-specific modeling languages. In: Wolf, W. (ed.) EMSOFT 2005, September 18–22, 2005, Jersey City, NJ, USA, Proceedings of the 5th ACM International Conference on Embedded Software, pp. 35–43. ACM, New York (2005) Chen, K., Sztipanovits, J., Neema, S.: Compositional specification of behavioral semantics. In: Lauwereins, R., Madsen, J. (eds.) Design, Automation and Test in Europe Conference and Exposition (DATE 2007) Proceedings, April 16–20, 2007, Nice, France, pp. 906–911. ACM, New York (2007) Clark, T., Evans, A., Kent, S., Sammut, P.: The MMF approach to engineering object-oriented design languages. In: Workshop on Language Descriptions, Tools and Applications (2001) Combemale, B., Crégut, P.G.X., Thirioux, X.: Towards a formal verification of process models’s properties—SimplePDL and TOCL case study. In: 9th International Conference on Enterprise Information Systems (ICEIS) (2007) Compton, K., Huggins, J., Shen, W.: A semantic model for the state machine in the Unified Modeling Language. In: Proc. of Dynamic Behavior in UML Models: Semantic Questions, UML 2000 (2000) Di Ruscio, D., Jouault, F., Kurtev, I., Bézivin, J., Pierantonio, A.: A practical experiment to give dynamic semantics to a DSL for telephony services development. Tech. Rep. 06.03, LINA (2006a) Di Ruscio, D., Jouault, F., Kurtev, I., Bézivin, J., Pierantonio, A.: Extending AMMA for supporting dynamic semantics specifications of DSLs. Tech. Rep. 06.02, LINA (2006b) EMF: Eclipse modeling framework. http://www.eclipse.org/emf/ (2008) Esser, R., Janneck, J.W.: Moses—a tool suite for visual modeling of discrete-event systems. In: Proc. IEEE Symposia on Human-Centric Computing Languages and Environments, pp. 272–279 (2001) Flake, S., Müller, W.: An ASM definition of the dynamic OCL 2.0 semantics. In: Proc. of UML’04, pp. 226–240. Springer, Berlin (2004) fUML: OMG. Semantics of a foundational subset for executable UML models, version 1.0-Beta 1, ptc/2008-11-03 (2008) Gargantini, A., Riccobene, E., Scandurra, P.: Metamodelling a formal method: applying mde to abstract state machines. Tech. Rep. 97, DTI Dept., University of Milan (2006) Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based simulator for ASMs. In: Prinz, A. (ed.) 14th International ASM Workshop Proceedings (2007a) Gargantini, A., Riccobene, E., Scandurra, P.: Ten reasons to metamodel ASMs. In: Dagstuhl Workshop on Rigorous Methods for Software Construction and Analysis. LNCS Festschrift. Springer, Berlin (2007b) Gargantini, A., Riccobene, E., Scandurra, P.: (2008) A precise and executable semantics of the SystemC UML profile by the meta-hooking approach. Technical Report 110, DTI Dept., University of Milan GASM: ASMs web site. http://www.eecs.umich.edu/gasm/ (2008) GME: The Generic Modeling Environment (GME). http://www.isis.vanderbilt.edu/Projects/gme (2006) Gunter, C.A.: Semantics of Programming Languages: Structures and Techniques. MIT Press, Cambridge (1992) Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10), 64–72 (2004) 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) Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. In: OOPSLA ’06: Companion to the 21st ACM SIGPLAN conference on object-oriented programming systems, languages, and applications, pp. 719–720. ACM, New York (2006) Jürjens, J.: A UML statecharts semantics with message-passing. In: Proc. of the 2002 ACM Symposium on Applied Computing, pp. 1009–1013. ACM, New York (2002) Kurtev, I., Bézivin, J., Jouault, F., Valduriez, P.: Model-based DSL frameworks. In: OOPSLA ’06: Companion to the 21st ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, pp. 602–616. ACM, New York (2006) M2M project: Eclipse modeling project, model to model transformation (M2M) sub-project. http://www.eclipse.org/m2m/ (2007) MDA Guide V1.0.1: OMG. The Model Driven Architecture (MDA guide v1.0.1). http://www.omg.org/mda/ (2003) Microsoft DSL Tools: Microsoft DSL tools. http://msdn.microsoft.com/vstudio/DSLTools/ (2005) MOF: OMG. The Meta Object Facility (MOF) v1.4, formal/2002-04-03 (2002) MOF: OMG. Meta Object Facility (MOF), Core Specification v2.0, formal/2006-01-01 (2006) Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented meta-languages. In: Proc. of ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems (2005) Ober, I.: More meaningful UML Models. In: TOOLS—37 Pacific 2000, IEEE (2000) OCL: OMG. Object Constraint Language (OCL), v2.0 formal/2006-05-01 (2006) QVT: OMG, MOF Query/Views/Transformations, formal/08-04-03. http:www.omg.org (2008) Riccobene, E., Scandurra, P.: Towards an interchange language for ASMs. In: Zimmermann, W., Thalheim, B. (eds.) Abstract State Machines. Advances in Theory and Practice. LNCS, vol. 3052, pp. 111–126. Springer, Berlin (2004) Richters, M.: A precise approach to validating UML models and OCL constraints. PhD thesis, Universität Bremen, Germany (2001) Scandurra, P.: Model-driven language definition: metamodelling methodologies and applications. PhD thesis, University of Catania, Italy (2005) Scheidgen, M., Fischer, J.: Human comprehensible and machine processable specifications of operational semantics. In: Model Driven Architecture—Foundations and Applications. Proccedings of the Third European Conference, ECMDA-FA 2007, Haifa, Israel, June 11–15, 2007. LNCS, vol. 4530, pp. 157–171. Springer, Berlin (2007) Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Comput. 30(4), 110–111 (1997). 10.1109/2.585163 Thirioux, X., Combemale, B., Crégut, X., Garoche, P.L.: A framework to formalise the MDE foundations. In: International Workshop on Towers of Models (TOWERS 2007), Zurich, Switzerland (2007) UML 2.1.2: OMG. The Unified Modeling Language (UML), v2.2. http://www.uml.org (2009) XASM Zoo: The Atlantic XASM Zoo. http://www.eclipse.org/gmt/am3/zoos/atlanticXASMZoo/ (2006) XMF Mosaic: The Xactium XMF Mosaic. www.modelbased.net/www.xactium.com/ (2007)