% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/program-transformation/compact @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}, } @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 = {cc}, } @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}, } @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}, } @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 = {OOPSLA}, } @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 = {SCAM}, } @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 = {SCP}, 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 = {uml}, } @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 = {CACM}, 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 = {CC}, } @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 = {MoDELS}, } @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 = {AMAI}, 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 = {ASE}, 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 = {ENTCS}, 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 = {ENTCS}, 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 = {GTTSE}, } @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 = {ENTCS}, 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 = {codes}, } @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 = {OOPSLA}, } @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 = {ICSE}, } @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 = {ESOP}, } @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 = {SCAM}, } @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}, } @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 = {Ada-Europe}, } @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 = {TOPLAS}, 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 = {RTA}, } @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 = {TOPLAS}, 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 = {sigopsE}, } @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 = {CACM}, 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 = {oorase}, } @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 = {LOPSTR}, } @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 = {CACM}, 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 = {informaticaSI}, 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 = {Ada-Europe}, } @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 = {CACM}, 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 = {ENTCS}, 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 = {iat}, } @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}, } @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 = {hotos}, } @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 = {FASE}, } @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 = {reflection}, } @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 = {ICSE}, } @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 = {IWPC}, } @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 Comput. Surv.}, 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 = {ifip2-1}, } @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 = {ASF+SDF}, } @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 = {PEPM}, } @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}, } @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 = {Dagstuhl}, } @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 = {HOPL}, } @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 = {GPCE}, } @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}, } @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 = {OOPSLA}, } @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 = {ENTCS}, 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 = {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 = {ifip11-9}, } @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 = {lfp}, } @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 = {ICWE}, } @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 = {FUIN}, 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 = {Ada-Europe}, } @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 = {reflection}, } @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 = {procomet}, } @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 = {SCAM}, } @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 = {hase}, } @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 = {SCAM}, } @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 = {cascon}, } @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 = {uml}, } @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 = {AOSD}, } @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/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 = {TSE}, 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 = {SCP}, 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 = {iscope}, } @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 = {RTA}, } @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 = {hpcn}, } @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}, } @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}, } @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 = {ENTCS}, 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 = {jit}, } @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 = {CACM}, 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}, } @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 = {TCS}, 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 = {ECOOPW}, } @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 = {OOPSLA}, } @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 = {ICFP}, } @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}, } @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 = {ECOOPW}, } @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 = {GPCE}, } @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 = {ICMT}, } @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}, } @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 = {Dagstuhl}, } @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 = {ENTCS}, 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 = {JSC}, 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 = {OOPSLA}, } @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 = {ENTCS}, 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 = {JFP}, 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 = {iwfm}, } @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 = {ASE}, 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 = {ENTCS}, 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 = {ECOOPW}, } @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 = {afips}, } @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}, } @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/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 = {OOPSLA}, } @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 = {ECOOPW}, } @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 = {AOSD}, } @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 = {cc}, } @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 = {CC}, } @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 = {GTTSE}, } @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 = {GPCE}, }