Open PROMOL: A Meta-Language for Heterogeneous Meta-Programming

Though other authors (see a review in [DKV00]) have suggested many interesting ideas, models and solutions, nevertheless, it was difficult to find a language at the time that would suit best for expressing explicitly the composition, modification and generalization simultaneously. As a consequence, we have designed the language Open PROMOL aiming at the development of generic specifications, which specify the wide range modifications of target language (also domain language) programs to support the design of generic components and generators. Our approach has some similarities and differences in the model as well as in the implemented concepts to Bassett’s frame commands [Bas97].

[1]  Marjan Mernik,et al.  A preliminary study on various implementation approaches of domain-specific language , 2008, Inf. Softw. Technol..

[2]  Benjamin W. Wah,et al.  Wiley Encyclopedia of Computer Science and Engineering , 2009, Wiley Encyclopedia of Computer Science and Engineering.

[3]  Victor L. Winter,et al.  Program Transformation: What, How, and Why , 2007, Wiley Encyclopedia of Computer Science and Engineering.

[4]  Barry Boehm,et al.  The Changing Nature of Software Evolution , 2010 .

[5]  Vytautas Štuikys,et al.  MEASURING COMPLEXITY OF DOMAIN MODELS REPRESENTED BY FEATURE DIAGRAMS , 2015 .

[6]  P. S. Grover,et al.  Measuring changeability for generic aspect-oriented systems , 2008, SOEN.

[7]  Vytautas Štuikys,et al.  Open PROMOL: An Experimental Language for Target Program Modification , 2002 .

[8]  Frank Vahid,et al.  Parameterized system design , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[9]  Todd L. Veldhuizen,et al.  Using C++ template metaprograms , 1996 .

[10]  Dirk Deridder Facilitating Software Maintenance and Reuse Activities with a Concept-oriented Approach , 2002 .

[11]  Barry W. Boehm Perspectives [The changing nature of software evolution; The inevitability of evolution] , 2010, IEEE Softw..

[12]  J F Ramil,et al.  Cost Estimation and Evolvability Monitoring for Software Evolution Processes , 2000 .

[13]  Maria João Varanda Pereira,et al.  Domain specific languages: a theoretical survey , 2009 .

[14]  Leonor Barroca,et al.  Software architectures - advances and applications , 1999 .

[15]  Carolyn M. Hall,et al.  Encyclopedia of Library and Information Science , 1971 .

[16]  Ahmed Amine Jerraya,et al.  MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN , 2001 .

[17]  Günter Kniesel,et al.  GAP: Generic Aspects for PHP , 2006 .

[18]  Václav Rajlich,et al.  Changing the paradigm of software engineering , 2006, CACM.

[19]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[20]  Nuno Oliveira,et al.  Comparing general-purpose and domain-specific languages: An empirical study , 2010, Comput. Sci. Inf. Syst..

[21]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[22]  Ahmed Amine Jerraya,et al.  System-level synthesis , 1999 .

[23]  Tom Mens,et al.  Towards a taxonomy of software change , 2005, J. Softw. Maintenance Res. Pract..

[24]  Milo M. K. Martin,et al.  Timestamp snooping: an approach for extending SMPs , 2000, ASPLOS.

[25]  Romain Robbes,et al.  A Change-based Approach to Software Evolution , 2006, EVOL.

[26]  Anthony Skjellum,et al.  A metaprogramming approach to generating optimized code for algorithms in linear algebra , 2005, ACM-SE 43.

[27]  Bente Anda,et al.  Understanding software maintenance and evolution by analyzing individual changes: a literature review , 2009 .

[28]  Beat Fluri Assessing Changeability by Investigating the Propagation of Change Types , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[29]  Nacer-Eddine Zergainoh,et al.  Multilanguage design of heterogeneous systems , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

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

[31]  Eugenio Villar,et al.  System on Chip Design Languages , 2002, Springer US.

[32]  Michael W. Godfrey,et al.  The past, present, and future of software evolution , 2008, 2008 Frontiers of Software Maintenance.

[33]  Eelco Visser,et al.  WebDSL: A Case Study in Domain-Specific Language Engineering , 2007, GTTSE.

[34]  Ahmed Amine Jerraya,et al.  Multi-language system design , 1999, DATE '99.

[35]  Paul Hudak,et al.  Modular domain specific languages and tools , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[36]  Robertas Damasevicius,et al.  Two approaches for developing generic components in VHDL , 2001, DATE '01.

[37]  Paul G. Bassett,et al.  Framing software reuse: lessons from the real world , 1996 .

[38]  Massimo Felici,et al.  Taxonomy of Evolution and Dependability , 2003 .

[39]  Oscar Nierstrasz,et al.  Components, Scripts and Glue , 2000 .

[40]  László Vidács,et al.  Software Maintenance Methods for Preprocessed Languages , 2009 .

[41]  K. C. Chang Digital Design and Modeling with VHDL and Synthesis , 1997 .

[42]  Jean-Guy Schneider,et al.  Components, Scripts, and Glue: A conceptual framework for software composition , 1999 .

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

[44]  John K. Ousterhout,et al.  Scripting: Higher-Level Programming for the 21st Century , 1998, Computer.

[45]  Tom Mens,et al.  Formalising Behaviour Preserving Program Transformations , 2002, ICGT.