Modeling Crosscutting Services with UML Sequence Diagrams

  • Martin Deubler
  • Michael Meisinger
  • Sabine Rittmann
  • Ingolf Krüger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


Current software systems increasingly consist of distributed interacting components. The use of web services and similar middleware technologies strongly fosters such architectures. The complexity resulting from a high degree of interaction between distributed components – that we face with web service orchestration for example – poses severe problems. A promising approach to handle this intricacy is service-oriented development; in particular with a do-main-unspecific service notion based on interaction patterns. Here, a service is defined by the interplay of distributed system entities, which can be modeled using UML Sequence Diagrams. However, we often face functionality that affects or is spanned across the behavior of other services; a similar concept to aspects in Aspect-Oriented Programming. In the service-oriented world, such aspects form crosscutting services. In this paper we show how to model those; we introduce aspect-oriented modeling techniques for UML Sequence Dia-grams and show their usefulness by means of a running example.


Unify Modeling Language Sequence Diagram Business Process Execution Language Message Sequence Chart Unify Modeling Language Sequence Diagram 
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.
    Araujo, J., Moreira, A., Brito, I., Rashid, A.: Aspect-oriented requirements with UML. In: Proceedings of the Workshop on Aspect-oriented Modeling with UML, UML 2002, Dresden, Germany (October 2002)Google Scholar
  2. 2.
    AspectJ Team: The AspectJ Programming Guide, Available at
  3. 3.
    Aspect-Oriented Software Development. Proceedings of the 1st international conference on Aspect-oriented software development. ACM Press (2002) Google Scholar
  4. 4.
    Aspect-Oriented Software Development. Proceedings of the 2nd international conference on Aspect-oriented software development. ACM Press (2003) Google Scholar
  5. 5.
    Aspect-Oriented Software Development. Proceedings of the 3rd international conference on Aspect-oriented software development. ACM Press (2004) Google Scholar
  6. 6.
    Automotive Open System Architecture,
  7. 7.
    Baresi, L., Heckel, R., Thone, S., Varro, D.: Modeling and validation of service-oriented architectures: Application vs. style. In: Proc. of ESEC/FSE (2003)Google Scholar
  8. 8.
    Basch, M., Sanchez, A.: Incorporating aspects into the UML. In: Proceedings of the International Conference on Aspect-Oriented Software Development (March 2003)Google Scholar
  9. 9.
    Broy, M., Krüger, I., Meisinger, M.: Services and service-oriented software architectures – methodological foundations (to appear)Google Scholar
  10. 10.
    Clarke, S., Walker, R.J.: Composition patterns: An approach to designing reusable aspects. In: Proceedings of the 23rd International Conference on Software Engineering, May 2001, pp. 5–14 (2001)Google Scholar
  11. 11.
    Colin, A.: Why web services? The Web Services Industry Portal (February 2002), Available at
  12. 12.
    Constantinides, C.A.: A case study on making the transition from functional to finegrained decomposition. In: Proc. of ECOOP 2003 Workshop on Analysis of Aspect-Oriented Software (AAOS 2003) (July 2003)Google Scholar
  13. 13.
    Deubler, M., Grünbauer, J., Popp, G., Wimmel, G., Salzmann, C.: Tool Supported Development of Service Based Systems. In: 11th Asia-Pacific Software Engineering Conference (APSEC 2004), IEEE Computer Society, Korea (2004)Google Scholar
  14. 14.
    Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Reading (2003)Google Scholar
  15. 15.
    Georg, G., France, R., Ray, I.: Composing Aspect Models. In: The 4th AOSD Modeling With UML Workshop (2003)Google Scholar
  16. 16.
    Ghezzi, C., Jazayeri, M., France, R.: Fundamentals of Software Engineering. Prentice-Hall, Englewood Cliffs (1991)zbMATHGoogle Scholar
  17. 17.
    Gibson, P., Méry, D.: Formal Modelling of Services for Getting a Better Understanding of the Feature Interaction Problem. In: Bjorner, D., Broy, M., Zamulin, A.V. (eds.) PSI 1999. LNCS, vol. 1755, p. 155. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  18. 18.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Krüger, I.: Specifying services with UML and UML-RT. Electronic Notes in Theoretical Computer Science, vol. 65 (7). Elsevier Science B. V, Amsterdam (2002)Google Scholar
  20. 20.
    Krüger, I.: Service specification with MSCs and roles. In: Proceedings of IASTED International Conference on Software Engineering, Innsbruck (2004)Google Scholar
  21. 21.
    Krüger, I., Mathew, R.: Systematic development and exploration of service-oriented software architectures. In: Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture, WICSA 2004 (2004)Google Scholar
  22. 22.
    Krüger, I.: Towards precise service specification with UML and UML-RT. In: Proceedings of the Workshop at UML, Critical Systems Development with UML, CSDUML (2002)Google Scholar
  23. 23.
    Mathew, R.: Systematic definition, implementation and evaluation of service-oriented software architectures. Master Thesis at University of San Diego, California (2004) Google Scholar
  24. 24.
    Message Sequence Chart (MSC 96), ITU-T. Recommendation Z.120. ITU-T (1996) Google Scholar
  25. 25.
    Model Driven Architecture. Object Management Group, Available at (2003)
  26. 26.
    Moreira, A., Araujo, J., Brito, I.: Crosscutting Quality Attributes for Requirements Engineering. In: Software Engineering and Knowledge Engineering Conference, SEKE (2002)Google Scholar
  27. 27.
    Nuseibeh, B.: Crosscutting Requirements. In: Nuseibeh, B. (ed.) AOSD 2004, The Open University, UK (2004)Google Scholar
  28. 28.
    Peltz, C.: Web Services Orchestration and Choreography. IEEE Computer 36(10), 46–52 (2003)Google Scholar
  29. 29.
    Platt, D.S., Ballinger, K.: Introducing Microsoft .NET. Microsoft Press (2001)Google Scholar
  30. 30.
    Prehofer, C.: Plug-and-Play Composition of Features and Feature Interactions with Statechart Diagrams. In: Proc. of the Seventh International Workshop on Feature Interactions in Telecommunications and Software Systems, Ottawa (2003)Google Scholar
  31. 31.
    Prehofer, C.: Feature Oriented Programming: A fresh look at objects. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)CrossRefGoogle Scholar
  32. 32.
    Realtime CORBA Joint Revised Submission, Object Management Group, OMG Document orbos/99-02-12 ed. (March 1999) Google Scholar
  33. 33.
    Rittmann, S.: Exploring Service-Oriented Software Development for Automotive Systems. Diplomarbeit, Technische Universität München (2004) Google Scholar
  34. 34.
    Snell, J., Tidwell, D., Kulchenko, P.: Programming Web Services with SOAP. O’Reilly, Sebastopol (2002)Google Scholar
  35. 35.
    Sousa, G., Soares, S., Borba, P., Castro, J.: Separation of crosscutting concerns from requirements to design: Adapting an use case driven approach. In: Proc. of Early Aspects 2004: Aspect-Oriented Requirements Engineering and Architecture Design. Workshop at AOSD 2004 (March 2004)Google Scholar
  36. 36.
    Stein, D., Hanenberg, S., Unland, R.: Designing aspect-oriented crosscutting in UML. In: Proceedings of Aspect-Oriented Modeling with UML. As part of the 1st International Conference on Aspect-Oriented Software Development (April 2002)Google Scholar
  37. 37.
    Suzuki, J., Yamamoto, Y.: Extending UML with Aspects: Aspect Support in the Design Phase. In: AOP Workshop at ECOOP 1999, Lisbon, Portugal (1999)Google Scholar
  38. 38.
    Sztipanovits, J., Karsai, G.: Model-Integrated Computing. IEEE Computer, 110–112 (April 1997)Google Scholar
  39. 39.
    Tarr, P., Ossher, H., Harrison, W., Sutton, S.M.: N degrees of separation: Multidimensional separation of concerns. In: Proceedings of the 21st International Conference on Software Engineering (May 1999)Google Scholar
  40. 40.
    Trowbridge, D., Roxburgh, U., Hohpe, G., Manolescu, D., Nadhan, E.G.: Integration Patterns. Patterns & Practices. Available at (2004)
  41. 41.
    Turner, K.J.: Relating Services and Features in the Intelligent Network. In: Proc. of the 4th International Conference on Telecommunications, Zagreb, June 1997, pp. 235–243 (1997)Google Scholar
  42. 42.
    UML 2.0. Object Management Group, Available at
  43. 43.
    Whittle, J., Araujo, J.: Scenario Modeling with Aspects. In: IEE Proceedings - Software, Special Issue on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design (August 2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Martin Deubler
    • 1
  • Michael Meisinger
    • 1
  • Sabine Rittmann
    • 1
  • Ingolf Krüger
    • 2
  1. 1.Technische Universität MünchenGarchingGermany
  2. 2.Department of Computer ScienceUniversity of CaliforniaSan Diego, La JollaUSA

Personalised recommendations