From Flow-Global Choreography to Component Types

  • Surya Bahadur Kathayat
  • Rolv Bræk
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6598)


The need for global behavior definitions is well established both in the domain of embedded reactive systems and service-oriented (business) systems. The problem has been to define the global behavior with sufficient, rigor and completeness to fully cover the intended behavior and not just some scenarios, and to enable automatic synthesis of component behaviors in practical systems and service development. In this paper we build on previous work where UML collaborations are used to structure systems and services into reusable building blocks, and UML activities to model global behavior, called choreography in the following. We identify two forms of choreography: one where all flows are localized to the roles participating in collaborations and another where the flows are not localized and thus more abstract. We propose a novel approach to map the flow-global choreography to a flow-localized choreography and further to distributed component behaviors (orchestrations) with well-defined interfaces from which implementation code can be generated using existing techniques. The overall approach combines the merits of global choreographies and collaborative building blocks with the flexibility of component-oriented designs. The approach is illustrated using a city guiding system as case study.


Service choreography component design model-driven development 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Erl, T.: SOA: Principles of Service Design. Prentice Hall Press, Englewood Cliffs (2007)Google Scholar
  2. 2.
    Kraemer, F.A., Slåtten, V., Herrmann, P.: Tool Support for the Rapid Composition, Analysis and Implementation of Reactive Services. Journal of Systems and Software 82, 2068–2080 (2009)CrossRefGoogle Scholar
  3. 3.
    Kathayat, S.B., Bræk, R.: Platform Support for Situated Collaborative Learning. In: International Conference on Mobile, Hybrid, and Online Learning, pp. 53–60. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  4. 4.
    Kraemer, F.A., Kathayat, S.B., Bræk, R.: Unified Modeling of Service Logic with User Interfaces. In: Proceeding of the First International Workshop on Model Driven Service Engineering and Data Quality and Security, pp. 37–44. ACM, New York (2009)Google Scholar
  5. 5.
    Castejón, H.N., Bræk, R., Bochmann, G.V.: Realizability of Collaboration-Based Service Specifications. In: Proceedings of the 14th Asia-Pacific Software Engineering Conference, pp. 73–80. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  6. 6.
    Kraemer, F.A.: Engineering Reactive Systems: A Compositional and Model-Driven Method Based on Collaborative Building Blocks. PhD Thesis, Norwegian University of Science and Technology (2008)Google Scholar
  7. 7.
    Kathayat, S.B., Bræk, R., Le, H.N.: Automatic Derivation of Components from Choreographies - A Case Study. In: International Conference on Software Engineering, Phuket, Thailand (2010)Google Scholar
  8. 8.
    Decker, G.: Realizability of Interaction Models. In: 1st Central-European Workshop on Services and their Composition,, pp. 55–60 (2009)Google Scholar
  9. 9.
    OMG, Unified Modeling Language 2.1.1 Specification (Superstructure 07-02-05),
  10. 10.
    Whittle, J.: Extending Interaction Overview Diagrams with Activity Diagram Constructs. Software and Systems Modeling 9, 203–224 (2010)CrossRefGoogle Scholar
  11. 11.
    Rößler, F., Geppert, B., Gotzhein, R.: CoSDL - An Experimental Language for Collaboration Specification. In: Sherratt, E. (ed.) SAM 2002. LNCS, vol. 2599, pp. 1–20. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    International Telecommunication Union: Recommendation Z.100, Specification and Description Language (SDL) (November 2007),
  13. 13.
    Castejón, H.N.: Synthesizing State-Machine Behaviour from UML Collaborations and Use Case Maps. In: Prinz, A., Reed, R., Reed, J. (eds.) SDL 2005. LNCS, vol. 3530, pp. 339–359. Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Buhr, R.J.A.: Use Case Maps as Architectural Entities for Complex Systems. IEEE Transactions on Software Engineering 24, 1131–1155 (1998)CrossRefGoogle Scholar
  15. 15.
    Kazhamiakin, R., Pistore, M.: Choreography Conformance Analysis: Asynchronous Communications and Information Alignment. In: Bravetti, M., Núñez, M., Tennenholtz, M. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 227–241. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Choreography and Orchestration Conformance for System Design. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 63–81. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Qiu, Z., Zhao, X., Cai, C., Yang, H.: Towards the Theoretical Foundation of Choreography. In: Proceedings of the 16th International Conference on World Wide Web, pp. 973–982. ACM, New York (2007)Google Scholar
  18. 18.
    Salaün, G., Bultan, T.: Realizability of Choreographies Using Process Algebra Encodings. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 167–182. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  19. 19.
    Mendling, J., Hafner, M.: From Inter-organizational Workflows to Process Execution: Generating BPEL from WS-CDL. In: Meersman, R., Tari, Z., Herrero, P. (eds.) OTM-WS 2005. LNCS, vol. 3762, pp. 506–515. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Barros, A., Dumas, M., Oaks, P.: A Critical Overview of Web Service Choreography Description Language (WS-CDL). In: BPTrends (March 2005)Google Scholar
  21. 21.
    Wieczorek, S., Roth, A., Stefanescu, A., Kozyura, V., Charfi, A., Kraft, F.M., Schieferdecker, I.: Viewpoints for Modeling Choreographies in Service-Oriented Architectures. In: WICSA/ECSA, pp. 11–20. IEEE Press, Los Alamitos (2009)Google Scholar
  22. 22.
    Bræk, R., Floch, J.: ICT convergence: Modeling issues. In: Amyot, D., Williams, A.W. (eds.) SAM 2004. LNCS, vol. 3319, pp. 237–256. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Inc., Englewood Cliffs (1989)zbMATHGoogle Scholar
  24. 24.
    Castejón, H.N.: Collaborations in Service Engineering: Modeling, Analysis and Execution. PhD thesis, Norwegian University of Science and Technology (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Surya Bahadur Kathayat
    • 1
  • Rolv Bræk
    • 1
  1. 1.Department of TelematicsNorwegian University of Science and TechnologyTrondheimNorway

Personalised recommendations