DEVELOPMENT OF WEB COMPONENT GENERATORS USING ONE-STAGE METAPROGRAMMING

We consider a methodology for the development and application of a class of generators that are externally parameterized tools enabling to generate Web component instances on demand depending on the context of use. Such generators are generalized entities of conventional Web components that indeed are lower-level generators for the portal domain. We use one-stage heterogeneous metaprogramming techniques for implementing the externally parameterized metaprograms as a specification of the generators. The first our contribution is a systemized process to create the externally parameterized metaprograms for building Web domain generators. The process describes a logical linking into the coherent structure of the following entities: semantic model for change, program generator model, Web component instance model, and given metalanguages. The second our contribution is the complexity estimation of Web component generators that were developed and used for generating Web component instances to incorporate them into real portal settings. The complexity is estimated using the Kolmogorov’s complexity measures and Cyclomatic Complexity. We analyze also specific features and characteristics of the developed generators.

[1]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[2]  Ira D. Baxter Transformation Systems: Generative Reuse for Software Generation, Maintenance and Reengineering , 2002, ICSR.

[3]  Stan Jarzabek,et al.  A Need-Oriented Assessment of Technological Trends in Web Engineering , 2005, ICWE.

[4]  Abdelmajid Ben Hamadou,et al.  GIWA: A generator for adaptive Web applications , 2006, Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services (AICT-ICIW'06).

[5]  Tushar K. Hazra Building enterprise portals: principles to practice , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[6]  Andrew M. Odlyzko,et al.  The Size and Growth Rate of the Internet , 1999, First Monday.

[7]  Oscar Díaz,et al.  Generative metaprogramming , 2007, GPCE '07.

[8]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[9]  Vytautas Štuikys,et al.  TAXONOMY OF THE FUNDAMENTAL CONCEPTS OF METAPROGRAMMING , 2008 .

[10]  Stan Jarzabek,et al.  Industrial experience with building a web portal product line using a lightweight, reactive approach , 2005, ESEC/FSE-13.

[11]  Walid Taha,et al.  Multi-Stage Programming: Its Theory and Applications , 1999 .

[12]  Cristina V. Lopes,et al.  Survey of Technologies for Web Application Development , 2008, ArXiv.

[13]  Stan Jarzabek,et al.  Eliminating redundancies with a "composition with adaptation" meta-programming technique , 2003, ESEC/FSE-11.

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

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

[16]  Ted J. Biggerstaff,et al.  A perspective of generative reuse , 1998, Ann. Softw. Eng..

[17]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[18]  Krešimir Fertalj,et al.  A critique of Web application generators , 2003, Proceedings of the 25th International Conference on Information Technology Interfaces, 2003. ITI 2003..

[19]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[20]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[21]  Maria João Varanda Pereira,et al.  Comparing generators for language-based tools , 2007 .

[22]  Vytautas Štuikys,et al.  Metaprogramming techniques for designing embedded components for ambient intelligence , 2003 .

[23]  Peter J. Ashenden,et al.  The Designer's Guide to VHDL , 1995 .

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

[25]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[26]  Elizabeth M. Losh,et al.  Assembly lines: web generators as hypertexts , 2007, HT '07.

[27]  Rubén Prieto-Díaz,et al.  Status report: software reusability , 1993, IEEE Software.

[28]  Peter Grogono Designing for change , 1994, CASCON.

[29]  Robertas Damasevicius On the quantitative estimation of abstraction level increase in metaprograms , 2006, Comput. Sci. Inf. Syst..