Advertisement

Modeling Crosscutting in Aspect-Oriented Mechanisms

  • Hidehiko Masuhara
  • Gregor Kiczales
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2743)

Abstract

Modeling four aspect-oriented programming mechanisms shows the way in which each supports modular crosscutting. Comparing the models produces a clear three part characterization of what is required to support crosscutting structure: a common frame of reference that two (or more) programs can use to connect with each other and each provide their semantic contribution.

Keywords

Method Call Class Graph Point Class Input Program Semantic Contribution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    C# Language Specification (2nd edn.), ECMA Standard-334 (2002)Google Scholar
  2. 2.
    Andrews, J.: Process-Algebraic Foundations of Aspect-Oriented Programming. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 187–209. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Bergmans, L., Aksit, M.: Composing Crosscutting Concerns Using Composition Filters. Communications of ACM 44(10), 51–57 (2001)CrossRefGoogle Scholar
  4. 4.
    Bergmans, L., Aksit, M., Tekinerdogan, B.: Aspect Composition Using Composition Filters. In: Software Architectures and Component Technology: The State of the Art in Research and Practice, pp. 357–382. Kluwer, Dordrecht (2001)Google Scholar
  5. 5.
    Clifton, C., Leavens, G., Chambers, C., Millstein, T.: MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java. In: Conference on Object Oriented Programming Systems Languages and Applications, pp. 130–145 (2000)Google Scholar
  6. 6.
    Douence, R., Motelet, O., Südholt, M.: A Formal Definition of Crosscuts. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 170–186. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. 7.
    Filman, R., Friedman, D.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA 2000 Workshop on Advanced Separation of Concerns (2000)Google Scholar
  8. 8.
    Friedman, D., Wand, M., Haynes, C.T.: Essentials of Programming Languages. MIT Press, Cambridge (2001)zbMATHGoogle Scholar
  9. 9.
    Kelsey, R., Clinger, W., Rees, J.: Revised5 Report on the Algorithmic Language Scheme. Higher-Order and Symbolic Computation 11(1), 7–105 (1998)CrossRefGoogle Scholar
  10. 10.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting Started with AspectJ. Communications of ACM 44(10), 59–65 (2001)CrossRefGoogle Scholar
  11. 11.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  13. 13.
    Laemmel, R.: A Semantical Approach to Method-call Interception. In: International Conference on Aspect-Oriented Software Development, pp. 41- 55 (2002)Google Scholar
  14. 14.
    Lieberherr, K., Orleans, D., Ovlinger, J.: Aspect-Oriented Programming with Adaptive Methods. Communications of ACM 44(10), 39–41 (2001)CrossRefGoogle Scholar
  15. 15.
    Lieberherr, K.: Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. PWS Publishing (1996)Google Scholar
  16. 16.
    Lieberherr, K., Orleans, D.: Preventive Program Maintenance in Demeter/Java (Research demonstration). In: International Conference on Software Engineering, pp. 604-605 (1997)Google Scholar
  17. 17.
    Masuhara, H., Kiczales, G., Dutchyn, C.: A Compilation and Optimization Model for Aspect-Oriented Programs. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 46–60. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  18. 18.
    Millstein, T., Chambers, C.: Modular Statically Typed Multimethods. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 279–303. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  19. 19.
    Moon, D.: Object-oriented programming with Flavors. In: Conference on Object Oriented Programming Systems Languages and Applications, pp. 1–8 (1986)Google Scholar
  20. 20.
    Orleans, D.: Incremental Programming with Extensible Decisions. In: International Conference on Aspect-Oriented Software Development, pp. 56–64 (2002)Google Scholar
  21. 21.
    Orleans, D., Lieberherr, K.: DJ: Dynamic Adaptive Programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 73–80. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  22. 22.
    Ossher, H., Tarr, P., Hyper, J.: Multi-dimensional separation of concerns for Java. In: International Conference on Software Engineering, pp. 729–730 (2001)Google Scholar
  23. 23.
    Ossher, H., Tarr, P.: The Shape of Things To Come: Using Multi- Dimensional Separation of Concerns with Hyper/J to (Re)Shape Evolving Software. Communications of ACM 44(10), 43–50 (2001)CrossRefGoogle Scholar
  24. 24.
    Pinto, M., Fuentes, L., Fayad, M., Troya, J.: Separation of Coordination in a Dynamic Aspect Oriented Framework. In: International Conference on Aspect- Oriented Software Development, pp. 134–140 (2002)Google Scholar
  25. 25.
    Sereni, D., de Moor, O.: Static Analysis of Aspects. In: International Conference on Aspect-Oriented Software Development, pp. 30–39 (2003)Google Scholar
  26. 26.
    Shukla, D., Fell, S., Sells, C.: Aspect-Oriented Programming Enables Better Code Encapsulation and Reuse. MSDN Magazine (March 2002)Google Scholar
  27. 27.
    Wand, M., Kiczales, G., Dutchyn, C.: A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming. In: Foundations of Aspect- Oriented Languages (FOAL 2002), pp. 1–8 (2002)Google Scholar
  28. 28.
    Weinreb, D., Moon, D.A.: Flavors: Message passing in the LISP machine, A.I. Memo 602, Massachusetts Institute of Technology A.I. Lab (1980)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Hidehiko Masuhara
    • 1
  • Gregor Kiczales
    • 2
  1. 1.University of Tokyo 
  2. 2.University of British Columbia 

Personalised recommendations