Abstract
We describe semantic mappings of four high-level programming languages to our delegation-based machine model for aspect-oriented programming. One of the languages is a class-based object-oriented one. The other three represent extensions thereof that support various approaches to modularizing crosscutting concerns. We explain informally that an operational semantics expressed in terms of the model's concepts preserves the behavior of a program written in one of the high-level languages. We hence argue our model to be semantically sound in that sense, as well as sufficiently expressive in order to correctly support features such as class-based object-oriented programming, the open-classes and pointcut-and-advice flavors of aspect-oriented programming, and dynamic layers. For the latter, being a core feature of context-oriented programming, we also provide a formal semantics.
- Jonathan Aldrich. Open Modules: A Proposal for Modular Reasoning in Aspect-oriented Programming. In Foundations of Aspect Languages, 2004.Google Scholar
- Christopher Anderson and Sophia Drossopoulou. An Imperative Object--based Calculus with Delegation. In Proc. USE'02, Malaga, 2002.Google Scholar
- Lodewijk Bergmans and Mehmet Aksit. Composing Crosscutting Concerns Using Composition Filters. Commun. ACM, 44(10):51--57, 2001. Google Scholar
Digital Library
- Curtis Clifton and Gary T. Leavens. MiniMAO1 -- An Imperative Core Language for Studying Aspect-oriented Reasonings. Sci. Comput. Program., 63(3):321--374, 2006. Google Scholar
Digital Library
- Pascal Costanza and Robert Hirschfeld. Language Constructs for Context-oriented Programming: An Overview of ContextL. In Dynamic Languages Symposium (DLS) '05, co-organised with OOPSLA'05. ACM Press, 2005. Google Scholar
Digital Library
- Pascal Costanza, Robert Hirschfeld, and Wolfgang De Meuter. Efficient Layer Activation for Switching Context-dependent Behavior. In JMLC, pages 84--103, 2006. Google Scholar
Digital Library
- Daniel S. Dantas, David Walker, Geoffrey Washburn, and Stephanie Weirich. AspectML: A polymorphic aspect-oriented functional programming language. ACM Trans. Program. Lang. Syst., 30(3):1--60, 2008. Google Scholar
Digital Library
- Simplice Djoko Djoko, Remi Douence, Pascal Fradet, and Didier Le Botlan. CASB: Common Aspect Semantics Base. Technical Report AOSD-Europe Deliverable D41, AOSD-Europe-INRIA-7, INRIA, France, 10 February 2006.Google Scholar
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns -- Elements of Reusable Object-oriented Software. Addison-Wesley, 1994. Google Scholar
Digital Library
- Michael Haupt. Virtual Machine Support for Aspect-oriented Programming Languages. PhD thesis, Software Technology Group, Darmstadt University of Technology, 2006.Google Scholar
- Michael Haupt, Mira Mezini, Christoph Bockisch, Tom Dinkelaker, Michael Eichberg, and Michael Krebs. An Execution Layer for Aspect-oriented Programming Languages. In Proc. VEE 2005. ACM Press, June 2005. Google Scholar
Digital Library
- Michael Haupt and Hans Schippers. A Machine Model for Aspect-oriented Programming. In ECOOP 2007 - Object-oriented Programming, 21st European Conference, Berlin, Germany, July 30 -- August 3, 2007, Proceedings, volume 4609 of Lecture Notes in Computer Science, pages 501--524. Springer, 2007. Google Scholar
Digital Library
- Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. Context-oriented Programming. Journal of Object Technology (JOT), 7(3):125--151, March-April 2008.Google Scholar
Cross Ref
- Ralf Lämmel. A Semantical Approach to Method-call Interception. In Proc. AOSD'02, pages 41--55. ACM Press, 2002. Google Scholar
Digital Library
- Hidehiko Masuhara and Gregor Kiczales. Modeling Crosscutting in Aspect-oriented Mechanisms. In Luca Cardelli, editor, ECOOP, volume 2743 of Lecture Notes in Computer Science, pages 2--28. Springer, 2003.Google Scholar
- Hidehiko Masuhara, Hideaki Tatsuzawa, and Akinori Yonezawa. Aspectual Caml -- An Aspect-oriented Functional Language. In ICFP '05: Proceedings of the tenth ACM SIGPLAN international conference on Functional programming, pages 320--330, New York, NY, USA, 2005. ACM. Google Scholar
Digital Library
- Todd D. Millstein and Craig Chambers. Modular Statically Typed Multimethods. In ECOOP '99: Proceedings of the 13th European Conference on Object-oriented Programming, pages 279--303, London, UK, 1999. Springer-Verlag. Google Scholar
Digital Library
- Harold Ossher. A Direction for Research on Virtual Machine Support for Concern Composition. In Proc. Workshop VMIL'07. ACM Press, 2007. Google Scholar
Digital Library
- Andrei Popovici, Thomas Gross, and Gustavo Alonso. Dynamic Weaving for Aspect-oriented Programming. In Gregor Kiczales, editor, Proc. AOSD 2002. ACM Press, 2002. Google Scholar
Digital Library
- Andrei Popovici, Thomas Gross, and Gustavo Alonso. Just-in-Time Aspects. In Proc. AOSD 2003. ACM Press, 2003.Google Scholar
- Mark C. Skipper. Formal Models for Aspect-oriented Software Development. PhD thesis, Imperial College, London, 2004.Google Scholar
- Eric Tanter and Jacques Noyé. A Versatile Kernel for Multi-Language AOP. In Proc. GPCE'05. Springer, 2005. Google Scholar
Digital Library
- David Walker, Steve Zdancewic, and Jay Ligatti. A Theory of Aspects. In ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming, pages 127--139, New York, NY, USA, 2003. ACM. Google Scholar
Digital Library
- Mitchell Wand, Gregor Kiczales, and Christopher Dutchyn. A Semantics for Advice and Dynamic Join Points in Aspect--oriented Programming. ACM Trans. Program. Lang. Syst., 26(5):890--910, 2004. Google Scholar
Digital Library
Index Terms
Delegation-based semantics for modularizing crosscutting concerns
Recommendations
Delegation-based semantics for modularizing crosscutting concerns
OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsWe describe semantic mappings of four high-level programming languages to our delegation-based machine model for aspect-oriented programming. One of the languages is a class-based object-oriented one. The other three represent extensions thereof that ...
Modularizing crosscutting concerns with Ptolemy
AOSD '11: Proceedings of the tenth international conference on Aspect-oriented software development companionThis tutorial will provide an introduction to Ptolemy. Ptolemy is a programming language whose goals are to improve a software engineer's ability to separate conceptual concerns, while preserving encapsulation of object-oriented code and the ability of ...







Comments