Autogenerator: Generation and execution of programming code on demand

While generating program files that can be executed afterwards is widely established in Automatic programming, the generation of programming code and its execution on demand without creating program files is still a challenge. In the approach presented in this paper a generator entitled Autogenerator uses the ability of scripting languages to evaluate programming code from a variable. The main benefits of this approach lie in facilitating the application change during its execution on the one hand and in dependencies update on the other. Autogenerator can be useful in the development of a common Generative programming application for previewing the application before the generation of the final release. With the aim of examining specific facets of the autogeneration process, we also conducted performance tests. Finally, the presented model of Autogenerator is verified through the development of an application for the creation and handling of Universal Business Language documents.

[1]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[2]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[3]  Danijel Radosevic,et al.  Dynamic Generation of Web Services for Data Retrieval Using Ontology , 2009, Informatica.

[4]  Danijel Radošević,et al.  Python implementation of source code generator based on dynamic frames , 2011, 2011 Proceedings of the 34th International Convention MIPRO.

[5]  Danijel Radošević,et al.  Source Code Generator Based on Dynamic Frames , 2011 .

[6]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006 .

[7]  Long Tang,et al.  XVCL-An Annotative Approach to Feature-Oriented Programming , 2010, 2010 International Conference on Computational Intelligence and Software Engineering.

[8]  Weishan Zhang,et al.  XVCL: XML-based variant configuration language , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  Iris Groher,et al.  Aspect-Oriented Model-Driven Software Product Line Engineering , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[10]  Mario Konecki,et al.  Java Applications Development Based on Component and Metacomponent Approach , 2008 .

[11]  Danijel Radošević,et al.  Automatic On-Line Generation of Student's Exercises in Teaching Programming , 2010 .

[12]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[13]  Max Schlee,et al.  Generative Programming of graphical user interfaces , 2004, MBUI.

[14]  Rajeev R. Raje,et al.  UniFrame: A Unified Framework for Developing Service-Oriented, Component-Based Distributed Software Systems , 2005 .

[15]  Stan Jarzabek,et al.  XML-based method and tool for handling variant requirements in domain models , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[16]  Robertas Damasevicius,et al.  Scripting Language Open PROMOL and its Processor , 2000, Informatica.

[17]  William G. Griswold,et al.  Getting started with ASPECTJ , 2001, CACM.

[18]  Krzysztof Czarnecki,et al.  Overview of Generative Software Development , 2004, UPP.

[19]  Danijel Radošević,et al.  Error Messaging in Generative Programming , 2011 .

[20]  Tihomir Orehovacki,et al.  Towards software autogeneration , 2012, 2012 Proceedings of the 35th International Convention MIPRO.

[21]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[22]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[23]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[24]  Paul Bassett,et al.  The Case for Frame-Based Software Engineering , 2007, IEEE Software.

[25]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[26]  Luis de la Torre,et al.  Exemplar driven development of software product lines , 2012, Expert Syst. Appl..

[27]  Ling Yuan,et al.  Modeling and Customization of Fault Tolerant Architecture using Object-Z/XVCL , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[28]  Juliano Lopes de Oliveira,et al.  An early aspect for model-driven transformers engineering , 2011, EA@AOSD.

[29]  Lidia Fuentes,et al.  Feature-Oriented Model-Driven Software Product Lines: The TENTE Approach , 2009, CAiSE Forum.

[30]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[31]  Enn Tyugu,et al.  Visual tool for generative programming , 2005, ESEC/FSE-13.

[32]  Stan Jarzabek,et al.  XVCL: a mechanism for handling variants in software product lines , 2004, Sci. Comput. Program..

[33]  Robert J. Walker,et al.  Separating Concerns with Hyper/J TM : An Experience Report , 2000 .

[34]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using domain-specific modeling languages and code generators , 2003, OOPSLA '03.

[35]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[36]  Mario Konecki,et al.  PHP Scripts Generator for Remote Database Administration Based on C++ Generative Objects , 2007 .

[37]  Weishan Zhang,et al.  Supporting Product Line Evolution with Framed Aspects , 2004 .

[38]  Juan de Lara,et al.  Defining visual notations and their manipulation through meta-modelling and graph transformation , 2004, J. Vis. Lang. Comput..

[39]  Gunter Saake,et al.  Code generation to support static and dynamic composition of software product lines , 2008, GPCE '08.

[40]  Don S. Batory,et al.  The GenVoca model of software-system generators , 1994, IEEE Software.

[41]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[42]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .