Advertisement

Model-Driven Analysis and Synthesis of Concrete Syntax

  • Pierre-Alain Muller
  • Franck Fleurey
  • Frédéric Fondement
  • Michel Hassenforder
  • Rémi Schneckenburger
  • Sébastien Gérard
  • Jean-Marc Jézéquel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)

Abstract

Metamodeling is raising more and more interest in the field of language engineering. While this approach is now well understood for defining abstract syntaxes, formally defining concrete syntaxes with metamodels is still a challenge. Concrete syntaxes are traditionally expressed with rules, conforming to EBNF-like grammars, which can be processed by compiler compilers to generate parsers. Unfortunately, these generated parsers produce concrete syntax trees, leaving a gap with the abstract syntax defined by metamodels, and further ad-hoc hand-coding is required. In this paper we propose a new kind of specification for concrete syntaxes, which takes advantage of metamodels to generate fully operational tools (such as parsers or text generators). The principle is to map abstract syntaxes to concrete syntaxes via bidirectional mapping-models with support for both model-to-text, and text-to-model transformations.

Keywords

Object Constraint Language Abstract Syntax Input Stream Current Object Concrete Syntax 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    OMG, Meta-Object Facility (MOF) 1.4, OMG Document formal/02-04-03 (2002) Google Scholar
  2. 2.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework, ch. 5 Ecore Modeling Concepts. Addison-Wesley, Reading (2003)Google Scholar
  3. 3.
  4. 4.
    Jouault, F., Bézivin, J.: KM3: A DSL for Metamodel Specification. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 171–185. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    OMG, Xml Metadata Interchange (XMI 2.1), OMG Document formal/05-09-01 (2005) Google Scholar
  7. 7.
    Sun Microsystems, Metadata repository (MDR) (2005), http://mdr.netbeans.org/
  8. 8.
    Eclipse, Eclipse Modeling Framework (EMF) (2005), http://www.eclipse.org/emf/
  9. 9.
    Atkinson, C., Kuehne T.: The role of meta-modeling in MDA. In: Workshop in Software Model Engineering (WISME@UML), Dresden, Germany (2002)Google Scholar
  10. 10.
    Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Chichester (2004)Google Scholar
  11. 11.
    Clark, T., Evans, A., Sammut, P., Willans, J.: Applied metamodelling: A foundation for language-driven development (2005), http://albini.xactium.com
  12. 12.
    OMG, MOF Model to Text Transformation Language (Request For Proposal), OMG Document ad/2004-04-07 (2004) Google Scholar
  13. 13.
    de Lara, J., Vangheluwe, H.: Using AToM3 as a meta-case tool. In: Proceedings of the 4th International Conference on Enterprise Information Systems (ICEIS), pp. 642–649 (2002)Google Scholar
  14. 14.
    Fondement, F., Baar, T.: Making Metamodels Aware of Concrete Syntax. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 190–204. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Borras, P., Clement, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. In: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments, vol. 13(5), pp. 14–24Google Scholar
  16. 16.
    Kurtev, I., Aksit, M., Bezivin, J.: Technical Spaces: An Initial Appraisal. In: CoopIS, DOA 2002 Federated Conferences, Industrial track, Irvine (2002)Google Scholar
  17. 17.
    Wimmer, M., Kramler, G.: Bridging Grammarware and Modelware. In: WISME Workshop, MODELS / UML 2005, Montego Bay, Jamaica, Ocotober (2005)Google Scholar
  18. 18.
    Alanen, M., Porres, I.: A Relation Between Context-Free Grammars and Meta Object Facility Metamodels. Technical report, Turku Centre for Computer Science (2003)Google Scholar
  19. 19.
    Kunert, A.: Semi-Automatic Generation of Metamodels and Models from Grammars and Programs. In: Proceedings of the Fifth International Workshop on Graph Transformation and Visual Modeling Techniques at ETAPS 2006 (April 2006)Google Scholar
  20. 20.
    Klint, P., Lämmel, R., Verhoef, C.: Towards an engineering discipline for grammarware. ACM TOSEM 14(3), 331–380 (2005)CrossRefGoogle Scholar
  21. 21.
    Muller, P.-A., Hassenforder, M.: HUTN as a Bridge between ModelWare and GrammarWare – An Experience Report. In: WISME Workshop, MODELS / UML 2005, Montego Bay, Jamaica, Ocotober (2005)Google Scholar
  22. 22.
    OMG. UML2.0 Object Constraint Language (OCL) Final Adopted specification, Object Management Group (2003), http://www.omg.org/cgi-bin/doc?ptc/2003-10-14
  23. 23.
    Muller, P.-A., Studer, P., Jézéquel, J.-M.: Model-driven generative approach for concrete syntax composition. In: Workshop in Best Practices for Model Driven Software Development, Vancouver, Canada (2004)Google Scholar
  24. 24.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers, Techniques and Tools. Addison Wesley, Reading (1986)Google Scholar
  25. 25.
    Parr, T.: Another Tool for Language Recognition (ANTLR) (2005), http://www.antlr.org/

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Pierre-Alain Muller
    • 1
  • Franck Fleurey
    • 1
  • Frédéric Fondement
    • 2
  • Michel Hassenforder
    • 3
  • Rémi Schneckenburger
    • 4
  • Sébastien Gérard
    • 4
  • Jean-Marc Jézéquel
    • 1
  1. 1.IRISA / INRIA RennesRennesFrance
  2. 2.Ecole Polytechnique Fédérale de Lausanne (EPFL)LausanneSwitzerland
  3. 3.MIPS, Université de Haute-AlsaceMulhouseFrance
  4. 4.Laboratoire d’Intégration des Systèmes et des Technologies (LIST)SaclayFrance

Personalised recommendations