Advertisement

Bridging the Gap Between Supervisory Control and Coordination of Services: Synthesis of Orchestrations and Choreographies

  • Davide BasileEmail author
  • Maurice H. ter Beek
  • Rosario Pugliese
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11533)

Abstract

We explore the frontiers between coordination and control systems by discussing a number of contributions to bridging the gap between supervisory control theory and coordination of services. In particular, we illustrate how the classical synthesis algorithm from supervisory control theory to obtain the so-called most permissive controller can be modified to synthesise orchestrations and choreographies of service contracts formalised as contract automata. The key ingredient to make this possible is a novel notion of controllability. Finally, we present an abstract parametric synthesis algorithm and show that it generalises the classical synthesis as well as the orchestration and choreography syntheses.

Keywords

Service contracts Contract automata Controller synthesis Orchestration Choreography 

References

  1. 1.
    Acciai, L., Boreale, M., Zavattaro, G.: Behavioural contracts with request-response operations. Sci. Comp. Program. 78(2), 248–267 (2013)CrossRefGoogle Scholar
  2. 2.
    de Alfaro, L., Henzinger, T.: Interface automata. In: ESEC/FSE, pp. 109–120. ACM (2001)Google Scholar
  3. 3.
    Alur, R., Dill, D.: A theory of timed automata. Theoret. Comp. Sci. 126(2), 183–235 (1994)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Apel, S., Batory, D.S., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-37521-7CrossRefGoogle Scholar
  5. 5.
    Asarin, E., Maler, O., Pnueli, A., Sifakis, J.: Controller synthesis for timed automata. IFAC Proc. 31(18), 447–452 (1998)CrossRefGoogle Scholar
  6. 6.
    Atampore, F., Dingel, J., Rudie, K.: Automated service composition via supervisory control theory. In: WODES, pp. 28–35. IEEE (2016)Google Scholar
  7. 7.
    Azzopardi, S., Pace, G.J., Schapachnik, F., Schneider, G.: Contract automata: an operational view of contracts between interactive parties. Artif. Intell. Law 24(3), 203–243 (2016)CrossRefGoogle Scholar
  8. 8.
    Bartoletti, M., Cimoli, T., Zunino, R.: Compliance in behavioural contracts: a brief survey. In: Bodei, C., Ferrari, G.-L., Priami, C. (eds.) Programming Languages with Applications to Biology and Security. LNCS, vol. 9465, pp. 103–121. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-25527-9_9CrossRefGoogle Scholar
  9. 9.
    Basile, D., et al.: Controller synthesis of service contracts with variability. Sci. Comput. Program. (2019, under revision)Google Scholar
  10. 10.
    Basile, D., ter Beek, M.H., Legay, A., Traonouez, L.-M.: Orchestration synthesis for real-time service contracts. In: Atig, M.F., Bensalem, S., Bliudze, S., Monsuez, B. (eds.) VECoS 2018. LNCS, vol. 11181, pp. 31–47. Springer, Cham (2018).  https://doi.org/10.1007/978-3-030-00359-3_3CrossRefGoogle Scholar
  11. 11.
    Basile, D., Degano, P., Ferrari, G.L.: Automata for specifying and orchestrating service contracts. Log. Meth. Comp. Sci. 12(4:6), 1–51 (2016)MathSciNetzbMATHGoogle Scholar
  12. 12.
    Basile, D., Degano, P., Ferrari, G.-L., Tuosto, E.: Playing with our CAT and communication-centric applications. In: Albert, E., Lanese, I. (eds.) FORTE 2016. LNCS, vol. 9688, pp. 62–73. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-39570-8_5CrossRefGoogle Scholar
  13. 13.
    Basile, D., Degano, P., Ferrari, G.L., Tuosto, E.: Relating two automata-based models of orchestration and choreography. J. Log. Algebr. Meth. Program. 85(3), 425–446 (2016)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Basile, D., Di Giandomenico, F., Gnesi, S., Degano, P., Ferrari, G.L.: Specifying variability in service contracts. In: VaMoS, pp. 20–27. ACM (2017)Google Scholar
  15. 15.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005).  https://doi.org/10.1007/11554844_3CrossRefGoogle Scholar
  16. 16.
    van Beek, D.A., et al.: CIF 3: model-based engineering of supervisory controllers. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 575–580. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-642-54862-8_48CrossRefGoogle Scholar
  17. 17.
    ter Beek, M.H., Bucchiarone, A., Gnesi, S.: Web service composition approaches: from industrial standards to formal methods. In: ICIW. IEEE (2007)Google Scholar
  18. 18.
    ter Beek, M.H., Carmona, J., Hennicker, R., Kleijn, J.: Communication requirements for team automata. In: Jacquet, J.-M., Massink, M. (eds.) COORDINATION 2017. LNCS, vol. 10319, pp. 256–277. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-59746-1_14CrossRefGoogle Scholar
  19. 19.
    ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: Modelling and analysing variability in product families: model checking of modal transition systems with variability constraints. J. Log. Algebr. Meth. Program. 85(2), 287–315 (2016)MathSciNetCrossRefGoogle Scholar
  20. 20.
    ter Beek, M.H., Reniers, M.A., de Vink, E.P.: Supervisory controller synthesis for product lines using CIF 3. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 856–873. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47166-2_59CrossRefGoogle Scholar
  21. 21.
    ter Beek, M.H., de Vink, E.P., Willemse, T.A.C.: Family-based model checking with mCRL2. In: Huisman, M., Rubin, J. (eds.) FASE 2017. LNCS, vol. 10202, pp. 387–405. Springer, Heidelberg (2017).  https://doi.org/10.1007/978-3-662-54494-5_23CrossRefGoogle Scholar
  22. 22.
    Bouguettaya, A., et al.: A service computing manifesto: the next 10 years. Commun. ACM 60(4), 64–72 (2017)CrossRefGoogle Scholar
  23. 23.
    Bruni, R., Lanese, I., Melgratti, H., Tuosto, E.: Multiparty sessions in SOC. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 67–82. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-68265-3_5CrossRefGoogle Scholar
  24. 24.
    Cassandras, C.G., Lafortune, S.: Introduction to Discrete Event Systems. Springer, Heidelberg (2006).  https://doi.org/10.1007/978-0-387-68612-7CrossRefzbMATHGoogle Scholar
  25. 25.
    Cassez, F., David, A., Fleury, E., Larsen, K.G., Lime, D.: Efficient on-the-fly algorithms for the analysis of timed games. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 66–80. Springer, Heidelberg (2005).  https://doi.org/10.1007/11539452_9CrossRefGoogle Scholar
  26. 26.
    Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On global types and multi-party sessions. Log. Meth. Comp. Sci. 8(1:24), 1–45 (2012)MathSciNetzbMATHGoogle Scholar
  27. 27.
    Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. ACM Trans. Program. Lang. Syst. 31(5), 19:1–19:61 (2009)CrossRefGoogle Scholar
  28. 28.
    Classen, A., Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A., Raskin, J.F.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans. Softw. Eng. 39(8), 1069–1089 (2013)CrossRefGoogle Scholar
  29. 29.
    Cranen, S., et al.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-36742-7_15CrossRefGoogle Scholar
  30. 30.
    Darondeau, P., Dubreil, J., Marchand, H.: Supervisory control for modal specifications of services. IFAC Proc. 43(12), 418–425 (2010)CrossRefGoogle Scholar
  31. 31.
    David, A., Larsen, K.G., Legay, A., Nyman, U., Wąsowski, A.: Timed I/O automata: a complete specification theory for real-time systems. In: HSCC, pp. 91–100. ACM (2010)Google Scholar
  32. 32.
    Dezani-Ciancaglini, M., de’Liguoro, U.: Sessions and session types: an overview. In: Laneve, C., Su, J. (eds.) WS-FM 2009. LNCS, vol. 6194, pp. 1–28. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-14458-5_1CrossRefGoogle Scholar
  33. 33.
    Feuillade, G., Pinchinat, S.: Modal specifications for the control theory of discrete event systems. Discrete Event Dyn. Syst. 17(2), 211–232 (2007)MathSciNetCrossRefGoogle Scholar
  34. 34.
    Gierds, C., Mooij, A.J., Wolf, K.: Reducing adapter synthesis to controller synthesis. IEEE Trans. Serv. Comput. 5(1), 72–85 (2012)CrossRefGoogle Scholar
  35. 35.
    Gohari, P., Wonham, W.M.: On the complexity of supervisory control design in the RW framework. IEEE Trans. Syst. Man Cybern. B Cybern. 30(5), 643–652 (2000)CrossRefGoogle Scholar
  36. 36.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL, pp. 273–284. ACM (2008)Google Scholar
  37. 37.
    Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3:1–3:36 (2016)CrossRefGoogle Scholar
  38. 38.
    Kavantzas, N., Burdett, D., Ritzinger, G., Fletcher, T., Lafon, Y., Barreto, C.: Web Services Choreography Description Language v1.0 (2005). https://www.w3.org/TR/ws-cdl-10/
  39. 39.
    Křetínský, J.: 30 years of modal transition systems: survey of extensions and analysis. In: Aceto, L., Bacci, G., Bacci, G., Ingólfsdóttir, A., Legay, A., Mardare, R. (eds.) Models, Algorithms, Logics and Tools. LNCS, vol. 10460, pp. 36–74. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-63121-9_3CrossRefGoogle Scholar
  40. 40.
    Laneve, C., Padovani, L.: An algebraic theory for web service contracts. Form. Asp. Comput. 27(4), 613–640 (2015)MathSciNetCrossRefGoogle Scholar
  41. 41.
    Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: POPL, pp. 221–232. ACM (2015)Google Scholar
  42. 42.
    Larsen, K.G., Nyman, U., Wąsowski, A.: Modal I/O automata for interface and product line theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-71316-6_6CrossRefzbMATHGoogle Scholar
  43. 43.
    Lynch, N., Tuttle, M.: An introduction to input/output automata. CWI Q. 2, 219–246 (1989)MathSciNetzbMATHGoogle Scholar
  44. 44.
    Michaux, J., Najm, E., Fantechi, A.: Session types for safe web service orchestration. J. Log. Algebr. Program. 82(8), 282–310 (2013)MathSciNetCrossRefGoogle Scholar
  45. 45.
    Peltz, C.: Web services orchestration and choreography. IEEE Comp. 36(10), 46–52 (2003)CrossRefGoogle Scholar
  46. 46.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005).  https://doi.org/10.1007/3-540-28901-1CrossRefzbMATHGoogle Scholar
  47. 47.
    Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206–230 (1987)MathSciNetCrossRefGoogle Scholar
  48. 48.
    Yi, Q., Liu, X., Bouguettaya, A., Medjahed, B.: Deploying and managing Web services: issues, solutions, and directions. VLDB J. 17(3), 735–572 (2008)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2019

Authors and Affiliations

  1. 1.University of FlorenceFlorenceItaly
  2. 2.ISTI–CNRPisaItaly

Personalised recommendations