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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Dijkstra, E. W. 1968. Go To statement considered harmful. Communications of the ACM 11, 3 (Mar.), 147--148. Google Scholar
Digital Library
- Douence, R., Fradet, P., and Südholt, M. 2004. Composition, reuse and interaction analysis of stateful aspects. See Lieberherr {2004}, 141--150. Google Scholar
Digital Library
- 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 Scholar
- Elrad, T., Filman, R. E., and Bader, A. 2001. Aspect-oriented programming. Communications of the ACM 44, 10 (Oct.). Google Scholar
Digital Library
- Hilsdale, E. and Hugunin, J. 2004. Advice weaving in Aspect J. See Lieberherr {2004}, 26--35. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Laddad, R. 2003. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Press. Google Scholar
Digital Library
- Lieberherr, K., Ed. 2004. Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004). ACM Press, Lancaster, UK.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
On dynamically-scoped crosscutting mechanisms
Recommendations
Refactoring of Crosscutting Concerns with Metaphor-Based Heuristics
It has been advocated that Aspect-Oriented Programming (AOP) is an effective technique to improve software maintainability through explicit support for modularising crosscutting concerns. However, in order to take the advantages of AOP, there is a need ...
Modularizing crosscutting contracts with AspectJML
MODULARITY '14: Proceedings of the companion publication of the 13th international conference on ModularityIt is claimed in the literature that the contracts of a system present crosscutting structure during its realization. In this context, there has been attempts to improve separation of crosscutting contracts, e.g. by aspect-oriented programming and ...
An aspect-oriented infrastructure for a typed, stack-based, intermediate assembly language
OOPSLA '02: Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsWhile traditional, one-dimensional approaches to the problem of separation of concerns have been adequate for current software development, they are often brittle and resistant to evolutionary change. Aspects and aspect-orientation offer a controllable, ...






Comments