% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/program-transformation @inproceedings{UngarS87, title = {Self: The Power of Simplicity}, author = {David Ungar and Randall B. Smith}, year = {1987}, tags = {programming languages, object-oriented programming, rule-based, meta programming, Self, prototype, programming, subject-oriented programming, Meta-Environment, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/UngarS87}, cites = {0}, citedby = {0}, pages = {227-242}, booktitle = {OOPSLA}, } @inproceedings{805947, title = {REL: A Rapidly Extensible Language system}, author = {Thompson, F. B. and Lockemann, P. C. and Dostert, B. and Deverill, R. S.}, year = {1969}, doi = {10.1145/800195.805947}, url = {http://doi.acm.org/10.1145/800195.805947}, tags = {C++, extensible language}, researchr = {https://researchr.org/publication/805947}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 1969 24th national conference}, address = {New York, NY, USA}, publisher = {ACM}, } @inproceedings{MasuharaKD03, title = {A Compilation and Optimization Model for Aspect-Oriented Programs}, author = {Hidehiko Masuhara and Gregor Kiczales and Christopher Dutchyn}, year = {2003}, url = {http://link.springer.de/link/service/series/0558/bibs/2622/26220046.htm}, tags = {optimization, object-oriented programming, AOP, object-role modeling, aspect oriented programming, subject-oriented programming, program optimization, feature-oriented programming}, researchr = {https://researchr.org/publication/MasuharaKD03}, cites = {0}, citedby = {0}, pages = {46-60}, booktitle = {Compiler Construction, 12th International Conference, CC 2003, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003, Warsaw, Poland, April 7-11, 2003, Proceedings}, editor = {Görel Hedin}, volume = {2622}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-00904-3}, } @inproceedings{KiczalesHHKPG01, title = {An Overview of AspectJ}, author = {Gregor Kiczales and Erik Hilsdale and Jim Hugunin and Mik Kersten and Jeffrey Palm and William G. Griswold}, year = {2001}, url = {http://link.springer.de/link/service/series/0558/bibs/2072/20720327.htm}, tags = {AspectJ, object-oriented programming, Java, meta programming, meta-model, AOP, model-driven development, object-role modeling, aspect oriented programming, compiler, subject-oriented programming, Meta-Environment, feature-oriented programming}, researchr = {https://researchr.org/publication/KiczalesHHKPG01}, cites = {0}, citedby = {1}, pages = {327-353}, booktitle = {ECOOP 2001 - Object-Oriented Programming, 15th European Conference, Budapest, Hungary, June 18-22, 2001, Proceedings}, editor = {Jørgen Lindskov Knudsen}, volume = {2072}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-42206-4}, } @inproceedings{SmithU95, title = {Programming as an Experience: The Inspiration for Self}, author = {Randall B. Smith and David Ungar}, year = {1995}, url = {http://link.springer.de/link/service/series/0558/bibs/0952/09520303.htm}, tags = {programming languages, object-oriented programming, semantics, meta programming, Self, source-to-source, aspect oriented programming, programming, subject-oriented programming, abstraction, Meta-Environment, feature-oriented programming, open-source, meta-objects}, researchr = {https://researchr.org/publication/SmithU95}, cites = {0}, citedby = {0}, pages = {303-330}, booktitle = {ECOOP 95 - Object-Oriented Programming, 9th European Conference, Åarhus, Denmark, August 7-11, 1995, Proceedings}, editor = {Walter G. Olthoff}, volume = {952}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-60160-0}, } @inproceedings{ColyerGJKT05, title = {Aspects: passing fad or new foundation?}, author = {Adrian M. Colyer and Jack Greenfield and Ivar Jacobson and Gregor Kiczales and Dave A. Thomas}, year = {2005}, doi = {10.1145/1094855.1094977}, url = {http://doi.acm.org/10.1145/1094855.1094977}, tags = {object-oriented programming, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/ColyerGJKT05}, cites = {0}, citedby = {0}, pages = {376-377}, booktitle = {Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, October 16-20, 2005, San Diego, CA, USA}, editor = {Ralph E. Johnson and Richard P. Gabriel}, publisher = {ACM}, isbn = {1-59593-193-7}, } @inproceedings{BaggeKHV03, title = {Design of the {CodeBoost} Transformation System for Domain-Specific Optimisation of {C++} Programs}, author = {Anya Helene Bagge and Karl Trygve Kalleberg and Magne Haveraaen and Eelco Visser}, year = {2003}, doi = {10.1109/SCAM.2003.1238032}, url = {https://doi.org/10.1109/SCAM.2003.1238032}, tags = {programming languages, model-to-model transformation, rule-based, program analysis, application framework, graph transformation, CodeBoost, embedded software, Stratego/XT, transformation language, points-to analysis, domain analysis, analysis, language design, source-to-source, graph-rewriting, rules, C++, transformation system, compiler, model transformation, rewriting, parsing, design, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BaggeKHV03}, cites = {0}, citedby = {0}, pages = {65}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @article{FitzpatrickHSCB97, title = {The Automated Transformation of Abstract Specifications of Numerical Algorithms into Efficient Array Processor Implementations}, author = {Stephen Fitzpatrick and Terence J. Harmer and Alan Stewart and Maurice Clint and James M. Boyle}, year = {1997}, tags = {transformation}, researchr = {https://researchr.org/publication/FitzpatrickHSCB97}, cites = {0}, citedby = {0}, journal = {Science of Computer Programming}, volume = {28}, number = {1}, pages = {1-41}, } @inproceedings{WadaS05, title = {Modeling Turnpike Frontend System: A Model-Driven Development Framework Leveraging UML Metamodeling and Attribute-Oriented Programming}, author = {Hiroshi Wada and Junichi Suzuki}, year = {2005}, doi = {10.1007/11557432_44}, url = {http://dx.doi.org/10.1007/11557432_44}, tags = {object-oriented programming, meta programming, meta-model, modeling, UML, model-driven development, object-role modeling, programming, subject-oriented programming, Meta-Environment, feature-oriented programming}, researchr = {https://researchr.org/publication/WadaS05}, cites = {0}, citedby = {0}, pages = {584-600}, booktitle = {Model Driven Engineering Languages and Systems, 8th International Conference, MoDELS 2005, Montego Bay, Jamaica, October 2-7, 2005, Proceedings}, editor = {Lionel C. Briand and Clay Williams}, volume = {3713}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-29010-9}, } @inproceedings{KiczalesLLMMM97, title = {Open Implementation Design Guidelines}, author = {Gregor Kiczales and John Lamping and Cristina Videira Lopes and Chris Maeda and Anurag Mendhekar and Gail C. Murphy}, year = {1997}, doi = {10.1145/253228.253431}, url = {http://doi.acm.org/10.1145/253228.253431}, tags = {object-oriented programming, AOP, source-to-source, C++, aspect oriented programming, subject-oriented programming, design, feature-oriented programming, open-source}, researchr = {https://researchr.org/publication/KiczalesLLMMM97}, cites = {0}, citedby = {0}, pages = {481-490}, booktitle = {ICSE}, } @misc{Oliveira:2005, title = {Boo Manifesto}, author = {Rodrigo Barreto de Oliveira}, year = {2005}, url = {http://boo.codehaus.org/BooManifesto.pdf}, tags = {Boo, extensible language}, researchr = {https://researchr.org/publication/Oliveira%3A2005}, cites = {0}, citedby = {0}, howpublished = {Website}, } @article{KiczalesHHKPG01:0, title = {Getting started with ASPECTJ}, author = {Gregor Kiczales and Erik Hilsdale and Jim Hugunin and Mik Kersten and Jeffrey Palm and William G. Griswold}, year = {2001}, tags = {AspectJ, object-oriented programming, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/KiczalesHHKPG01%3A0}, cites = {0}, citedby = {0}, journal = {Communications of the ACM}, volume = {44}, number = {10}, pages = {59-65}, } @inproceedings{OlmosV05, title = {Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules}, author = {Karina Olmos and Eelco Visser}, year = {2005}, doi = {10.1007/978-3-540-31985-6_14}, url = {https://doi.org/10.1007/978-3-540-31985-6_14}, tags = {programming languages, model-to-model transformation, optimization, rule-based, intermediate representation, program analysis, meta programming, data-flow language, graph transformation, meta-model, dynamic rewrite rules, modeling language, modeling, variable binding, Stratego/XT, model refactoring, refactoring, transformation language, language modeling, composition, dynamic rules, points-to analysis, domain analysis, dependent dynamic rewrite rules, analysis, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, rule-based refactoring, compiler, model transformation, programming, program optimization, Meta-Environment, rewriting, data-flow analysis, systematic-approach, rewriting strategies, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/OlmosV05}, cites = {0}, citedby = {0}, pages = {204-220}, booktitle = {Compiler Construction, 14th International Conference, CC 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4-8, 2005, Proceedings}, editor = {Rastislav Bodík}, volume = {3443}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-25411-0}, } @inproceedings{HemelVV08, title = {{WebWorkFlow}: An Object-Oriented Workflow Modeling Language for Web Applications}, author = {Zef Hemel and Ruben Verhaaf and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-87875-9_8}, url = {http://dx.doi.org/10.1007/978-3-540-87875-9_8}, tags = {workflow patterns, model-to-model transformation, interaction design, WebDSL, transformation engineering, completeness, pattern language, meta-model, modeling language, modeling, language engineering, transformation language, language modeling, web engineering, language design, model-driven development, source-to-source, model-driven engineering, object-role modeling, model transformation, web applications, DSL, abstraction, Meta-Environment, workflow, process modeling, WebWorkFlow, meta-objects, transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelVV08}, cites = {0}, citedby = {6}, pages = {113-127}, booktitle = {Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings}, editor = {Krzysztof Czarnecki and Ileana Ober and Jean-Michel Bruel and Axel Uhl and Markus Völter}, volume = {5301}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-87874-2}, } @article{JohannV00, title = {Warm fusion in {Stratego}: A case study in generation of program transformation systems}, author = {Patricia Johann and Eelco Visser}, year = {2000}, doi = {10.1023/A:1018956702672}, url = {http://dx.doi.org/10.1023/A:1018956702672}, tags = {programming languages, optimization, rule-based, data-flow language, generic programming, case study, graph transformation, Stratego/XT, traversal, deforestation, transformation language, functional programming, language design, Haskell, data-flow programming, little language, data-flow, graph-rewriting, rules, programming paradigms, code generation, warm fusion, transformation system, programming, program optimization, higher-order transformations, rewriting, design, extensible language, rewriting strategies, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/JohannV00}, cites = {1}, citedby = {0}, journal = {Annals of Mathematics and Artificial Intelligence}, volume = {29}, number = {1-4}, pages = {1-34}, } @misc{xlr-website, title = {XLR: Extensible Language and Runtime website}, year = {2009}, url = {http://xlr.sourceforge.net/}, tags = {extensible language}, researchr = {https://researchr.org/publication/xlr-website}, cites = {0}, citedby = {0}, howpublished = {\url{http://xlr.sourceforge.net/}}, } @article{HarmerMB98, title = {Transformations to Restructure and Re-engineer COBOL Programs}, author = {Terence J. Harmer and Patrick J. McParland and James M. Boyle}, year = {1998}, tags = {Cobol, transformation, program transformation}, researchr = {https://researchr.org/publication/HarmerMB98}, cites = {0}, citedby = {0}, journal = {Automated Software Engineering}, volume = {5}, number = {3}, pages = {321-345}, } @article{BouwersBV08, title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking}, author = {Eric Bouwers and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {10.1016/j.entcs.2008.03.046}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.046}, tags = {programming languages, semantics, rule-based, syntax definition, YACC, precedence rule, SDF, Stratego/XT, language engineering, grammar engineering, PHP, rules, C++, migration, compiler, programming, operational semantics, priority, parsing, scannerless parsing, systematic-approach, ASF+SDF, grammar, Stratego}, researchr = {https://researchr.org/publication/BouwersBV08}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {85-101}, } @article{Visser01-WRS, title = {A Survey of Strategies in Program Transformation Systems}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00270-1}, url = {https://doi.org/10.1016/S1571-0661(04)00270-1}, tags = {programming languages, optimization, rule-based, transformation engineering, graph transformation, reverse engineering, refactoring, language engineering, transformation language, software language engineering, language design, strategies, graph-rewriting, survey, software engineering, rules, transformation system, rule-based refactoring, compiler, programming, program optimization, rewriting, design, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-WRS}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {57}, pages = {109-143}, } @inproceedings{Visser07, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, author = {Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-88643-3_7}, url = {http://dx.doi.org/10.1007/978-3-540-88643-3_7}, tags = {WebDSL, reusable components, DSL engineering, web application development, data-flow language, pattern language, case study, software components, SDF, meta-model, abstract syntax, modeling language, Stratego/XT, language engineering, software language engineering, language modeling, software component, web engineering, language design, reuse, model-driven development, data-flow, survey, software engineering, model-driven engineering, web applications, DSL, Meta-Environment, incremental, design, process modeling, systematic-approach, ASF+SDF, language, Stratego, domain-specific language}, researchr = {https://researchr.org/publication/Visser07}, cites = {0}, citedby = {9}, pages = {291-373}, booktitle = {Generative and Transformational Techniques in Software Engineering II, International Summer School, {GTTSE} 2007}, editor = {Ralf Lämmel and Joost Visser and João Saraiva}, volume = {5235}, series = {Lecture Notes in Computer Science}, address = {Braga, Portugal}, publisher = {Springer}, isbn = {978-3-540-88642-6}, } @article{Visser01-DR, title = {Scoped Dynamic Rewrite Rules}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00298-1}, url = {https://doi.org/10.1016/S1571-0661(04)00298-1}, tags = {programming languages, rule-based, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, graph-rewriting, rules, context-aware, access control, rewriting, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-DR}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {59}, number = {4}, pages = {375-396}, } @inproceedings{AlbertiniRAABA07, title = {A computational reflection mechanism to support platform debugging in SystemC}, author = {Bruno Albertini and Sandro Rigo and Guido Araujo and Cristiano C. de Araujo and Edna Barros and Willians Azevedo}, year = {2007}, doi = {10.1145/1289816.1289838}, url = {http://doi.acm.org/10.1145/1289816.1289838}, tags = {rule-based, data-flow language, case study, meta-model, modeling language, modeling, computational reflection, design complexity, architecture, language modeling, language design, data-flow, source-to-source, C++, object-role modeling, debugging, Meta-Environment, reflection, design, coverage, systematic-approach, open-source, domain-specific language}, researchr = {https://researchr.org/publication/AlbertiniRAABA07}, cites = {0}, citedby = {0}, pages = {81-86}, booktitle = {Proceedings of the 5th International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS 2007, Salzburg, Austria, September 30 - October 3, 2007}, editor = {Soonhoi Ha and Kiyoung Choi and Nikil D. Dutt and Jürgen Teich}, publisher = {ACM}, isbn = {978-1-59593-824-4}, } @inproceedings{HonK06, title = {Fluid AOP join point models}, author = {Terry Hon and Gregor Kiczales}, year = {2006}, doi = {10.1145/1176617.1176687}, url = {http://doi.acm.org/10.1145/1176617.1176687}, tags = {object-oriented programming, AOP, object-role modeling, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/HonK06}, cites = {0}, citedby = {0}, pages = {712-713}, booktitle = {Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA}, editor = {Peri L. Tarr and William R. Cook}, publisher = {ACM}, isbn = {1-59593-491-X}, } @inproceedings{KiczalesM05:0, title = {Aspect-oriented programming and modular reasoning}, author = {Gregor Kiczales and Mira Mezini}, year = {2005}, doi = {10.1145/1062455.1062482}, url = {http://doi.acm.org/10.1145/1062455.1062482}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/KiczalesM05%3A0}, cites = {0}, citedby = {0}, pages = {49-58}, booktitle = {27th International Conference on Software Engineering (ICSE 2005), 15-21 May 2005, St. Louis, Missouri, USA}, editor = {Gruia-Catalin Roman and William G. Griswold and Bashar Nuseibeh}, publisher = {ACM}, } @inproceedings{HermanW08, title = {A Theory of Hygienic Macros}, author = {David Herman and Mitchell Wand}, year = {2008}, doi = {10.1007/978-3-540-78739-6_4}, url = {http://dx.doi.org/10.1007/978-3-540-78739-6_4}, tags = {macros, Hygienic Macro}, researchr = {https://researchr.org/publication/HermanW08}, cites = {0}, citedby = {0}, pages = {48-62}, booktitle = {Programming Languages and Systems, 17th European Symposium on Programming, ESOP 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings}, editor = {Sophia Drossopoulou}, volume = {4960}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-78738-9}, } @article{ward94languageoriented, title = {Language-Oriented Programming}, author = {Martin P. Ward}, year = {1994}, url = {http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf}, tags = {programming languages, object-oriented programming, program analysis, meta programming, language-oriented programming, meta-model, interpreter, reverse engineering, modeling language, language engineering, software language engineering, language modeling, LOP, domain analysis, analysis, language design, reuse, model-driven development, maintenance, software engineering, model-driven engineering, object-role modeling, compiler, programming, subject-oriented programming, Meta-Environment, process modeling, systematic-approach, feature-oriented programming, domain-specific language}, researchr = {https://researchr.org/publication/ward94languageoriented}, cites = {0}, citedby = {0}, journal = {Software --- Concepts and Tools}, volume = {15}, number = {4}, } @inproceedings{OlmosV03, title = {Turning Dynamic Typing into Static Typing by Program Specialization in a Compiler Front-end for {Octave}}, author = {Karina Olmos and Eelco Visser}, year = {2003}, doi = {10.1109/SCAM.2003.1238040}, url = {https://doi.org/10.1109/SCAM.2003.1238040}, tags = {programming languages, type inference, dynamic typing, interpreter, Stratego/XT, transformation language, Octave, language design, type system, type checking, transformation system, compiler, higher-order transformations, program specialization, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV03}, cites = {0}, citedby = {0}, pages = {141-150}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @inproceedings{VerwaestR:CASTA:2009, title = {Safe reflection through polymorphism}, author = {Toon Verwaest and Lukas Renggli}, year = {2009}, doi = {10.1145/1595768.1595776}, url = {http://doi.acm.org/10.1145/1595768.1595776}, tags = {semantics, interpreter, computational reflection, safe reflection, context-aware, Meta-Environment, reflection, meta-objects}, researchr = {https://researchr.org/publication/VerwaestR%3ACASTA%3A2009}, cites = {0}, citedby = {0}, booktitle = {CASTA '09: Proceedings of the first international workshop on Context-aware software technology and applications}, address = {New York, NY, USA}, publisher = {ACM}, isbn = {978-1-60558-707-3}, } @inproceedings{RogersW04, title = {OpenAda: Compile-Time Reflection for Ada 95}, author = {Patrick Rogers and Andy J. Wellings}, year = {2004}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3063&spage=166}, tags = {compiler, reflection}, researchr = {https://researchr.org/publication/RogersW04}, cites = {0}, citedby = {0}, pages = {166-177}, booktitle = {Reliable Software Technologies - Ada-Europe 2004, 9th Ada-Europe International Conference on Reliable Software Technologies, Palma de Mallorca, Spain, June 14-18, 2004, Proceedings}, editor = {Albert Llamosí and Alfred Strohmeier}, volume = {3063}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22011-9}, } @article{Tratt08-TOPLAS, title = {Domain specific language implementation via compile-time meta-programming}, author = {Laurence Tratt}, year = {2008}, doi = {10.1145/1391956.1391958}, url = {http://doi.acm.org/10.1145/1391956.1391958}, tags = {programming languages, meta programming, meta-model, embedded software, model-driven development, compiler, DSL, programming, Meta-Environment, extensible language, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/Tratt08-TOPLAS}, cites = {0}, citedby = {1}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {30}, number = {6}, } @inproceedings{LopesK00:0, title = {Improving design and source code modularity using AspectJ (tutorial session)}, author = {Cristina Videira Lopes and Gregor Kiczales}, year = {2000}, doi = {10.1145/337180.337848}, url = {http://doi.acm.org/10.1145/337180.337848}, tags = {AspectJ, object-oriented programming, AOP, source-to-source, aspect oriented programming, subject-oriented programming, design, feature-oriented programming, open-source}, researchr = {https://researchr.org/publication/LopesK00%3A0}, cites = {0}, citedby = {0}, pages = {825}, booktitle = {ICSE}, } @inproceedings{BravenboerV02, title = {Rewriting Strategies for Instruction Selection}, author = {Martin Bravenboer and Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45610-4_17}, url = {https://doi.org/10.1007/3-540-45610-4_17}, tags = {programming languages, optimization, rule-based, graph transformation, Stratego/XT, instruction selection, transformation language, term rewriting, graph-rewriting, rules, programming paradigms, code generation, programming, program optimization, rewriting, compilers, compilation, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerV02}, cites = {0}, citedby = {0}, pages = {237-251}, booktitle = {Rewriting Techniques and Applications, 13th International Conference, RTA 2002, Copenhagen, Denmark, July 22-24, 2002, Proceedings}, editor = {Sophie Tison}, volume = {2378}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-43916-1}, } @article{WandKD04, title = {A semantics for advice and dynamic join points in aspect-oriented programming}, author = {Mitchell Wand and Gregor Kiczales and Christopher Dutchyn}, year = {2004}, doi = {10.1145/1018203.1018208}, url = {http://doi.acm.org/10.1145/1018203.1018208}, tags = {object-oriented programming, semantics, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/WandKD04}, cites = {0}, citedby = {0}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {26}, number = {5}, pages = {890-910}, } @inproceedings{CoadyKOWF02, title = {Brittle systems will break - not bend: can aspect-oriented programming help?}, author = {Yvonne Coady and Gregor Kiczales and Joon Suan Ong and Andrew Warfield and Michael J. Feeley}, year = {2002}, doi = {10.1145/1133373.1133389}, url = {http://doi.acm.org/10.1145/1133373.1133389}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/CoadyKOWF02}, cites = {0}, citedby = {0}, pages = {79-86}, booktitle = {Proceedings of the 10th ACM SIGOPS European Workshop, Saint-Emilion, France, July 1, 2002}, editor = {Gilles Muller and Eric Jul}, publisher = {ACM}, } @article{McIlroy60, title = {Macro Instruction Extensions of Compiler Languages}, author = {M. Douglas McIlroy}, year = {1960}, doi = {10.1145/367177.367223}, url = {http://doi.acm.org/10.1145/367177.367223}, tags = {macros, compiler, extensible language}, researchr = {https://researchr.org/publication/McIlroy60}, cites = {0}, citedby = {0}, journal = {Communications of the ACM}, volume = {3}, number = {4}, pages = {214-220}, } @inproceedings{TatsuboriCIK99, title = {OpenJava: A Class-Based Macro System for Java}, author = {Michiaki Tatsubori and Shigeru Chiba and Kozo Itano and Marc-Olivier Killijian}, year = {1999}, url = {http://link.springer.de/link/service/series/0558/bibs/1826/18260117.htm}, tags = {macro, rule-based, Java, meta programming, meta-model, macros, Meta-Environment, extensible language, meta-objects}, researchr = {https://researchr.org/publication/TatsuboriCIK99}, cites = {0}, citedby = {1}, pages = {117-133}, booktitle = {Reflection and Software Engineering, Papers from OORaSE 1999, 1st OOPSLA Workshop on Reflection and Software Engineering, Denver, CO, USA, November 1999}, editor = {Walter Cazzola and Robert J. Stroud and Francesco Tisato}, volume = {1826}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-67761-5}, } @inproceedings{FischerV03, title = {Adding Concrete Syntax to a {Prolog}-Based Program Synthesis System (Extended Abstract)}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25938-1_5}, url = {https://doi.org/10.1007/978-3-540-25938-1_5}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, Prolog, rule-based, meta programming, AutoBayes, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, transformation system, model transformation, programming, subject-oriented programming, Meta-Environment, systematic-approach, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/FischerV03}, cites = {0}, citedby = {0}, pages = {56-58}, booktitle = {Logic Based Program Synthesis and Transformation, 13th International Symposium LOPSTR 2003, Uppsala, Sweden, August 25-27, 2003, Revised Selected Papers}, editor = {Maurice Bruynooghe}, volume = {3018}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22174-3}, } @misc{Fowler2004, title = {Language Workbenches: The Killer-App for Domain Specific Languages?}, author = {Martin Fowler}, year = {2005}, url = {http://www.martinfowler.com/articles/languageWorkbench.html}, tags = {programming languages, workbench, object-oriented programming, meta programming, language-oriented programming, meta-model, LOP, model-driven development, programming, subject-oriented programming, language workbench, Meta-Environment, systematic-approach, feature-oriented programming, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/Fowler2004}, cites = {0}, citedby = {3}, } @article{ElradAKLO01, title = {Discussing aspects of AOP}, author = {Tzilla Elrad and Mehmet Aksit and Gregor Kiczales and Karl J. Lieberherr and Harold Ossher}, year = {2001}, tags = {object-oriented programming, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/ElradAKLO01}, cites = {0}, citedby = {0}, journal = {Communications of the ACM}, volume = {44}, number = {10}, pages = {33-38}, } @article{BoyleR00, title = {A Program-Algebraic Approach to Eliminating Common Subexpressions}, author = {James M. Boyle and R. Daniel Resler}, year = {2000}, tags = { algebra, systematic-approach}, researchr = {https://researchr.org/publication/BoyleR00}, cites = {0}, citedby = {0}, journal = {Informatica (Slovenia)}, volume = {24}, number = {3}, } @manual{Boo, title = {Boo Primer}, author = {Cameron Kenneth Knight}, tags = {Boo, extensible language}, researchr = {https://researchr.org/publication/Boo}, cites = {0}, citedby = {0}, } @misc{lopnextprogrammingparadigm, title = {Language Oriented Programming: The Next Programming Paradigm}, author = {Sergey Dmitriev}, year = {2004}, url = {http://www.onboard.jetbrains.com/is1/articles/04/10/lop/mps.pdf}, tags = {programming languages, object-oriented programming, language-oriented programming, LOP, programming paradigms, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/lopnextprogrammingparadigm}, cites = {0}, citedby = {1}, } @article{IchisugiEpp, title = {Modular and Extensible Parser Implementation using Mixins}, author = {Yuuji Ichisugi}, year = {1998}, url = {http://www.etl.go.jp/epp/edoc/epp-parser.pdf}, tags = {parsing}, researchr = {https://researchr.org/publication/IchisugiEpp}, cites = {0}, citedby = {0}, journal = {Transactions of Information Processing Society of Japan}, volume = {39}, } @inproceedings{RogersW05, title = {The Application of Compile-Time Reflection to Software Fault Tolerance Using Ada 95}, author = {Patrick Rogers and Andy J. Wellings}, year = {2005}, doi = {10.1007/11499909_19}, url = {http://dx.doi.org/10.1007/11499909_19}, tags = {compiler, reflection}, researchr = {https://researchr.org/publication/RogersW05}, cites = {0}, citedby = {0}, pages = {236-247}, booktitle = {Reliable Software Technology - Ada-Europe 2005, 10th Ada-Europe International Conference on Reliable Software Technologies, York, UK, June 20-24, 2005, Proceedings}, editor = {Tullio Vardanega and Andy J. Wellings}, volume = {3555}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-26286-5}, } @inproceedings{Chiba95, title = {A Metaobject Protocol for C++}, author = {Shigeru Chiba}, year = {1995}, url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.9788}, tags = {meta-object protocol, meta-model, protocol, C++, Meta-Environment, extensible language, meta-objects}, researchr = {https://researchr.org/publication/Chiba95}, cites = {0}, citedby = {0}, pages = {285-299}, booktitle = {OOPSLA}, } @inproceedings{BachrachP01, title = {The Java Syntactic Extender}, author = {Jonathan Bachrach and Keith Playford}, year = {2001}, url = {http://people.csail.mit.edu/jrb/jse/jse.pdf}, tags = {programming languages, rule-based, Java, meta programming, syntax macros, JSE, meta-model, Java Syntactic Extender, modeling language, language modeling, language design, macros, algebra, Meta-Environment, design, domain-specific language}, researchr = {https://researchr.org/publication/BachrachP01}, cites = {0}, citedby = {0}, pages = {31-42}, booktitle = {OOPSLA}, } @article{CoadyKFHO01, title = {Structuring operating system aspects}, author = {Yvonne Coady and Gregor Kiczales and Michael J. Feeley and Norman C. Hutchinson and Joon Suan Ong}, year = {2001}, tags = {object-oriented programming, operating system, AOP, C++, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/CoadyKFHO01}, cites = {0}, citedby = {0}, journal = {Communications of the ACM}, volume = {44}, number = {10}, pages = {79-82}, } @article{KallebergV08, title = {Fusing a Transformation Language with an Open Compiler}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, doi = {10.1016/j.entcs.2008.03.042}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.042}, tags = {programming languages, model-to-model transformation, object-oriented programming, rule-based, Java, program analysis, Eclipse, completeness, data-flow language, graph transformation, interpreter, abstract syntax, Stratego/XT, transformation language, term rewriting, functional programming, Eclipse Java Compiler, points-to analysis, domain analysis, analysis, type system, reuse, data-flow programming, data-flow, source-to-source, graph-rewriting, logic programming, transformation system, compiler, model transformation, open compiler, subject-oriented programming, context-aware, logic, Spoofax, rewriting logic, rewriting, data-flow analysis, parsing, feature-oriented programming, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KallebergV08}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {21-36}, } @inproceedings{RehakTPZR05, title = {An Abstract Architecture for Computational Reflection in Multi-Agent Systems}, author = {Martin Rehák and Jan Tozicka and Michal Pechoucek and Filip Zelezný and Milan Rollo}, year = {2005}, doi = {10.1109/IAT.2005.35}, url = {http://doi.ieeecomputersociety.org/10.1109/IAT.2005.35}, tags = {computational reflection, architecture, reflection}, researchr = {https://researchr.org/publication/RehakTPZR05}, cites = {0}, citedby = {0}, pages = {128-131}, booktitle = {Proceedings of the 2005 IEEE/WIC/ACM International Conference on Intelligent Agent Technology, Compiegne, France, September 19-22, 2005}, editor = {Andrzej Skowron and Jean-Paul A. Barthès and Lakhmi C. Jain and Ron Sun and Pierre Morizet-Mahoudeaux and Jiming Liu and Ning Zhong}, publisher = {IEEE Computer Society}, isbn = {0-7695-2416-8}, } @inproceedings{MasuharaK03, title = {Modeling Crosscutting in Aspect-Oriented Mechanisms}, author = {Hidehiko Masuhara and Gregor Kiczales}, year = {2003}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2743&spage=2}, tags = {object-oriented programming, modeling, AOP, object-role modeling, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/MasuharaK03}, cites = {0}, citedby = {0}, pages = {2-28}, booktitle = {ECOOP 2003 - Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, July 21-25, 2003, Proceedings}, editor = {Luca Cardelli}, volume = {2743}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-40531-3}, } @inproceedings{CoadyKFHOG01, title = {Aspect-Oriented System Structure}, author = {Yvonne Coady and Gregor Kiczales and Michael J. Feeley and Norman C. Hutchinson and Joon Suan Ong and Stephan Gudmundson}, year = {2001}, url = {http://csdl.computer.org/comp/proceedings/hotos/2001/1040/00/10400166.pdf}, tags = {object-oriented programming, AOP, C++, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/CoadyKFHOG01}, cites = {0}, citedby = {0}, pages = {166}, booktitle = {Proceedings of HotOS-VIII: 8th Workshop on Hot Topics in Operating Systems, May 20-23, 2001, Elmau/Oberbayern, Germany}, publisher = {IEEE Computer Society}, isbn = {0-7695-1040-X}, } @inproceedings{Wachsmuth09, title = {A Formal Way from Text to Code Templates}, author = {Guido Wachsmuth}, year = {2009}, doi = {10.1007/978-3-642-00593-0_8}, url = {http://dx.doi.org/10.1007/978-3-642-00593-0_8}, tags = {model-to-model transformation, semantics, transformation engineering, formal semantics, model-to-text transformation, language engineering, transformation language, composition, source-to-source, model-driven engineering, code generation, model transformation, natural semantics, language composition, grammarware, modelware, systematic-approach, open-source, transformation}, researchr = {https://researchr.org/publication/Wachsmuth09}, cites = {0}, citedby = {0}, pages = {109-123}, booktitle = {Fundamental Approaches to Software Engineering, 12th International Conference, FASE 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings}, editor = {Marsha Chechik and Martin Wirsing}, volume = {5503}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00592-3}, } @inproceedings{GudmundsonK01, title = {Data Abstraction in AspectJ}, author = {Stephan Gudmundson and Gregor Kiczales}, year = {2001}, url = {http://link.springer.de/link/service/series/0558/bibs/2192/21920270.htm}, tags = {programming languages, AspectJ, object-oriented programming, data-flow language, AOP, language engineering, software language engineering, design research, language design, constraints, data-flow programming, data-flow, software engineering, aspect oriented programming, programming, subject-oriented programming, abstraction, reflection, design, feature-oriented programming}, researchr = {https://researchr.org/publication/GudmundsonK01}, cites = {0}, citedby = {0}, pages = {270-271}, booktitle = {Metalevel Architectures and Separation of Crosscutting Concerns, Third International Conference, REFLECTION 2001, Kyoto, Japan, September 25-28, 2001, Proceedings}, editor = {Akinori Yonezawa and Satoshi Matsuoka}, volume = {2192}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-42618-3}, } @inproceedings{Ferber89, title = {Computational Reflection in Class-Based Object-Oriented Languages}, author = {Jacques Ferber}, year = {1989}, tags = {rule-based, computational reflection, Meta-Environment, reflection, meta-objects}, researchr = {https://researchr.org/publication/Ferber89}, cites = {0}, citedby = {0}, pages = {317-326}, booktitle = {OOPSLA}, } @misc{camlp4-wikipedia, title = {Wikipedia: Camlp4}, url = {http://en.wikipedia.org/wiki/Camlp4}, tags = {programming languages, syntax definition, writing, programming, parsing, extensible language, grammar, domain-specific language}, researchr = {https://researchr.org/publication/camlp4-wikipedia}, cites = {0}, citedby = {0}, howpublished = {\url{http://en.wikipedia.org/wiki/Camlp4}}, } @inproceedings{Kiczales05, title = {Aspect-oriented programming}, author = {Gregor Kiczales}, year = {2005}, doi = {10.1145/1062455.1062640}, url = {http://doi.acm.org/10.1145/1062455.1062640}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/Kiczales05}, cites = {0}, citedby = {0}, pages = {730}, booktitle = {27th International Conference on Software Engineering (ICSE 2005), 15-21 May 2005, St. Louis, Missouri, USA}, editor = {Gruia-Catalin Roman and William G. Griswold and Bashar Nuseibeh}, publisher = {ACM}, } @inproceedings{Kiczales07, title = {Making the Code Look Like the Design - Aspects and Other Recent Work}, author = {Gregor Kiczales}, year = {2007}, doi = {10.1109/ICPC.2007.25}, url = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.25}, tags = {object-oriented programming, AOP, aspect oriented programming, subject-oriented programming, design, feature-oriented programming}, researchr = {https://researchr.org/publication/Kiczales07}, cites = {0}, citedby = {0}, pages = {14}, booktitle = {15th International Conference on Program Comprehension (ICPC 2007), June 26-29, 2007, Banff, Alberta, Canada}, publisher = {IEEE Computer Society}, } @article{Kiczales96:0, title = {Aspect-Oriented Programming}, author = {Gregor Kiczales}, year = {1996}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/Kiczales96%3A0}, cites = {0}, citedby = {0}, journal = {ACM Computing Surveys}, volume = {28}, number = {4es}, pages = {154}, } @inproceedings{BoyleH93, title = {Practical Transformation of Functional Programs for Efficient Execution: A Case Study}, author = {James M. Boyle and Terence J. Harmer}, year = {1993}, tags = {case study, functional programming, transformation, program transformation}, researchr = {https://researchr.org/publication/BoyleH93}, cites = {0}, citedby = {0}, pages = {62-88}, booktitle = {Formal Program Development - IFIP TC2/WG 2.1 State-of-the-Art Report}, editor = {Bernhard Möller and Helmuth Partsch and Stephen A. Schuman}, volume = {755}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-57499-9}, } @inproceedings{LuttikV97, title = {Specification of Rewriting Strategies}, author = {Bas Luttik and Eelco Visser}, year = {1997}, month = {November}, tags = {control systems, rule-based, case study, SDF, graph transformation, traversal, transformation language, term rewriting, composition, traversal combinators, graph-rewriting, rules, transformation system, rewriting, rewriting strategies, ASF+SDF, transformation, Stratego}, researchr = {https://researchr.org/publication/LuttikV97}, cites = {0}, citedby = {0}, booktitle = {2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997)}, editor = {M. P. A. Sellink}, series = {Electronic Workshops in Computing}, address = {Berlin}, publisher = {Springer-Verlag}, } @inproceedings{BravenboerKVV06, title = {{Stratego/XT 0.16}: components for transformation systems}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2006}, doi = {10.1145/1111542.1111558}, url = {http://doi.acm.org/10.1145/1111542.1111558}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV06}, cites = {0}, citedby = {0}, pages = {95-99}, booktitle = {Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2006, Charleston, South Carolina, USA, January 9-10, 2006}, editor = {John Hatcliff and Frank Tip}, publisher = {ACM}, isbn = {1-59593-196-1}, } @inproceedings{Pawlak:2005, title = {Spoon: annotation-driven program transformation --- the AOP case}, author = {Pawlak, Renaud}, year = {2005}, doi = {10.1145/1101560.1101566}, url = {http://doi.acm.org/10.1145/1101560.1101566}, tags = {programming languages, model-to-model transformation, object-oriented programming, Java, annotation, AOP, transformation language, source-to-source, aspect oriented programming, compiler, model transformation, programming, subject-oriented programming, reflection, feature-oriented programming, open-source, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Pawlak%3A2005}, cites = {0}, citedby = {0}, booktitle = {AOMD '05: Proceedings of the 1st workshop on Aspect oriented middleware development}, address = {New York, NY, USA}, publisher = {ACM}, isbn = {1-59593-265-8}, } @inproceedings{FischerV04-dagstuhl, title = {Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_14}, url = {https://doi.org/10.1007/978-3-540-25935-0_14}, tags = {programming languages, object-oriented programming, concrete object syntax, Prolog, rule-based, program analysis, meta programming, data-flow language, generic programming, program synthesis, AutoBayes, SDF, meta-model, XML, abstract syntax, XML Schema, Stratego/XT, analysis, constraints, data-flow programming, data-flow, migration, code generation, language embedding, programming, subject-oriented programming, Meta-Environment, data-flow analysis, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, Stratego}, researchr = {https://researchr.org/publication/FischerV04-dagstuhl}, cites = {0}, citedby = {0}, pages = {239-253}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @inproceedings{UngarS07, title = {Self}, author = {David Ungar and Randall B. Smith}, year = {2007}, doi = {10.1145/1238844.1238853}, url = {http://doi.acm.org/10.1145/1238844.1238853}, tags = {programming languages, history of programming languages, Self, HOPL, history}, researchr = {https://researchr.org/publication/UngarS07}, cites = {0}, citedby = {0}, pages = {1-50}, booktitle = {Proceedings of the Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III), San Diego, California, USA, 9-10 June 2007}, editor = {Barbara G. Ryder and Brent Hailpern}, publisher = {ACM}, } @inproceedings{BravenboerVVV05, title = {Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Martin Bravenboer and Rob Vermaas and Jurgen J. Vinju and Eelco Visser}, year = {2005}, doi = {10.1007/11561347_12}, url = {http://dx.doi.org/10.1007/11561347_12}, tags = {programming languages, AspectJ, object-oriented programming, concrete object syntax, rule-based, Java, syntax definition, meta programming, SDF, meta-model, disambiguation, type system, reuse, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerVVV05}, cites = {0}, citedby = {2}, pages = {157-172}, booktitle = {Generative Programming and Component Engineering, 4th International Conference, GPCE 2005}, editor = {Robert Glück and Michael R. Lowry}, volume = {3676}, series = {Lecture Notes in Computer Science}, address = {Tallinn, Estonia}, publisher = {Springer}, isbn = {3-540-29138-5}, } @inproceedings{LopesK00, title = {Aspect-Oriented Programming}, author = {Cristina Videira Lopes and Gregor Kiczales}, year = {2000}, doi = {10.1109/TOOLS.2000.10016}, url = {http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10016}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/LopesK00}, cites = {0}, citedby = {0}, pages = {468}, booktitle = {TOOLS 2000: 33rd International Conference on Technology of Object-Oriented Languages and Systems, 5-8 June 2000, St. Malo, France}, publisher = {IEEE Computer Society}, isbn = {0-7695-0731-X}, } @inproceedings{WadaSO05, title = {Modeling turnpike: a model-driven framework for domain-specific software development}, author = {Hiroshi Wada and Junichi Suzuki and Katsuya Oba}, year = {2005}, doi = {10.1145/1094855.1094897}, url = {http://doi.acm.org/10.1145/1094855.1094897}, tags = {meta-model, modeling, model-driven development, Meta-Environment}, researchr = {https://researchr.org/publication/WadaSO05}, cites = {0}, citedby = {0}, pages = {128-129}, booktitle = {Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, October 16-20, 2005, San Diego, CA, USA}, editor = {Ralph E. Johnson and Richard P. Gabriel}, publisher = {ACM}, isbn = {1-59593-193-7}, } @misc{seed7-website, title = {Seed7 Homepage}, url = {http://seed7.sourceforge.net}, tags = {extensible language}, researchr = {https://researchr.org/publication/seed7-website}, cites = {0}, citedby = {0}, howpublished = {\url{http://seed7.sourceforge.net/index.htm}}, } @article{1327721, title = {Application-specific models and pointcuts using a logic metalanguage}, author = {Brichau, Johan and Andy Kellens and Gybels, Kris and Kim Mens and Robert Hirschfeld and Theo D'Hondt}, year = {2008}, doi = {10.1016/j.cl.2007.05.004}, url = {http://dx.doi.org/10.1016/j.cl.2007.05.004}, tags = {logic}, researchr = {https://researchr.org/publication/1327721}, cites = {0}, citedby = {0}, journal = {Comput. Lang. Syst. Struct.}, volume = {34}, number = {2-3}, } @misc{boo-language-guide, title = {Boo Language Guide}, url = {http://boo.codehaus.org/Language+Guide}, tags = {Boo, extensible language}, researchr = {https://researchr.org/publication/boo-language-guide}, cites = {0}, citedby = {0}, howpublished = {\url{http://boo.codehaus.org/Language+Guide}}, } @article{DolstraV02, title = {Building Interpreters with Rewriting Strategies}, author = {Eelco Dolstra and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80427-4}, url = {https://doi.org/10.1016/S1571-0661(04)80427-4}, tags = {laziness, programming languages, optimization, semantics, rule-based, pattern language, dynamic rewrite rules, interpreter, Stratego/XT, dynamic rules, parallel programming, reuse, graph-rewriting, rules, pattern matching, programming, program optimization, rewriting, systematic-approach, rewriting strategies, interpreters, Stratego}, researchr = {https://researchr.org/publication/DolstraV02}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {65}, number = {3}, pages = {57-76}, } @article{Wilson04:2, title = {Extensible programming for the 21st century}, author = {Gregory V. Wilson}, year = {2004}, doi = {10.1145/1039511.1039534}, url = {http://doi.acm.org/10.1145/1039511.1039534}, tags = {control systems, programming languages, object-oriented programming, meta programming, generic programming, type system, source-to-source, C++, programming, subject-oriented programming, Meta-Environment, extensible language, feature-oriented programming, open-source, meta-objects}, researchr = {https://researchr.org/publication/Wilson04%3A2}, cites = {0}, citedby = {0}, journal = {ACM Queue}, volume = {2}, number = {9}, pages = {48-57}, } @inproceedings{BoyleDAK77, title = {Program Generation and Transformation - Tools for Mathematical Software Development}, author = {James M. Boyle and Kenneth W. Dritz and Oleg B. Arushanian and Yuri V. Kuchevsky}, year = {1977}, tags = {transformation, program transformation}, researchr = {https://researchr.org/publication/BoyleDAK77}, cites = {0}, citedby = {0}, pages = {303-308}, booktitle = {IFIP Congress}, } @inproceedings{Wada05amodel, title = {A Model Transformation Framework for Domain Specific Languages: An Approach Using UML and Attribute-Oriented Programming}, author = {Hiroshi Wada and Junichi Suzuki and Shingo Takada}, year = {2005}, tags = {programming languages, model-to-model transformation, object-oriented programming, meta programming, meta-model, modeling language, transformation language, language modeling, UML, source-to-source, object-role modeling, model transformation, programming, subject-oriented programming, Meta-Environment, systematic-approach, feature-oriented programming, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Wada05amodel}, cites = {0}, citedby = {0}, booktitle = {In Proc. of the 9th World Multi-Conference on Systemics, Cybernetics and Informatics}, } @inproceedings{KohlbeckerFFD86, title = {Hygienic Macro Expansion}, author = {Eugene E. Kohlbecker and Daniel P. Friedman and Matthias Felleisen and Bruce F. Duba}, year = {1986}, doi = {10.1145/320000/319859/p151-kohlbecker.pdf?key1=319859&key2=7573098711&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618}, url = {http://delivery.acm.org/10.1145/320000/319859/p151-kohlbecker.pdf?key1=319859&key2=7573098711&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618}, tags = {macros, e-science, Hygienic Macro}, researchr = {https://researchr.org/publication/KohlbeckerFFD86}, cites = {0}, citedby = {0}, pages = {151-161}, booktitle = {LISP and Functional Programming}, } @inproceedings{GroenewegenV08, title = {Declarative Access Control for {WebDSL}: Combining Language Integration and Separation of Concerns}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2008}, doi = {10.1109/ICWE.2008.15}, url = {http://dx.doi.org/10.1109/ICWE.2008.15}, tags = {WebDSL, semantics, rule-based, separation of concerns, transformation language, action semantics, language design, weaving, rules, web applications, DSL, abstraction, access control policies, access control, aspect weaving, design, role-based access control, systematic-approach, transformation, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenV08}, cites = {26}, citedby = {7}, pages = {175-188}, booktitle = {Proceedings of the Eighth International Conference on Web Engineering, ICWE 2008, 14-18 July 2008, Yorktown Heights, New York, USA}, editor = {Daniel Schwabe and Francisco Curbera and Paul Dantzig}, publisher = {IEEE}, isbn = {978-0-7695-3261-5}, } @techreport{CardelliMA94, title = {Extensible syntax with lexical scoping}, author = {Luca Cardelli and Florian Matthes and Martín Abadi}, year = {1994}, month = {February}, url = {http://lucacardelli.name/Papers/SRC-121.ps}, tags = {programming languages, object-oriented programming, rule-based, translation, syntax definition, meta programming, pattern language, generic programming, lexical syntax, graph transformation, graph query, SQL, extensible grammar, transformation language, language design, macros, graph-rewriting, rules, programming, subject-oriented programming, database, Meta-Environment, rewriting, parsing, incremental, design, extensible language, feature-oriented programming, meta-objects, transformation, grammar, query language, program transformation}, researchr = {https://researchr.org/publication/CardelliMA94}, cites = {0}, citedby = {1}, institution = {Digital Equipment Corporation Systems Research Center}, type = {SRC Research Report}, number = {121}, } @article{BravenboerDOV06, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, year = {2006}, url = {https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06}, tags = {programming languages, semantics, rule-based, formal semantics, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, language design, graph-rewriting, rules, operational semantics, context-aware, access control, rewriting, design, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerDOV06}, cites = {0}, citedby = {4}, journal = {Fundamenta Informaticae}, volume = {69}, number = {1-2}, pages = {123-178}, } @inproceedings{RogersW05:0, title = {The Application of Compile-Time Reflection to Software Fault Tolerance Using Ada 95}, year = {2005}, doi = {10.1007/11499909_19}, url = {http://dx.doi.org/10.1007/11499909_19}, tags = {compiler, reflection}, researchr = {https://researchr.org/publication/RogersW05%3A0}, cites = {0}, citedby = {0}, booktitle = {Reliable Software Technology - Ada-Europe 2005, 10th Ada-Europe International Conference on Reliable Software Technologies, York, UK, June 20-24, 2005, Proceedings}, editor = {Tullio Vardanega and Andy J. Wellings}, volume = {3555}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-26286-5}, } @inproceedings{LemmensB99, title = {A Formal Analysis of Smithsonian Computational Reflection}, author = {Inge M. C. Lemmens and Peter J. Braspenning}, year = {1999}, url = {http://link.springer.de/link/service/series/0558/bibs/1616/16160135.htm}, tags = {computational reflection, analysis, C++, reflection}, researchr = {https://researchr.org/publication/LemmensB99}, cites = {0}, citedby = {0}, pages = {135-137}, booktitle = {Meta-Level Architectures and Reflection, Second International Conference, Reflection 99, Saint-Malo, France, July 19-21, 1999, Proceedings}, editor = {Pierre Cointe}, volume = {1616}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-66280-4}, } @inproceedings{Boyle94, title = {Automatic, Self-adaptive Control and Unfold Transformations}, author = {James M. Boyle}, year = {1994}, tags = {transformation}, researchr = {https://researchr.org/publication/Boyle94}, cites = {0}, citedby = {0}, pages = {83-103}, booktitle = {Programming Concepts, Methods and Calculi, Proceedings of the IFIP TC2/WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi (PROCOMET 94) San Miniato, Italy, 6-10 June, 1994}, editor = {Ernst-Rüdiger Olderog}, volume = {A-56}, series = {IFIP Transactions}, publisher = {North-Holland}, isbn = {0-444-82020-5}, } @inproceedings{ClarkSW08, title = {Beyond Annotations: A Proposal for Extensible Java (XJ)}, author = {Tony Clark and Paul Sammut and James S. Willans}, year = {2008}, doi = {10.1109/SCAM.2008.34}, url = {http://dx.doi.org/10.1109/SCAM.2008.34}, tags = {Java, extensible language, domain-specific language}, researchr = {https://researchr.org/publication/ClarkSW08}, cites = {0}, citedby = {0}, pages = {229-238}, booktitle = {Eighth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2008), 28-29 September 2008, Beijing, China}, publisher = {IEEE}, } @inproceedings{WinterB96, title = {Proving refinement transformations for deriving high-assurance software}, author = {Victor L. Winter and James M. Boyle}, year = {1996}, url = {http://computer.org/proceedings/hase/7629/76290068abs.htm}, tags = {refinement, transformation}, researchr = {https://researchr.org/publication/WinterB96}, cites = {0}, citedby = {0}, pages = {68-77}, booktitle = {1st High-Assurance Systems Engineering Workshop (HASE 96), October 22, 1996, Niagara, Canada, Proceedings}, publisher = {IEEE Computer Society}, } @inproceedings{Visser05-SCAM, title = {Transformations for Abstractions}, author = {Eelco Visser}, year = {2005}, month = {October}, doi = {10.1109/SCAM.2005.26}, url = {http://dx.doi.org/10.1109/SCAM.2005.26}, tags = {programming languages, meta programming, case study, Stratego/XT, transformation language, extensible languages, programming, abstraction, Meta-Environment, extensible language, interpreters, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser05-SCAM}, cites = {0}, citedby = {1}, booktitle = {5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 September - 1 October 2005, Budapest, Hungary}, publisher = {IEEE Computer Society}, isbn = {0-7695-2292-0}, } @book{Parr:2010, title = {Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages}, author = {Terence John Parr}, year = {2010}, url = {http://pragprog.com/titles/tpdsl/language-implementation-patterns}, tags = {programming languages, design science, meta programming, data-flow language, pattern language, meta-model, interpreter, modeling language, language modeling, language design, data-flow programming, data-flow, source-to-source, e-science, ANTLR, DSL, programming, software languages, Meta-Environment, compilers, design, interpreters, open-source, domain-specific language}, researchr = {https://researchr.org/publication/Parr%3A2010}, cites = {0}, citedby = {0}, publisher = {The Pragmatic Bookshelf}, } @inproceedings{SinghK07, title = {The scalability of AspectJ}, author = {Arjun Singh and Gregor Kiczales}, year = {2007}, doi = {10.1145/1321211.1321233}, url = {http://doi.acm.org/10.1145/1321211.1321233}, tags = {programming languages, AspectJ, object-oriented programming, data-flow language, AOP, language engineering, software language engineering, design research, language design, constraints, data-flow programming, data-flow, software engineering, aspect oriented programming, programming, subject-oriented programming, abstraction, design, feature-oriented programming}, researchr = {https://researchr.org/publication/SinghK07}, cites = {0}, citedby = {0}, pages = {203-214}, booktitle = {Proceedings of the 2007 conference of the Centre for Advanced Studies on Collaborative Research, October 22-25, 2007, Richmond Hill, Ontario, Canada}, editor = {Kelly A. Lyons and Christian Couturier}, publisher = {IBM}, } @inproceedings{TkatchenkoK05, title = {Uniform Support for Modeling Crosscutting Structure}, author = {Maria Tkatchenko and Gregor Kiczales}, year = {2005}, doi = {10.1007/11557432_39}, url = {http://dx.doi.org/10.1007/11557432_39}, tags = {object-oriented programming, modeling, AOP, UML, object-role modeling, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/TkatchenkoK05}, cites = {0}, citedby = {0}, pages = {508-521}, booktitle = {Model Driven Engineering Languages and Systems, 8th International Conference, MoDELS 2005, Montego Bay, Jamaica, October 2-7, 2005, Proceedings}, editor = {Lionel C. Briand and Clay Williams}, volume = {3713}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-29010-9}, } @inproceedings{GolbeckDNOK08, title = {Lightweight virtual machine support for AspectJ}, author = {Ryan M. Golbeck and Samuel Davis and Immad Naseer and Igor Ostrovsky and Gregor Kiczales}, year = {2008}, doi = {10.1145/1353482.1353504}, url = {http://doi.acm.org/10.1145/1353482.1353504}, tags = {optimization, AspectJ, object-oriented programming, semantics, rule-based, Java, AOP, architecture, analysis, macros, weaving, aspect oriented programming, subject-oriented programming, systematic-approach, feature-oriented programming}, researchr = {https://researchr.org/publication/GolbeckDNOK08}, cites = {0}, citedby = {0}, pages = {180-190}, booktitle = {Proceedings of the 7th International Conference on Aspect-Oriented Software Development, AOSD 2008, Brussels, Belgium, March 31 - April 4, 2008}, editor = {Theo D Hondt}, publisher = {ACM}, isbn = {978-1-60558-044-9}, } @inproceedings{KiczalesH01, title = {Aspect-oriented programming}, author = {Gregor Kiczales and Erik Hilsdale}, year = {2001}, doi = {10.1145/503209.503260}, url = {http://doi.acm.org/10.1145/503209.503260}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/KiczalesH01}, cites = {0}, citedby = {0}, pages = {313}, booktitle = {ESEC / SIGSOFT FSE}, } @article{BoyleM84, title = {Program Reusability through Program Transformation}, author = {James M. Boyle and Monagur N. Muralidharan}, year = {1984}, tags = {reuse, transformation, program transformation}, researchr = {https://researchr.org/publication/BoyleM84}, cites = {0}, citedby = {0}, journal = {IEEE Trans. Software Eng.}, volume = {10}, number = {5}, pages = {574-588}, } @article{BravenboerKVV08, title = {{Stratego/XT 0.17}. {A} language and toolset for program transformation}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, doi = {10.1016/j.scico.2007.11.003}, url = {http://dx.doi.org/10.1016/j.scico.2007.11.003}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, DSL, programming, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV08}, cites = {0}, citedby = {7}, journal = {Science of Computer Programming}, volume = {72}, number = {1-2}, pages = {52-70}, } @misc{hygienevsgensym, title = {hygiene-versus-gensym}, url = {http://community.schemewiki.org/?hygiene-versus-gensym}, tags = {Hygienic Macro}, researchr = {https://researchr.org/publication/hygienevsgensym}, cites = {0}, citedby = {0}, } @inproceedings{IrwinLGKLMS97, title = {Aspect-Oriented Programming of Sparse Matrix Code}, author = {John Irwin and Jean-Marc Loingtier and John R. Gilbert and Gregor Kiczales and John Lamping and Anurag Mendhekar and Tatiana Shpeisman}, year = {1997}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/IrwinLGKLMS97}, cites = {0}, citedby = {0}, pages = {249-256}, booktitle = {Scientific Computing in Object-Oriented Parallel Environments, ISCOPE 97, Marina del Rey, CA, USA, December 8-11, 1997, Proceedings}, editor = {Yutaka Ishikawa and R. R. Oldehoeft and John Reynders and Marydell Tholburn}, volume = {1343}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-63827-X}, } @inproceedings{Visser01, title = {Stratego: A Language for Program Transformation Based on Rewriting Strategies}, author = {Eelco Visser}, year = {2001}, doi = {10.1007/3-540-45127-7_27}, url = {https://doi.org/10.1007/3-540-45127-7_27}, tags = {control systems, programming languages, optimization, object-oriented programming, rule-based, transformation engineering, pattern language, generic programming, graph transformation, Stratego/XT, traversal, refactoring, language engineering, transformation language, software language engineering, term rewriting, reuse, termination, graph-rewriting, software engineering, rules, programming paradigms, migration, transformation system, rule-based refactoring, compiler, subject-oriented programming, program optimization, higher-order transformations, rewriting, rewriting strategies, feature-oriented programming, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser01}, cites = {0}, citedby = {1}, pages = {357-362}, booktitle = {Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22-24, 2001, Proceedings}, editor = {Aart Middeldorp}, volume = {2051}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-42117-3}, } @inproceedings{ClintFHKB94, title = {A Family of Data-Parallel Derivations}, author = {Maurice Clint and Stephen Fitzpatrick and Terence J. Harmer and Peter Kilpatrick and James M. Boyle}, year = {1994}, tags = {data-flow}, researchr = {https://researchr.org/publication/ClintFHKB94}, cites = {0}, citedby = {0}, pages = {457-462}, booktitle = {High-Performance Computing and Networking, International Conference and Exhibition, HPCN Europe 1994, Munich, Germany, April 18-20, 1994, Proceedings, Volume II: Networking and Tools}, editor = {Wolfgang Gentzsch and Uwe Harms}, volume = {797}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-57981-8}, } @techreport{tratt04compiletm, title = {Compile-time meta-programming in Converge}, author = {Laurence Tratt}, year = {2002}, month = {December}, tags = {converge, programming languages, object-oriented programming, meta programming, meta-model, functional programming, Haskell, model-driven development, programming paradigms, compiler, programming, subject-oriented programming, Meta-Environment, extensible language, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/tratt04compiletm}, cites = {0}, citedby = {0}, institution = {Department of Computer Science, King's College London}, number = {TR-04-11}, } @inproceedings{Chiba98, title = {Macro Processing in Object-Oriented Languages}, author = {Shigeru Chiba}, year = {1998}, doi = {10.1109/TOOLS.1998.750029}, url = {http://doi.ieeecomputersociety.org/10.1109/TOOLS.1998.750029}, tags = {programming languages, object-oriented programming, macro, rule-based, meta programming, data-flow language, abstract syntax, transformation language, macros, data-flow programming, data-flow, transformation system, programming, subject-oriented programming, Meta-Environment, reflection, feature-oriented programming, meta-objects, transformation, program transformation}, researchr = {https://researchr.org/publication/Chiba98}, cites = {0}, citedby = {0}, pages = {113-126}, booktitle = {TOOLS 1998: 28th International Conference on Technology of Object-Oriented Languages and Systems, 23-26 November 1998, Melbourne, Australia}, editor = {Christine Mingins and Bertrand Meyer}, publisher = {IEEE Computer Society}, isbn = {0-7695-0053-6}, } @inproceedings{KiczalesLMMLLI97, title = {Aspect-Oriented Programming}, author = {Gregor Kiczales and John Lamping and Anurag Mendhekar and Chris Maeda and Cristina Videira Lopes and Jean-Marc Loingtier and John Irwin}, year = {1997}, doi = {10.1007/BFb0053381}, tags = {object-oriented programming, program analysis, meta programming, AOP, composition, functional programming, analysis, reuse, aspect oriented programming, programming, subject-oriented programming, Meta-Environment, design, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/KiczalesLMMLLI97}, cites = {0}, citedby = {3}, pages = {220-242}, booktitle = {ECOOP 97 - Object-Oriented Programming, 11th European Conference, Jyväskylä, Finland, June 9-13, 1997, Proceedings}, editor = {Mehmet Aksit and Satoshi Matsuoka}, volume = {1241}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-63089-9}, } @article{VisserB98, title = {A core language for rewriting}, author = {Eelco Visser and Zine-El-Abidine Benaissa}, year = {1998}, doi = {10.1016/S1571-0661(05)80027-1}, url = {http://dx.doi.org/10.1016/S1571-0661(05)80027-1}, tags = {rule-based, SDF, graph transformation, traversal, transformation language, term rewriting, graph-rewriting, rules, transformation system, abstraction, rewriting, rewriting strategies, ASF+SDF, transformation}, researchr = {https://researchr.org/publication/VisserB98}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {15}, pages = {422-441}, } @misc{wikipedia-extensible-programming, title = {Wikipedia: Extensible Programming}, url = {http://en.wikipedia.org/wiki/Extensible_programming}, tags = {programming, extensible language}, researchr = {https://researchr.org/publication/wikipedia-extensible-programming}, cites = {0}, citedby = {0}, howpublished = {\url{http://en.wikipedia.org/wiki/Extensible_programming}}, } @inproceedings{Kiczales02, title = {AspectJ(tm): Aspect-Oriented Programming in Java}, author = {Gregor Kiczales}, year = {2002}, url = {http://link.springer.de/link/service/series/0558/bibs/2591/25910001.htm}, tags = {AspectJ, object-oriented programming, Java, synchronization, AOP, software product quality, security, aspect oriented programming, programming, subject-oriented programming, change propagation, design, feature-oriented programming}, researchr = {https://researchr.org/publication/Kiczales02}, cites = {0}, citedby = {0}, pages = {1}, booktitle = {Objects, Components, Architectures, Services, and Applications for a Networked World, International Conference NetObjectDays, NODe 2002, Erfurt, Germany, October 7-10, 2002, Revised Papers}, editor = {Mehmet Aksit and Mira Mezini and Rainer Unland}, volume = {2591}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-00737-7}, } @article{361966, title = {Experience with an extensible language}, author = {Edgar T. Irons}, year = {1970}, doi = {10.1145/361953.361966}, url = {http://doi.acm.org/10.1145/361953.361966}, tags = {extensible language}, researchr = {https://researchr.org/publication/361966}, cites = {0}, citedby = {0}, journal = {Communications of the ACM}, volume = {13}, number = {1}, } @inproceedings{CoadyK03, title = {Back to the future: a retroactive study of aspect evolution in operating system code}, author = {Yvonne Coady and Gregor Kiczales}, year = {2003}, doi = {10.1145/643603.643609}, url = {http://doi.acm.org/10.1145/643603.643609}, tags = {object-oriented programming, operating system, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/CoadyK03}, cites = {0}, citedby = {0}, pages = {50-59}, booktitle = {AOSD}, } @inproceedings{LopesK00a, title = {Aspect-Oriented Programming}, author = {Cristina Videira Lopes and Gregor Kiczales}, year = {2000}, doi = {10.1109/TOOLS.2000.10031}, url = {http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10031}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/LopesK00a}, cites = {0}, citedby = {0}, pages = {461-462}, booktitle = {TOOLS 2000: 34th International Conference on Technology of Object-Oriented Languages and Systems, 30 July - 3 August 2000, Santa Barbara, CA, USA}, editor = {Qizoyan Li and Donald Firesmith and Richard Riehle and Bertrand Meyer}, publisher = {IEEE Computer Society}, isbn = {0-7695-0774-3}, } @article{Wadler90:0, title = {Deforestation: Transforming Programs to Eliminate Trees}, author = {Philip Wadler}, year = {1990}, researchr = {https://researchr.org/publication/Wadler90%3A0}, cites = {0}, citedby = {0}, journal = {Theoretical Computer Science}, volume = {73}, number = {2}, pages = {231-248}, } @inproceedings{LopesK98, title = {Recent Developments in Aspect}, author = {Cristina Videira Lopes and Gregor Kiczales}, year = {1998}, url = {http://link.springer.de/link/service/series/0558/bibs/1543/15430398.htm}, tags = {object-oriented programming, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/LopesK98}, cites = {0}, citedby = {0}, pages = {398-401}, booktitle = {Object-Oriented Technology, ECOOP 98 Workshop Reader, ECOOP 98 Workshops, Demos, and Posters, Brussels, Belgium, July 20-24, 1998, Proceedings}, editor = {Serge Demeyer and Jan Bosch}, volume = {1543}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-65460-7}, } @inproceedings{KatsBV08, title = {Mixing source and bytecode: a case for compilation by normalization}, author = {Lennart C. L. Kats and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {10.1145/1449764.1449772}, url = {http://doi.acm.org/10.1145/1449764.1449772}, tags = {compilation by normalization, rule-based, Java, synchronization, translation, meta-model, modeling language, Stratego/XT, language modeling, composition, constraints, source-to-source, C++, Dryad, security, compiler, Meta-Environment, extensible language, systematic-approach, open-source, Stratego, JavaFront, domain-specific language}, researchr = {https://researchr.org/publication/KatsBV08}, cites = {44}, citedby = {3}, pages = {91-108}, booktitle = {Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-23, 2008, Nashville, TN, USA}, editor = {Gail E. Harris}, publisher = {ACM}, isbn = {978-1-60558-215-3}, } @inproceedings{VisserBT98, title = {Building Program Optimizers with Rewriting Strategies}, author = {Eelco Visser and Zine-El-Abidine Benaissa and Andrew P. Tolmach}, year = {1998}, doi = {10.1145/289423.289425}, url = {http://doi.acm.org/10.1145/289423.289425}, tags = {programming languages, optimization, semantics, rule-based, meta programming, graph transformation, variable binding, Stratego/XT, transformation language, term rewriting, composition, graph-rewriting, rules, C++, program optimization, Meta-Environment, higher-order transformations, rewriting, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/VisserBT98}, cites = {0}, citedby = {5}, pages = {13-26}, booktitle = {Proceedings of the third ACM SIGPLAN international conference on Functional programming}, editor = {Matthias Felleisen and Paul Hudak and Christian Queinnec}, address = {Baltimore, Maryland, United States}, publisher = {ACM}, } @inproceedings{985074, title = {Separation of concerns through semantic annotations}, author = {Cachopo, Jo\, {a}o}, year = {2002}, doi = {10.1145/985072.985074}, url = {http://doi.acm.org/10.1145/985072.985074}, tags = {programming languages, separation of concerns, reuse, programming, extensible language, domain-specific language}, researchr = {https://researchr.org/publication/985074}, cites = {0}, citedby = {0}, booktitle = {OOPSLA '02: Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, address = {New York, NY, USA}, publisher = {ACM}, isbn = {1-58113-626-9}, } @inproceedings{ChibaT98, title = {Yet Another java.lang.Class}, author = {Shigeru Chiba and Michiaki Tatsubori}, year = {1998}, url = {http://link.springer.de/link/service/series/0558/bibs/1543/15430372.htm}, researchr = {https://researchr.org/publication/ChibaT98}, cites = {0}, citedby = {0}, pages = {372-373}, booktitle = {Object-Oriented Technology, ECOOP 98 Workshop Reader, ECOOP 98 Workshops, Demos, and Posters, Brussels, Belgium, July 20-24, 1998, Proceedings}, editor = {Serge Demeyer and Jan Bosch}, volume = {1543}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-65460-7}, } @inproceedings{Visser02, title = {Meta-programming with Concrete Object Syntax}, author = {Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45821-2_19}, url = {https://doi.org/10.1007/3-540-45821-2_19}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, syntax definition, meta programming, case study, SDF, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, model transformation, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser02}, cites = {23}, citedby = {6}, pages = {299-315}, booktitle = {Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE 2002, Pittsburgh, PA, USA, October 6-8, 2002, Proceedings}, editor = {Don S. Batory and Charles Consel and Walid Taha}, volume = {2487}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-44284-7}, } @inproceedings{HemelKV08, title = {Code Generation by Model Transformation}, author = {Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-69927-9_13}, url = {http://dx.doi.org/10.1007/978-3-540-69927-9_13}, tags = {programming languages, model-to-model transformation, object-oriented programming, WebDSL, concrete object syntax, rule-based, transformation engineering, syntax definition, meta programming, data-flow language, pattern language, case study, graph transformation, meta-model, modeling language, modeling, language engineering, transformation language, software language engineering, language modeling, web engineering, data-flow programming, model-driven development, data-flow, source-to-source, graph-rewriting, software engineering, rules, model-driven engineering, C++, programming paradigms, code generation, object-role modeling, aspect oriented programming, model transformation, web applications, DSL, subject-oriented programming, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, open-source, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelKV08}, cites = {0}, citedby = {3}, pages = {183-198}, booktitle = {Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008, Proceedings}, editor = {Antonio Vallecillo and Jeffrey G. Gray and Alfonso Pierantonio}, volume = {5063}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69926-2}, } @techreport{tratt05convergepl, title = {The Converge programming language}, author = {Laurence Tratt}, year = {2005}, month = {February}, tags = {converge, programming languages, programming, extensible language}, researchr = {https://researchr.org/publication/tratt05convergepl}, cites = {0}, citedby = {1}, institution = {Department of Computer Science, King's College London}, number = {TR-05-01}, } @inproceedings{KiczalesM05, title = {Separation of Concerns with Procedures, Annotations, Advice and Pointcuts}, author = {Gregor Kiczales and Mira Mezini}, year = {2005}, doi = {10.1007/11531142_9}, url = {http://dx.doi.org/10.1007/11531142_9}, tags = {object-oriented programming, separation of concerns, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/KiczalesM05}, cites = {0}, citedby = {0}, pages = {195-213}, booktitle = {ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings}, editor = {Andrew P. Black}, volume = {3586}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-27992-X}, } @inproceedings{Visser03, title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {Stratego/XT 0.9}}, author = {Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_13}, url = {https://doi.org/10.1007/978-3-540-25935-0_13}, tags = {control systems, programming languages, rule-based, graph transformation, Stratego/XT, transformation language, composition, graph-rewriting, rules, programming paradigms, transformation system, abstraction, rewriting, parsing, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser03}, cites = {0}, citedby = {4}, pages = {216-238}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @article{JongeVV01, title = {{XT}: a bundle of program transformation tools}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)80921-6}, url = {http://dx.doi.org/10.1016/S1571-0661(04)80921-6}, tags = {model-to-model transformation, rule-based, Stratego/XT, model-driven development, source-to-source, transformation system, model transformation, programming, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/JongeVV01}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {44}, number = {2}, pages = {79-86}, } @misc{US Patent 6467086, title = {US Patent 6467086 Aspect-oriented programming}, author = {Gregor Kiczales and Lamping and Cristina Videira Lopes and Hugunin and Hilsdale and Boyapati}, year = {2002}, month = {october}, url = {http://www.patentstorm.us/patents/6467086.html}, tags = {object-oriented programming, meta programming, AOP, reuse, Patent, 6467086, aspect oriented programming, programming, subject-oriented programming, Meta-Environment, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/US+Patent+6467086}, cites = {0}, citedby = {0}, howpublished = {Patent}, } @article{Visser05, title = {A survey of strategies in rule-based program transformation systems}, author = {Eelco Visser}, year = {2005}, doi = {10.1016/j.jsc.2004.12.011}, url = {http://dx.doi.org/10.1016/j.jsc.2004.12.011}, tags = {programming languages, transformation strategy, tree parsing, rule-based, attribute grammars, tree traversal, data-flow language, pattern language, generic programming, congruence operators, transformation strategies, graph transformation, traversal, transformation language, term rewriting, generic traversal strategies, tree pattern matching, data-flow programming, program transformation system, data-flow, graph-rewriting, survey, rules, pattern matching, strategy annotations, strategy combinators, transformation system, program representation, programming, context-aware, rule-based program transformation, context-sensitive transformation, higher-order transformations, rewriting, parsing, systematic-approach, rewriting strategies, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser05}, cites = {1}, citedby = {1}, journal = {Journal of Symbolic Computation}, volume = {40}, number = {1}, pages = {831-873}, } @inproceedings{BravenboerV04, title = {Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions}, author = {Martin Bravenboer and Eelco Visser}, year = {2004}, doi = {10.1145/1028976.1029007}, url = {http://doi.acm.org/10.1145/1028976.1029007}, tags = {programming languages, object-oriented programming, concrete object syntax, syntax definition, meta programming, assimilation, SDF, XML, XML Schema, Stratego/XT, transformation language, composition, MetaBorg, language design, reuse, code generation, subject-oriented programming, abstraction, Meta-Environment, extensible language, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV04}, cites = {51}, citedby = {8}, pages = {365-383}, booktitle = {Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004}, editor = {John M. Vlissides and Douglas C. Schmidt}, address = {Vancouver, BC, Canada}, publisher = {ACM}, isbn = {1-58113-831-8}, } @article{KallebergV06, title = {Combining Aspect-Oriented and Strategic Programming}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2006}, doi = {10.1016/j.entcs.2005.06.035}, url = {http://dx.doi.org/10.1016/j.entcs.2005.06.035}, tags = {programming languages, object-oriented programming, rule-based, transformation aspects, data-flow language, graph transformation, exceptions, Stratego/XT, transformation language, term rewriting, type system, data-flow programming, data-flow, graph-rewriting, rules, programming paradigms, type checking, strategic programming, debugging, transformation system, Strategic term rewriting, aspect oriented programming, programming, subject-oriented programming, rewriting, feature-oriented programming, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/KallebergV06}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {147}, number = {1}, pages = {5-30}, } @article{BoyleH92, title = {A Practical Functional Program for the CRAY X-MP}, author = {James M. Boyle and Terence J. Harmer}, year = {1992}, tags = {functional programming}, researchr = {https://researchr.org/publication/BoyleH92}, cites = {0}, citedby = {0}, journal = {Journal of Functional Programming}, volume = {2}, number = {1}, pages = {81-126}, } @inproceedings{HarmerMB98:0, title = {Applications of the TAMPR Transformation System}, author = {Terence J. Harmer and Patrick J. McParland and James M. Boyle}, year = {1998}, tags = {transformation system, transformation}, researchr = {https://researchr.org/publication/HarmerMB98%3A0}, cites = {0}, citedby = {0}, booktitle = {2nd Irish Workshop on Formal Methods, Cork, Eire, 2-3 July 1998}, editor = {Sharon Flynn and Andrew Butterfield}, series = {Workshops in Computing}, publisher = {BCS}, } @misc{fop, title = {Feature-Oriented Programming}, url = {http://en.wikipedia.org/wiki/Feature_Oriented_Programming}, note = {Wikipedia}, tags = {object-oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/fop}, cites = {0}, citedby = {0}, } @article{SmaragdakisCS09, title = {Scalable satisfiability checking and test data generation from modeling diagrams}, author = {Yannis Smaragdakis and Christoph Csallner and Ranjith Subramanian}, year = {2009}, doi = {10.1007/s10515-008-0044-6}, url = {http://dx.doi.org/10.1007/s10515-008-0044-6}, tags = {model checking, meta-model, modeling, testing, data-flow, Meta-Environment}, researchr = {https://researchr.org/publication/SmaragdakisCS09}, cites = {0}, citedby = {0}, journal = {Automated Software Engineering}, volume = {16}, number = {1}, pages = {73-99}, } @article{OlmosV02, title = {Strategies for Source-to-Source Constant Progagation}, author = {Karina Olmos and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80605-4}, url = {https://doi.org/10.1016/S1571-0661(04)80605-4}, tags = {control systems, model-to-model transformation, optimization, rule-based, graph transformation, dynamic rewrite rules, abstract syntax, Stratego/XT, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, transformation system, model transformation, program optimization, rewriting, constant propagation, rewriting strategies, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV02}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {70}, number = {6}, pages = {156-175}, } @inproceedings{Chiba07, title = {How We Should Use Aspects}, author = {Shigeru Chiba}, year = {2007}, tags = {aspect}, researchr = {https://researchr.org/publication/Chiba07}, cites = {0}, citedby = {0}, pages = {3-6}, booktitle = {RAM-SE 07-ECOOP 07 Workshop on Reflection, AOP, and Meta-Data for Software Evolution, Proceedings, Berlin, Germany, July 31, 2007}, editor = {Walter Cazzola and Shigeru Chiba and Yvonne Coady and Stéphane Ducasse and Günter Kniesel and Manuel Oriol and Gunter Saake}, publisher = {Fakultät für Informatik, Universität Magdeburg}, } @inproceedings{Standish75, title = {Extensibility in programming language design}, author = {Thomas A. Standish}, year = {1975}, doi = {10.1145/1499949.1500003}, url = {http://doi.acm.org/10.1145/1499949.1500003}, tags = {programming languages, language design, programming, design, extensible language}, researchr = {https://researchr.org/publication/Standish75}, cites = {0}, citedby = {0}, pages = {287-290}, booktitle = {American Federation of Information Processing Societies: 1975 National Computer Conference, 19-22 May 1975, Anaheim, CA, USA}, volume = {44}, series = {AFIPS Conference Proceedings}, publisher = {AFIPS Press}, } @inproceedings{BravenboerV07, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, author = {Martin Bravenboer and Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-69073-3_5}, url = {http://dx.doi.org/10.1007/978-3-540-69073-3_5}, tags = {syntax embedding, syntax definition, assimilation, transformation language, architecture, language design, DSL, language libraries, design, transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV07}, cites = {24}, citedby = {1}, pages = {34-46}, booktitle = {Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers}, editor = {Holger Giese}, volume = {5002}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69069-6}, } @inproceedings{Maes87:OOPSLA, title = {Concepts and Experiments in Computational Reflection}, author = {Pattie Maes}, year = {1987}, doi = {10.1145/38807.38821}, url = {http://doi.acm.org/10.1145/38807.38821}, tags = {programming languages, object-oriented programming, rule-based, meta programming, computational reflection, architecture, survey, rules, logic programming, programming, subject-oriented programming, logic, Meta-Environment, reflection, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/Maes87%3AOOPSLA}, cites = {0}, citedby = {0}, pages = {147-155}, booktitle = {OOPSLA}, } @inproceedings{CoadyKFS01, title = {Using aspectC to improve the modularity of path-specific customization in operating system code}, author = {Yvonne Coady and Gregor Kiczales and Michael J. Feeley and Greg Smolyn}, year = {2001}, doi = {10.1145/503209.503223}, url = {http://doi.acm.org/10.1145/503209.503223}, tags = {object-oriented programming, operating system, AOP, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/CoadyKFS01}, cites = {0}, citedby = {0}, pages = {88-98}, booktitle = {ESEC / SIGSOFT FSE}, } @book{superlanguages, title = {Superlanguages: Developing Languages and Applications with XMF}, author = {A. Clark and P. Sammut and J. Willans}, year = {2008}, month = {March}, url = {http://itcentre.tvu.ac.uk/~clark/Papers/Superlanguages.pdf}, tags = {extensible language}, researchr = {https://researchr.org/publication/superlanguages}, cites = {0}, citedby = {2}, edition = {1}, } @inproceedings{HannemannK02, title = {Design pattern implementation in Java and aspectJ}, author = {Jan Hannemann and Gregor Kiczales}, year = {2002}, doi = {10.1145/582419.582436}, url = {http://doi.acm.org/10.1145/582419.582436}, tags = {AspectJ, object-oriented programming, Java, meta programming, AOP, reuse, aspect oriented programming, subject-oriented programming, Meta-Environment, design, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/HannemannK02}, cites = {0}, citedby = {0}, pages = {161-173}, booktitle = {OOPSLA}, } @inproceedings{GabrielSSWKS06, title = {Aspects and/versus modularity the grand debate}, author = {Richard P. Gabriel and Guy L. Steele Jr. and Friedrich Steimann and Jim Waldo and Gregor Kiczales and Kevin Sullivan}, year = {2006}, doi = {10.1145/1176617.1176749}, url = {http://doi.acm.org/10.1145/1176617.1176749}, tags = {object-oriented programming, AOP, Modularity, aspect oriented programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/GabrielSSWKS06}, cites = {0}, citedby = {0}, pages = {935-936}, booktitle = {Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA}, editor = {Peri L. Tarr and William R. Cook}, publisher = {ACM}, isbn = {1-59593-491-X}, } @inproceedings{MensLTK97, title = {Aspect-Oriented Programming Workshop Report}, author = {Kim Mens and Cristina Videira Lopes and Bedir Tekinerdogan and Gregor Kiczales}, year = {1997}, url = {http://link.springer.de/link/service/series/0558/bibs/1357/13570483.htm}, tags = {object-oriented programming, AOP, aspect oriented programming, programming, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/MensLTK97}, cites = {0}, citedby = {0}, pages = {483-496}, booktitle = {Object-Oriented Technology, ECOOP 97 Workshop Reader, ECOOP 97 Workshops, Jyväskylä, Finland, June 9-13, 1997}, editor = {Jan Bosch and Stuart Mitchell}, volume = {1357}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-64039-8}, } @inproceedings{HannemannMK05, title = {Role-based refactoring of crosscutting concerns}, author = {Jan Hannemann and Gail C. Murphy and Gregor Kiczales}, year = {2005}, doi = {10.1145/1052898.1052910}, url = {http://doi.acm.org/10.1145/1052898.1052910}, tags = {object-oriented programming, rule-based, AOP, refactoring, C++, aspect oriented programming, rule-based refactoring, subject-oriented programming, feature-oriented programming}, researchr = {https://researchr.org/publication/HannemannMK05}, cites = {0}, citedby = {0}, pages = {135-146}, booktitle = {Proceedings of the 4th International Conference on Aspect-Oriented Software Development, AOSD 2005, Chicago, Illinois, USA, March 14-18, 2005}, editor = {Mira Mezini and Peri L. Tarr}, publisher = {ACM}, isbn = {1-59593-042-6}, } @inproceedings{NystromCM03, title = {Polyglot: An Extensible Compiler Framework for Java}, author = {Nathaniel Nystrom and Michael R. Clarkson and Andrew C. Myers}, year = {2003}, url = {http://link.springer.de/link/service/series/0558/bibs/2622/26220138.htm}, tags = {Java, C++, compiler}, researchr = {https://researchr.org/publication/NystromCM03}, cites = {0}, citedby = {4}, pages = {138-152}, booktitle = {Compiler Construction, 12th International Conference, CC 2003, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003, Warsaw, Poland, April 7-11, 2003, Proceedings}, editor = {Görel Hedin}, volume = {2622}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-00904-3}, } @inproceedings{KatsSV09, title = {Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming}, author = {Lennart C. L. Kats and Anthony M. Sloane and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-00722-4_11}, url = {http://dx.doi.org/10.1007/978-3-642-00722-4_11}, tags = {programming languages, rule-based, attribute grammars, program analysis, etaps, data-flow language, pattern language, generic programming, Stratego/XT, traversal, analysis, data-flow programming, data-flow, graph-rewriting, rules, C++, strategic programming, programming, rewriting, data-flow analysis, Aster, grammar, Stratego}, researchr = {https://researchr.org/publication/KatsSV09}, cites = {36}, citedby = {1}, pages = {142-157}, booktitle = {Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings}, editor = {Oege de Moor and Michael I. Schwartzbach}, volume = {5501}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00721-7}, } @inproceedings{BravenboerGV06, title = {{MetaBorg} in Action: Examples of Domain-Specific Language Embedding and Assimilation Using {Stratego/XT}}, author = {Martin Bravenboer and René de Groot and Eelco Visser}, year = {2006}, doi = {10.1007/11877028_10}, url = {http://dx.doi.org/10.1007/11877028_10}, tags = {generative programming, programming languages, rule-based, transformation engineering, Java, generic programming, assimilation, graph transformation, Stratego/XT, language engineering, domain-specific language embedding, transformation language, composition, MetaBorg, language design, graph-rewriting, transformation system, language embedding, DSL, programming, abstraction, language composition, rewriting, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerGV06}, cites = {0}, citedby = {3}, pages = {297-311}, booktitle = {Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers}, editor = {Ralf Lämmel and João Saraiva and Joost Visser}, volume = {4143}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-45778-X}, } @inproceedings{BravenboerDV07, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2007}, doi = {10.1145/1289971.1289975}, url = {http://doi.acm.org/10.1145/1289971.1289975}, tags = {programming languages, syntax embedding, Java, preventing injection attacks, generic programming, injection attack, SDF, XML, embedded software, XML Schema, SQL, security, language embedding, DSL, programming, systematic-approach, ASF+SDF, grammar, query language}, researchr = {https://researchr.org/publication/BravenboerDV07}, cites = {0}, citedby = {4}, pages = {3-12}, booktitle = {Generative Programming and Component Engineering, 6th International Conference, GPCE 2007}, editor = {Charles Consel and Julia L. Lawall}, address = {Salzburg, Austria}, publisher = {ACM}, isbn = {978-1-59593-855-8}, }