Skip to main content
Top

2019 | OriginalPaper | Chapter

Generation of Inductive Types from Ecore Metamodels

Authors : Jérémy Buisson, Seidali Rehab

Published in: Model-Driven Engineering and Software Development

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

When one wants to design a language and related supporting tools, two distinct technical spaces can be considered. On the one hand, model-driven tools like Xtext or MPS automatically provide a compilation infrastructure and a full-featured integrated development environment. On the other hand, a formal workbench like a proof assistant helps in the design and verification of the language specification. But these two technical spaces can hardly be used in conjunction. In the paper, we propose an automatic transformation that takes an input Ecore metamodel, and generates a set of inductive types in Gallina and Vernacular, the language of the Coq proof assistant. By doing so, it is guaranteed that the same abstract syntax as the one described by the Ecore metamodel is used, e.g., to formally define the language’s semantics or type system or set up a proof-carrying code infrastructure. Improving over previous state of the art, our transformation supports structural elements of Ecore, with no restriction. But our transformation is not injective. A benchmark evaluation shows that our transformation is effective, including in the case of real-world metamodels like UML and OCL. We also validate our transformation in the context of an ad-hoc proof-carrying code infrastructure.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
Each metametamodel contains approximately 20 classes, 50 references, 30 attributes, and 30 data types.
 
2
Other proof assistants based on dependent types, such as Agda or Lean behave similarly.
 
Literature
1.
go back to reference Oquendo, F., Buisson, J., Leroux, E., Moguérou, G., Quilbeuf, J.: The SoS Architect Studio: toolchain for the formal architecture description and analysis of software-intensive systems-of-systems with SosADL (2016) Oquendo, F., Buisson, J., Leroux, E., Moguérou, G., Quilbeuf, J.: The SoS Architect Studio: toolchain for the formal architecture description and analysis of software-intensive systems-of-systems with SosADL (2016)
2.
go back to reference Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Olton (2013) Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Olton (2013)
7.
go back to reference Necula, G.C.: Proof-carrying code. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1997, Paris, France, pp. 106–119 (1997) Necula, G.C.: Proof-carrying code. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1997, Paris, France, pp. 106–119 (1997)
8.
go back to reference Buisson, J., Rehab, S.: Automatic transformation from Ecore metamodels towards Gallina inductive types. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, INSTICC, pp. 488–495. SciTePress (2018) Buisson, J., Rehab, S.: Automatic transformation from Ecore metamodels towards Gallina inductive types. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, INSTICC, pp. 488–495. SciTePress (2018)
9.
go back to reference Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Amsterdam (2009) Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Amsterdam (2009)
10.
go back to reference Sewell, P., et al.: Ott: effective tool support for the working semanticist. J. Funct. Program. 20, 71–122 (2010)CrossRef Sewell, P., et al.: Ott: effective tool support for the working semanticist. J. Funct. Program. 20, 71–122 (2010)CrossRef
11.
go back to reference Mulligan, D.P., Owens, S., Gray, K.E., Ridge, T., Sewell, P.: Lem: reusable engineering of real-world semantics. In: Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014, Gothenburg, Sweden, pp. 175–188 (2014) Mulligan, D.P., Owens, S., Gray, K.E., Ridge, T., Sewell, P.: Lem: reusable engineering of real-world semantics. In: Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014, Gothenburg, Sweden, pp. 175–188 (2014)
12.
go back to reference Roşu, G., Şerbănuţă, T.F.: K overview and SIMPLE case study. Electron. Notes Theor. Comput. Sci. 304, 3–56 (2014). Proceedings of the Second International Workshop on the K Framework and its Applications (K 2011)MathSciNetCrossRef Roşu, G., Şerbănuţă, T.F.: K overview and SIMPLE case study. Electron. Notes Theor. Comput. Sci. 304, 3–56 (2014). Proceedings of the Second International Workshop on the K Framework and its Applications (K 2011)MathSciNetCrossRef
13.
go back to reference Borras, P., et al.: Centaur: the system. In: Proceedings of the Third ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SDE 3, Boston, Massachusetts, USA, pp. 14–24 (1988) Borras, P., et al.: Centaur: the system. In: Proceedings of the Third ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SDE 3, Boston, Massachusetts, USA, pp. 14–24 (1988)
14.
go back to reference Klint, P.: A meta-environment for generating programming environments. ACM Trans. Softw. Eng. Methodol. 2, 176–201 (1993)CrossRef Klint, P.: A meta-environment for generating programming environments. ACM Trans. Softw. Eng. Methodol. 2, 176–201 (1993)CrossRef
15.
go back to reference Kats, L.C., Visser, E.: The Spoofax language workbench: rules for declarative specification of languages and IDEs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 444–463 (2010) Kats, L.C., Visser, E.: The Spoofax language workbench: rules for declarative specification of languages and IDEs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 444–463 (2010)
18.
go back to reference Cabot, J., Clarisó, R., Riera, D.: On the verification of UML/OCL class diagrams using constraint programming. J. Syst. Softw. 93, 1–23 (2014)CrossRef Cabot, J., Clarisó, R., Riera, D.: On the verification of UML/OCL class diagrams using constraint programming. J. Syst. Softw. 93, 1–23 (2014)CrossRef
22.
go back to reference OMG: OMG Meta Object Facility (MOF) Core Specification (2016) OMG: OMG Meta Object Facility (MOF) Core Specification (2016)
23.
go back to reference Gerber, A., Raymond, K.: MOF to EMF: there and back again. In: Proceedings of the 2003 OOPSLA Workshop on Eclipse Technology eXchange, eclipse 2003, Anaheim, California, pp. 60–64 (2003) Gerber, A., Raymond, K.: MOF to EMF: there and back again. In: Proceedings of the 2003 OOPSLA Workshop on Eclipse Technology eXchange, eclipse 2003, Anaheim, California, pp. 60–64 (2003)
24.
go back to reference Tisi, M., Martínez, S., Jouault, F., Cabot, J.: Refining models with rule-based model transformations. Research Report RR-7582, INRIA (2011) Tisi, M., Martínez, S., Jouault, F., Cabot, J.: Refining models with rule-based model transformations. Research Report RR-7582, INRIA (2011)
Metadata
Title
Generation of Inductive Types from Ecore Metamodels
Authors
Jérémy Buisson
Seidali Rehab
Copyright Year
2019
DOI
https://doi.org/10.1007/978-3-030-11030-7_14

Premium Partner