Abstract

Graphical choreographies, or global graphs, are general multiparty session specifications featuring expressive constructs such as forking, merging, and joining for representing application-level protocols. Global graphs can be directly translated into modelling notations such as BPMN and UML. This paper presents an algorithm whereby a global graph can be constructed from asynchronous interactions represented by communicating finite-state machines (CFSMs). Our results include: a sound and complete characterisation of a subset of safe CFSMs from which global graphs can be constructed; an algorithm to translate CFSMs to global graphs; a time complexity analysis; and an implementation of our theory, as well as an experimental evaluation.
Supplemental Material
- Business Process Model and Notation. http://www.bpmn.org.Google Scholar
- Petrify. http://www.lsi.upc.edu/?jordicf/petrify/.Google Scholar
- SAVARA Testable Architecture. http://www.jboss.org/savara.Google Scholar
- Zero Deviation Lifecycle. http://www.zdlc.co.Google Scholar
- Full version of this paper. http://www.doc.ic.ac.uk/~jlange/papers/lty15.pdf, 2014.Google Scholar
- GMC-Synthesis. https://bitbucket.org/julien-lange/ gmc-synthesis, 2014.Google Scholar
- R. Alur, K. Etessami, and M. Yannakakis. Inference of Message Sequence Charts. IEEE Trans. Software Eng., 29(7):623--633, 2003. Google Scholar
Digital Library
- E. Badouel and P. Darondeau. Theory of regions. In Petri Nets, volume 1491 of LNCS, pages 529--586. Springer, 1996. Google Scholar
Digital Library
- C. Baier, J. Klein, and S. Klüppelholz. Synthesis of reo connectors for strategies and controllers. Fundam. Inform., 130(1):1--20, 2014. Google Scholar
Digital Library
- S. Basu and T. Bultan. Choreography conformance via synchronizability. In WWW, pages 795--804. ACM, 2011. Google Scholar
Digital Library
- S. Basu, T. Bultan, and M. Ouederni. Synchronizability for verification of asynchronously communicating systems. In VMCAI, volume 7148 of LNCS. Springer, 2012. Google Scholar
Digital Library
- S. Basu, T. Bultan, and M. Ouederni. Deciding choreography realizability. In POPL, pages 191--202. ACM, 2012. Google Scholar
Digital Library
- F. Bonchi and D. Pous. Checking nfa equivalence with bisimulations up to congruence. In POPL, pages 457--468. ACM, 2013. Google Scholar
Digital Library
- D. Brand and P. Zafiropulo. On communicating finite-state machines. JACM, 30(2):323--342, 1983. Google Scholar
Digital Library
- A. Bucchiarone, H. Melgratti, and F. Severoni. Testing service composition. In Proceedings of the 8th Argentine Symposium on Software Engineering (ASSE07), 2007.Google Scholar
- G. Castagna, M. Dezani-Ciancaglini, and L. Padovani. On global types and multi-party session. LMCS, 8(1), 2012.Google Scholar
- G. Cécé and A. Finkel. Verification of programs with half-duplex communication. I&C, 202(2):166--190, 2005. Google Scholar
Digital Library
- W. W. W. Consortium. Web services choreography description language version 1.0. http://www.w3.org/TR/ws-cdl-10/, 2005.Google Scholar
- J. Cortadella, M. Kishinevsky, L. Lavagno, and A. Yakovlev. Deriving Petri Nets for Finite Transition Systems. IEEE Trans. Computers, 47 (8):859--882, 1998. Google Scholar
Digital Library
- P. Deniélou and N. Yoshida. Multiparty session types meet communicating automata. In ESOP, volume 7211 of LNCS, pages 194--213. Springer, 2012. Google Scholar
Digital Library
- P.-M. Deniélou and N. Yoshida. Multiparty compatibility in communicating automata: Characterisation and synthesis of global session types. In ICALP, volume 7966 of LNCS, pages 174--186, 2013. Google Scholar
Digital Library
- M. Güdemann, G. Salaün, and M. Ouederni. Counterexample guided synthesis of monitors for realizability enforcement. In ATVA, volume 7561 of LNCS, pages 238--253, 2012. Google Scholar
Digital Library
- S. Hallé and T. Bultan. Realizability analysis for message-based interactions using shared-state projections. In SIGSOFT FSE, pages 27--36. ACM, 2010. Google Scholar
Digital Library
- K. Honda, N. Yoshida, and M. Carbone. Multiparty asynchronous session types. In POPL, pages 273--284. ACM, 2008. Google Scholar
Digital Library
- J. Lange and E. Tuosto. Synthesising Choreographies from Local Session Types. In CONCUR, volume 7454 of LNCS, pages 225--239. Springer, 2012. Google Scholar
Digital Library
- R. Lanotte, A. Maggiolo-Schettini, and A. Troina. Weak bisimulation for probabilistic timed automata. Theor. Comput. Sci., 411(50):4291--4322, 2010. Google Scholar
Digital Library
- S. McIlvenna, M. Dumas, and M. T. Wynn. Synthesis of orchestrators from service choreographies. In APCCM, volume 96 of CRPIT, pages 129--138. ACS, 2009. Google Scholar
Digital Library
- D. Mostrous, N. Yoshida, and K. Honda. Global principal typing in partially commutative asynchronous sessions. In ESOP, volume 5502 of LNCS, pages 316--332. Springer, 2009. Google Scholar
Digital Library
- M. Mukund, K. N. Kumar, and M. A. Sohoni. Synthesizing distributed finite-state systems from MSCs. In CONCUR, volume 1877 of LNCS, pages 521--535. Springer, 2000. Google Scholar
Digital Library
- A. Muscholl. Analysis of communicating automata. In LATA, volume 6031 of LNCS, pages 50--57. Springer, 2010. Google Scholar
Digital Library
- G. Salaün, L. Bordeaux, and M. Schaerf. Describing and reasoning on web services using process algebra. In ICWS, pages 43--. IEEE Computer Society, 2004. Google Scholar
Digital Library
- Y. Wang, A. Nazeem, and R. Swaminathan. On the optimal Petri net representation for service composition. In ICWS, pages 235--242. IEEE Computer Society, 2011. Google Scholar
Digital Library
- D. M. Yellin and R. E. Strom. Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst., 19(2):292--333, 1997. Google Scholar
Digital Library
Index Terms
From Communicating Machines to Graphical Choreographies
Recommendations
From Communicating Machines to Graphical Choreographies
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesGraphical choreographies, or global graphs, are general multiparty session specifications featuring expressive constructs such as forking, merging, and joining for representing application-level protocols. Global graphs can be directly translated into ...
Less is more: multiparty session types revisited
Multiparty Session Types (MPST) are a typing discipline ensuring that a message-passing process implements a multiparty session protocol, without errors. In this paper, we propose a new, generalised MPST theory.
Our contribution is fourfold. (1) We ...
Fencing off go: liveness and safety for channel-based programming
POPL '17Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact through ...







Comments