skip to main content
article

On dynamically-scoped crosscutting mechanisms

Published:01 February 2007Publication History
Skip Abstract Section

Abstract

Many crosscutting mechanisms proposed in the literature offer means to restrain aspects to some dynamically-defined scopes. Dynamically-scoped mechanisms are particularly interesting because of the flexibility, expressiveness, and control they give over structural and behavioral changes made by aspects. Since the nature of dynamic scopes as well as the scoping mechanisms themselves greatly vary among proposals, It is relatively complex to compare them. This paper aims at filling this gap by proposing a first characterization of dynamically-scoped crosscutting mechanisms, hence providing a reference frame for comparing different approaches. As a result, this work clarifies some differences between related approaches, suggests possible tracks for further exploration of the design space of such mechanisms, and discusses some issues raised by dynamically-scoped aspects.

References

  1. Allan, C., Avgustinov, P., Christensen, A. S., Hendren, L., Kuzins, S., Lhoták, O., De Moor, O., Sereni, D., Sittampalam, G., and Tibble, J. 2005. Adding trace matching with free variables to Aspect J. See OOPSLA 2005 {2005}, 345--364. ACM SIGPLAN Notices, 40(11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aracic, I., Gasiunas, V., Mezini, M., and Ostermann, K. 2006. An overview of Caesar J. In Transactions on Aspect-Oriented Software Development. Lecture Notes in Computer Science, vol. 3880. Springer-Verlag, 135--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bergel, A., Ducasse, S., and Nierstrasz, O. 2005. Classbox/J: Controlling the scope of change in Java. See OOPSLA 2005 {2005}, 177--189. ACM SIGPLAN Notices, 40(11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bergel, A., Ducasse, S., and WUYTS, R. 2003. Classboxes: A minimal module model supporting local rebinding. In Proceedings of the Joint Modular Languages Conference (JMLC'03). Lecture Notes in Computer Science, vol. 2789. Springer-Verlag, 122--131.Google ScholarGoogle ScholarCross RefCross Ref
  5. Costanza, P. and Hirschfeld, R. 2005. Language constructs for context-oriented programming -- an overview of ContextL. In ACM Dynamic Language Symposium (DLS 2005). San Diego, CA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Dijkstra, E. W. 1968. Go To statement considered harmful. Communications of the ACM 11, 3 (Mar.), 147--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Douence, R., Fradet, P., and Südholt, M. 2004. Composition, reuse and interaction analysis of stateful aspects. See Lieberherr {2004}, 141--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Douence, R., Fradet, P., and Südholt, M. 2005. Trace-based aspects. In Aspect-Oriented Software Development, R. E. Filman, T. Elrad, S. Clarke, and M. Akşit, Eds. Addison-Wesley, Boston, 201--217.Google ScholarGoogle Scholar
  9. Elrad, T., Filman, R. E., and Bader, A. 2001. Aspect-oriented programming. Communications of the ACM 44, 10 (Oct.). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hilsdale, E. and Hugunin, J. 2004. Advice weaving in Aspect J. See Lieberherr {2004}, 26--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hirschfeld, R. 2002. AspectS -- aspect-oriented programming with Squeak. In International Conference NetObjectDays on Components, Architectures, Services, and Applications for a Networked World, M. Akşit, M. Mezini, and R. Unland, Eds. Lecture Notes in Computer Science, vol. 2591. Springer-Verlag, 216--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hirschfeld, R. and Costanza, p. 2005. Extending advice activation in AspectS. In 2nd European Interactive Workshop on Aspects in Software (EIWAS 2005). Brussels, Belgium.Google ScholarGoogle Scholar
  13. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. 2001. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP 2001), J. L. Knudsen, Ed. Number 2072 in Lecture Notes in Computer Science. Springer-Verlag, Budapest, Hungary, 327--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Laddad, R. 2003. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lieberherr, K., Ed. 2004. Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004). ACM Press, Lancaster, UK.Google ScholarGoogle Scholar
  16. Masuhara, H. and Kawauchi, K. 2003. Dataflow pointcut in aspect-oriented programming. In Proceedings of the First Asian Symposium on Programming Languages and Systems (APLAS'03). Lecture Notes in Computer Science, vol. 2895. 105--121.Google ScholarGoogle ScholarCross RefCross Ref
  17. Masuhara, H., Kiczales, G., and Dutchyn, C. 2003. A compilation and optimization model for aspect-oriented programs. In Proceedings of Compiler Construction (CC2003), G. Hedin, Ed. Lecture Notes in Computer Science, vol. 2622. Springer-Verlag, 46--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Oopsla 2005 2005. Proceedings of the 20th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2005). ACM Press, San Diego, California, USA. ACM SIGPLAN Notices, 40(11).Google ScholarGoogle Scholar
  19. Redmond, B. and Cahill, V. 2002. Supporting unanticipated dynamic adaptation of application behaviour. In Proceedings of the 16th European Conference on Object-Oriented Programming (ECOOP 2002), B. Magnusson, Ed. Number 2374 in Lecture Notes in Computer Science. Springer-Verlag, Málaga, Spain, 205--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tanter, É., Gybels, K., Denker, M., and Bergel, A. 2006. Context-aware aspects. In Proceedings of the 5th International Symposium on Software Composition (SC 2006), W. Löwe and M. Südholt, Eds. Lecture Notes in Computer Science, vol. 4089. Springer-Verlag, Vienna, Austria, 227--242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Tanter, É. and Noyé, J. 2005. A versatile kernel for multi-language AOP. In Proceedings of the 4th ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE 2005), R. Glück and M. Lowry, Eds. Lecture Notes in Computer Science, vol. 3676. Springer-Verlag, Tallinn, Estonia, 173--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Tanter, É., Noyé, J., Caromel, D. and Cointe, P. 2003. Partial behavioural reflection: Spatial and temporal selection of reification. In Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2003), R. Crocker and G. L. Steele, Jr., Eds. ACM Press, Anaheim, CA, USA, 27--46. ACM SIGPLAN Notices, 38(11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Vanderperren, W., Suvee, D., Cíbran, M. A., and De Fraine, B. 2005. Stateful aspects in JAsCo. In Proceedings of Software Composition (SC 2005). Lecture Notes in Computer Science, vol. 3628. Springer-Verlag, 167--181. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On dynamically-scoped crosscutting mechanisms

    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

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!