Abstract
In model-driven engineering (MDE) program code generators are used to generate program code from abstract program models, thus bringing the final code closer to program specification and saving time that would be spent in coding. Current approach to program code generation from abstract program models does not work well in quickly evolving environments due to the large amount of work that is required to fully prepare and maintain program code generator. This chapter presents analysis of current approach to program code generation and presents an alternative approach tailored for generating program code in quickly evolving environments by using self-configuring program code generator.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This work is supported by Lithuanian State Science and Studies Foundation according to High Technology Development Program Project VeTIS, Reg.No. B-07042
References
Albin-Amiot, H., Cointe, P., Guéhéneuc, Y.G., Jussien, N. (2001) Instantiating and detecting design patterns: Putting bits and pieces together. In ASE, pp. 166–173. IEEE Computer Society.
Asencio, A., Cardman, S., Harris, D., Laderman, E. (2002) Relating expectations to automatically recovered design patterns. In Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE’02), pp. 87–96. Washington, DC, USA: IEEE Computer Society.
Brooks, F.P. (1987) No silver bullet – essence and accidents of software engineering. IEEE Computer, April: 10–19
Christensen, K., Olesen, T.H., Thomsen, L.L. (2006) Matching semantically described web services using ontologies. Information Technology and Control, 35(3A):267–275
Czarnecki, K., Helsen, S. (2003) Classification of model transformation approaches. In Workshop on Generative Techniques in the Context of MD (OOPSLA 2003), Anaheim, CA, USA (available at http://www.swen.uwaterloo.ca/~kczarnec/ECE750T7/czarnecki_helsen.pdf)
Eisenbarth, T., Koschke, R., Simon D. (2001) Feature-driven program understanding using concept analysis of execution traces. In 9th International Workshop on Program Comprehension, pp. 300–309. IEEE Computer Society.
Fabry, J., Mens, T. (2004) Language independent detection of object-oriented design patterns. Computer Languages, Systems and Structures, 30(1–2):21–33
Ferenc, R., Beszedes, A.,Fulop, L.,Lele, J. (2005) Design pattern mining enhanced by machine learning. InProceedings of the 21st IEEE International Conference on Software Maintenance, pp. 295–304. Washington, DC, USA: IEEE Computer Society.
Gannod, G.C., Cheng, B.H.C. (1999) A framework for classifying and comparing software reverse engineering and design recovery techniques. In Working Conference on Reverse Engineering, pp. 77–88.
Ganter, B. and Wille, R. (1998) Applied lattice theory: Formal concept analysis. In General Lattice Theory, pp. 591–605. Birkhäuser Verlag, Basel.
Glass, R.L. (1996) Some thoughts on automatic code generation. The Data Base for Advances in Information Systems, 27(2): 16–18
Gueheneuc, Y.G., Sahraoui, H., Zaidi, F. (2004) Fingerprinting design patterns. In Proceedings of the 11th Working Conference on Reverse Engineering, pp. 172–181. Washington, DC, USA: IEEE Computer Society.
Herrington, J. (2003) Code Generation in Action. Manning Publications Co.
Heuzeroth, D., Holl, T., Högström, G., Löwe, W. (2003) Automatic design pattern detection. In Proceedings 11th IEEE International Workshop on Program Comprehension IWPC, pp. 94–104. IEEE Computer Society.
Heyse, W., Jonckers, V., Wagelaar, D. (2005) Generic Code Generation Approaches, Apprenticeship Report.
Kent, S. (2002) Model driven engineering. In Proceedings of Third International Conference on Integrated Formal Methods (IFM 2002), LNCS 2335, pp. 286–298. Springer.
Lindig, C., Snelting, G. (1997) Assessing modular structure of legacy code based on mathematical concept analysis. In Proceedings of the 1997 International Conference on Software Engineering, pp. 349–359. ACM Press.
Miller, J., Mukerji, J. (2003) MDA Guide Version 1.0.1, Retrieved June 01, 2007 from: http://www.omg.org/cgi-bin/apps/doc?omg/03-06-01.pdf
Niere, J., Wadsack, J., Zundorf, A. (2001) Recovering UML Diagrams from Java Code using Patterns. In Proceedings of the 2-nd Workshop on Soft Computing Applied to Software Engineering. Enschede, The Netherlands.
Niere, J., Schäfer, W., Wadsack, J.P., Wendehals, L., Welsh, J. (2002) Towards pattern based design recovery. In Proceedings of the 24th International Conference on Software Engineering, pp. 338–348. New York, NY, USA: ACM.
OMG Unified Modelling Language (OMG UML) Superstructure (2008), V2.1.2, Retrieved April 01, 2008 from: http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF/
Paradauskas, B., Laurikaitis, A. (2006) Business knowledge extraction from legacy information systems. Information Technology and Control, 35(3):214–221
Sauer, F. (2002) Metadata driven multi-artifact code generation using frame oriented programming. In OOPSLA 2002 Workshop “Generative Techniques in the Context of Model Driven Architecture”, November 5, Seattle, WA.
Shi, N., Olsson, R.A. (2006) Reverse engineering of design patterns from java source code. In Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering, pp. 123–134. Washington, DC, USA: IEEE Computer Society.
Siff, M., Reps, T. (1997) Identifying modules via concept analysis. In Proceedings of the International Conference on Software Maintenance, pp. 170–179. IEEE Computer Society.
Smith, J., Stotts, D. (2002) Elemental Design Patterns: A Logical Inference System and Theorem Prover Support for Flexible Discovery of Design Patterns. Department of Computer Science, University of North Carolina, Technical Report TR02-038.
Snelting, G. (1998) Concept analysis – a new framework for program understanding. In SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE), Montreal, Canada, pp. 1–10.
Snelting, G., Tip, F. (2000) Understanding class hierarchies using concept analysis. In ACM Transanctions on Programming Languages and Systems, pp. 540–582.
Systa, T. (1999) On the Relationship between static and dynamic models in reverse engineering java software. In Proceedings of the 6th Working Conference on Reverse Engineering (WCRE99), pp. 304–313.
Tilley, T., Cole, R., Becker, P., Eklund, P. (2004) A survey of formal concept analysis support for software engineering activities. In Proceedings of the First International Conference on Formal Concept Analysis ICFCA’03, LNCS 3626, pp. 250–271. Springer-Verlag.
Tonella, P., Ceccato, M. (2004) Aspect Mining though the Formal Concept Analysis of Execution Traces, IRST Technical Report.
Tonella, P. (2001) Concept analysis for module restructuring. IEEE Trans on Software Engineering, 27(4):351–363
Tonella, P., Antoniol, G. (1999) Object Oriented Design Pattern Inference. In Proceedings of the 5th Symposium on Software Development Environments (SDE5), pp. 230–238. IEEE Computer Society.
Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., Halkidis, S.T. (2006) Design pattern detection using similarity scoring. IEEE Transanctions on Software Engineering, 32: 896–909.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Ablonskis, L. (2009). An Approach to Generating Program Code in Quickly Evolving Environments. In: Papadopoulos, G., Wojtkowski, W., Wojtkowski, G., Wrycza, S., Zupancic, J. (eds) Information Systems Development. Springer, Boston, MA. https://doi.org/10.1007/b137171_27
Download citation
DOI: https://doi.org/10.1007/b137171_27
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-84809-9
Online ISBN: 978-0-387-84810-5
eBook Packages: Computer ScienceComputer Science (R0)