Results 1 -
2 of
2
Dynamically Scoped Functions as the Essence of AOP
- ACM SIGPLAN Notices
, 2003
"... The aspect-oriented programming community devotes lots of energy into the provision of complex static language constructs to reason about eventual dynamic properties of a program. ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
The aspect-oriented programming community devotes lots of energy into the provision of complex static language constructs to reason about eventual dynamic properties of a program.
Author manuscript, published in "Modularity: AOSD'12 (2012)" A Monadic Interpretation of Execution Levels and Exceptions for AOP
"... has focused on applying aspects in various problem domains and on integration of aspects into full-scale programming languages such as Java. However, aspects are very powerful and the development of a weaving mechanism becomes rapidly a very complex task. While some research efforts [5, 10, 25, 26] ..."
Abstract
- Add to MetaCart
has focused on applying aspects in various problem domains and on integration of aspects into full-scale programming languages such as Java. However, aspects are very powerful and the development of a weaving mechanism becomes rapidly a very complex task. While some research efforts [5, 10, 25, 26] have made significant progress on understanding some of the semantic issues involved, the algebraic explanation of aspect features has never reached the beauty and simplicity of the connection between the λ-calculus and Cartesian closed categories that provided a categorical foundation for functional programming. Giving a precise meaning to aspects in AOP is a fairly tangled task because the definition of a single piece of code can have a very rich interaction with the rest of the program, whose effect can come up at anytime during the execution. The main purpose of this paper is to formalize this interaction—in particular for two recent sophisticated weaving definitions of aspects and base computation: (1) execution levels [24] that enable to stratify the computation space in order to prevent from basic infinite recursion; (2) execution levels with exceptions [6] that enable to avoid unexpected catching of exceptions in this stratified space. More precisely, we propose to put a bridge between (weaving-based approach to) AOP and the notion of 2-

