publications: - title: "On the relation of aspects and monads" author: - name: "Christian Hofer" link: "http://www.daimi.au.dk/~chmh/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2007" doi: "http://doi.acm.org/10.1145/1233833.1233838" links: doi: "http://doi.acm.org/10.1145/1233833.1233838" researchr: "https://researchr.org/publication/HoferO06" cites: 0 citedby: 0 pages: "27-33" booktitle: "Proceedings of the 6th Workshop on Foundations of Aspect-Oriented Languages, FOAL 2007, Vancouver, British Columbia, Canada, March 13, 2007" editor: - name: "William Harrison" link: "https://researchr.org/alias/william-harrison" volume: "268" series: "ACM International Conference Proceeding Series" publisher: "ACM" kind: "inproceedings" key: "HoferO06" - title: "Growing a language environment with editor libraries" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2047862.2047891" abstract: "Large software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and syntactically, the question of how to support this scenario in integrated development environments (IDEs) remains open: How can standard IDE services, such as syntax highlighting, outlining, or reference resolving, be provided in an extensible and compositional way, such that an open mix of languages is supported in a single file? Based on our library-based syntactic extension language for Java, SugarJ, we propose to make IDEs extensible by organizing editor services in editor libraries. Editor libraries are libraries written in the object language, SugarJ, and hence activated and composed through regular import statements on a file-by-file basis. We have implemented an IDE for editor libraries on top of SugarJ and the Eclipse-based Spoofax language workbench. We have validated editor libraries by evolving this IDE into a fully-fledged and schema-aware XML editor as well as an extensible Latex editor, which we used for writing this paper. " links: doi: "http://doi.acm.org/10.1145/2047862.2047891" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/ErdwegKRKOV11" researchr: "https://researchr.org/publication/ErdwegKRKOV11gpce" cites: 0 citedby: 0 pages: "167-176" booktitle: "Generative Programming And Component Engineering, Proceedings of the 10th International Conference on Generative Programming and Component Engineering, GPCE 2011, Portland, Oregon, USA, October 22-24, 2011" editor: - name: "Ewen Denney" link: "https://researchr.org/alias/ewen-denney" - name: "Ulrik Pagh Schultz" link: "https://researchr.org/alias/ulrik-pagh-schultz" publisher: "ACM" isbn: "978-1-4503-0689-8" kind: "inproceedings" key: "ErdwegKRKOV11gpce" - title: "Library-based model-driven software development with SugarJ" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048147.2048156" abstract: "SugarJ is a Java-based programming language that provides extensible surface syntax, static analyses, and IDE support. SugarJ extensions are organized as libraries; conventional import statements suffice to activate and compose language extensions. We demonstrate how programmers can use SugarJ to modularly extend Java's syntax, semantic analyses and IDE support." links: doi: "http://doi.acm.org/10.1145/2048147.2048156" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegKRKOV11" researchr: "https://researchr.org/publication/ErdwegKRKOV11-mdsd" cites: 0 citedby: 0 pages: "17-18" booktitle: "Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011" editor: - name: "Cristina Videira Lopes" link: "https://researchr.org/alias/cristina-videira-lopes" - name: "Kathleen Fisher" link: "https://researchr.org/alias/kathleen-fisher" publisher: "ACM" isbn: "978-1-4503-0942-4" kind: "inproceedings" key: "ErdwegKRKOV11-mdsd" - title: "Modules for Crosscutting Models" author: - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2655&spage=24" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2655&spage=24" tags: - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/MeziniO03" cites: 0 citedby: 0 pages: "24-44" booktitle: "Reliable Software Technologies - Ada-Europe 2003, 8th Ada-Europe International Conference on Reliable Software Technologies, Toulouse, France, June 16-20, 2003, Proceedings" editor: - name: "Jean-Pierre Rosen" link: "https://researchr.org/alias/jean-pierre-rosen" - name: "Alfred Strohmeier" link: "https://researchr.org/alias/alfred-strohmeier" volume: "2655" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-40376-0" kind: "inproceedings" key: "MeziniO03" - title: "An Overview of CaesarJ" author: - name: "Ivica Aracic" link: "https://researchr.org/alias/ivica-aracic" - name: "Vaidas Gasiunas" link: "https://researchr.org/alias/vaidas-gasiunas" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2006" doi: "http://dx.doi.org/10.1007/11687061_5" links: doi: "http://dx.doi.org/10.1007/11687061_5" researchr: "https://researchr.org/publication/AracicGMO06" cites: 0 citedby: 0 journal: "Transactions on Aspect-Oriented Software Development" pages: "135-173" kind: "article" key: "AracicGMO06" - title: "Clustering for Generating Framework Top-Level Views" author: - name: "Thorsten Schäfer" link: "https://researchr.org/alias/thorsten-sch%C3%A4fer" - name: "Ivica Aracic" link: "https://researchr.org/alias/ivica-aracic" - name: "Matthias Merz" link: "https://researchr.org/alias/matthias-merz" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.16" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.16" researchr: "https://researchr.org/publication/SchaferAMMO07" cites: 0 citedby: 0 pages: "239-248" booktitle: "14th Working Conference on Reverse Engineering (WCRE 2007), 28-31 October 2007, Vancouver, BC, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "SchaferAMMO07" - title: "SugarJ: library-based language extensibility" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048147.2048199" abstract: "SugarJ is a Java-based programming language that provides extensible surface syntax, static analyses, and IDE support. SugarJ extensions are organized as libraries; conventional import statements suffice to activate and compose language extensions. We illustrate how programmers can use SugarJ to modularly extend Java’s syntax, semantic analyses and IDE support." links: doi: "http://doi.acm.org/10.1145/2048147.2048199" tags: - "rule-based" - "C++" - "extensible language" researchr: "https://researchr.org/publication/ErdwegKRKOV11-extensibility" cites: 0 citedby: 0 pages: "187-188" booktitle: "Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011" publisher: "ACM" isbn: "978-1-4503-0942-4" kind: "inproceedings" key: "ErdwegKRKOV11-extensibility" - title: "XIRC: A Kernel for Cross-Artifact Information Engineering in Software Development Environments" author: - name: "Michael Eichberg" link: "https://researchr.org/alias/michael-eichberg" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Thorsten Schäfer" link: "https://researchr.org/alias/thorsten-sch%C3%A4fer" year: "2004" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.45" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.45" tags: - "software engineering" - "Meta-Environment" researchr: "https://researchr.org/publication/EichbergMOS04" cites: 0 citedby: 0 pages: "182-191" booktitle: "11th Working Conference on Reverse Engineering (WCRE 2004), 8-12 November 2004, Delft, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-2243-2" kind: "inproceedings" key: "EichbergMOS04" - title: "Conquering aspects with Caesar" author: - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2003" doi: "http://doi.acm.org/10.1145/643603.643613" links: doi: "http://doi.acm.org/10.1145/643603.643613" researchr: "https://researchr.org/publication/MeziniO03%3A0" cites: 0 citedby: 0 pages: "90-99" booktitle: "AOSD" kind: "inproceedings" key: "MeziniO03:0" - title: "On aspectualizing component models" author: - name: "Roman Pichler" link: "https://researchr.org/alias/roman-pichler" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2003" doi: "http://dx.doi.org/10.1002/spe.534" links: doi: "http://dx.doi.org/10.1002/spe.534" tags: - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/PichlerOM03" cites: 0 citedby: 0 journal: "Software: Practice and Experience" volume: "33" number: "10" pages: "957-974" kind: "article" key: "PichlerOM03" - title: "Aspects and modular reasoning in nonmonotonic logic" author: - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2007" doi: "http://doi.acm.org/10.1145/1233833.1233841" links: doi: "http://doi.acm.org/10.1145/1233833.1233841" tags: - "logic" researchr: "https://researchr.org/publication/Ostermann06" cites: 0 citedby: 0 pages: "59-64" booktitle: "Proceedings of the 6th Workshop on Foundations of Aspect-Oriented Languages, FOAL 2007, Vancouver, British Columbia, Canada, March 13, 2007" editor: - name: "William Harrison" link: "https://researchr.org/alias/william-harrison" volume: "268" series: "ACM International Conference Proceeding Series" publisher: "ACM" kind: "inproceedings" key: "Ostermann06" - title: "Invertible syntax descriptions: unifying parsing and pretty printing" author: - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2010" abstract: "Parsers and pretty-printers for a language are often quite similar, yet both are typically implemented separately, leading to redundancy and potential inconsistency. We propose a new interface of syntactic descriptions, with which both parser and pretty-printer can be described as a single program. Whether a syntactic description is used as a parser or as a pretty-printer is determined by the implementation of the interface. Syntactic descriptions enable programmers to describe the connection between concrete and abstract syntax once and for all, and use these descriptions for parsing or pretty-printing as needed. We also discuss the generalization of our programming technique towards an algebra of partial isomorphisms." tags: - "programming languages" - "redundancy" - "abstract syntax" - " algebra" - "programming" - "parsing" - "concrete syntax" researchr: "https://researchr.org/publication/rendel2010invertible" cites: 0 citedby: 0 pages: "1-12" booktitle: "Proceedings of the third ACM Haskell symposium on Haskell" organization: "ACM" kind: "inproceedings" key: "rendel2010invertible" - title: "Object-Oriented Composition Untangled" author: - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2001" tags: - "meta-model" - "composition" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/OstermannM01" cites: 0 citedby: 0 pages: "283-299" booktitle: "OOPSLA" kind: "inproceedings" key: "OstermannM01" - title: "Software extension and integration with type classes" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2006" doi: "http://doi.acm.org/10.1145/1173706.1173732" links: doi: "http://doi.acm.org/10.1145/1173706.1173732" researchr: "https://researchr.org/publication/LammelO06" cites: 0 citedby: 0 pages: "161-170" booktitle: "Generative Programming and Component Engineering, 5th International Conference, GPCE 2006, Portland, Oregon, USA, October 22-26, 2006, Proceedings" editor: - name: "Stan Jarzabek" link: "https://researchr.org/alias/stan-jarzabek" - name: "Douglas C. Schmidt" link: "https://researchr.org/alias/douglas-c.-schmidt" - name: "Todd L. Veldhuizen" link: "https://researchr.org/alias/todd-l.-veldhuizen" publisher: "ACM" isbn: "1-59593-237-2" kind: "inproceedings" key: "LammelO06" - title: "Automatic Incrementalization of Prolog Based Static Analyses" author: - name: "Michael Eichberg" link: "https://researchr.org/alias/michael-eichberg" - name: "Matthias Kahl" link: "https://researchr.org/alias/matthias-kahl" - name: "Diptikalyan Saha" link: "https://researchr.org/alias/diptikalyan-saha" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-69611-7_7" links: doi: "http://dx.doi.org/10.1007/978-3-540-69611-7_7" tags: - "Prolog" - "rule-based" researchr: "https://researchr.org/publication/EichbergKSMO07" cites: 0 citedby: 0 pages: "109-123" booktitle: "Practical Aspects of Declarative Languages, 9th International Symposium, PADL 2007, Nice, France, January 14-15, 2007" editor: - name: "Michael Hanus" link: "http://www.informatik.uni-kiel.de/~mh/" volume: "4354" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69608-7" kind: "inproceedings" key: "EichbergKSMO07" - title: "Dynamically Composable Collaborations with Delegation Layers" author: - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2374/23740089.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2374/23740089.htm" researchr: "https://researchr.org/publication/Ostermann02" cites: 0 citedby: 0 pages: "89-110" booktitle: "ECOOP 2002 - Object-Oriented Programming, 16th European Conference, Malaga, Spain, June 10-14, 2002, Proceedings" editor: - name: "Boris Magnusson" link: "https://researchr.org/alias/boris-magnusson" volume: "2374" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43759-2" kind: "inproceedings" key: "Ostermann02" - title: "Dependent classes" author: - name: "Vaidas Gasiunas" link: "https://researchr.org/alias/vaidas-gasiunas" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2007" doi: "http://doi.acm.org/10.1145/1297027.1297038" links: doi: "http://doi.acm.org/10.1145/1297027.1297038" researchr: "https://researchr.org/publication/GasiunasMO07" cites: 0 citedby: 0 pages: "133-152" booktitle: "Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada" editor: - name: "Richard P. Gabriel" link: "http://www.dreamsongs.com/RPG.html" - name: "David F. Bacon" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/bacon.index.html" - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Guy L. Steele Jr." link: "http://research.sun.com/people/mybio.php?uid=25706" publisher: "ACM" isbn: "978-1-59593-786-5" kind: "inproceedings" key: "GasiunasMO07" - title: "A Classification Framework for Pointcut Languages in Runtime Monitoring" author: - name: "Karl Klose" link: "https://researchr.org/alias/karl-klose" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-02571-6_17" links: doi: "http://dx.doi.org/10.1007/978-3-642-02571-6_17" tags: - "classification" researchr: "https://researchr.org/publication/KloseO09" cites: 0 citedby: 0 pages: "289-307" booktitle: "Objects, Components, Models and Patterns, 47th International Conference, TOOLS EUROPE 2009, Zurich, Switzerland, June 29-July 3, 2009. Proceedings" editor: - name: "Manuel Oriol" link: "https://researchr.org/alias/manuel-oriol" - name: "Bertrand Meyer" link: "https://researchr.org/alias/bertrand-meyer" volume: "33" series: "Lecture Notes in Business Information Processing" publisher: "Springer" isbn: "978-3-642-02570-9" kind: "inproceedings" key: "KloseO09" - title: "Partial Evaluation of Pointcuts" author: - name: "Karl Klose" link: "https://researchr.org/alias/karl-klose" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Michael Leuschel" link: "http://www.stups.uni-duesseldorf.de/~leuschel" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-69611-7_21" links: doi: "http://dx.doi.org/10.1007/978-3-540-69611-7_21" tags: - "partial evaluation" researchr: "https://researchr.org/publication/KloseOL07" cites: 0 citedby: 0 pages: "320-334" booktitle: "Practical Aspects of Declarative Languages, 9th International Symposium, PADL 2007, Nice, France, January 14-15, 2007" editor: - name: "Michael Hanus" link: "http://www.informatik.uni-kiel.de/~mh/" volume: "4354" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69608-7" kind: "inproceedings" key: "KloseOL07" - title: "Polymorphic embedding of DSLs" author: - name: "Christian Hofer" link: "http://www.daimi.au.dk/~chmh/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Adriaan Moors" link: "http://www.google.com" year: "2008" doi: "http://doi.acm.org/10.1145/1449913.1449935" abstract: "The influential pure embedding methodology of embedding domain-specific languages (DSLs) as libraries into a general-purpose host language forces the DSL designer to commit to a single semantics. This precludes the subsequent addition of compilation, optimization or domain-specific analyses. We propose polymorphic embedding of DSLs, where many different interpretations of a DSL can be provided as reusable components, and show how polymorphic embedding can be realized in the programming language Scala. With polymorphic embedding, the static type-safety, modularity, composability and rapid prototyping of pure embedding are reconciled with the flexibility attainable by external toolchains." links: doi: "http://doi.acm.org/10.1145/1449913.1449935" tags: - "programming languages" - "optimization" - "semantics" - "reusable components" - "Scala" - "reuse" - "DSL" - "programming" - "program optimization" - "domain-specific language" researchr: "https://researchr.org/publication/HoferORM08" cites: 31 citedby: 0 pages: "137-148" booktitle: "Generative Programming and Component Engineering, 7th International Conference, GPCE 2008, Nashville, TN, USA, October 19-23, 2008, Proceedings" editor: - name: "Yannis Smaragdakis" link: "http://smaragd.org" - name: "Jeremy G. Siek" link: "http://homes.soic.indiana.edu/jsiek/" publisher: "ACM" isbn: "978-1-60558-267-2" kind: "inproceedings" key: "HoferORM08" - title: "Growing a Dynamic Aspect Language in Ruby" author: - name: "Michael Achenbach" link: "http://www.daimi.au.dk/~ma/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2010" doi: "http://www.dsal.cl/_media/2010/dsal10_achenbach.pdf" abstract: "We present an approach to embed constructs for aspect-oriented programming with dynamic deployment in Ruby using metaprogramming. The AOP constructs developed in this way facilitate dynamic instantiation of aspects and deployment with expressive scoping strategies. Domain-specific extensions of these constructs make our approach particularly well-suited for domains that require more complex, invasive, or dynamic instrumentation beyond AspectJ-like AOP languages." note: "To Appear" links: doi: "http://www.dsal.cl/_media/2010/dsal10_achenbach.pdf" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "deployment" - "dynamic AOP" - "growing a language" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "systematic-approach" - "feature-oriented programming" - "Ruby" - "domain-specific language" researchr: "https://researchr.org/publication/Achenbach-Ostermann%3ADSAL10" cites: 18 citedby: 0 booktitle: "Proceedings of the 2010 AOSD Workshop on Domain-Specific Aspect Languages" address: "Rennes and Saint Malo, France" publisher: "ACM Press" kind: "inproceedings" key: "Achenbach-Ostermann:DSAL10" - title: "Expressive Pointcuts for Increased Modularity" author: - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Christoph Bockisch" link: "http://www.utwente.nl/ewi/trese/people/Bockisch/" year: "2005" doi: "http://dx.doi.org/10.1007/11531142_10" links: doi: "http://dx.doi.org/10.1007/11531142_10" researchr: "https://researchr.org/publication/OstermannMB05" cites: 0 citedby: 0 pages: "214-240" booktitle: "ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings" editor: - name: "Andrew P. Black" link: "https://researchr.org/alias/andrew-p.-black" volume: "3586" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-27992-X" kind: "inproceedings" key: "OstermannMB05" - title: "Integrating independent components with on-demand remodularization" author: - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2002" doi: "http://doi.acm.org/10.1145/582419.582426" links: doi: "http://doi.acm.org/10.1145/582419.582426" researchr: "https://researchr.org/publication/MeziniO02" cites: 0 citedby: 0 pages: "52-67" booktitle: "OOPSLA" kind: "inproceedings" key: "MeziniO02" - title: "Modular logic metaprogramming" author: - name: "Karl Klose" link: "https://researchr.org/alias/karl-klose" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2010" doi: "http://doi.acm.org/10.1145/1869459.1869499" abstract: "In logic metaprogramming, programs are not stored as plain textfiles but rather derived from a deductive database. While the benefits of this approach for metaprogramming are obvious, its incompatibility with separate checking limits its applicability to large-scale projects. We analyze the problems inhibiting separate checking and propose a class of logics that reconcile logic metaprogramming and separate checking. We have formalized the resulting module system and have proven the soundness of separate checking. We validate its feasibility by presenting the design and implementation of a specific logic that is able to express many metaprogramming examples from the literature. " links: doi: "http://doi.acm.org/10.1145/1869459.1869499" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KloseO10" tags: - "program analysis" - "Variability-Aware Analysis" - "analysis" - "logic programming" - "database" - "context-aware" - "logic" - "design" - "systematic-approach" researchr: "https://researchr.org/publication/KloseO10" cites: 39 citedby: 0 pages: "484-503" booktitle: "Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA" editor: - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Siobhán Clarke" link: "https://www.cs.tcd.ie/Siobhan.Clarke/" - name: "Martin C. Rinard" link: "https://researchr.org/alias/martin-c.-rinard" address: "Reno/Tahoe, Nevada" publisher: "ACM" isbn: "978-1-4503-0203-6" kind: "inproceedings" key: "KloseO10" - title: "A Comparison of Program Generation with Aspect-Oriented Programming" author: - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2004" doi: "http://dx.doi.org/10.1007/11527800_26" links: doi: "http://dx.doi.org/10.1007/11527800_26" tags: - "object-oriented programming" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MeziniO04%3A0" cites: 0 citedby: 0 pages: "342-354" booktitle: "Unconventional Programming Paradigms, International Workshop UPP 2004, Le Mont Saint Michel, France, September 15-17, 2004, Revised Selected and Invited Papers" editor: - name: "Jean-Pierre Banâtre" link: "https://researchr.org/alias/jean-pierre-ban%C3%A2tre" - name: "Pascal Fradet" link: "https://researchr.org/alias/pascal-fradet" - name: "Jean-Louis Giavitto" link: "https://researchr.org/alias/jean-louis-giavitto" - name: "Olivier Michel" link: "https://researchr.org/alias/olivier-michel" volume: "3566" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-27884-2" kind: "inproceedings" key: "MeziniO04:0" - title: "Testing Object-Oriented Programs using Dynamic Aspects and Non-Determinism" author: - name: "Michael Achenbach" link: "http://www.daimi.au.dk/~ma/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2010" abstract: "The implementation of unit tests with mock objects and stubs often involves substantial manual work. Stubbed methods return simple default values, therefore variations of these values require separate test cases. The integration of mock objects often requires more infrastructure code and design decisions exposing private data. We present an approach that both improves the expressiveness of test cases using non-deterministic choice and reduces design modifications using dynamic aspect-oriented programming techniques. Non-deterministic choice facilitates local definitions of multiple executions without parameterization or generation of tests. It also eases modelling naturally non-deterministic program features like IO or multi-threading in integration tests. Dynamic AOP facilitates powerful design adaptations without exposing test features, keeping the scope of these adaptations local to each test. We also combine non-determinism and dynamic aspects in a new approach to testing multi-threaded programs using co-routines." note: "To Appear" tags: - "object-oriented programming" - "meta programming" - "non-deterministic choice" - "dynamic AOP" - "meta-model" - "testing" - "data-flow programming" - "data-flow" - "code generation" - "object-role modeling" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "design" - "systematic-approach" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/Achenbach-Ostermann%3AETOOS10" cites: 0 citedby: 0 booktitle: "Proceedings of the 1st ECOOP Workshop on Testing Object-Oriented Systems" address: "Maribor, Slovenia" publisher: "ACM Press" kind: "inproceedings" key: "Achenbach-Ostermann:ETOOS10" - title: "Integrating and Scheduling an Open Set of Static Analyses" author: - name: "Michael Eichberg" link: "https://researchr.org/alias/michael-eichberg" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Sven Kloppenburg" link: "https://researchr.org/alias/sven-kloppenburg" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Benjamin Rank" link: "https://researchr.org/alias/benjamin-rank" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/ASE.2006.43" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ASE.2006.43" tags: - "source-to-source" - "open-source" researchr: "https://researchr.org/publication/EichbergMKOR06" cites: 0 citedby: 0 pages: "113-122" booktitle: "21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006), 18-22 September 2006, Tokyo, Japan" publisher: "IEEE Computer Society" isbn: "0-7695-2579-2" kind: "inproceedings" key: "EichbergMKOR06" - title: "Nominal and Structural Subtyping in Component-Based Programming" author: - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2008" doi: "http://dx.doi.org/10.5381/jot.2008.7.1.a4" links: doi: "http://dx.doi.org/10.5381/jot.2008.7.1.a4" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/jot/Ostermann08" tags: - "rule-based" - "subtyping" - "programming" researchr: "https://researchr.org/publication/Ostermann08-0" cites: 0 citedby: 0 journal: "Journal of Object Technology" volume: "7" number: "1" pages: "121-145" kind: "article" key: "Ostermann08-0" - title: "Modular Domain-Specific Language Components in Scala" author: - name: "Christian Hofer" link: "http://www.daimi.au.dk/~chmh/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2010" tags: - "Scala" - "domain-specific language" researchr: "https://researchr.org/publication/Hofer-GPCE-2010" cites: 0 citedby: 0 booktitle: "Generative Programming And Component Engineering, Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, Eindhoven, The Netherlands, October 10-13, 2010 " editor: - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Jaakko Järvi" link: "http://parasol.tamu.edu/~jarvi/" publisher: "ACM" kind: "inproceedings" key: "Hofer-GPCE-2010" - title: "A Meta-Aspect Protocol for Developing Dynamic Analyses" author: - name: "Michael Achenbach" link: "https://researchr.org/alias/michael-achenbach" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-16612-9_13" links: doi: "http://dx.doi.org/10.1007/978-3-642-16612-9_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/rv/AchenbachO10" tags: - "meta-model" - "protocol" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/AchenbachO10" cites: 0 citedby: 0 pages: "153-167" booktitle: "Runtime Verification - First International Conference, RV 2010, St. Julians, Malta, November 1-4, 2010. Proceedings" editor: - name: "Howard Barringer" link: "https://researchr.org/alias/howard-barringer" - name: "Yliès Falcone" link: "https://researchr.org/alias/yli%C3%A8s-falcone" - name: "Bernd Finkbeiner" link: "https://researchr.org/alias/bernd-finkbeiner" - name: "Klaus Havelund" link: "https://researchr.org/alias/klaus-havelund" - name: "Insup Lee" link: "https://researchr.org/alias/insup-lee" - name: "Gordon J. Pace" link: "https://researchr.org/alias/gordon-j.-pace" - name: "Grigore Rosu" link: "http://fsl.cs.uiuc.edu/~grosu/" - name: "Oleg Sokolsky" link: "https://researchr.org/alias/oleg-sokolsky" - name: "Nikolai Tillmann" link: "https://researchr.org/alias/nikolai-tillmann" volume: "6418" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-16611-2" kind: "inproceedings" key: "AchenbachO10" - title: "Engineering Abstractions in Model Checking and Testing" author: - name: "Michael Achenbach" link: "http://www.daimi.au.dk/~ma/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2009" doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.25" abstract: "Abstractions are used in model checking to tackle problems like state space explosion or modeling of IO. The application of these abstractions in real software development processes, however, lacks engineering support. This is one reason why model checking is not widely used in practice yet and testing is still state of the art in falsification. We show how user-defined abstractions can be integrated into a Java PathFinder setting with tools like AspectJ or Javassist and discuss implications of remaining weaknesses of these tools. We believe that a principled engineering approach to designing and implementing abstractions will improve the applicability of model checking in practice." links: doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.25" tags: - "AspectJ" - "Java" - "Javassist" - "model checking" - "meta-model" - "modeling" - "testing" - "model-driven development" - "software engineering" - "model-driven engineering" - "abstraction" - "Meta-Environment" - "Java PathFinder" - "process modeling" - "systematic-approach" researchr: "https://researchr.org/publication/AchenbachO09" cites: 0 citedby: 0 pages: "137-146" booktitle: "Ninth IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2009, Edmonton, Alberta, Canada, September 20-21, 2009" publisher: "IEEE Computer Society" isbn: "978-0-7695-3793-1" kind: "inproceedings" key: "AchenbachO09" - title: "Typed self-representation" author: - name: "Tillmann Rendel" link: "https://researchr.org/alias/tillmann-rendel" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Christian Hofer" link: "http://www.daimi.au.dk/~chmh/" year: "2009" doi: "http://doi.acm.org/10.1145/1542476.1542509" links: doi: "http://doi.acm.org/10.1145/1542476.1542509" researchr: "https://researchr.org/publication/RendelOH09" cites: 0 citedby: 0 pages: "293-303" booktitle: "Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, Dublin, Ireland, June 15-21, 2009" editor: - name: "Michael Hind" link: "https://researchr.org/alias/michael-hind" - name: "Amer Diwan" link: "https://researchr.org/alias/amer-diwan" publisher: "ACM" isbn: "978-1-60558-392-1" kind: "inproceedings" key: "RendelOH09" - title: "A virtual class calculus" author: - name: "Erik Ernst" link: "http://person.au.dk/eernst@cs" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" year: "2006" doi: "http://doi.acm.org/10.1145/1111037.1111062" links: doi: "http://doi.acm.org/10.1145/1111037.1111062" researchr: "https://researchr.org/publication/ErnstOC06" cites: 0 citedby: 0 pages: "270-282" booktitle: "Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, January 11-13, 2006" editor: - name: "J. Gregory Morrisett" link: "https://researchr.org/alias/j.-gregory-morrisett" - name: "Simon L. Peyton Jones" link: "http://research.microsoft.com/en-us/people/simonpj/" publisher: "ACM" isbn: "1-59593-027-2" kind: "inproceedings" key: "ErnstOC06" - title: "Variability management with feature-oriented programming and aspects" author: - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2004" doi: "http://doi.acm.org/10.1145/1029894.1029915" links: doi: "http://doi.acm.org/10.1145/1029894.1029915" tags: - "object-oriented programming" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MeziniO04" cites: 0 citedby: 0 pages: "127-136" booktitle: "Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2004, Newport Beach, CA, USA, October 31 - November 6, 2004" editor: - name: "Richard N. Taylor" link: "https://researchr.org/alias/richard-n.-taylor" - name: "Matthew B. Dwyer" link: "https://researchr.org/alias/matthew-b.-dwyer" publisher: "ACM" isbn: "1-58113-855-5" kind: "inproceedings" key: "MeziniO04" - title: "Pointcuts as Functional Queries" author: - name: "Michael Eichberg" link: "https://researchr.org/alias/michael-eichberg" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3302&spage=366" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3302&spage=366" researchr: "https://researchr.org/publication/EichbergMO04" cites: 0 citedby: 0 pages: "366-381" booktitle: "Programming Languages and Systems: Second Asian Symposium, APLAS 2004, Taipei, Taiwan, November 4-6, 2004. Proceedings" editor: - name: "Wei-Ngan Chin" link: "https://researchr.org/alias/wei-ngan-chin" volume: "3302" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-23724-0" kind: "inproceedings" key: "EichbergMO04" - title: "Reasoning about aspects with common sense" author: - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2008" doi: "http://doi.acm.org/10.1145/1353482.1353489" links: doi: "http://doi.acm.org/10.1145/1353482.1353489" researchr: "https://researchr.org/publication/Ostermann08" cites: 0 citedby: 0 pages: "48-59" booktitle: "Proceedings of the 7th International Conference on Aspect-Oriented Software Development, AOSD 2008, Brussels, Belgium, March 31 - April 4, 2008" editor: - name: "Theo D Hondt" link: "https://researchr.org/alias/theo-d-hondt" publisher: "ACM" isbn: "978-1-60558-044-9" kind: "inproceedings" key: "Ostermann08" - title: "Virtual machine support for dynamic join points" author: - name: "Christoph Bockisch" link: "http://www.utwente.nl/ewi/trese/people/Bockisch/" - name: "Michael Haupt" link: "https://researchr.org/alias/michael-haupt" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2004" doi: "http://doi.acm.org/10.1145/976270.976282" links: doi: "http://doi.acm.org/10.1145/976270.976282" researchr: "https://researchr.org/publication/BockischHMO04" cites: 0 citedby: 0 pages: "83-92" booktitle: "Proceedings of the 3rd International Conference on Aspect-Oriented Software Development, AOSD 2004, Lancaster, UK, March 22-24, 2004" editor: - name: "Gail C. Murphy" link: "https://researchr.org/alias/gail-c.-murphy" - name: "Karl J. Lieberherr" link: "https://researchr.org/alias/karl-j.-lieberherr" publisher: "ACM" isbn: "1-58113-842-3" kind: "inproceedings" key: "BockischHMO04"