Meta-Programming Task Specification Using Feature-Based Patterns and Domain Program Scenarios

The development of a meta-program includes two interrelated stages: (1) task specification resulting in creating of a specification model and (2) transformation of the model into a meta-program representation. In Chap. 10, we focus on the specification task. In general, the needed data to consider the task comes from three sources: requirements for generalization, domain model and domain program that is to be generalized. We accept that the domain model is obtained through domain analysis and the domain is represented by Feature Diagram(s). As Feature Diagrams may be general enough (e.g. they may represent the entire domain to be implemented as a software system), we need to analyse the model and extract some model patterns that are relevant to construct domain generators.

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

[2]  Dennis B. Smith,et al.  Coming Attractions in Program Understanding , 1996 .

[3]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

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

[5]  Gerald T. Mackulak,et al.  Analogy-based domain analysis approach to software reuse , 2006, Requirements Engineering.

[6]  Brian F. Chellas Modal Logic: Normal systems of modal logic , 1980 .

[7]  Maria João Varanda Pereira,et al.  Program comprehension for domain-specific languages , 2008, Comput. Sci. Inf. Syst..

[8]  Nuno Oliveira,et al.  Influence of domain-specific notation to program understanding , 2009, 2009 International Multiconference on Computer Science and Information Technology.

[9]  Margaret-Anne D. Storey,et al.  Theories, Methods and Tools in Program Comprehension: Past, Present and Future , 2005, IWPC.

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

[11]  Robertas Damasevicius,et al.  On The Human, Organizational, and Technical Aspects of Software Development and Analysis , 2008, ISD.

[12]  Tim Trew,et al.  Using Feature Diagrams with Context Variability to Model Multiple Product Lines for Software Supply Chains , 2008, 2008 12th International Software Product Line Conference.

[13]  Ben Shneiderman,et al.  Software psychology: Human factors in computer and information systems (Winthrop computer systems series) , 1980 .

[14]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[15]  Susan Wiedenbeck,et al.  Beacons in Computer Program Comprehension , 1986, Int. J. Man Mach. Stud..

[16]  Juha Savolainen,et al.  Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line , 2002, SPLC.

[17]  Anneliese Amschler Andrews,et al.  Program Understanding: Models and Experiments , 1995, Adv. Comput..

[18]  James D. Herbsleb,et al.  Program comprehension as fact finding , 2007, ESEC-FSE '07.

[19]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[20]  Jianjun Zhao,et al.  Specifying Pointcuts in AspectJ , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[21]  R. Burbaite,et al.  Product variation sequence modelling using feature diagrams and modal logic , 2011, 2011 IEEE 12th International Symposium on Computational Intelligence and Informatics (CINTI).

[22]  Arun Lakhotia,et al.  Program comprehension , 1999 .

[23]  Takuya Katayama,et al.  Proceedings of the 15th international conference on Software Engineering , 1982, ICSE 1993.