Formal Aspects of Computing

, Volume 24, Issue 2, pp 187–216 | Cite as

Reo + mCRL2 : A framework for model-checking dataflow in service compositions

  • Natallia KokashEmail author
  • Christian Krause
  • Erik de Vink
Original Article


The paradigm of service-oriented computing revolutionized the field of software engineering. According to this paradigm, new systems are composed of existing stand-alone services to support complex cross-organizational business processes. Correct communication of these services is not possible without a proper coordination mechanism. The Reo coordination language is a channel-based modeling language that introduces various types of channels and their composition rules. By composing Reo channels, one can specify Reo connectors that realize arbitrary complex behavioral protocols. Several formalisms have been introduced to give semantics to Reo. In their most basic form, they reflect service synchronization and dataflow constraints imposed by connectors. To ensure that the composed system behaves as intended, we need a wide range of automated verification tools to assist service composition designers. In this paper, we present our framework for the verification of Reo using the mCRL2 toolset. We unify our previous work on mapping various semantic models for Reo, namely, constraint automata, timed constraint automata, coloring semantics and the newly developed action constraint automata, to the process algebraic specification language of mCRL2, address the correctness of this mapping, discuss tool support, and present a detailed example that illustrates the use of Reo empowered with mCRL2 for the analysis of dataflow in service-based process models.


