Advertisement

Weaving Multiple Aspects in Sequence Diagrams

  • Jacques Klein
  • Franck Fleurey
  • Jean-Marc Jézéquel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4620)

Abstract

Handling aspects within models looks promising for managing crosscutting concerns early in the software life-cycle, up from programming to design, analysis and even requirements. At the modeling level, even complex behavioral aspects can easily be described for instance as pairs of sequence diagrams: one for the pointcut specifying the behavior to detect, and the second one for an advice representing the wanted behavior at the join point. While this is fine for informal documentation purposes, or even intuitive enough when a single aspect has to be woven, a more precise semantics of both join point detection and advice weaving is needed for using these modeling artifacts for Model Driven Engineering activities such as code generation or test synthesis. This paper proposes various interpretations for pointcuts that allow multiple behavioral aspects to be statically woven. The idea is to allow join points to match a pointcut even when some extra-messages occur in between. However, with this new way of specifying join points, the composition of the advice with the detected part cannot any longer be just a replacement of the detected part by the advice. We have to consider the events (or the messages) of the join point, but also the events which occur between them, and merge them with the behavior specified within the advice. We thus also propose a formal definition of a new merge operator, and describe its implementation on the Kermeta platform.

Keywords

Composition Operator Multiple Aspect Sequence Diagram Behavioral Aspect General Part 
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.
    Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to aspect. In: OOPSLA 2005. Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, vol. 40, pp. 345–364. ACM Press, New York (2005)CrossRefGoogle Scholar
  2. 2.
    Araujo, J., Whittle, J., Kim.: Modeling and composing scenario-based requirements with aspects. In: Proceedings of RE 2004, Kyoto, Japan (September 2004)Google Scholar
  3. 3.
    E. Aspect (2006), http://www.early-aspects.net/
  4. 4.
    Bockisch, C., Kanthak, S., Haupt, M., Arnold, M., Mezini, M.: Efficient control flow quantification. In: OOPSLA 2006. Proceedings of the 21th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, vol. 41, pp. 125–138. ACM Press, New York (2006)CrossRefGoogle Scholar
  5. 5.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. The Eclipse Series. Addison Wesley Professional, Reading (2003)Google Scholar
  6. 6.
    Clarke, S.: Composition of Object-Oriented Software Design Models. PhD thesis, Dublin City University (2001)Google Scholar
  7. 7.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  8. 8.
    Damm, W., Harel, D.: LSCs: Breathing life into message sequence charts. vol. 19, pp. 45–80 (2001)Google Scholar
  9. 9.
    Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge Mathematical Textbooks (1990)Google Scholar
  10. 10.
    Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Douence, R., Motelet, O., Südholt, M.: A formal definition of crosscuts. In: Yonezawa, A., Matsuoka, S. (eds.) Metalevel Architectures and Separation of Crosscutting Concerns. LNCS, vol. 2192, pp. 170–186. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    France, R.B., Kim, D.-K., Ghosh, S., Song, E.: A uml-based pattern specification technique. IEEE TSE 30(3), 193–206 (2004)Google Scholar
  13. 13.
    ITU-TS. ITU-TS Recommendation Z.120: Message Sequence Chart (MSC). ITU-TS, Geneva (September 1999)Google Scholar
  14. 14.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)Google Scholar
  15. 15.
    Kiczales, G.: The fun has just begun. Keynote of AOSD 2003 (2003)Google Scholar
  16. 16.
    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
  17. 17.
    Klein, J., Caillaud, B., Hélouët, L.: Merging scenarios. In: Workshop on FMICS, pp. 209–226, Linz, Austria (September 2004)Google Scholar
  18. 18.
    Klein, J., Hélouet, L., Jézéquel, J.-M.: Semantic-based weaving of scenarios. In: AOSD, Bonn, Germany, March 2006, ACM Press, New York (2006)Google Scholar
  19. 19.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Proc. of MODELS/UML, LNCS, Jamaica (2005)Google Scholar
  20. 20.
    Muller, P.-A., Fleurey, F., Vojtisek, D., Drey, Z., Pollet, D., Fondement, F., Studer, P., Jézéquel, J.-M.: On executable meta-languages applied to model transformations. In: Model Transformation. In: Practice Workshop, Jamaica (2005)Google Scholar
  21. 21.
    OMG. Uml superstructure, v2.0. OMG Document number formal/05-07-04 (2005)Google Scholar
  22. 22.
    Omondo (2006), http://www.omondo.com
  23. 23.
    Ostermann, K., Mezini, M., Bockisch, C.: Expressive pointcuts for increased modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, Springer, Heidelberg (2005)Google Scholar
  24. 24.
    Rashid, A., Moreira, A.M.D., Araújo, J.: Modularisation and composition of aspectual requirements. In: Proceedings of AOSD 2003, pp. 11–20 (2003)Google Scholar
  25. 25.
    Reddy, R., France, R., Ghosh, S., Fleurey, F., Baudry, B.: Model composition - a signature-based approach. In: AOM Workshop, Montego Bay (October 2005)Google Scholar
  26. 26.
    Stein, D., Hanenberg, S., Unland, R.: Expressing different conceptual models of join point selection in aspect-oriented design. In: AOSD, Bonn, Mars (2006)Google Scholar
  27. 27.
    TopCaseD, (2006), http://www.topcased.org/
  28. 28.
    Walker, R.J., Viggers, K.: Implementing protocols via declarative event patterns. In: ACM Sigsoft International Symposium on Foundations of Software Engineering (FSE-12). 29(6), 159–169, (2004)Google Scholar
  29. 29.
    Whittle, J., Araújo, J.: Scenario modelling with aspects. IEE Proceedings - Software 151(4), 157–172 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Jacques Klein
    • 1
  • Franck Fleurey
    • 1
  • Jean-Marc Jézéquel
    • 2
  1. 1.IRISA/INRIA, Campus de Beaulieu, 35042 Rennes cedexFrance
  2. 2.IRISA/ Université de Rennes 1, Campus de Beaulieu, 35042 Rennes cedexFrance

Personalised recommendations