skip to main content
10.1145/1509239.1509248acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

The art of the meta-aspect protocol

Authors Info & Claims
Published:02 March 2009Publication History

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.

References

  1. P. Avgustinov, T. Ekman, and J. Tibble. Modularity first: A Case for mixing AOP and Attribute Grammars. In AOSD, pages 25--35, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Bergmans and M. Aksit. Composing Crosscutting Concerns using Composition Filters. Communications of the ACM, 44(10):51--57, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Bergmans and M. Aksit. Principles and Design Rationale of Composition Filters. Aspect-Oriented Software Development. Addison-Wesley, pages 0--32, 2004.Google ScholarGoogle Scholar
  5. C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann. Virtual Machine Support for Dynamic Join Points. In AOSD, pages 83--92, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. J. Brichau, K. Mens, and K. De Volder. Building Composable Aspect-Specific Languages with Logic Metaprogramming. In GPCE, pages 110--127, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. N. Cacho, T. Batista, and F. Fernandes. AspectLua--A Dynamic AOP Approach. Journal of Universal Computer Society, 11(7):1177--1197, 2005.Google ScholarGoogle Scholar
  10. CaesarJ Homepage. http://caesarj.org/.Google ScholarGoogle Scholar
  11. T. Dinkelaker and M. Mezini. Dynamically Linked Domain-Specific Extensions for Advice Languages. In Workshop on Domain-Specific Aspect Languages, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Eaddy, A. Aho, W. Hu, P. McDonald, and J. Burger. Debugging Aspect-Enabled Programs. Symposium on Software Composition, pages 200--215, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Fayad, D. Schmidt, and R. Johnson. Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley, NY, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of reusable Object-Oriented Software. Addison-Wesley Professional, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Goldberg and D. Robson. Smalltalk-80: the Language and its Implementation. Addison-Wesley, Boston, MA, USA, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java Language Specification Second Edition. Addison-Wesley, Boston, Mass, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. The Groovy Home Page. http://groovy.codehaus.org/.Google ScholarGoogle Scholar
  19. W. Havinga, L. Bergmans, and M. Aksit. Prototyping and Composing Aspect Languages using an Aspect Interpreter Framework. In ECOOP, pages 180--206, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Hirschfeld. AspectS: AOP with Squeak. In OOPSLA Workshop on Advanced Separation of Concerns in OO Systems, 2001.Google ScholarGoogle Scholar
  21. R. Hirschfeld. AspectS: Aspect--Oriented Programming with Squeak. In Netobjectdays (NODe), pages 216--232, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Kiczales. Beyond the Black Box: Open Implementation. IEEE Software, 13(1):8--11, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. G. Kiczales, J. d. Rivières, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle Scholar
  29. S. Kojarski and D. Lorenz. AOP as a First Class Reflective Mechanism. In OOPSLA, pages 216--217, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Kojarski and D. Lorenz. Modeling Aspect Mechanisms: A top-down Approach. In ICSE, pages 212--221, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Kojarski and D. Lorenz. Awesome: an Aspect Co-Weaving System for Composing Multiple Aspect-Oriented Extensions. In OOPSLA, pages 515--534, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. König and A. Glover. Groovy in Action. Manning, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Lorenz and S. Kojarski. Reflective Mechanisms in AOP Languages. Technical report, Northeastern, 2003.Google ScholarGoogle Scholar
  34. D. Lorenz and S. Kojarski. Understanding Aspect Interactions, Co-Advising and Foreign Advising. In ECOOP Workshop Aspects, Dependencies and Interactions, Berlin, Germany, 2007.Google ScholarGoogle Scholar
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. Pang and L. Blair. Separating Interaction Concerns from Distributed Feature Components. Electronic Notes in Theoretical Computer Science, 82(5):70--84, 2003.Google ScholarGoogle Scholar
  39. The PROSE Homepage. http://prose.ethz.ch/Wiki.jsp.Google ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. The Steamloom Homepage. http://www.st.informatik.tu-darmstadt.de/Steamloom.Google ScholarGoogle Scholar
  43. G. Sullivan. Aspect-Oriented Programming using Reflection and Metaobject Protocols. Communications of the ACM, 44(10):95--97, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. E. Tanter. From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming. PhD thesis, Université de Nantes, France, 2004.Google ScholarGoogle Scholar
  46. E. Tanter. Aspects of Composition in the Reflex AOP Kernel. LNCS, 4089:98, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle Scholar
  48. D. Wampler. Aquarium: AOP in Ruby. In AOSD, 2008.Google ScholarGoogle Scholar

Index Terms

  1. The art of the meta-aspect protocol

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development
            March 2009
            278 pages
            ISBN:9781605584423
            DOI:10.1145/1509239

            Copyright © 2009 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 2 March 2009

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate41of139submissions,29%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader