Abstract
Code generation automatically produces executable code by software. Model-driven code generation is currently the most flexible and scalable generative technique, but there are many complaints about the complexity it introduces into the development process, and the design decisions imposed on the code. Here, an agile code-oriented model-driven generative methodology is outlined that reduces complexity and allows the engineer to define the exact form of the produced code and embrace change in the requirements in an automated manner. A flexible tool, ECGF, supports this methodology, and a case study in rapid generation of large-scale HTML documents is outlined.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Mangano, S.: XSLT Cook Book. O. Reilly, New York (2003)
Herrington, J.: Code generation in Action. Manning (2004)
OMG. Model driven architecture official web-site, http://www.omg.org/mda/
XDoclet development team. http://xdoclet.sourceforge.net
Velocity development team. http://jakarta.apache.org/velocity
Code generation is a design smell. http://c2.com/cgi/wiki?CodeGenerationIsaDesignSmell
van der Vlist, E.: XML Schema. O. Reilly, New York (2002)
Beck, K.: Extreme Programming Explained. AWL (1999)
OMG. UML 1.4 Metamodel, http://www.omg.org/uml
OMG. CWM Metamodel, http://www.omg.org/cwm
Modelware Integrated Project. http://www.modelware-ist.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kolovos, D.S., Paige, R.F., Polack, F.A.C. (2005). An Agile and Extensible Code Generation Framework. In: Baumeister, H., Marchesi, M., Holcombe, M. (eds) Extreme Programming and Agile Processes in Software Engineering. XP 2005. Lecture Notes in Computer Science, vol 3556. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11499053_33
Download citation
DOI: https://doi.org/10.1007/11499053_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26277-0
Online ISBN: 978-3-540-31487-5
eBook Packages: Computer ScienceComputer Science (R0)