publications: - title: "Avoiding Confusion in Metacircularity: The Meta-Helix" author: - name: "Shigeru Chiba" link: "http://www.csg.is.titech.ac.jp/~chiba/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" year: "1996" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/ChibaKL96" cites: 0 citedby: 0 pages: "157-172" booktitle: "Object Technologies for Advanced Software, Second JSSST International Symposium, ISOTAS 96, Kanazawa, Japan, March 11-15, 1996, Proceedings" editor: - name: "Kokichi Futatsugi" link: "https://researchr.org/alias/kokichi-futatsugi" - name: "Satoshi Matsuoka" link: "https://researchr.org/alias/satoshi-matsuoka" volume: "1049" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-60954-7" kind: "inproceedings" key: "ChibaKL96" - title: "Aspect-Oriented Programming" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" - name: "Anurag Mendhekar" link: "https://researchr.org/alias/anurag-mendhekar" - name: "Chris Maeda" link: "https://researchr.org/alias/chris-maeda" - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Jean-Marc Loingtier" link: "https://researchr.org/alias/jean-marc-loingtier" - name: "John Irwin" link: "https://researchr.org/alias/john-irwin" year: "1997" doi: "10.1007/BFb0053381" abstract: "We have found many programming problems for which neither procedural nor object-oriented programming techniques are sufficient to clearly capture some of the important design decisions the program must implement. This forces the implementation of those design decisions to be scattered throughout the code, resulting in “tangled” code that is excessively difficult to develop and maintain. We present an analysis of why certain design decisions have been so difficult to clearly capture in actual code. We call the properties these decisions address aspects, and show that the reason they have been hard to capture is that they cross-cut the system's basic functionality. We present the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects, including appropriate isolation, composition and reuse of the aspect code. The discussion is rooted in systems we have built using aspect-oriented programming." tags: - "object-oriented programming" - "program analysis" - "meta programming" - "AOP" - "composition" - "functional programming" - "analysis" - "reuse" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "design" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/KiczalesLMMLLI97" cites: 0 citedby: 3 pages: "220-242" booktitle: "ECOOP 97 - Object-Oriented Programming, 11th European Conference, Jyväskylä, Finland, June 9-13, 1997, Proceedings" editor: - name: "Mehmet Aksit" link: "https://researchr.org/alias/mehmet-aksit" - name: "Satoshi Matsuoka" link: "https://researchr.org/alias/satoshi-matsuoka" volume: "1241" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-63089-9" kind: "inproceedings" key: "KiczalesLMMLLI97" - title: "CommonLoops: Merging Lisp and Object-Oriented Programming" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "Kenneth M. Kahn" link: "https://researchr.org/alias/kenneth-m.-kahn" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Larry Masinter" link: "https://researchr.org/alias/larry-masinter" - name: "Mark Stefik" link: "https://researchr.org/alias/mark-stefik" - name: "Frank Zdybel" link: "https://researchr.org/alias/frank-zdybel" year: "1990" tags: - "object-oriented programming" - "meta programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/BobrowKKMSZ90" cites: 0 citedby: 0 pages: "70-90" booktitle: "Research Foundations in Object-Oriented and Semantic Database Systems" kind: "incollection" key: "BobrowKKMSZ90" - title: "Traces (A Cut at the Make Isn t Generic Problem)" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1993" researchr: "https://researchr.org/publication/Kiczales93" cites: 0 citedby: 0 pages: "27-42" booktitle: "Object Technologies for Advanced Software, First JSSST International Symposium, Kanazawa, Japan, November 4-6, 1993, Proceedings" editor: - name: "Shojiro Nishio" link: "https://researchr.org/alias/shojiro-nishio" - name: "Akinori Yonezawa" link: "https://researchr.org/alias/akinori-yonezawa" volume: "742" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-57342-9" kind: "inproceedings" key: "Kiczales93" - title: "Efficient Method Dispatch in PCL" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Luis Rodriguez" link: "https://researchr.org/alias/luis-rodriguez" year: "1990" doi: "http://doi.acm.org/10.1145/91556.91600" links: doi: "http://doi.acm.org/10.1145/91556.91600" researchr: "https://researchr.org/publication/KiczalesR90" cites: 0 citedby: 0 pages: "99-105" booktitle: "LISP and Functional Programming" kind: "inproceedings" key: "KiczalesR90" - title: "Separation of Concerns with Procedures, Annotations, Advice and Pointcuts" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2005" doi: "http://dx.doi.org/10.1007/11531142_9" links: doi: "http://dx.doi.org/10.1007/11531142_9" tags: - "object-oriented programming" - "separation of concerns" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/KiczalesM05" cites: 0 citedby: 0 pages: "195-213" booktitle: "ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings" editor: - 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: "KiczalesM05" - title: "Lightweight virtual machine support for AspectJ" author: - name: "Ryan M. Golbeck" link: "https://researchr.org/alias/ryan-m.-golbeck" - name: "Samuel Davis" link: "https://researchr.org/alias/samuel-davis" - name: "Immad Naseer" link: "https://researchr.org/alias/immad-naseer" - name: "Igor Ostrovsky" link: "https://researchr.org/alias/igor-ostrovsky" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2008" doi: "http://doi.acm.org/10.1145/1353482.1353504" abstract: "Advice weaving can be efficiently supported with only lightweight enhancements to existing Virtual Machines. Performing weaving at the Java bytecode (JBC) level while preserving appropriate metadata enables the VM to understand the AspectJ-specific semantics of the code and optimize it. This allows the overhead of advice weaving and performing non-local advice dispatch optimization to occur prior to runtime. It also allows the VM to perform optimizations that are unavailable to a bytecode level weaver. An experimental implementation shows that this approach can take advantage of previously known macro optimizations of expensive constructs, including cflow, as well as micro optimizations including those based on improved type analysis unavailable to JBC-based advice dispatch. A thorough benchmark evaluation confirms that the use of this architecture does not result in runtime performance overhead and benefits from the implemented optimizations. " links: doi: "http://doi.acm.org/10.1145/1353482.1353504" tags: - "optimization" - "AspectJ" - "object-oriented programming" - "semantics" - "rule-based" - "Java" - "AOP" - "architecture" - "analysis" - "macros" - "weaving" - "aspect oriented programming" - "subject-oriented programming" - "systematic-approach" - "feature-oriented programming" researchr: "https://researchr.org/publication/GolbeckDNOK08" cites: 0 citedby: 0 pages: "180-190" booktitle: "Proceedings of the 7th International Conference on Aspect-Oriented Software Development, AOSD 2008, Brussels, Belgium, March 31 - April 4, 2008" editor: - name: "Theo D Hondt" link: "https://researchr.org/alias/theo-d-hondt" publisher: "ACM" isbn: "978-1-60558-044-9" kind: "inproceedings" key: "GolbeckDNOK08" - title: "Common Lisp Object System Specification: 2. Functions in the Programmer Interface" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "Linda G. DeMichiel" link: "https://researchr.org/alias/linda-g.-demichiel" - name: "Richard P. Gabriel" link: "http://www.dreamsongs.com/RPG.html" - name: "Sonya E. Keene" link: "https://researchr.org/alias/sonya-e.-keene" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "David A. Moon" link: "https://researchr.org/alias/david-a.-moon" year: "1989" researchr: "https://researchr.org/publication/BobrowDGKKM89a" cites: 0 citedby: 0 journal: "Higher-Order and Symbolic Computation" volume: "1" number: "3-4" pages: "299-394" kind: "article" key: "BobrowDGKKM89a" - title: "Modeling Crosscutting in Aspect-Oriented Mechanisms" author: - name: "Hidehiko Masuhara" link: "https://researchr.org/alias/hidehiko-masuhara" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2743&spage=2" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2743&spage=2" tags: - "object-oriented programming" - "modeling" - "AOP" - "object-role modeling" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MasuharaK03" cites: 0 citedby: 0 pages: "2-28" booktitle: "ECOOP 2003 - Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, July 21-25, 2003, Proceedings" editor: - name: "Luca Cardelli" link: "http://lucacardelli.name" volume: "2743" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-40531-3" kind: "inproceedings" key: "MasuharaK03" - title: "US Patent 6467086 Aspect-oriented programming" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Lamping" link: "https://researchr.org/alias/lamping" - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Hugunin" link: "https://researchr.org/alias/hugunin" - name: "Hilsdale" link: "https://researchr.org/alias/hilsdale" - name: "Boyapati" link: "https://researchr.org/alias/boyapati" year: "2002" month: "october" doi: "http://www.patentstorm.us/patents/6467086.html" abstract: "The concept of a general purpose aspect is introduced where an aspect transparently forces cross-cutting behavior on object classes and other software entities. A reusable aspect is further described for use as part of an aspect library." links: doi: "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" kind: "misc" key: "US Patent 6467086" - title: "Making the Code Look Like the Design - Aspects and Other Recent Work" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.25" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.25" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/Kiczales07" cites: 0 citedby: 0 pages: "14" booktitle: "15th International Conference on Program Comprehension (ICPC 2007), June 26-29, 2007, Banff, Alberta, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "Kiczales07" - title: "Modularity in the New Millenium: A Panel Summary" author: - name: "Premkumar T. Devanbu" link: "https://researchr.org/alias/premkumar-t.-devanbu" - name: "Robert Balzer" link: "https://researchr.org/alias/robert-balzer" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Launchbury" link: "https://researchr.org/alias/john-launchbury" - name: "David Lorge Parnas" link: "http://en.wikipedia.org/wiki/David_Parnas" - name: "Peri L. Tarr" link: "https://researchr.org/alias/peri-l.-tarr" year: "2003" doi: "http://computer.org/proceedings/icse/1877/18770723.pdf" links: doi: "http://computer.org/proceedings/icse/1877/18770723.pdf" researchr: "https://researchr.org/publication/DevanbuBBKLPT03" cites: 0 citedby: 0 pages: "723-725" booktitle: "Proceedings of the 25th International Conference on Software Engineering, May 3-10, 2003, Portland, Oregon, USA" publisher: "IEEE Computer Society" kind: "inproceedings" key: "DevanbuBBKLPT03" - title: "Open Implementation Design Guidelines" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Chris Maeda" link: "https://researchr.org/alias/chris-maeda" - name: "Anurag Mendhekar" link: "https://researchr.org/alias/anurag-mendhekar" - name: "Gail C. Murphy" link: "https://researchr.org/alias/gail-c.-murphy" year: "1997" doi: "http://doi.acm.org/10.1145/253228.253431" links: doi: "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" kind: "inproceedings" key: "KiczalesLLMMM97" - title: "Improving design and source code modularity using AspectJ (tutorial session)" author: - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2000" doi: "http://doi.acm.org/10.1145/337180.337848" links: doi: "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" kind: "inproceedings" key: "LopesK00:0" - title: "Aspects and/versus modularity the grand debate" author: - name: "Richard P. Gabriel" link: "http://www.dreamsongs.com/RPG.html" - name: "Guy L. Steele Jr." link: "http://research.sun.com/people/mybio.php?uid=25706" - name: "Friedrich Steimann" link: "http://www.fernuni-hagen.de/ps/team/friedrich.steimann.shtml" - name: "Jim Waldo" link: "https://researchr.org/alias/jim-waldo" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Kevin Sullivan" link: "https://researchr.org/alias/kevin-sullivan" year: "2006" doi: "http://doi.acm.org/10.1145/1176617.1176749" links: doi: "http://doi.acm.org/10.1145/1176617.1176749" tags: - "object-oriented programming" - "AOP" - "Modularity" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/GabrielSSWKS06" cites: 0 citedby: 0 pages: "935-936" booktitle: "Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA" editor: - name: "Peri L. Tarr" link: "https://researchr.org/alias/peri-l.-tarr" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" publisher: "ACM" isbn: "1-59593-491-X" kind: "inproceedings" key: "GabrielSSWKS06" - title: "Wrap-Up" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1999" researchr: "https://researchr.org/publication/Kiczales99" cites: 0 citedby: 0 pages: "309-311" booktitle: "Object-Oriented Technology, ECOOP 99 Workshop Reader, ECOOP 99 Workshops, Panels, and Posters, Lisbon, Portugal, June 14-18, 1999, Proceedings" editor: - name: "Ana M. D. Moreira" link: "https://researchr.org/alias/ana-m.-d.-moreira" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" volume: "1743" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-66954-X" kind: "inproceedings" key: "Kiczales99" - title: "Aspect-oriented programming and modular reasoning" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2005" doi: "http://doi.acm.org/10.1145/1062455.1062482" links: doi: "http://doi.acm.org/10.1145/1062455.1062482" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/KiczalesM05%3A0" cites: 0 citedby: 0 pages: "49-58" booktitle: "27th International Conference on Software Engineering (ICSE 2005), 15-21 May 2005, St. Louis, Missouri, USA" editor: - name: "Gruia-Catalin Roman" link: "https://researchr.org/alias/gruia-catalin-roman" - name: "William G. Griswold" link: "https://researchr.org/alias/william-g.-griswold" - name: "Bashar Nuseibeh" link: "https://researchr.org/alias/bashar-nuseibeh" publisher: "ACM" kind: "inproceedings" key: "KiczalesM05:0" - title: "The Need for Customizable Operating Systems" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" - name: "Chris Maeda" link: "https://researchr.org/alias/chris-maeda" - name: "David Keppel" link: "https://researchr.org/alias/david-keppel" - name: "Dylan McNamee" link: "https://researchr.org/alias/dylan-mcnamee" year: "1993" tags: - "operating system" researchr: "https://researchr.org/publication/KiczalesLMKM93" cites: 0 citedby: 0 pages: "165-169" booktitle: "Workshop on Workstation Operating Systems" kind: "inproceedings" key: "KiczalesLMKM93" - title: "Beyond the Black Box: Open Implementation" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1996" doi: "http://www.computer.org:80/software/so1996/s1008abs.htm" links: doi: "http://www.computer.org:80/software/so1996/s1008abs.htm" tags: - "source-to-source" - "open-source" researchr: "https://researchr.org/publication/Kiczales96%3A1" cites: 0 citedby: 0 journal: "IEEE Software" volume: "13" number: "1" pages: "8-11" kind: "article" key: "Kiczales96:1" - title: "A machine code model for efficient advice dispatch" author: - name: "Ryan M. Golbeck" link: "https://researchr.org/alias/ryan-m.-golbeck" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2007" doi: "http://doi.acm.org/10.1145/1230136.1230138" links: doi: "http://doi.acm.org/10.1145/1230136.1230138" researchr: "https://researchr.org/publication/GolbeckK07" cites: 0 citedby: 0 pages: "2" booktitle: "Proceedings of the 1st Workshop on Virtual Machines and Intermediate Languages for Emerging Modularization Mechanisms, VMIL 2007, Vancouver, British Columbia, Canada, March 12-16, 2007" editor: - name: "Hridesh Rajan" link: "https://researchr.org/alias/hridesh-rajan" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" volume: "212" series: "ACM International Conference Proceeding Series" publisher: "ACM" kind: "inproceedings" key: "GolbeckK07" - title: "Aspect-Oriented Programming of Sparse Matrix Code" author: - name: "John Irwin" link: "https://researchr.org/alias/john-irwin" - name: "Jean-Marc Loingtier" link: "https://researchr.org/alias/jean-marc-loingtier" - name: "John R. Gilbert" link: "https://researchr.org/alias/john-r.-gilbert" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" - name: "Anurag Mendhekar" link: "https://researchr.org/alias/anurag-mendhekar" - name: "Tatiana Shpeisman" link: "https://researchr.org/alias/tatiana-shpeisman" year: "1997" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/IrwinLGKLMS97" cites: 0 citedby: 0 pages: "249-256" booktitle: "Scientific Computing in Object-Oriented Parallel Environments, ISCOPE 97, Marina del Rey, CA, USA, December 8-11, 1997, Proceedings" editor: - name: "Yutaka Ishikawa" link: "https://researchr.org/alias/yutaka-ishikawa" - name: "R. R. Oldehoeft" link: "https://researchr.org/alias/r.-r.-oldehoeft" - name: "John Reynders" link: "https://researchr.org/alias/john-reynders" - name: "Marydell Tholburn" link: "https://researchr.org/alias/marydell-tholburn" volume: "1343" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-63827-X" kind: "inproceedings" key: "IrwinLGKLMS97" - title: "Role-based refactoring of crosscutting concerns" author: - name: "Jan Hannemann" link: "https://researchr.org/alias/jan-hannemann" - name: "Gail C. Murphy" link: "https://researchr.org/alias/gail-c.-murphy" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2005" doi: "http://doi.acm.org/10.1145/1052898.1052910" links: doi: "http://doi.acm.org/10.1145/1052898.1052910" tags: - "object-oriented programming" - "rule-based" - "AOP" - "refactoring" - "C++" - "aspect oriented programming" - "rule-based refactoring" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/HannemannMK05" cites: 0 citedby: 0 pages: "135-146" booktitle: "Proceedings of the 4th International Conference on Aspect-Oriented Software Development, AOSD 2005, Chicago, Illinois, USA, March 14-18, 2005" editor: - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Peri L. Tarr" link: "https://researchr.org/alias/peri-l.-tarr" publisher: "ACM" isbn: "1-59593-042-6" kind: "inproceedings" key: "HannemannMK05" - title: "A semantics for advice and dynamic join points in aspect-oriented programming" author: - name: "Mitchell Wand" link: "https://researchr.org/alias/mitchell-wand" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Christopher Dutchyn" link: "https://researchr.org/alias/christopher-dutchyn" year: "2004" doi: "http://doi.acm.org/10.1145/1018203.1018208" links: doi: "http://doi.acm.org/10.1145/1018203.1018208" tags: - "object-oriented programming" - "semantics" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/WandKD04" cites: 0 citedby: 0 journal: "ACM Transactions on Programming Languages and Systems" volume: "26" number: "5" pages: "890-910" kind: "article" key: "WandKD04" - title: "Common Lisp Object System Specification: 1. Programmer Interface Concepts" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "Linda G. DeMichiel" link: "https://researchr.org/alias/linda-g.-demichiel" - name: "Richard P. Gabriel" link: "http://www.dreamsongs.com/RPG.html" - name: "Sonya E. Keene" link: "https://researchr.org/alias/sonya-e.-keene" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "David A. Moon" link: "https://researchr.org/alias/david-a.-moon" year: "1989" researchr: "https://researchr.org/publication/BobrowDGKKM89" cites: 0 citedby: 0 journal: "Higher-Order and Symbolic Computation" volume: "1" number: "3-4" pages: "245-298" kind: "article" key: "BobrowDGKKM89" - title: "Common Lisp Object System Specification X2JI3 Document 88-002R" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "Linda G. DeMichiel" link: "https://researchr.org/alias/linda-g.-demichiel" - name: "Richard P. Gabriel" link: "http://www.dreamsongs.com/RPG.html" - name: "Sonya E. Keene" link: "https://researchr.org/alias/sonya-e.-keene" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "David A. Moon" link: "https://researchr.org/alias/david-a.-moon" year: "1988" researchr: "https://researchr.org/publication/BobrowMGKKM88" cites: 0 citedby: 0 journal: "SIGPLAN Notices" volume: "23" number: "Special Issue" kind: "article" key: "BobrowMGKKM88" - title: "Aspects: passing fad or new foundation?" author: - name: "Adrian M. Colyer" link: "https://researchr.org/alias/adrian-m.-colyer" - name: "Jack Greenfield" link: "https://researchr.org/alias/jack-greenfield" - name: "Ivar Jacobson" link: "https://researchr.org/alias/ivar-jacobson" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Dave A. Thomas" link: "https://researchr.org/alias/dave-a.-thomas" year: "2005" doi: "http://doi.acm.org/10.1145/1094855.1094977" links: doi: "http://doi.acm.org/10.1145/1094855.1094977" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/ColyerGJKT05" cites: 0 citedby: 0 pages: "376-377" booktitle: "Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, October 16-20, 2005, San Diego, CA, USA" editor: - name: "Ralph E. Johnson" link: "http://st-www.cs.illinois.edu/users/johnson/" - name: "Richard P. Gabriel" link: "https://researchr.org/alias/richard-p.-gabriel" publisher: "ACM" isbn: "1-59593-193-7" kind: "inproceedings" key: "ColyerGJKT05" - title: "An Overview of AspectJ" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Erik Hilsdale" link: "https://researchr.org/alias/erik-hilsdale" - name: "Jim Hugunin" link: "https://researchr.org/alias/jim-hugunin" - name: "Mik Kersten" link: "https://researchr.org/alias/mik-kersten" - name: "Jeffrey Palm" link: "https://researchr.org/alias/jeffrey-palm" - name: "William G. Griswold" link: "https://researchr.org/alias/william-g.-griswold" year: "2001" doi: "http://link.springer.de/link/service/series/0558/bibs/2072/20720327.htm" abstract: "AspectJ™ is a simple and practical aspect-oriented extension to Java.. With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJ’s dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are special method-like constructs that can be attached to pointcuts; and aspects are modular units of crosscutting implementation, comprising pointcuts, advice, and ordinary Java member declarations. AspectJ code is compiled into standard Java bytecode. Simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes. Several examples show that AspectJ is powerful, and that programs written using it are easy to understand." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2072/20720327.htm" tags: - "AspectJ" - "object-oriented programming" - "Java" - "meta programming" - "meta-model" - "AOP" - "model-driven development" - "object-role modeling" - "aspect oriented programming" - "compiler" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" researchr: "https://researchr.org/publication/KiczalesHHKPG01" cites: 0 citedby: 1 pages: "327-353" booktitle: "ECOOP 2001 - Object-Oriented Programming, 15th European Conference, Budapest, Hungary, June 18-22, 2001, Proceedings" editor: - name: "Jørgen Lindskov Knudsen" link: "https://researchr.org/alias/j%C3%B8rgen-lindskov-knudsen" volume: "2072" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-42206-4" kind: "inproceedings" key: "KiczalesHHKPG01" - title: "Aspect-oriented programming" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Erik Hilsdale" link: "https://researchr.org/alias/erik-hilsdale" year: "2001" doi: "http://doi.acm.org/10.1145/503209.503260" links: doi: "http://doi.acm.org/10.1145/503209.503260" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/KiczalesH01" cites: 0 citedby: 0 pages: "313" booktitle: "ESEC / SIGSOFT FSE" kind: "inproceedings" key: "KiczalesH01" - title: "Structuring operating system aspects" author: - name: "Yvonne Coady" link: "https://researchr.org/alias/yvonne-coady" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Michael J. Feeley" link: "https://researchr.org/alias/michael-j.-feeley" - name: "Norman C. Hutchinson" link: "https://researchr.org/alias/norman-c.-hutchinson" - name: "Joon Suan Ong" link: "https://researchr.org/alias/joon-suan-ong" year: "2001" tags: - "object-oriented programming" - "operating system" - "AOP" - "C++" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/CoadyKFHO01" cites: 0 citedby: 0 journal: "Communications of the ACM" volume: "44" number: "10" pages: "79-82" kind: "article" key: "CoadyKFHO01" - title: "Brittle systems will break - not bend: can aspect-oriented programming help?" author: - name: "Yvonne Coady" link: "https://researchr.org/alias/yvonne-coady" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Joon Suan Ong" link: "https://researchr.org/alias/joon-suan-ong" - name: "Andrew Warfield" link: "https://researchr.org/alias/andrew-warfield" - name: "Michael J. Feeley" link: "https://researchr.org/alias/michael-j.-feeley" year: "2002" doi: "http://doi.acm.org/10.1145/1133373.1133389" links: doi: "http://doi.acm.org/10.1145/1133373.1133389" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/CoadyKOWF02" cites: 0 citedby: 0 pages: "79-86" booktitle: "Proceedings of the 10th ACM SIGOPS European Workshop, Saint-Emilion, France, July 1, 2002" editor: - name: "Gilles Muller" link: "https://researchr.org/alias/gilles-muller" - name: "Eric Jul" link: "https://researchr.org/alias/eric-jul" publisher: "ACM" kind: "inproceedings" key: "CoadyKOWF02" - title: "Back to the future: a retroactive study of aspect evolution in operating system code" author: - name: "Yvonne Coady" link: "https://researchr.org/alias/yvonne-coady" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2003" doi: "http://doi.acm.org/10.1145/643603.643609" links: doi: "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" kind: "inproceedings" key: "CoadyK03" - title: "Issues in the Pragmatics of Qualitative Modeling: Lessons Learned from a Xerographics Project" author: - name: "Jeff Shrager" link: "https://researchr.org/alias/jeff-shrager" - name: "Daniel S. Jordan" link: "https://researchr.org/alias/daniel-s.-jordan" - name: "Thomas P. Moran" link: "https://researchr.org/alias/thomas-p.-moran" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Daniel M. Russell" link: "https://researchr.org/alias/daniel-m.-russell" year: "1987" tags: - "modeling" researchr: "https://researchr.org/publication/ShragerJMKR87" cites: 0 citedby: 0 journal: "Communications of the ACM" volume: "30" number: "12" pages: "1036-1047" kind: "article" key: "ShragerJMKR87" - title: "Context, perspective, and programs" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2007" doi: "http://doi.acm.org/10.1145/1297846.1297854" links: doi: "http://doi.acm.org/10.1145/1297846.1297854" tags: - "context-aware" researchr: "https://researchr.org/publication/Kiczales07%3A0" cites: 0 citedby: 0 pages: "726" booktitle: "Companion to 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-865-7" kind: "inproceedings" key: "Kiczales07:0" - title: "Issues in the Design and Documentation of Class Libraries" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" year: "1992" tags: - "design" researchr: "https://researchr.org/publication/KiczalesL92" cites: 0 citedby: 0 pages: "435-451" booktitle: "OOPSLA" kind: "inproceedings" key: "KiczalesL92" - title: "The OT Life-cycle: From Eureka! to Shrink Wrap (Panel)" author: - name: "Laura Hill" link: "https://researchr.org/alias/laura-hill" - name: "Bruce Anderson" link: "https://researchr.org/alias/bruce-anderson" - name: "Adele Goldberg" link: "https://researchr.org/alias/adele-goldberg" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Colin Scott" link: "https://researchr.org/alias/colin-scott" - name: "Kevin Tyson" link: "https://researchr.org/alias/kevin-tyson" year: "1997" researchr: "https://researchr.org/publication/HillAGKST97" cites: 0 citedby: 0 pages: "301-303" booktitle: "OOPSLA" kind: "inproceedings" key: "HillAGKST97" - title: "Aspect-Oriented Programming" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1996" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/Kiczales96%3A0" cites: 0 citedby: 0 journal: "ACM Computing Surveys" volume: "28" number: "4es" pages: "154" kind: "article" key: "Kiczales96:0" - title: "The ultra challenge: software systems beyond big" author: - name: "Steven Fraser" link: "https://researchr.org/alias/steven-fraser" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Ricardo Lopez" link: "https://researchr.org/alias/ricardo-lopez" - name: "Peter G. Neumann" link: "https://researchr.org/alias/peter-g.-neumann" - name: "Linda M. Northrop" link: "https://researchr.org/alias/linda-m.-northrop" - name: "Martin C. Rinard" link: "https://researchr.org/alias/martin-c.-rinard" - name: "Douglas C. Schmidt" link: "https://researchr.org/alias/douglas-c.-schmidt" - name: "Kevin Sullivan" link: "https://researchr.org/alias/kevin-sullivan" year: "2006" doi: "http://doi.acm.org/10.1145/1176617.1176747" links: doi: "http://doi.acm.org/10.1145/1176617.1176747" tags: - "C++" researchr: "https://researchr.org/publication/FraserKLNNRSS06" cites: 0 citedby: 0 pages: "929-933" booktitle: "Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA" editor: - name: "Peri L. Tarr" link: "https://researchr.org/alias/peri-l.-tarr" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" publisher: "ACM" isbn: "1-59593-491-X" kind: "inproceedings" key: "FraserKLNNRSS06" - title: "Data Abstraction in AspectJ" author: - name: "Stephan Gudmundson" link: "https://researchr.org/alias/stephan-gudmundson" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2001" doi: "http://link.springer.de/link/service/series/0558/bibs/2192/21920270.htm" abstract: "The AspectJ project[1] is exploring language support to enable programmers to implement crosscutting concerns in a modular fashion. Previous work in this area has primarily examined the expressiveness of AspectJ, to further aspect-oriented programming language research. In our work we focus on critical software engineering issues related to system modularity. In particular, we want to understand how use of AspectJ interacts with the well-known data abstraction principle[2]. In this abstract, we describe some of our work in identifying the explicit and implicit ways that modules can become dependent upon design decisions of another module in AspectJ. We hope that this information will provide a useful perspective to aspect-oriented programming language designers and will help users of AspectJ make informed design decisions. Given the space constraints, we must assume that the reader is familiar with the AspectJ language[1]. " links: doi: "http://link.springer.de/link/service/series/0558/bibs/2192/21920270.htm" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "data-flow language" - "AOP" - "language engineering" - "software language engineering" - "design research" - "language design" - "constraints" - "data-flow programming" - "data-flow" - "software engineering" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "abstraction" - "reflection" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/GudmundsonK01" cites: 0 citedby: 0 pages: "270-271" booktitle: "Metalevel Architectures and Separation of Crosscutting Concerns, Third International Conference, REFLECTION 2001, Kyoto, Japan, September 25-28, 2001, Proceedings" editor: - name: "Akinori Yonezawa" link: "https://researchr.org/alias/akinori-yonezawa" - name: "Satoshi Matsuoka" link: "https://researchr.org/alias/satoshi-matsuoka" volume: "2192" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-42618-3" kind: "inproceedings" key: "GudmundsonK01" - title: "Fluid AOP join point models" author: - name: "Terry Hon" link: "https://researchr.org/alias/terry-hon" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2006" doi: "http://doi.acm.org/10.1145/1176617.1176687" links: doi: "http://doi.acm.org/10.1145/1176617.1176687" tags: - "object-oriented programming" - "AOP" - "object-role modeling" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/HonK06" cites: 0 citedby: 0 pages: "712-713" booktitle: "Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA" editor: - name: "Peri L. Tarr" link: "https://researchr.org/alias/peri-l.-tarr" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" publisher: "ACM" isbn: "1-59593-491-X" kind: "inproceedings" key: "HonK06" - title: "Separation of Concerns and Operating Systems for Highly Heterogeneous Distributed Computing" author: - name: "Yasuhiko Yokote" link: "https://researchr.org/alias/yasuhiko-yokote" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "John Lamping" link: "https://researchr.org/alias/john-lamping" year: "1994" tags: - "operating system" - "separation of concerns" researchr: "https://researchr.org/publication/YokoteKL94" cites: 0 citedby: 0 pages: "39-44" booktitle: "ACM SIGOPS European Workshop" kind: "inproceedings" key: "YokoteKL94" - title: "Design pattern implementation in Java and aspectJ" author: - name: "Jan Hannemann" link: "https://researchr.org/alias/jan-hannemann" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2002" doi: "http://doi.acm.org/10.1145/582419.582436" abstract: "AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability.The degree of improvement in implementation modularity varies, with the greatest improvement coming when the pattern solution structure involves crosscutting of some form, including one object playing multiple roles, many objects playing one role, or an object playing roles in multiple pattern instances." links: doi: "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" kind: "inproceedings" key: "HannemannK02" - title: "Using aspectC to improve the modularity of path-specific customization in operating system code" author: - name: "Yvonne Coady" link: "https://researchr.org/alias/yvonne-coady" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Michael J. Feeley" link: "https://researchr.org/alias/michael-j.-feeley" - name: "Greg Smolyn" link: "https://researchr.org/alias/greg-smolyn" year: "2001" doi: "http://doi.acm.org/10.1145/503209.503223" links: doi: "http://doi.acm.org/10.1145/503209.503223" tags: - "object-oriented programming" - "operating system" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/CoadyKFS01" cites: 0 citedby: 0 pages: "88-98" booktitle: "ESEC / SIGSOFT FSE" kind: "inproceedings" key: "CoadyKFS01" - title: "Aspect-Oriented Programming" author: - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2000" doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10031" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10031" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/LopesK00a" cites: 0 citedby: 0 pages: "461-462" booktitle: "TOOLS 2000: 34th International Conference on Technology of Object-Oriented Languages and Systems, 30 July - 3 August 2000, Santa Barbara, CA, USA" editor: - name: "Qizoyan Li" link: "https://researchr.org/alias/qizoyan-li" - name: "Donald Firesmith" link: "https://researchr.org/alias/donald-firesmith" - name: "Richard Riehle" link: "https://researchr.org/alias/richard-riehle" - name: "Bertrand Meyer" link: "http://se.ethz.ch/~meyer/" publisher: "IEEE Computer Society" isbn: "0-7695-0774-3" kind: "inproceedings" key: "LopesK00a" - title: "Aspect-Oriented Programming" author: - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2000" doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10016" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10016" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/LopesK00" cites: 0 citedby: 0 pages: "468" booktitle: "TOOLS 2000: 33rd International Conference on Technology of Object-Oriented Languages and Systems, 5-8 June 2000, St. Malo, France" publisher: "IEEE Computer Society" isbn: "0-7695-0731-X" kind: "inproceedings" key: "LopesK00" - title: "Open Implementation Analysis and Design" author: - name: "Chris Maeda" link: "https://researchr.org/alias/chris-maeda" - name: "Arthur Lee" link: "https://researchr.org/alias/arthur-lee" - name: "Gail C. Murphy" link: "https://researchr.org/alias/gail-c.-murphy" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1997" doi: "http://doi.acm.org/10.1145/258366.258383" links: doi: "http://doi.acm.org/10.1145/258366.258383" tags: - "points-to analysis" - "analysis" - "source-to-source" - "C++" - "design" - "open-source" researchr: "https://researchr.org/publication/MaedaLMK97" cites: 0 citedby: 0 pages: "44-52" booktitle: "SSR" kind: "inproceedings" key: "MaedaLMK97" - title: "The scalability of AspectJ" author: - name: "Arjun Singh" link: "https://researchr.org/alias/arjun-singh" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2007" doi: "http://doi.acm.org/10.1145/1321211.1321233" abstract: "The AspectJ project[1] is exploring language support to enable programmers to implement crosscutting concerns in a modular fashion. Previous work in this area has primarily examined the expressiveness of AspectJ, to further aspect-oriented programming language research. In our work we focus on critical software engineering issues related to system modularity. In particular, we want to understand how use of AspectJ interacts with the well-known data abstraction principle[2]. In this abstract, we describe some of our work in identifying the explicit and implicit ways that modules can become dependent upon design decisions of another module in AspectJ. We hope that this information will provide a useful perspective to aspect-oriented programming language designers and will help users of AspectJ make informed design decisions. Given the space constraints, we must assume that the reader is familiar with the AspectJ language[1]. " links: doi: "http://doi.acm.org/10.1145/1321211.1321233" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "data-flow language" - "AOP" - "language engineering" - "software language engineering" - "design research" - "language design" - "constraints" - "data-flow programming" - "data-flow" - "software engineering" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "abstraction" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/SinghK07" cites: 0 citedby: 0 pages: "203-214" booktitle: "Proceedings of the 2007 conference of the Centre for Advanced Studies on Collaborative Research, October 22-25, 2007, Richmond Hill, Ontario, Canada" editor: - name: "Kelly A. Lyons" link: "https://researchr.org/alias/kelly-a.-lyons" - name: "Christian Couturier" link: "https://researchr.org/alias/christian-couturier" publisher: "IBM" kind: "inproceedings" key: "SinghK07" - title: "CommonLoops: Merging Lisp and Object-Oriented Programming" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "Kenneth M. Kahn" link: "https://researchr.org/alias/kenneth-m.-kahn" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Larry Masinter" link: "https://researchr.org/alias/larry-masinter" - name: "Mark Stefik" link: "https://researchr.org/alias/mark-stefik" - name: "Frank Zdybel" link: "https://researchr.org/alias/frank-zdybel" year: "1986" tags: - "object-oriented programming" - "meta programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/BobrowKKMSZ86" cites: 0 citedby: 0 pages: "17-29" booktitle: "OOPSLA" kind: "inproceedings" key: "BobrowKKMSZ86" - title: "Expressive programs through presentation extension" author: - name: "Andrew David Eisenberg" link: "https://researchr.org/alias/andrew-david-eisenberg" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2007" doi: "http://doi.acm.org/10.1145/1218563.1218573" links: doi: "http://doi.acm.org/10.1145/1218563.1218573" researchr: "https://researchr.org/publication/EisenbergK07" cites: 1 citedby: 0 pages: "73-84" booktitle: "Proceedings of the 6th International Conference on Aspect-Oriented Software Development, AOSD 2007, Vancouver, British Columbia, Canada, March 12-16, 2007" editor: - name: "Brian M. Barry" link: "https://researchr.org/alias/brian-m.-barry" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" volume: "208" series: "ACM International Conference Proceeding Series" publisher: "ACM" isbn: "1-59593-615-7" kind: "inproceedings" key: "EisenbergK07" - title: "Discussing aspects of AOP" author: - name: "Tzilla Elrad" link: "https://researchr.org/alias/tzilla-elrad" - name: "Mehmet Aksit" link: "http://www.utwente.nl/ewi/trese/people/Aksit/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Karl J. Lieberherr" link: "https://researchr.org/alias/karl-j.-lieberherr" - name: "Harold Ossher" link: "http://portal.acm.org/author_page.cfm?id=81100333974&coll=GUIDE&dl=GUIDE&trk=0&CFID=51132785&CFTOKEN=62287740" year: "2001" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/ElradAKLO01" cites: 0 citedby: 0 journal: "Communications of the ACM" volume: "44" number: "10" pages: "33-38" kind: "article" key: "ElradAKLO01" - title: "Uniform Support for Modeling Crosscutting Structure" author: - name: "Maria Tkatchenko" link: "https://researchr.org/alias/maria-tkatchenko" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2005" doi: "http://dx.doi.org/10.1007/11557432_39" links: doi: "http://dx.doi.org/10.1007/11557432_39" tags: - "object-oriented programming" - "modeling" - "AOP" - "UML" - "object-role modeling" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/TkatchenkoK05" cites: 0 citedby: 0 pages: "508-521" booktitle: "Model Driven Engineering Languages and Systems, 8th International Conference, MoDELS 2005, Montego Bay, Jamaica, October 2-7, 2005, Proceedings" editor: - name: "Lionel C. Briand" link: "https://researchr.org/alias/lionel-c.-briand" - name: "Clay Williams" link: "https://researchr.org/alias/clay-williams" volume: "3713" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-29010-9" kind: "inproceedings" key: "TkatchenkoK05" - title: "A Compilation and Optimization Model for Aspect-Oriented Programs" author: - name: "Hidehiko Masuhara" link: "https://researchr.org/alias/hidehiko-masuhara" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Christopher Dutchyn" link: "https://researchr.org/alias/christopher-dutchyn" year: "2003" doi: "http://link.springer.de/link/service/series/0558/bibs/2622/26220046.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2622/26220046.htm" tags: - "optimization" - "object-oriented programming" - "AOP" - "object-role modeling" - "aspect oriented programming" - "subject-oriented programming" - "program optimization" - "feature-oriented programming" researchr: "https://researchr.org/publication/MasuharaKD03" cites: 0 citedby: 0 pages: "46-60" booktitle: "Compiler Construction, 12th International Conference, CC 2003, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003, Warsaw, Poland, April 7-11, 2003, Proceedings" editor: - name: "Görel Hedin" link: "http://cs.lth.se/gorel_hedin" volume: "2622" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-00904-3" kind: "inproceedings" key: "MasuharaKD03" - title: "Recent Developments in Aspect" author: - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1998" doi: "http://link.springer.de/link/service/series/0558/bibs/1543/15430398.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1543/15430398.htm" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/LopesK98" cites: 0 citedby: 0 pages: "398-401" booktitle: "Object-Oriented Technology, ECOOP 98 Workshop Reader, ECOOP 98 Workshops, Demos, and Posters, Brussels, Belgium, July 20-24, 1998, Proceedings" editor: - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Jan Bosch" link: "https://researchr.org/alias/jan-bosch" volume: "1543" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-65460-7" kind: "inproceedings" key: "LopesK98" - title: "Aspect-Oriented System Structure" author: - name: "Yvonne Coady" link: "https://researchr.org/alias/yvonne-coady" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Michael J. Feeley" link: "https://researchr.org/alias/michael-j.-feeley" - name: "Norman C. Hutchinson" link: "https://researchr.org/alias/norman-c.-hutchinson" - name: "Joon Suan Ong" link: "https://researchr.org/alias/joon-suan-ong" - name: "Stephan Gudmundson" link: "https://researchr.org/alias/stephan-gudmundson" year: "2001" doi: "http://csdl.computer.org/comp/proceedings/hotos/2001/1040/00/10400166.pdf" links: doi: "http://csdl.computer.org/comp/proceedings/hotos/2001/1040/00/10400166.pdf" tags: - "object-oriented programming" - "AOP" - "C++" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/CoadyKFHOG01" cites: 0 citedby: 0 pages: "166" booktitle: "Proceedings of HotOS-VIII: 8th Workshop on Hot Topics in Operating Systems, May 20-23, 2001, Elmau/Oberbayern, Germany" publisher: "IEEE Computer Society" isbn: "0-7695-1040-X" kind: "inproceedings" key: "CoadyKFHOG01" - title: "Panel: Object-Oriented Languages: Premises and Promises" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "L. Peter Deutsch" link: "https://researchr.org/alias/l.-peter-deutsch" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Bjarne Stroustrup" link: "https://researchr.org/alias/bjarne-stroustrup" year: "1989" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/BobrowDKS89" cites: 0 citedby: 0 pages: "524" booktitle: "OOPSLA" kind: "inproceedings" key: "BobrowDKS89" - title: "What Can Programming Languages Contribute to Software Engineering, and Vice Versa? (Panel)" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1996" doi: "http://doi.acm.org/10.1145/239098.239099" links: doi: "http://doi.acm.org/10.1145/239098.239099" tags: - "programming languages" - "language engineering" - "software language engineering" - "software engineering" - "programming" researchr: "https://researchr.org/publication/Kiczales96" cites: 0 citedby: 0 pages: "2" booktitle: "SIGSOFT FSE" kind: "inproceedings" key: "Kiczales96" - title: "A simple edit-time metaobject protocol: controlling the display of metadata in programs" author: - name: "Andrew David Eisenberg" link: "https://researchr.org/alias/andrew-david-eisenberg" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2006" doi: "http://doi.acm.org/10.1145/1176617.1176679" abstract: "I will present a prototype tool that enables Java annotations to serve as an extension point for making programs more visually expressive. Thus, programmers can view and edit code in a way that more closely resembles the intention of the code, rather than the raw text. Examples that we have applied the tool to are JDBC 4.0, getters, setters and constraints, JSR 181 Webservices, AspectJ, and state charts. " links: doi: "http://doi.acm.org/10.1145/1176617.1176679" tags: - "AspectJ" - "Java" - "protocol" - "constraints" researchr: "https://researchr.org/publication/EisenbergK06" cites: 0 citedby: 0 pages: "696-697" booktitle: "Companion to the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA" editor: - name: "Peri L. Tarr" link: "https://researchr.org/alias/peri-l.-tarr" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" publisher: "ACM" isbn: "1-59593-491-X" kind: "inproceedings" key: "EisenbergK06" - title: "Aspect-oriented programming" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2005" doi: "http://doi.acm.org/10.1145/1062455.1062640" links: doi: "http://doi.acm.org/10.1145/1062455.1062640" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/Kiczales05" cites: 0 citedby: 0 pages: "730" booktitle: "27th International Conference on Software Engineering (ICSE 2005), 15-21 May 2005, St. Louis, Missouri, USA" editor: - name: "Gruia-Catalin Roman" link: "https://researchr.org/alias/gruia-catalin-roman" - name: "William G. Griswold" link: "https://researchr.org/alias/william-g.-griswold" - name: "Bashar Nuseibeh" link: "https://researchr.org/alias/bashar-nuseibeh" publisher: "ACM" kind: "inproceedings" key: "Kiczales05" - title: "Aspect-Oriented Programming Workshop Report" author: - name: "Kim Mens" link: "http://www.info.ucl.ac.be/~km/MyResearchPages/research/" - name: "Cristina Videira Lopes" link: "http://www.ics.uci.edu/~lopes/" - name: "Bedir Tekinerdogan" link: "https://researchr.org/alias/bedir-tekinerdogan" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1997" doi: "http://link.springer.de/link/service/series/0558/bibs/1357/13570483.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1357/13570483.htm" tags: - "object-oriented programming" - "AOP" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MensLTK97" cites: 0 citedby: 0 pages: "483-496" booktitle: "Object-Oriented Technology, ECOOP 97 Workshop Reader, ECOOP 97 Workshops, Jyväskylä, Finland, June 9-13, 1997" editor: - name: "Jan Bosch" link: "https://researchr.org/alias/jan-bosch" - name: "Stuart Mitchell" link: "https://researchr.org/alias/stuart-mitchell" volume: "1357" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-64039-8" kind: "inproceedings" key: "MensLTK97" - title: "The Common Lisp Object System Metaobject Kernel: A Status Report" author: - name: "Daniel G. Bobrow" link: "https://researchr.org/alias/daniel-g.-bobrow" - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "1988" doi: "http://doi.acm.org/10.1145/62678.62723" links: doi: "http://doi.acm.org/10.1145/62678.62723" researchr: "https://researchr.org/publication/BobrowK88" cites: 0 citedby: 0 pages: "309-315" booktitle: "LISP and Functional Programming" kind: "inproceedings" key: "BobrowK88" - title: "Getting started with ASPECTJ" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" - name: "Erik Hilsdale" link: "https://researchr.org/alias/erik-hilsdale" - name: "Jim Hugunin" link: "https://researchr.org/alias/jim-hugunin" - name: "Mik Kersten" link: "https://researchr.org/alias/mik-kersten" - name: "Jeffrey Palm" link: "https://researchr.org/alias/jeffrey-palm" - name: "William G. Griswold" link: "https://researchr.org/alias/william-g.-griswold" year: "2001" tags: - "AspectJ" - "object-oriented programming" - "AOP" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/KiczalesHHKPG01%3A0" cites: 0 citedby: 0 journal: "Communications of the ACM" volume: "44" number: "10" pages: "59-65" kind: "article" key: "KiczalesHHKPG01:0" - title: "AspectJ(tm): Aspect-Oriented Programming in Java" author: - name: "Gregor Kiczales" link: "http://people.cs.ubc.ca/~gregor/" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2591/25910001.htm" abstract: "Aspect-oriented programming (AOP) gives software developers a powerful new tool for structuring the design and code of software systems. AOP simplifies development of system aspects that previously were among the most difficult to handle, including failure handling strategies, synchronization policies, change propagation, security checking, distribution, policy enforcement and many others. AOP using AspectJ makes it possible to describe, in just one place in the system, the implementation of such crosscutting aspects. This reduces development time, improves software quality, and makes software more flexible. This talk will show what it is like to design and implement with AspectJ, and what implications this has for software developers in terms of time-to-market, software quality, and product flexibility. For more info about AOP and AspectJ go to http://aspectj.org/servlets/AJSite." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2591/25910001.htm" tags: - "AspectJ" - "object-oriented programming" - "Java" - "synchronization" - "AOP" - "software product quality" - "security" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "change propagation" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/Kiczales02" cites: 0 citedby: 0 pages: "1" booktitle: "Objects, Components, Architectures, Services, and Applications for a Networked World, International Conference NetObjectDays, NODe 2002, Erfurt, Germany, October 7-10, 2002, Revised Papers" editor: - name: "Mehmet Aksit" link: "https://researchr.org/alias/mehmet-aksit" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" - name: "Rainer Unland" link: "https://researchr.org/alias/rainer-unland" volume: "2591" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-00737-7" kind: "inproceedings" key: "Kiczales02"