Software & Systems Modeling

, Volume 13, Issue 1, pp 9–33 | Cite as

Message choreography modeling

A domain-specific language for consistent enterprise service integration
  • Alin Stefanescu
  • Sebastian Wieczorek
  • Matthias Schur
Theme Section Paper

Abstract

Service-based applications are based on modern architectures that require careful design of interfaces and protocols to allow smooth integration of service components. These design artifacts are not only useful for implementation, but could also be used for the derivation of integration tests. In order to be applied in these different activities of the development process, they have to conform to existing requirements and other specifications at different architectural levels. In addition, their internal consistency has to be ensured. In this paper, we present an approach to service integration based on a domain-specific language for service choreographies. We first explain the motivation for our work by defining the industrial context that led to the definition of a domain-specific choreography language, called message choreography modeling (MCM). We then provide syntax and semantics for MCM, together with suitable methods for ensuring its consistency. Finally, we report on our experience in applying the described language in practice.

Keywords

Domain specific modeling languages  Message choreography models Service choreography Enterprise SOA 

Notes

Acknowledgments

This work was partially supported by the EC-funded projects DEPLOY FP7 Grant no. 214158 and MODELPLEX FP6 Grant no. 034081 and Romanian research Grants CNCS-UEFISCDI no. 7/05.08.2010 and no. PN-II-ID-PCE-2011-3-0688 (project MuVet). We also thank our colleagues Andreas Roth and Anis Charfi who contributed to the MCM development, and the anonymous reviewers.

