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.
Similar content being viewed by others
References
O.M.G. Object Management Group: Meta-Object Facility (MOF) Core Specification (2006)
Eclipse: Eclipse Modeling Framework (EMF) (2005)
IBM: Emfatic. http://www.alphaworks.ibm.com/tech/emfatic
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)
Kermeta: The KerMeta Project Home Page. http://www.kermeta.org (2005)
OMG: Xml Metadata Interchange (XMI 2.1) (2005)
Sun_Microsystems: Metadata repository (MDR) (2005)
Atkinson, C., Kühne, T.: The Role of Metamodeling in MDA. International Workshop in Software Model Engineering associated to UML ’02, Dresden, Germany (2002)
Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Indianapolis (2004)
Clark, T., Evans, A., Sammut, P., Willans, J.: Applied Metamodelling: A Foundation for Language Driven Development (2004)
OMG: MOF Model to Text Transformation Language (Request For Proposal) (2004)
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)
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)
andromda.org: AndroMDA.
Parr, T.J., Quong, R.W.: ANTLR: A predicated-LL(k) parser generator. Softw. Pract. Exp. 25, 789–810 (1995)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
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)
Fondement, F., Schnekenburger, R., Gérard, S., Muller, P.-A.: Metamodel-Aware Textual Concrete Syntax Specification (2006)
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)
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)
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
Chomsky, N.: Three models for the description of language. IRE Trans. Inf. Theory 2(3), 113–124 (1956)
Knuth, D.E.: Semantics of context-free languages. Math. Syst. Theory 2, 127–145 (1968)
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)
ISO: ISO 14977 Information Technology—Syntactic Metalanguage—Extended BNF. (1996)
Johnson, S.C.: Yacc: Yet another compiler compiler. UNIX Programmer’s Manual, vol. 2b (1979)
Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison Wesley, Reading
Pratt, T.W.: Pair Grammars, Graph Languages and String-to-Graph Translations. J. Comput. Syst. Sci. (JCSS) 5, 560–595 (1971)
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)
Hearnden, D., Raymond, K., Steel, J.: Anti-Yacc: MOF-to-text. Enterprise Distributed Object Computing (EDOC) 200–211 (2002)
OMG: Human-Usable Textual Notation. Object Management Group (2004)
Kurtev, I., Aksit, M., Bezivin, J.: Technical Spaces: An Initial Appraisal. CoopIS, DOA’2002 Federated Conferences, Industrial track, Irvine (2002)
Wimmer, M., Kramler, G.: Bridging Grammarware and Modelware. Workshop in Software Model Engineering associated to MoDELS’05. Montego Bay, Jamaica (2005)
Alanen, M., Porres, I.: A Relation Between Context-Free Grammars and Meta Object Facility Metamodels. Turku Centre for Computer Science (2003)
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)
Scheidgen, M.: Textual Editing Framework (TEF). Humboldt-Universität zu Berlin http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/index.html (2007)
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)
Klint, P., Lämmel, R., Verhoef, C.: Towards an engineering discipline for grammarware. ACM TOSEM 14, 331–380 (2005)
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)
Akehurst, D., Linington, P., Patrascoiu, O.: OCL 2.0: Implementing the Standard (2003)
Cordy, J.R.: The TXL source transformation language. Sci. Comput. Program 61, 190–210 (2006)
Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of “Semantics”?. IEEE Comput. 37, 64–72 (2004)
Chomsky, N.: Language And Mind. Cambridge University Press, Cambridge (2006)
OMG: Unified Modeling Language: Superstructure Version 2.0. vol. 2005 (2003)
Matula, M., Dedic, S.: Java metamodel. Netbeans 4.0 (Sun Microsystems) (2005)
Eclipse: Java Emitter Templates (JET) (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Oscar Nierstrasz.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0088-x