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.
This work has been partially supported by the European Network of Excellence on Aspect-Oriented Software Development (AOSD-Europe), 2004–2008.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Araujo, J., Whittle, J., Kim.: Modeling and composing scenario-based requirements with aspects. In: Proceedings of RE 2004, Kyoto, Japan (September 2004)
E. Aspect (2006), http://www.early-aspects.net/
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)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. The Eclipse Series. Addison Wesley Professional, Reading (2003)
Clarke, S.: Composition of Object-Oriented Software Design Models. PhD thesis, Dublin City University (2001)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)
Damm, W., Harel, D.: LSCs: Breathing life into message sequence charts. vol. 19, pp. 45–80 (2001)
Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge Mathematical Textbooks (1990)
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)
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)
France, R.B., Kim, D.-K., Ghosh, S., Song, E.: A uml-based pattern specification technique. IEEE TSE 30(3), 193–206 (2004)
ITU-TS. ITU-TS Recommendation Z.120: Message Sequence Chart (MSC). ITU-TS, Geneva (September 1999)
Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)
Kiczales, G.: The fun has just begun. Keynote of AOSD 2003 (2003)
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)
Klein, J., Caillaud, B., Hélouët, L.: Merging scenarios. In: Workshop on FMICS, pp. 209–226, Linz, Austria (September 2004)
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)
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)
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)
OMG. Uml superstructure, v2.0. OMG Document number formal/05-07-04 (2005)
Omondo (2006), http://www.omondo.com
Ostermann, K., Mezini, M., Bockisch, C.: Expressive pointcuts for increased modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, Springer, Heidelberg (2005)
Rashid, A., Moreira, A.M.D., Araújo, J.: Modularisation and composition of aspectual requirements. In: Proceedings of AOSD 2003, pp. 11–20 (2003)
Reddy, R., France, R., Ghosh, S., Fleurey, F., Baudry, B.: Model composition - a signature-based approach. In: AOM Workshop, Montego Bay (October 2005)
Stein, D., Hanenberg, S., Unland, R.: Expressing different conceptual models of join point selection in aspect-oriented design. In: AOSD, Bonn, Mars (2006)
TopCaseD, (2006), http://www.topcased.org/
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)
Whittle, J., Araújo, J.: Scenario modelling with aspects. IEE Proceedings - Software 151(4), 157–172 (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Klein, J., Fleurey, F., Jézéquel, JM. (2007). Weaving Multiple Aspects in Sequence Diagrams. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development III. Lecture Notes in Computer Science, vol 4620. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75162-5_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-75162-5_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75161-8
Online ISBN: 978-3-540-75162-5
eBook Packages: Computer ScienceComputer Science (R0)