ABSTRACT
Alternative semantics for aspect-oriented abstractions can be defined by language designers using extensible aspect compiler frameworks. However, application developers are prevented from tailoring the language semantics in an application-specific manner. To address this problem, we propose an architecture for aspect-oriented languages with an explicit meta-interface to language semantics. We demonstrate the benefits of such an architecture by presenting several scenarios in which aspect-oriented programs use the meta-interface of the language to tailor its semantics to a particular application execution context.
- P. Avgustinov, T. Ekman, and J. Tibble. Modularity first: A Case for mixing AOP and Attribute Grammars. In AOSD, pages 25--35, 2008. Google ScholarDigital Library
- P. Avgustinov, J. Tibble, A. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, and G. Sittampalam. abc: An extensible AspectJ Compiler. In AOSD, pages 87--98, 2005. Google ScholarDigital Library
- L. Bergmans and M. Aksit. Composing Crosscutting Concerns using Composition Filters. Communications of the ACM, 44(10):51--57, 2001. Google ScholarDigital Library
- L. Bergmans and M. Aksit. Principles and Design Rationale of Composition Filters. Aspect-Oriented Software Development. Addison-Wesley, pages 0--32, 2004.Google Scholar
- C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann. Virtual Machine Support for Dynamic Join Points. In AOSD, pages 83--92, 2004. Google ScholarDigital Library
- C. Bockisch, M. Mezini, W. Havinga, L. Bergmans, and K. Gybels. Reference Model Implementation. Technical Report AOSD-Europe-TUD-8, Technische Universität Darmstadt, 2007.Google Scholar
- J. Brichau, K. Mens, and K. De Volder. Building Composable Aspect-Specific Languages with Logic Metaprogramming. In GPCE, pages 110--127, 2002. Google ScholarDigital Library
- J. Brichau, M. Mezini, J. Noyé, W. Havinga, L. Bergmans, V. Gasiunas, C. Bockisch, J. Fabry, and T. D'Hondt. An Initial Metamodel for Aspect-Oriented Programming Languages. http://www.aosd-europe.net/deliverables/d39.pdf, 2006.Google Scholar
- N. Cacho, T. Batista, and F. Fernandes. AspectLua--A Dynamic AOP Approach. Journal of Universal Computer Society, 11(7):1177--1197, 2005.Google Scholar
- CaesarJ Homepage. http://caesarj.org/.Google Scholar
- T. Dinkelaker and M. Mezini. Dynamically Linked Domain-Specific Extensions for Advice Languages. In Workshop on Domain-Specific Aspect Languages, 2008. Google ScholarDigital Library
- R. Douence, P. Fradet, and M. Südholt. A Framework for the Detection and Resolution of Aspect Interactions. In GPCE, pages 173--188, 2002. Google ScholarDigital Library
- M. Eaddy, A. Aho, W. Hu, P. McDonald, and J. Burger. Debugging Aspect-Enabled Programs. Symposium on Software Composition, pages 200--215, 2007. Google ScholarDigital Library
- M. Fayad, D. Schmidt, and R. Johnson. Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley, NY, USA, 1999. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of reusable Object-Oriented Software. Addison-Wesley Professional, 1995. Google ScholarDigital Library
- A. Goldberg and D. Robson. Smalltalk-80: the Language and its Implementation. Addison-Wesley, Boston, MA, USA, 1983. Google ScholarDigital Library
- J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java Language Specification Second Edition. Addison-Wesley, Boston, Mass, 2000. Google ScholarDigital Library
- The Groovy Home Page. http://groovy.codehaus.org/.Google Scholar
- W. Havinga, L. Bergmans, and M. Aksit. Prototyping and Composing Aspect Languages using an Aspect Interpreter Framework. In ECOOP, pages 180--206, 2008. Google ScholarDigital Library
- R. Hirschfeld. AspectS: AOP with Squeak. In OOPSLA Workshop on Advanced Separation of Concerns in OO Systems, 2001.Google Scholar
- R. Hirschfeld. AspectS: Aspect--Oriented Programming with Squeak. In Netobjectdays (NODe), pages 216--232, 2003. Google ScholarDigital Library
- C. Kaewkasi and J. Gurd. Groovy AOP: A Dynamic AOP System for a JVM-based Language. In Workshop on Software Engineering Properties of Languages and Aspect Technologies, 2008. Google ScholarDigital Library
- D. O. Keck and P. J. Kuehn. The Feature and Service Interaction Problem in Telecommunications Systems: A Survey. IEEE Trans. Softw. Eng., 24(10):779--796, 1998. Google ScholarDigital Library
- G. Kiczales. Beyond the Black Box: Open Implementation. IEEE Software, 13(1):8--11, 1996. Google ScholarDigital Library
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In ECOOP, pages 327--353, 2001. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-Oriented Programming. In ECOOP, pages 220--242, 1997.Google ScholarCross Ref
- G. Kiczales, J. d. Rivières, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA, 1991. Google ScholarDigital Library
- G. Kniesel. Detection and Resolution of Weaving Interactions. TAOSD: Dependencies and Interactions with Aspects, LNCS, 2007. Special Issue on Aspect Dependencies and Interactions, edited by R. Chitchyan.Google Scholar
- S. Kojarski and D. Lorenz. AOP as a First Class Reflective Mechanism. In OOPSLA, pages 216--217, 2004. Google ScholarDigital Library
- S. Kojarski and D. Lorenz. Modeling Aspect Mechanisms: A top-down Approach. In ICSE, pages 212--221, 2006. Google ScholarDigital Library
- S. Kojarski and D. Lorenz. Awesome: an Aspect Co-Weaving System for Composing Multiple Aspect-Oriented Extensions. In OOPSLA, pages 515--534, 2007. Google ScholarDigital Library
- D. König and A. Glover. Groovy in Action. Manning, 2007. Google ScholarDigital Library
- D. Lorenz and S. Kojarski. Reflective Mechanisms in AOP Languages. Technical report, Northeastern, 2003.Google Scholar
- D. Lorenz and S. Kojarski. Understanding Aspect Interactions, Co-Advising and Foreign Advising. In ECOOP Workshop Aspects, Dependencies and Interactions, Berlin, Germany, 2007.Google Scholar
- H. Masuhara, Y. Endoh, and A. Yonezawa. A Fine-Grained Join Point Model for More Reusable Aspects. LNCS Programming Languages and Systems, 4279:131, 2006. Google ScholarDigital Library
- H. Masuhara, G. Kiczales, and C. Dutchyn. A Compilation and Optimization Model for Aspect-Oriented Programs. In CC 2003, volume 2622 of LNCS, pages 46--60, 2003. Google ScholarDigital Library
- J. Pang and L. Blair. An Adaptive Run Time Manager for the Dynamic Integration and Interaction Resolution of Features. In Distributed Computing Systems, pages 445--450, 2002. Google ScholarDigital Library
- J. Pang and L. Blair. Separating Interaction Concerns from Distributed Feature Components. Electronic Notes in Theoretical Computer Science, 82(5):70--84, 2003.Google Scholar
- The PROSE Homepage. http://prose.ethz.ch/Wiki.jsp.Google Scholar
- A. Rashid. Aspects and Evolution: The Case for Versioned Types and Meta-Aspect Protocols. In Workshop on Reflection, AOP, and Meta-Data for Software Evolution, 2006.Google Scholar
- F. Sanen, E. Truyen, and W. Joosen. Modeling Context-Dependent Aspect Interference using Default Logics. In ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution, 2008.Google Scholar
- The Steamloom Homepage. http://www.st.informatik.tu-darmstadt.de/Steamloom.Google Scholar
- G. Sullivan. Aspect-Oriented Programming using Reflection and Metaobject Protocols. Communications of the ACM, 44(10):95--97, 2001. Google ScholarDigital Library
- D. Suvée, W. Vanderperren, and V. Jonckers. JAsCo: An Aspect-Oriented Approach tailored for Component based Software Development. In AOSD, pages 21--29, 2003. Google ScholarDigital Library
- E. Tanter. From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming. PhD thesis, Université de Nantes, France, 2004.Google Scholar
- E. Tanter. Aspects of Composition in the Reflex AOP Kernel. LNCS, 4089:98, 2006. Google ScholarDigital Library
- N. Ubayashi, H. Masuhara, and T. Tamai. An AOP Implementation Framework for Extending Join Point Models. In ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution, 2004.Google Scholar
- D. Wampler. Aquarium: AOP in Ruby. In AOSD, 2008.Google Scholar
Index Terms
- The art of the meta-aspect protocol
Recommendations
An architecture for composing embedded domain-specific languages
AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software DevelopmentEmbedded domain-specific languages (EDSLs) are said to be easier to compose than DSLs that are implemented by preprocessors. However, existing approaches focus on composition scenarios where the use of abstractions from one domain does not affect the ...
Versatile language semantics with reflective embedding
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applicationsOften, for one programming language, various implementations exist that have subtle but important variations in their syntax and semantics. While current technology provides good support for syntax variability in form of syntax extensions, there is only ...
Modularizing invasive aspect languages
DSAL '08: Proceedings of the 2008 AOSD workshop on Domain-specific aspect languagesIn domain-specific aspect languages we observe that aspects are translated to base code and subsequently require a complex integration into base code while guaranteeing the correctness of the aspect and the base code in the woven code. We call this ...
Comments