Uniform Support for Modeling Crosscutting Structure

  • Maria Tkatchenko
  • Gregor Kiczales
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


We propose bottom-up support for modeling crosscutting structure in UML by adding a simple join point model to the meta-model. This supports built-in crosscutting modeling constructs such as sequence diagrams. It also facilitates adding new kinds of crosscutting modeling constructs such as role bindings, inter-type declarations, and advice. A simple weaver produces a uniform representation of the crosscutting structure, which can then be displayed or analyzed in a variety of ways.


Unify Modeling Language Class Diagram Sequence Diagram Eclipse Modeling Framework Unify Modeling Language Model 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andersen, E.P., Reenskaug, T.: System Design by Composing Structures of Interacting Objects. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 133–152. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  2. 2.
    AspectJTeam. The AspectJ Programming Guide,
  3. 3.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)Google Scholar
  4. 4.
    Cannon, H.: Flavors: A non-hierarchical approach to object-oriented programming, Symbolics Inc (1982) Google Scholar
  5. 5.
    Clarke, S., Walker, R.J.: Composition patterns: an approach to designing reusable aspects. In: Proceedings of the 23rd International Conference on Software Engineering, Toronto, Ontario, Canada, pp. 5–14 (2001)Google Scholar
  6. 6.
    EclipseProject Eclipse Modeling Framework,
  7. 7.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  8. 8.
    Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ, pp. 161–173. ACM Press, New York (2002)Google Scholar
  9. 9.
    Ho, W.-M., Jezequel, J.-M., Pennaneac’h, F., Plouzeau, N.: A toolkit for weaving aspect oriented UML designs. In: Proceedings of the 1st international conference on Aspect-oriented software development, Enschede, The Netherlands, pp. 99–105. ACM Press, New York (2002)CrossRefGoogle Scholar
  10. 10.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison Wesley Professional, Reading (2004)Google Scholar
  11. 11.
    Jezequel, J., Plouzeau, N., Weis, T., Geihs, K.: From Contracts to Aspects in UML Designs. In: Aspect-Oriented Modeling with UML workshop at AOSD (2002)Google Scholar
  12. 12.
    Kande, M.M., Kienzle, J., Strohmeier, A.: From AOP to UML - A Bottom-Up Approach. In: Aspect-Oriented Modeling with UML workshop at the 1st International Conference on Aspect-Oriented Software DevelopmentGoogle Scholar
  13. 13.
    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–355. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Kiczales, G.: ezini, M., Aspect-Oriented Programming and Modular Reasoning. In: ACM International Conference on Software Engineering (2005) (to appear)Google Scholar
  15. 15.
    Kim, D.-K., France, R., Ghosh, S., Song, E.: A role-based metamodeling approach to specifying design patterns. In: Proceedings of COMPSAC 2003, pp. 452–457 (2003)Google Scholar
  16. 16.
    Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularly. Foundations of Software Engineering (FSE), pp. 137–146Google Scholar
  17. 17.
    Lions, J.M., Simoneau, D., Pitette, G., Moussa, I.: Extending OpenTool/UML Using Metamodeling: An Aspect Oriented Programming Case Study. In: Workshop on Aspect-Oriented Modeling with UML at the UML Conference (2002)Google Scholar
  18. 18.
    Masuhara, H., Kiczales, G.: Modeling crosscutting in aspect-oriented mechanisms. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 2–28. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 90–100. ACM Press, New York (2003)CrossRefGoogle Scholar
  20. 20.
    OMG, T. Unified Modeling Language (UML), Version 1.5,
  21. 21.
    Pawlak, R., Duchien, L., Florin, G., Legond-Aubry, F., Seinturier, L., Martelli, L.: A UML Notation for Aspect-Oriented Software Design. In: Aspect-Oriented modeling with UML workshop at AOSD, Enschede, The Netherlands (2002)Google Scholar
  22. 22.
    Reifer, D.: Doubts and hopes for AOP. Communications of The ACM 45(3), 11–12Google Scholar
  23. 23.
    Selic, B.: Using UML for Modeling Complex Real-Time Systems. In: Languages, Compilers, and Tools for Embedded Systems: ACM SIGPLAN Workshop LCTES, Montreal, Canada (1998)Google Scholar
  24. 24.
    Stein, D., Hanenberg, S., Unland, R.: Designing Aspect-Oriented Crosscutting in UML. In: Workshop on Aspect-Oriented Modeling with UML at AOSD, Enschede, The Netherlands (2002)Google Scholar
  25. 25.
    Stein, D., Hanenberg, S., Unland, R.: Position Paper on Aspect-Oriented Modeling: Issues on Representing Crosscutting Features. In: Workshop on Aspect-Oriented Modeling at AOSD (2003)Google Scholar
  26. 26.
    Straw, G., Georg, G., Song, E., Ghosh, S., France, R.B., Bieman, J.M.: Model Composition Directives. In: Conference on the Unified Modeling Language, Lisbon, Portugal (2004)Google Scholar
  27. 27.
    Tamai, T., Ubayashi, N., Ichiyama, R.: An adaptive object model with dynamic role binding,

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Maria Tkatchenko
    • 1
  • Gregor Kiczales
    • 1
  1. 1.University of British Columbia 

Personalised recommendations