References

  1. 1.
    Forrester. Enterprise and SMB software survey, North America and Europe, Q4 2008. Business data service survey, Forrester Research, Cambridge (2008)Google Scholar
  2. 2.
    Heffner, R.: SOA adoption 2010: Still important, still strong. Technical Report 59058, Forrester, March (2011)Google Scholar
  3. 3.
    Woods, D., Mattern, T.: Enterprise SOA—Designing IT for Business Innovation. O’Reilly, Sebastopol (2006)Google Scholar
  4. 4.
    Wieczorek, S., Roth, A., Stefanescu, A., Kozyura, V., Charfi, A., Kraft, F.M., Schieferdecker, I.: Viewpoints for modeling choreographies in service-oriented architectures. In: Proceedings of the 8th Working IEEE/IFIP Conference on Software Architecture (WICSA’09), pp. 11–20. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  5. 5.
    Wieczorek, S., Roth, A., Stefanescu, A., Charfi, A.: Precise steps for choreography modeling for SOA validation and verification. In: Proceedings of the IEEE 4th International Symposium on Service-Oriented Software Engineering (SOSE’08), pp. 148–153. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  6. 6.
    Wieczorek, S., Stefanescu, A., Roth, A.: Model-driven service integration testing—a case study. In: Proceeding of the 7th International Conference on the Quality of Information and Communications Technology (QUATIC’10), pp. 292–297. IEEE Computer Society, Los Alamitos (2010)Google Scholar
  7. 7.
    Wieczorek, S., Kozyura, V., Roth, A., Leuschel, M., Bendisposto, J., Plagge, D., Schieferdecker, I.: Applying model checking to generate model-based integration tests from choreography models. In: Proceedings of the International Conference on Testing of Communicating Systems (TESTCOM’09). LNCS, vol. 5826, pp. 179–194. Springer, Berlin (2009)Google Scholar
  8. 8.
    Stefanescu, A., Wieczorek, S., Kirshin, A.: MBT4Chor: A model-based testing approach for service choreographies. In: Proceedings of the European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA’09). LNCS, vol. 5562, pp. 313–324. Springer, Berlin (2009)Google Scholar
  9. 9.
    Papazoglou, M.P., Traverso, P., Dustdar, S., Leymann, F.: Service-oriented computing: state of the art and research challenges. IEEE Comput. 40(11), 38–45 (2007)CrossRefGoogle Scholar
  10. 10.
    W3C. Web service glossary. http://www.w3.org/TR/ws-gloss/, (2004). Version 20040211
  11. 11.
    W3C. Web Services Choreography Description Language (WS-CDL). http://www.w3.org/TR/ws-cdl-10/, (2004). Version 1.0
  12. 12.
    Decker, G., Kopp, O., Leymann, F., Weske, M.: BPEL4Chor: Extending BPEL for modeling choreographies. In: Proceedings of the Intenational Conference on Web Services (ICWS 2007), pp. 296–303. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  13. 13.
    Zaha, J.M., Barros, A.P., Dumas, M., ter Hofstede, A.H.M.: Let’s dance: a language for service behavior modeling. In: Proceedings of the CoopIS’06. LNCS, vol. 4275, pp. 145–162. Springer, Berlin (2006)Google Scholar
  14. 14.
    OMG. Business Process Modeling Notation (BPMN) 2.0. http://www.omg.org/spec/BPMN/2.0 (2011)
  15. 15.
    OMG. Meta Object Facility (MOF) core specification version 2.0. http://www.omg.org/cgi-bin/doc?formal/2006-01-01 (2006)
  16. 16.
    OASIS. Web services reliable messaging. http://docs.oasis-open.org/ws-rx/wsrm/v1.2/wsrm.pdf, (2007). Version 1.2
  17. 17.
    Motwani, R., Ullman, J.D., Hopcroft, J.E.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Boston (2007)Google Scholar
  18. 18.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Proceedings of the ESOP’98. LNCS, vol. 1381, pp. 122–138. Springer, Berlin (1998)Google Scholar
  19. 19.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of the POPL’08, pp. 273–284. ACM, New York (2008)Google Scholar
  20. 20.
    Honda, K., Mukhamedov, A., Brown, G., Chen, T.-C., Yoshida, N.: Scribbling interactions with a formal foundation. In: Proceedings of the ICDCIT’11. LNCS, vol. 6536, pp. 55–75. Springer, Berlin (2011). Tool at: http://www.jboss.org/scribble
  21. 21.
    Skogan, D., Grønmo, R., Solheim, I.: Web service composition in UML. In: Proceedings of the 8th IEEE International Enterprise Distributed Object Computing Conference (EDOC), pp. 47–57. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  22. 22.
    Zhang, J., Chang, C.K., Chung, J.-Y., Kim, S.W.: WS-Net: A Petri-net based specification model for web services. In: Proceedings of the IEEE International Conference on Web Services (ICWS’04), pp. 420–427 (2004)Google Scholar
  23. 23.
    McNeile, A.T.: Protocol contracts with application to choreographed multiparty collaborations. Serv Oriented Comput Appl 4(2), 109–136 (2010)CrossRefGoogle Scholar
  24. 24.
    Safa, L.: The making of user-interface designer: A proprietary DSM tool. In: Proceedings of the 7th OOPSLA Workshop on domain-specific modeling, pp. 21–22 (2007)Google Scholar
  25. 25.
    Kelly, S., Tolvanen, J.-P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE, New York (2008)CrossRefGoogle Scholar
  26. 26.
    Kärnä, J., Tolvanen, J.-P., Kelly, S.: Evaluating the use of domain-specific modeling in practice. In: Proceedings of the DSM’09, pp. 14–20. HSE, Sudbury (2009)Google Scholar
  27. 27.
    van Glabbeek, R.J., Goltz, U.: Equivalences and refinement. In: Proceedings of the Semantics of Systems of Concurrent Processes. LNCS, vol. 469, pp. 309–333. Springer, Berlin (1990)Google Scholar
  28. 28.
    Utting, M., Legeard, B.: Practical Model-Based Testing—a Tools Approach. Morgan Kaufmann, Menlo Park (2007)Google Scholar
  29. 29.
    Decker, G., Weske, M.: Local enforceability in interaction Petri Nets. In: Proceedings of the 5th International Conferenc on Business Process Management (BPM’07). LNCS, vol. 4714, pp. 305–319. Springer, Berlin (2007)Google Scholar
  30. 30.
    Kozyura, V., Roth, A., Wei, W.: Local enforceability and inconsumable messages in choreography models. In: Proceedings of the 4th South-East European Workshop on Formal Methods (SEEFM), pp. 10–16. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  31. 31.
    Abrial, J.-R., Butler, M.J., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. STTT 12(6), 447–466 (2010)CrossRefGoogle Scholar
  32. 32.
    Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)CrossRefGoogle Scholar
  33. 33.
    Schur, M.: User interaction in formal verification of service choreography models. Master’s thesis, Hochschule Karlsruhe Technik und Wirtschaft (2009)Google Scholar
  34. 34.
    Kätker, S., Patig, S.: Model-driven development of service-oriented business application systems. In: Business Services: Konzepte, Technologien, Anwendungen, vol. Band 1, pp. 171–180. Österreichische Computer Gesellschaft, Wien (2009)Google Scholar
  35. 35.
    Wei, W., Roth, A., Wieczorek, S., Kozyura, V.: Checking consistency between message choreographies and their implementation models. In: Proceedings of the International Workshop on Automated Verification of Critical Systems (AVOCS’10). ECEASST, vol. 35, pp. 1–15, (2010)Google Scholar
  36. 36.
    Varro, D.: A formal semantics of UML statecharts by model transition systems. In: Proceedings of the 1st International Conference on Graph Transformation (ICGT). LNCS, vol. 2505, pp. 378–392. Springer, Berlin (2002)Google Scholar
  37. 37.
    Abrial, J.R.: Modeling in Event-B—System and Software Engineering. Cambridge Univ Press, London (2010)CrossRefMATHGoogle Scholar
  38. 38.
    Abrial, J.R.: The B-book. Cambridge Univ Press, London (1996)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Alin Stefanescu
    • 1
  • Sebastian Wieczorek
    • 2
  • Matthias Schur
    • 2
  1. 1.University of PitestiPitestiRomania
  2. 2.SAP ResearchDarmstadtGermany

Personalised recommendations