Abstract
One of the key points of model-driven engineering is raising the level of abstraction in software development. This phenomenon is not new. In the sixties of the previous century, the first high-level programming languages were developed and they also increased the abstraction level of software development. The development of high-level programming languages initiated research on compilers and programming environments. This research eventually matured into generic language technology: the description of (programming) languages and tooling to generate compilers and programming environments. The model-driven engineering community is developing tools to analyze models and to transform models into code. The application of generic language technology, or at least the lessons learnt by this community, can be beneficial for the model-driven engineering community. By means of a number of case studies it will be shown how generic language technology research can be useful for the development of model-driven engineering technology.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alblas, H.: Introduction to attribute grammars. In: Alblas, H., Melichar, B. (eds.) SAGA School 1991. LNCS, vol. 545, pp. 1–15. Springer, Heidelberg (1991)
van Amstel, M.F., van den Brand, M.G.J., Protić, Z., Verhoeff, T.: Transforming process algebra models into UML state machines: Bridging a semantic gap? In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 61–75. Springer, Heidelberg (2008)
Arnoldus, J., Bijpost, J., van den Brand, M.G.J.: Repleo: a syntax-safe template engine. In: GPCE 2007: Proceedings of the 6th international conference on Generative programming and component engineering, pp. 25–32. ACM, New York (2007)
van Beek, D.A., Man, K.L., Reniers, M.A., Rooda, J.E., Schiffelers, R.R.H.: Syntax and semantics of timed Chi. CS-Report 05–09, Department of Computer Science, Eindhoven University of Technology (2005)
Bergstra, J.A., Klop, J.W.: Algebra of communicating processes. In: de Bakker, J.W., Hazewinkel, M., Lenstra, J.K. (eds.) Proceedings of the CWI Symposium. CWI Monographs, vol. 1, pp. 89–138. Centre for Mathematics and Computer Science, North-Holland (1986)
Bézivin, J.: Model driven engineering: An emerging technical space. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 36–64. Springer, Heidelberg (2006)
Booch, G.: Object-Oriented Design with Applications, 2nd edn. Benjamin/Cummings (1993)
den van Brand, M.G.J., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF meta-environment: A component-based language development environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)
van den Brand, M.G.J., de Jong, H.A., Klint, P., Kooiker, A.T.: A Language Development Environment for Eclipse. In: Burke, M.G. (ed.) Eclipse Technology eXchange (eTX), pp. 61–66 (2003)
van den Brand, M.G.J., Moreau, P.E., Vinju, J.J.: A generator of efficient strongly typed abstract syntax trees in java. IEE Proceedings-Software 152(2), 70–78 (2005)
van den Brand, M.G.J., Sellink, A., Verhoef, C.: Current parsing techniques in software renovation considered harmful. In: IWPC 1998: Proceedings of the 6th International Workshop on Program Comprehension, pp. 108–117. IEEE Computer Society, Los Alamitos (1998)
Bruggeman, W.: Transformation of a SIP Service Model. Master’s thesis, Eindhoven University of Technology (2008)
Charles, P., Dolby, J., Fuhrer, R.M., Sutton Jr., S.M., Vaziri, M.: Safari: a meta-tooling framework for generating language-specific ide’s. In: OOPSLA 2006: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, pp. 722–723. ACM, New York (2006)
Charles, P., Fuhrer, R.M., Sutton Jr., S.M.: Imp: a meta-tooling platform for creating language-specific ides in eclipse. In: ASE 2007: Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, pp. 485–488. ACM, New York (2007)
Copeland, T.: Generating Parsers with JavaCC. Centennial Books (2007)
van Deursen, A., Heering, J., Klint, P. (eds.): Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing, vol. 5. World Scientific, Singapore (1996)
Ekman, T., Hedin, G.: The JastAdd System - modular extensible compiler construction. Science of Computer Programming 69(1-3), 14–26 (2007)
Gray, R.W., Heuring, V.P., Levi, S.P., Sloane, A.M., Waite, W.M.: Eli: A complete, flexible compiler construction system. Communications of the ACM 35(2), 121–130 (1992)
Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism SDF: Reference manual. SIGPLAN Notices 24(11), 43–75 (1989)
Henriques, P.R., Pereira, M.J.V., Mernik, M., Lenic, M., Gray, J., Wu, H.: Automatic generation of language-based tools using the LISA system. IEE Proceedings - Software 2(152) (2005)
Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley Publishing Company, Reading (1992)
Johnson, S.C.: YACC—yet another compiler-compiler. Technical Report CS-32, AT&T Bell Laboratories, Murray Hill, N.J. (1975)
de Jong, H.A., Olivier, P.A.: Generation of abstract programming interfaces from syntax definitions. Journal of Logic and Algebraic Programming 50(4), 35–61 (2004)
Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3), 331–380 (2005)
Kunert, A.: Semi-automatic generation of metamodels and models from grammars and programs. Electron. Notes Theor. Comput. Sci. 211, 111–119 (2008)
Lesk, M.E., Schmidt, E.: LEX — A lexical analyzer generator. Technical Report CS-39, AT&T Bell Laboratories, Murray Hill, N.J. (1975)
Parr, T.J., Quong, R.W.: Antlr: A predicated-ll(k) parser generator. Software Practice and Experience 25, 789–810 (1995)
Reps, T., Teitelbaum, T.: The Synthesizer Generator: A System for Constructing Language-Based Editors, 3rd edn. Springer, Heidelberg (1989)
Rumbaugh, J.E., Blaha, M.R., Premerlani, W.J., Eddy, F., Lorensen, W.E.: Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (1991)
Theelen, B.D., Florescu, O., Geilen, M.C.W., Huang, J., van der Putten, P.H.A., Voeten, J.P.M.: Software/hardware engineering with the parallel object-oriented specification language. In: MEMOCODE 2007: Proceedings of the 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign, Washington, DC, USA, pp. 139–148. IEEE Computer Society, Los Alamitos (2007)
Völter, M.: A Catalog of Patterns for Program Generation. In: Eighth European Conference on Pattern Languages of Programs (EuroPLop) (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van den Brand, M.G.J. (2009). Model-Driven Engineering Meets Generic Language Technology. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds) Software Language Engineering. SLE 2008. Lecture Notes in Computer Science, vol 5452. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00434-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-00434-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-00433-9
Online ISBN: 978-3-642-00434-6
eBook Packages: Computer ScienceComputer Science (R0)