Formal methods for service-oriented computing Model checking Coordination languages 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Aal98.
    van der Aalst WMP (1998) The application of Petri nets to workflow management. J. Circuits Syst and Comput 8: 21–66CrossRefGoogle Scholar
  2. Aal99.
    van der Aalst WMP (1999) Woflan: a Petri-net-based workflow analyzer. Syst Anal Model Simul 35: 345–357zbMATHGoogle Scholar
  3. ABB+05.
    Arbab F, Baier C, de Boer F, Rutten J, Sirjani M (2005) Synthesis of Reo circuits for implementation of component-connector automata specifications. In: Proceedings of COORDINATION’05. LNCS, vol 3454, pp 236–251Google Scholar
  4. ABBR07.
    Arbab F, Baier C, de Boer F, Rutten J (2007) Models and temporal logical specifications for timed component connectors. Softw Syst Model 6: 59–82CrossRefGoogle Scholar
  5. ACM+09.
    Arbab F, Chothia T, van der Mei R, Sun M, Moon YJ, Verhoef C (2009) From coordination to stochastic models of QoS. In: Field J, Vasconcelos VT (eds) Proceedings of COORDINATION 2009. LNCS, vol 5521, pp 268–287Google Scholar
  6. ACSM07.
    Arbab F, Chothia T, Sun M, Moon Y-J (2007) Component connectors with QoS guarantees. In: Proceedings of COORDINATION 2007. LNCS, vol 4467, pp 286–304Google Scholar
  7. AD94.
    Alur R, Dill D (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235MathSciNetCrossRefzbMATHGoogle Scholar
  8. AKM+08.
    Arbab F, Koehler C, Maraikar Z, Moon YJ, Proenca J (2008) Modeling, testing and executing Reo connectors with the Eclipse Coordination Tools. Tool demo session at FACS’08Google Scholar
  9. Arb96.
    Arbab F (1996) The IWIM model for coordination of concurrent activities. In: Ciancarini P, Hankin C (eds) Proceedings of COORDINATION’96. LNCS vol 1061, pp 34–56Google Scholar
  10. Arb04.
    Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comput Sci 14: 329–366MathSciNetCrossRefzbMATHGoogle Scholar
  11. Bai05.
    Baier C (2005) Probabilistic models for Reo connector circuits. J Univers Comput Sci 11(10): 1718–1748Google Scholar
  12. BBC10.
    Barbosa MA, Barbosa LS, Campos JC (2010) A coordination model for interactive components. In: Arbab F, Sirjani M (eds) Proceedings FSEN 2009. LNCS, vol 5961 pp 416–430Google Scholar
  13. BBKK09.
    Baier C, Blechmann T, Klein J, Klüppelholz S (2009) A uniform framework for modeling and verifying components and connectors. In: Field J, Vasconcelos VT (eds) Proceedings of COORDINATION 2009. LNCS, vol 5521 pp 268–287Google Scholar
  14. BBR10.
    Baeten JCM, Basten T, Reniers MA (2010) Process algebra: equational theories of communicating processes. Number 50 in Cambridge Tracts in Theoretical Computer Science. CUPGoogle Scholar
  15. BCS09.
    Bonsangue M, Clarke D, Silva A (2009) Automata for context-dependent connectors. In Field J, Vasconcelos VT (eds) Proceedings of COORDINATION 2009. LNCS, vol 5521, pp 184–203Google Scholar
  16. Bea09a.
    ter Beek MH et al (2009) CMC-UMC: a framework for the verification of abstract service oriented properties. In: Proceedings of SAC’09. ACM, pp 2111–2117Google Scholar
  17. Bea09b.
    Bocchi L et al (2009) From architectural to behavioural specification of services. ENTCS 253: 3–21Google Scholar
  18. BRV04.
    Berthomieu B, Ribet PO, Vernadat F (2004) The tool TINA: construction of abstract state spaces for Petri nets and time Petri nets. Int J Prod Res 42: 2741–2756CrossRefzbMATHGoogle Scholar
  19. BSAR06.
    Baier C, Sirjani M, Arbab F, Rutten J (2006) Modeling component connectors in Reo by constraint automata. Sci Comput Program 61: 75–113MathSciNetCrossRefzbMATHGoogle Scholar
  20. CCA07.
    Clarke D, Costa D, Arbab F (2007) coloring I: Synchronization and context dependency. Sci Comput Program 66: 205–225MathSciNetCrossRefzbMATHGoogle Scholar
  21. CK07.
    Chothia T, Kleijn J (2007) Q-automata: modelling the resource usage of concurrent components. ENTCS 175: 153–167Google Scholar
  22. CKA10.
    Changizi B, Kokash N, Arbab F (2010) A unified toolset for business process model formalization. In: Happe J, Buhnova B (eds) Proceedings of FESCA 2010. ENTCS, pp 147–156Google Scholar
  23. Cos10.
    Costa D (2010) Formal models for context dependent connectors for distributed software components and services. PhD thesis, Vrije Universiteit AmsterdamGoogle Scholar
  24. CPLA08.
    Clarke D, Proenca J, Lazovik A, Arbab F (2008) Deconstructing Reo. In: Canal C, Poizat P, Sirjani M (eds) Proceedings of FOCLASA 2008. ENTCS, vol 229, pp 43–58Google Scholar
  25. Gea07.
    Groote JF et al (2007) The formal specification language \({{\tt mCRL2}}\) . In: Brinksma E et al (eds) Methods for modelling software systems. IBFI, Schloss Dagstuhl, pp 1–34Google Scholar
  26. GG09.
    Guermouche N, Godart C (2009) Asynchronous timed web service-aware choreography analysis. In: van Eck P et al (eds) Proceedings of CAiSE. LNCS, vol 5565, pp 364–378Google Scholar
  27. GMRMS07.
    Gorton S, Montangero C, Reiff-Marganiec S, Semini L (2007) StPowla: SOA, policies and workflows. In: Di Nitto E, Ripeanu M (eds) Proceedings of ICSOC Workshops. LNCS, vol 4907, pp 351–362Google Scholar
  28. GPR08.
    Guermouche N, Perrin O, Ringeissen C (2008) Timed specification for web services compatibility analysis. ENTCS 200: 155–170Google Scholar
  29. HCLY07.
    Huang S-M, Chu Y-T, Li S-H, Yen DC (2007) Enhancing conflict detecting mechanism for web services composition: a business process flow model transformation approach. Sci Comput Program 66(3): 205–225CrossRefGoogle Scholar
  30. HKS+05.
    Hidders J, Kwasnikowska N, Sroka J, Tyszkiewicz J, den Bussche JV (2005) Petri net + nested relational calculus = dataflow. In: Meersman R et al (eds) Proceedings of CoopIS. LNCS, vol 3760, pp 220–237Google Scholar
  31. HKS+08.
    Hidders J, Kwasnikowska N, Sroka J, Tyszkiewicz J, den Bussche JV (2008) DFL: a dataflow language based on Petri nets and nested relational calculus. Inf Syst 33: 261–284CrossRefGoogle Scholar
  32. HOP05.
    Haller A, Oren E, Petkov S (2005) Survey of workflow management systems. Technical Report 2005-05-02, DERIGoogle Scholar
  33. HPS05.
    Hee van K, Post R, Somers L (2005) Yet another smart process editor. In: Feliz-Teixeira J, Carvalho Brito AE (eds) Proceedings of ESM’05, pp 527–530Google Scholar
  34. IAE08.
    Ibanez MJ, Alvarez P, Ezpeleta J (2008) Flow and data compatibility for the correct interaction between web processes. In: Mohammadian M (ed) Proceedings of CIMCA-IAWTIC-ISE. IEEE, pp 715–721Google Scholar
  35. JKA11.
    Jongmans S-STQ, Krause C, Arbab F (2011) Encoding context-sensitivity in reo into non-context-sensitive semantic models. In: Proceedings of COORDINATION 2011. LNCS, vol 6721, pp 31–48Google Scholar
  36. KCA10.
    Kokash N, Changizi B, Arbab F (2010) A semantic model for service composition with coordination time delays. In: Dong JS, Zhu H (eds) Proceedings of ICFEM. LNCS, vol 6447, pp 106–121Google Scholar
  37. Kem09.
    Kemper S (2009) SAT-based verification for timed component connectors. ENTCS 255: 103–118Google Scholar
  38. KH06.
    Kraemer FA, Herrmann P (2006) Service specification by composition of collaborations: an example. In: Proceedings of SerComp. IEEE pp 129–133Google Scholar
  39. KKV10a.
    Kokash N, Krause C, de Vink EP (2010) Data-aware design and verification of service composition with Reo and \({{\tt mCRL2}}\) . In: Proceedings of SAC 2010. ACM pp 2406–2413Google Scholar
  40. KKV10b.
    Kokash N, Krause C, de Vink EP (2010) Verification of context-dependent channel-based service models. In: de Boer F, Bonsangue M, Hallerstede S, and Leuschel M (eds) Proceedings of FMCO 2009. LNCS, vol 6286, pp 21–40Google Scholar
  41. KKV10c.
    Kokash N, Krause C, de Vink EP (2010) Time and data aware analysis of graphical service models in Reo. In: Maggiolo-Schettini A, Fiadeiro JL, Gnesi S (eds) Proceedings of SEFM’10. IEEE, pp 125–134Google Scholar
  42. KNP02.
    Kwiatkowska M, Norman G, Parker D (2002) PRISM: probabilistic symbolic model checker. In: Field T, Harrison PG, Bradley JT, Harder U (eds) Proceedings of TOOLS 2002. LNCS, vol 2324, pp 200–204Google Scholar
  43. KP06.
    Kazhamiakin R, Pistore M (2006) Static verification of control and data in web service compositions. In: ICWS’06. IEEE, pp 83–90Google Scholar
  44. KPP06.
    Kazhamiakin R, Pandya PK, Pistore M (2006) Timed modelling and analysis in web service compositions. In: ARES’06. IEEE, pp 840–846Google Scholar
  45. Kra11.
    Krause C (2011) Reconfigurable Component Connectors. PhD thesis, Leiden University, The NetherlandsGoogle Scholar
  46. LRST09.
    Lime D, Roux OH, Seidner C, Traonouez L-M (2009) Roméo: a parametric model-checker for Petri nets with stopwatches. In: Kowalewski S, Philippou A (eds) Proceedings of TACAS 2009. LNCS, vol 5505 pp 54–57Google Scholar
  47. Mil89.
    Milner R (1989) Communication and concurrency. Prentice-Hall, Inc. Upper Saddle RiverGoogle Scholar
  48. MSA06.
    Mousavi M, Sirjani M, Arbab F (2006) Formal semantics and analysis of component connectors in Reo. Electron Notes Theor Comput Sci 154(1): 83–99CrossRefGoogle Scholar
  49. Rea03.
    Ratzer A et al (2003) CPN tools for editing, simulating, and analysing coloured Petri nets. In: van der Aalst WMP, Best E (eds) Proceedings of ICATPN 2003. LNCS, vol 2679, pp 450–462Google Scholar
  50. RPU+07.
    Raedts I, Petkovic M, Usenko YS, van der Werf JM, Groote JF, Somers L (2007) Transformation of BPMN models for behaviour analysis. In: Augusto JC, Barjis J, Ultes-Nitsche U (eds) Proceedings of MSVVEIS 2007. INSTICC Press, pp 126–137Google Scholar
  51. TAS08.
    Trčka N, van der Aalst W, Sidorova N (2008) Analyzing control-flow and data-flow in workflow processes in a unified way. Technical report, Technische Universiteit EindhovenGoogle Scholar

Copyright information

© British Computer Society 2011

Authors and Affiliations

  • Natallia Kokash
    • 1
    Email author
  • Christian Krause
    • 2
  • Erik de Vink
    • 3
  1. 1.Centrum Wiskunde & Informatica (CWI)AmsterdamThe Netherlands
  2. 2.Hasso Plattner Institute (HPI)PotsdamGermany
  3. 3.Technische Universiteit Eindhoven (TU/e)EindhovenThe Netherlands

Personalised recommendations