Skip to main content
Erschienen in: Software and Systems Modeling 2/2015

01.05.2015 | Regular Paper

Mashup of metalanguages and its implementation in the Kermeta language workbench

verfasst von: Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus, François Fouquet

Erschienen in: Software and Systems Modeling | Ausgabe 2/2015

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

With the growing use of domain-specific languages (DSL) in industry, DSL design and implementation goes far beyond an activity for a few experts only and becomes a challenging task for thousands of software engineers. DSL implementation indeed requires engineers to care for various concerns, from abstract syntax, static semantics, behavioral semantics, to extra-functional issues such as runtime performance. This paper presents an approach that uses one metalanguage per language implementation concern. We show that the usage and combination of those metalanguages is simple and intuitive enough to deserve the term mashup. We evaluate the approach by completely implementing the non-trivial fUML modeling language, a semantically sound and executable subset of the Unified Modeling Language (UML).

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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 "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!

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!

Fußnoten
1
The concrete syntax is achieved thanks to a full compatibility with all EMF-based tools for concrete syntax, such as the de facto standards EMFText (see http://​www.​emftext.​org) and XText (see http://​www.​eclipse.​org/​Xtext/​).
 
4
This is one definition in the community. For some researchers, “metamodel” sometimes referred to abstract syntax plus static semantics.
 
6
In Scala, the classes and traits inheritance hierarchy forms a directed acyclic graph (DAG). The term linearization refers to the algorithm used to “flatten” this graph for the purposes of resolving method lookup priorities, constructor invocation order, binding of super, etc. The linearization defines the order in which method lookup occurs. We refer the interested reader to [17] for an exhaustive explanation of the Scala’s class linearization mechanism.
 
Literatur
1.
Zurück zum Zitat Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)CrossRef Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)CrossRef
2.
Zurück zum Zitat Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: International Conference on Software Engineering (ICSE), pp. 471–480. ACM (2011) Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: International Conference on Software Engineering (ICSE), pp. 471–480. ACM (2011)
3.
Zurück zum Zitat Ghosh, D.: DSLs in Action. Manning Publications Co., Greenwich (2010) Ghosh, D.: DSLs in Action. Manning Publications Co., Greenwich (2010)
4.
Zurück zum Zitat Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional, Reading (2010) Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional, Reading (2010)
5.
Zurück zum Zitat Mernik, M.: Formal and Practical Aspects of Domain-Specific Languages: Recent Developments. IGI Global (2013) Mernik, M.: Formal and Practical Aspects of Domain-Specific Languages: Recent Developments. IGI Global (2013)
6.
Zurück zum Zitat Markus, V., Sebastian, B., Christian, D., Birgit, E., Mats, H., Kats, L.C.L., Visser, E., Wachsmuth, G.: DSL Engineering—Designing, Implementing and Using Domain-Specific Languages. dslbook.org, (2013) Markus, V., Sebastian, B., Christian, D., Birgit, E., Mats, H., Kats, L.C.L., Visser, E., Wachsmuth, G.: DSL Engineering—Designing, Implementing and Using Domain-Specific Languages. dslbook.org, (2013)
7.
Zurück zum Zitat Borras, P., Clément, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. ACM SIGPLAN Notices 24(2), 14–24 (1989)CrossRef Borras, P., Clément, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. ACM SIGPLAN Notices 24(2), 14–24 (1989)CrossRef
8.
Zurück zum Zitat Tolvanen, J.-P., Rossi, M.: MetaEdit+: defining and using domain-specific modeling languages and code generators. In: Companion of the 18th Annual ACM SIGPLAN Conference OOPSLA, pp. 92–93. ACM (2003) Tolvanen, J.-P., Rossi, M.: MetaEdit+: defining and using domain-specific modeling languages and code generators. In: Companion of the 18th Annual ACM SIGPLAN Conference OOPSLA, pp. 92–93. ACM (2003)
9.
Zurück zum Zitat Cook, S., Jones, G., Kent, S., Wills, A.C.: Domain-Specific Development with Visual Studio Dsl Tools. Addison-Wesley Professional, Reading (2007) Cook, S., Jones, G., Kent, S., Wills, A.C.: Domain-Specific Development with Visual Studio Dsl Tools. Addison-Wesley Professional, Reading (2007)
10.
Zurück zum Zitat Clark, T., Sammut, P., Willans, J.: Applied Metamodelling—A Foundation for Language Driven Development, 2nd edn. (2008) Clark, T., Sammut, P., Willans, J.: Applied Metamodelling—A Foundation for Language Driven Development, 2nd edn. (2008)
11.
Zurück zum Zitat Krahn, H., Rumpe, B., Volkel, S.: Monticore: modular development of textual domain specific languages. In: Objects, Components, Models and Patterns, vol. 11 of LNBI, pp. 297–315. Springer, Berlin (2008) Krahn, H., Rumpe, B., Volkel, S.: Monticore: modular development of textual domain specific languages. In: Objects, Components, Models and Patterns, vol. 11 of LNBI, pp. 297–315. Springer, Berlin (2008)
12.
Zurück zum Zitat Kats, L.C.L., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and ides. ACM SIGPLAN Notices 45, 444–463 (2010)CrossRef Kats, L.C.L., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and ides. ACM SIGPLAN Notices 45, 444–463 (2010)CrossRef
13.
Zurück zum Zitat Voelter, M., Solomatov, K.: Language modularization and composition with projectional language workbenches illustrated with MPS. In: van den Brand, M., Malloy, B., Staab, S. (eds.) Third International Conference on Software Language Engineering (SLE 2010). Lecture Notes in Computer Science. Springer, Berlin (2010) Voelter, M., Solomatov, K.: Language modularization and composition with projectional language workbenches illustrated with MPS. In: van den Brand, M., Malloy, B., Staab, S. (eds.) Third International Conference on Software Language Engineering (SLE 2010). Lecture Notes in Computer Science. Springer, Berlin (2010)
14.
Zurück zum Zitat Object Management Group, Inc.: Meta Object Facility (MOF) 2.0 Core Specification (2006) Object Management Group, Inc.: Meta Object Facility (MOF) 2.0 Core Specification (2006)
15.
Zurück zum Zitat Object Management Group, Inc.: UML Object Constraint Language (OCL) 2.0 Specification (2003) Object Management Group, Inc.: UML Object Constraint Language (OCL) 2.0 Specification (2003)
16.
Zurück zum Zitat Jézéquel, J.-M., Barais, O., Fleurey, F.: Model driven language engineering with kermeta. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE’09), vol. 6491 of Lecture Notes in Computer Science, pp. 201–221. Springer, Berlin (2011) Jézéquel, J.-M., Barais, O., Fleurey, F.: Model driven language engineering with kermeta. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE’09), vol. 6491 of Lecture Notes in Computer Science, pp. 201–221. Springer, Berlin (2011)
17.
Zurück zum Zitat Odersky, M., Altherr, P., Cremet, V., Dragos, I., Dubochet, G., Emir, B.., McDirmid, S., Micheloud, S., Mihaylov, N., Michel, S., Spoon, L., Stenman, E., Zenger, M.: An Overview of the Scala Programming Language, 2nd edn. Technical report (2006) Odersky, M., Altherr, P., Cremet, V., Dragos, I., Dubochet, G., Emir, B.., McDirmid, S., Micheloud, S., Mihaylov, N., Michel, S., Spoon, L., Stenman, E., Zenger, M.: An Overview of the Scala Programming Language, 2nd edn. Technical report (2006)
18.
Zurück zum Zitat Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP 1997), pp. 220–242 (1997) Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP 1997), pp. 220–242 (1997)
19.
Zurück zum Zitat Clifton, C., Leavens, G.T.: Multijava: Modular open classes and symmetric multiple dispatch for Java. In: International Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), pp. 130–145 (2000) Clifton, C., Leavens, G.T.: Multijava: Modular open classes and symmetric multiple dispatch for Java. In: International Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), pp. 130–145 (2000)
20.
Zurück zum Zitat Object Management Group, Inc.: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.0 (2011) Object Management Group, Inc.: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.0 (2011)
21.
Zurück zum Zitat Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1995) Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1995)
22.
Zurück zum Zitat Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: International Conference on Model Driven Engineering Languages and Systems (MoDELS), vol. 3713 of Lecture Notes in Computer Science, pp. 264–278. Springer, Berlin (2005) Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: International Conference on Model Driven Engineering Languages and Systems (MoDELS), vol. 3713 of Lecture Notes in Computer Science, pp. 264–278. Springer, Berlin (2005)
23.
Zurück zum Zitat Combemale, B., Crégut, X., Garoche, P.-L., Thirioux, X.: Essay on semantics definition in MDE. An instrumented approach for model verification. J. Softw. 4(9), 943–958 (2009) Combemale, B., Crégut, X., Garoche, P.-L., Thirioux, X.: Essay on semantics definition in MDE. An instrumented approach for model verification. J. Softw. 4(9), 943–958 (2009)
24.
Zurück zum Zitat Meyer, B.: Eiffel: The Language. Prentice-Hall, Inc., Englewood Cliffs (1992)MATH Meyer, B.: Eiffel: The Language. Prentice-Hall, Inc., Englewood Cliffs (1992)MATH
25.
Zurück zum Zitat Harel, D., Rumpe, B.: Meaningful modeling: what’s the semantics of “semantics”? Computer 37(10), 64–72 (2004)CrossRef Harel, D., Rumpe, B.: Meaningful modeling: what’s the semantics of “semantics”? Computer 37(10), 64–72 (2004)CrossRef
26.
Zurück zum Zitat Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Reading (2008) Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Reading (2008)
27.
Zurück zum Zitat Shonle, M., Lieberherr, K., Shah, A.: XAspects: an extensible system for domain-specific aspect languages. In: Companion of the 18th Annual ACM SIGPLAN Conference OOPSLA, pp. 28–37. ACM (2003) Shonle, M., Lieberherr, K., Shah, A.: XAspects: an extensible system for domain-specific aspect languages. In: Companion of the 18th Annual ACM SIGPLAN Conference OOPSLA, pp. 28–37. ACM (2003)
28.
Zurück zum Zitat Hundt, R.: Loop Recognition in C++/Java/Go/Scala Hundt, R.: Loop Recognition in C++/Java/Go/Scala
29.
Zurück zum Zitat Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16, 1811–1841 (1994)CrossRef Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16, 1811–1841 (1994)CrossRef
30.
Zurück zum Zitat Odersky, M.: Contracts for scala. In: First international conference on Runtime verification (RV’10), pp. 51–57. Springer, Berlin (2010) Odersky, M.: Contracts for scala. In: First international conference on Runtime verification (RV’10), pp. 51–57. Springer, Berlin (2010)
31.
Zurück zum Zitat Hilbert, D.: Ueber die stetige Abbildung einer Line auf ein Flächenstück. Mathematische Annalen, 38 (1891) Hilbert, D.: Ueber die stetige Abbildung einer Line auf ein Flächenstück. Mathematische Annalen, 38 (1891)
32.
Zurück zum Zitat Harrison, W.H., Ossher, H., Tarr, P.L.: General composition of software artifacts. In: Software Composition (SC 2006), pp. 194–210 (2006) Harrison, W.H., Ossher, H., Tarr, P.L.: General composition of software artifacts. In: Software Composition (SC 2006), pp. 194–210 (2006)
33.
Zurück zum Zitat Apel, S., Kastner, C., Lengauer, C.: Featurehouse: Language-independent, automated software composition. In: International Conference on Software Engineering (ICSE), pp. 221–231 (2009). Apel, S., Kastner, C., Lengauer, C.: Featurehouse: Language-independent, automated software composition. In: International Conference on Software Engineering (ICSE), pp. 221–231 (2009).
34.
Zurück zum Zitat Dinkelaker, T., Eichberg, M., Mezini, M.: An architecture for composing embedded domain-specific languages. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 49–60. ACM (2010) Dinkelaker, T., Eichberg, M., Mezini, M.: An architecture for composing embedded domain-specific languages. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 49–60. ACM (2010)
35.
Zurück zum Zitat Van Wyk, E., de Moor, O., Backhouse, K., Kwiatkowski, P.: Forwarding in attribute grammars for modular language design. In: 11th International Conference on Compiler Construction (CC 2002), pp. 128–142. Springer, (2002) Van Wyk, E., de Moor, O., Backhouse, K., Kwiatkowski, P.: Forwarding in attribute grammars for modular language design. In: 11th International Conference on Compiler Construction (CC 2002), pp. 128–142. Springer, (2002)
36.
Zurück zum Zitat Henriques, P.R., Pereira, M.J.V., Mernik, M., Lenic, M., Gray, J., Hui, W.: Automatic generation of language-based tools using the LISA system. Softw. IEE Proc. 152(2), 54–69 (2005)CrossRef Henriques, P.R., Pereira, M.J.V., Mernik, M., Lenic, M., Gray, J., Hui, W.: Automatic generation of language-based tools using the LISA system. Softw. IEE Proc. 152(2), 54–69 (2005)CrossRef
37.
Zurück zum Zitat Van Wyk, E., Bodin, D., Gao, J., Krishnan, L.: Silver: an extensible attribute grammar system. Sci. Comput. Program. 75(1–2), 39–54 (2010)MATH Van Wyk, E., Bodin, D., Gao, J., Krishnan, L.: Silver: an extensible attribute grammar system. Sci. Comput. Program. 75(1–2), 39–54 (2010)MATH
38.
Zurück zum Zitat Ekman, T., Hedin, G.: The jastadd system—modular extensible compiler construction. Sci. Comput. Program. 69, 14–26 (2007)CrossRefMATHMathSciNet Ekman, T., Hedin, G.: The jastadd system—modular extensible compiler construction. Sci. Comput. Program. 69, 14–26 (2007)CrossRefMATHMathSciNet
39.
Zurück zum Zitat Rebernak, D., Mernik, M., Wu, H., Gray, J.: Domain-specific aspect languages for modularising crosscutting concerns in grammars. IET Softw. 3(3), 184–200 (2009)CrossRef Rebernak, D., Mernik, M., Wu, H., Gray, J.: Domain-specific aspect languages for modularising crosscutting concerns in grammars. IET Softw. 3(3), 184–200 (2009)CrossRef
41.
Zurück zum Zitat Voelter, M.: From programming to modeling-and back again. Softw. IEEE 28(6), 20–25 (2011)CrossRef Voelter, M.: From programming to modeling-and back again. Softw. IEEE 28(6), 20–25 (2011)CrossRef
42.
Zurück zum Zitat Klint, P.: A meta-environment for generating programming environments. ACM Trans. Softw. Eng. Methodol. (TOSEM) 2(2), 176–201 (1993)CrossRef Klint, P.: A meta-environment for generating programming environments. ACM Trans. Softw. Eng. Methodol. (TOSEM) 2(2), 176–201 (1993)CrossRef
43.
Zurück zum Zitat Cordy, J.R., Halpern, C.D., Promislow, E.: Txl: a rapid prototyping system for programming language dialects. In: International Conference on Computer Languages (ICCL), pp. 280–285 (1988) Cordy, J.R., Halpern, C.D., Promislow, E.: Txl: a rapid prototyping system for programming language dialects. In: International Conference on Computer Languages (ICCL), pp. 280–285 (1988)
44.
Zurück zum Zitat Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE. Comput. 30(4), 110–111 (1997)CrossRef Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE. Comput. 30(4), 110–111 (1997)CrossRef
45.
Zurück zum Zitat Renggli, L., Gîrba, T., Nierstrasz, O.: Embedding languages without breaking tools. In: European Conference on Object-Oriented Programming (ECOOP 2010), vol. 6183 of Lecture Notes in Computer Science, pp. 380–404. Springer, Berlin (2010) Renggli, L., Gîrba, T., Nierstrasz, O.: Embedding languages without breaking tools. In: European Conference on Object-Oriented Programming (ECOOP 2010), vol. 6183 of Lecture Notes in Computer Science, pp. 380–404. Springer, Berlin (2010)
Metadaten
Titel
Mashup of metalanguages and its implementation in the Kermeta language workbench
verfasst von
Jean-Marc Jézéquel
Benoit Combemale
Olivier Barais
Martin Monperrus
François Fouquet
Publikationsdatum
01.05.2015
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 2/2015
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-013-0354-4

Weitere Artikel der Ausgabe 2/2015

Software and Systems Modeling 2/2015 Zur Ausgabe

Special Section Paper

The concepts of Petri nets

Premium Partner