Automated Software Engineering

, Volume 16, Issue 3–4, pp 415–454 | Cite as

A semantic framework for metamodel-based languages

  • Angelo Gargantini
  • Elvinia Riccobene
  • Patrizia Scandurra
Article

Abstract

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.

Keywords

Metamodelling Model-based development Model driven engineering Formal methods Abstract state machines Language semantics Semantic (meta-)hooking Weaving behaviour 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AMMA: The AMMA platform. http://www.sciences.univ-nantes.fr/lina/atl/ (2005)
  2. 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) Google Scholar
  3. AS: OMG. The Action Semantics Consortium for the UML. ad/2001-03-01. http://www.omg.org/ (2001)
  4. ASML: The ASML language website. research.microsoft.com/foundations/AsmL/ (2001)
  5. AsmM: The Abstract State Machine Metamodel website. http://asmeta.sf.net/ (2006)
  6. Balasubramanian, D., Narayanan, A., vanBuskirk, C., Karsai, G.: The Graph Rewriting and Transformation Language: GReAT. In: International Workshop on Graph Based Tools (GraBaTs) (2006) Google Scholar
  7. Bézivin, J.: On the unification power of models. Softw. Syst. Model. (SoSym) 4(2), 171–188 (2005) CrossRefGoogle Scholar
  8. 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) Google Scholar
  9. Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Berlin (2003) MATHGoogle Scholar
  10. 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) Google Scholar
  11. 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) Google Scholar
  12. 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) Google Scholar
  13. 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) CrossRefGoogle Scholar
  14. 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) Google Scholar
  15. 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) Google Scholar
  16. 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) Google Scholar
  17. 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) Google Scholar
  18. 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) Google Scholar
  19. 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) Google Scholar
  20. EMF: Eclipse modeling framework. http://www.eclipse.org/emf/ (2008)
  21. 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) Google Scholar
  22. 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) Google Scholar
  23. fUML: OMG. Semantics of a foundational subset for executable UML models, version 1.0-Beta 1, ptc/2008-11-03 (2008) Google Scholar
  24. 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) Google Scholar
  25. Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based simulator for ASMs. In: Prinz, A. (ed.) 14th International ASM Workshop Proceedings (2007a) Google Scholar
  26. 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) Google Scholar
  27. 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 Google Scholar
  28. GASM: ASMs web site. http://www.eecs.umich.edu/gasm/ (2008)
  29. GME: The Generic Modeling Environment (GME). http://www.isis.vanderbilt.edu/Projects/gme (2006)
  30. Gunter, C.A.: Semantics of Programming Languages: Structures and Techniques. MIT Press, Cambridge (1992) MATHGoogle Scholar
  31. Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10), 64–72 (2004) Google Scholar
  32. 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) Google Scholar
  33. 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) CrossRefGoogle Scholar
  34. 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) CrossRefGoogle Scholar
  35. 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) CrossRefGoogle Scholar
  36. M2M project: Eclipse modeling project, model to model transformation (M2M) sub-project. http://www.eclipse.org/m2m/ (2007)
  37. MDA Guide V1.0.1: OMG. The Model Driven Architecture (MDA guide v1.0.1). http://www.omg.org/mda/ (2003)
  38. Microsoft DSL Tools: Microsoft DSL tools. http://msdn.microsoft.com/vstudio/DSLTools/ (2005)
  39. MOF: OMG. The Meta Object Facility (MOF) v1.4, formal/2002-04-03 (2002) Google Scholar
  40. MOF: OMG. Meta Object Facility (MOF), Core Specification v2.0, formal/2006-01-01 (2006) Google Scholar
  41. 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) Google Scholar
  42. Ober, I.: More meaningful UML Models. In: TOOLS—37 Pacific 2000, IEEE (2000) Google Scholar
  43. OCL: OMG. Object Constraint Language (OCL), v2.0 formal/2006-05-01 (2006) Google Scholar
  44. QVT: OMG, MOF Query/Views/Transformations, formal/08-04-03. http:www.omg.org (2008)
  45. 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) Google Scholar
  46. Richters, M.: A precise approach to validating UML models and OCL constraints. PhD thesis, Universität Bremen, Germany (2001) Google Scholar
  47. Scandurra, P.: Model-driven language definition: metamodelling methodologies and applications. PhD thesis, University of Catania, Italy (2005) Google Scholar
  48. 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) Google Scholar
  49. Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Comput. 30(4), 110–111 (1997). 10.1109/2.585163 Google Scholar
  50. 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) Google Scholar
  51. UML 2.1.2: OMG. The Unified Modeling Language (UML), v2.2. http://www.uml.org (2009)
  52. XASM Zoo: The Atlantic XASM Zoo. http://www.eclipse.org/gmt/am3/zoos/atlanticXASMZoo/ (2006)
  53. XMF Mosaic: The Xactium XMF Mosaic. www.modelbased.net/www.xactium.com/ (2007)

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Angelo Gargantini
    • 1
  • Elvinia Riccobene
    • 2
  • Patrizia Scandurra
    • 1
  1. 1.Dip. Ing. dell’Informazione e Metodi MatematiciUniversitá di BergamoDalmineItaly
  2. 2.Dip. di Tecnologie dell’InformazioneUniversitá di MilanoCremaItaly

Personalised recommendations