Construction and Evolution of Code Generators A Model-Driven and Service-Oriented Approach / [electronic resource] : edited by Sven Jörges. - 1st ed. 2013. - XXIV, 246 p. 75 illus. online resource. - Programming and Software Engineering, 7747 2945-9168 ; . - Programming and Software Engineering, 7747 .

The state of the art in code generation -- Extreme model-driven development and jABC -- The Genesys framework -- Code generators for jABC -- Verification and validation of code generators -- Domain-specific code generators for EMF -- Service-oriented combination of code generation frameworks.

Automatic code generation is an essential cornerstone of model-driven approaches to software development. Currently, lots of techniques are available that support the specification and implementation of code generators, such as engines based on templates or rule-based transformations. All those techniques have in common that code generators are either directly programmed or described by means of textual specifications. This monograph presents Genesys, a general approach, which advocates the graphical development of code generators for arbitrary source and target languages, on the basis of models and services. In particular, it is designed to support incremental language development on arbitrary metalevels. The use of models allows building code generators in a truly platform-independent and domain-specific way. Furthermore, models are amenable to formal verification methods such as model checking, which increase the reliability and robustness of the code generators. Services enable the reuse and integration of existing code generation frameworks and tools regardless of their complexity, and at the same time manifest as easy-to-use building blocks which facilitate agile development through quick interchangeability. Both, models and services, are reusable and thus form a growing repository for the fast creation and evolution of code generators.

9783642361272

10.1007/978-3-642-36127-2 doi


Compilers (Computer programs).
Software engineering.
Information technology--Management.
Compilers and Interpreters.
Software Engineering.
Computer Application in Administrative Data Processing.

QA76.76.C65

005.45