Skip to main content
Log in

Model-driven analysis and synthesis of textual concrete syntax

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Meta-modeling 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 textual concrete syntaxes with meta-models is still a challenge. Textual 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 meta-models, 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 meta-models to generate fully operational tools (such as parsers or text generators). The principle is to map abstract syntaxes to textual concrete syntaxes via bidirectional mapping-models with support for both model-to-text, and text-to-model transformations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. O.M.G. Object Management Group: Meta-Object Facility (MOF) Core Specification (2006)

  2. Eclipse: Eclipse Modeling Framework (EMF) (2005)

  3. IBM: Emfatic. http://www.alphaworks.ibm.com/tech/emfatic

  4. Jouault, F., Bézivin, J.: KM3: A DSL for Metamodel Specification. The 8th IFIP International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS), Bologna (2006)

  5. Kermeta: The KerMeta Project Home Page. http://www.kermeta.org (2005)

  6. OMG: Xml Metadata Interchange (XMI 2.1) (2005)

  7. Sun_Microsystems: Metadata repository (MDR) (2005)

  8. Atkinson, C., Kühne, T.: The Role of Metamodeling in MDA. International Workshop in Software Model Engineering associated to UML ’02, Dresden, Germany (2002)

  9. Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Indianapolis (2004)

    Google Scholar 

  10. Clark, T., Evans, A., Sammut, P., Willans, J.: Applied Metamodelling: A Foundation for Language Driven Development (2004)

  11. OMG: MOF Model to Text Transformation Language (Request For Proposal) (2004)

  12. de Lara, J., Vangheluwe, H.: Using AToM3 as a meta-case tool. In: 4th International Conference on Enterprise Information Systems (ICEIS), pp. 642–649 (2002)

  13. Fondement, F., Baar, T.: Making Metamodels Aware of Concrete Syntax. In: European Conference on Model Driven Architecture (ECMDA). LNCS, vol. 3748, pp. 190–204 (2005)

  14. andromda.org: AndroMDA.

  15. Parr, T.J., Quong, R.W.: ANTLR: A predicated-LL(k) parser generator. Softw. Pract. Exp. 25, 789–810 (1995)

    Article  Google Scholar 

  16. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  17. Muller, P.-A., Jézéquel, J.-M.: Model-driven generative approach for concrete syntax composition. Best Practices for Model Driven Software Development’04 (OOPSLA & GPCE Workshop), Vancouver (2004)

  18. Fondement, F., Schnekenburger, R., Gérard, S., Muller, P.-A.: Metamodel-Aware Textual Concrete Syntax Specification (2006)

  19. Muller, P.-A., Fleurey, F., Fondement, F., Hassenforder, M., Schneckenburger, R., Gérard, S., Jézéquel, J.-M., Touzet, D.: Sintaks. http://www.kermeta.org/sintaks (2007)

  20. Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. MoDELS/UML 2005—ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, vol. 3713, pp. 264–278. Springer, Montego Bay, Jamaica (2005)

  21. Borras P., Clement D., Despeyroux T., Incerpi J., Kahn G., Lang B., Pascual V. Centaur: the system. ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments, 13(5), 14–24

  22. Chomsky, N.: Three models for the description of language. IRE Trans. Inf. Theory 2(3), 113–124 (1956)

    Article  Google Scholar 

  23. Knuth, D.E.: Semantics of context-free languages. Math. Syst. Theory 2, 127–145 (1968)

    Article  MATH  MathSciNet  Google Scholar 

  24. Backus, J.W., Bauer, F.L., Green, J., Katz, C., McCarthy, J., Perlis, A.J., Rutishauser, H., Samelson, K., Vauquois, B., Wegstein, J.H., Wijngaarden, A. van, Woodger, M.: Report on the algorithmic language ALGOL 60. Commun. ACM 5, 299–314 (1960)

    Article  Google Scholar 

  25. ISO: ISO 14977 Information Technology—Syntactic Metalanguage—Extended BNF. (1996)

  26. Johnson, S.C.: Yacc: Yet another compiler compiler. UNIX Programmer’s Manual, vol. 2b (1979)

  27. Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison Wesley, Reading

  28. Pratt, T.W.: Pair Grammars, Graph Languages and String-to-Graph Translations. J. Comput. Syst. Sci. (JCSS) 5, 560–595 (1971)

    MATH  MathSciNet  Google Scholar 

  29. Heckel, R., Voigt, H.: Model-based development of executable business processes for web services. In: Desel, J., Reisig, W., Rozenberg, G.(eds) Lectures on Concurrency and Petri Nets., pp. 559–584. Springer, Berlin, Heidelberg (2003)

    Google Scholar 

  30. Hearnden, D., Raymond, K., Steel, J.: Anti-Yacc: MOF-to-text. Enterprise Distributed Object Computing (EDOC) 200–211 (2002)

  31. OMG: Human-Usable Textual Notation. Object Management Group (2004)

  32. Kurtev, I., Aksit, M., Bezivin, J.: Technical Spaces: An Initial Appraisal. CoopIS, DOA’2002 Federated Conferences, Industrial track, Irvine (2002)

  33. Wimmer, M., Kramler, G.: Bridging Grammarware and Modelware. Workshop in Software Model Engineering associated to MoDELS’05. Montego Bay, Jamaica (2005)

  34. Alanen, M., Porres, I.: A Relation Between Context-Free Grammars and Meta Object Facility Metamodels. Turku Centre for Computer Science (2003)

  35. Kunert, A.: Semi-automatic generation of metamodels and models from grammars and programs. In: Fifth International Workshop on Graph Transformation and Visual Modeling Techniques at ETAPS 2006 (2006)

  36. Scheidgen, M.: Textual Editing Framework (TEF). Humboldt-Universität zu Berlin http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/index.html (2007)

  37. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. Generative Programming and Component Engineering (GPCE), Portland, pp. 249–254 (2006)

  38. Klint, P., Lämmel, R., Verhoef, C.: Towards an engineering discipline for grammarware. ACM TOSEM 14, 331–380 (2005)

    Article  Google Scholar 

  39. Muller, P.-A., Hassenforder, M.: HUTN as a Bridge between ModelWare and GrammarWare—An Experience Report. WISME 2005: 4th Workshop in Software Model Engineering (Satellite Event of MoDELS 2005), Montego Bay (2005)

  40. Akehurst, D., Linington, P., Patrascoiu, O.: OCL 2.0: Implementing the Standard (2003)

  41. Cordy, J.R.: The TXL source transformation language. Sci. Comput. Program 61, 190–210 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  42. Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of “Semantics”?. IEEE Comput. 37, 64–72 (2004)

    Google Scholar 

  43. Chomsky, N.: Language And Mind. Cambridge University Press, Cambridge (2006)

    Google Scholar 

  44. OMG: Unified Modeling Language: Superstructure Version 2.0. vol. 2005 (2003)

  45. Matula, M., Dedic, S.: Java metamodel. Netbeans 4.0 (Sun Microsystems) (2005)

  46. Eclipse: Java Emitter Templates (JET) (2005)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pierre-Alain Muller.

Additional information

Communicated by Prof. Oscar Nierstrasz.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Muller, PA., Fondement, F., Fleurey, F. et al. Model-driven analysis and synthesis of textual concrete syntax. Softw Syst Model 7, 423–441 (2008). https://doi.org/10.1007/s10270-008-0088-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0088-x

Keywords

Navigation