Merging Multiparty Protocols in Multiparty Choreographies

Choreography-based programming is a powerful paradigm for defining communication-based systems from a global viewpoint. A choreography can be checked against multiparty protocol specifications, given as behavioural types, that may be instantiated indefinitely at runtime. Each protocol instance is started with a synchronisation among the involved peers. We analyse a simple transformation from a choreography with a possibly unbounded number of protocol instantiations to a choreography instantiating a single protocol, which is the merge of the original ones. This gives an effective methodology for obtaining new protocols by composing existing ones. Moreover, by removing all synchronisations required for starting protocol instances, our transformation reduces the number of communications and resources needed to execute a choreography.

[1]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[2]  Roberto Gorrieri,et al.  Choreography and Orchestration Conformance for System Design , 2006, COORDINATION.

[3]  Ivan Lanese,et al.  Bridging the Gap between Interaction- and Process-Oriented Choreographies , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[4]  Nobuko Yoshida,et al.  Structured Communication-Centered Programming for Web Services , 2007, TOPL.

[5]  Tullio Vardanega,et al.  Towards a New Paas Architecture Generation , 2012, CLOSER.

[6]  Gianluigi Zavattaro,et al.  Composing Services with JOLIE , 2007, Fifth European Conference on Web Services (ECOWS'07).

[7]  David S. Rosenblum,et al.  QoS-Aware Service Composition in Dino , 2007, ECOWS 2007.

[8]  Hesham El-Rewini,et al.  Message Passing Interface (MPI) , 2005 .

[9]  Nobuko Yoshida,et al.  Multiparty Session C: Safe Parallel Programming with Message Optimisation , 2012, TOOLS.

[10]  Shenjian Chen,et al.  Message Passing Interface (MPI) , 2011, Encyclopedia of Parallel Computing.

[11]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[12]  Gary Brown,et al.  Scribbling Interactions with a Formal Foundation , 2011, ICDCIT.

[13]  T. D. Fletcher,et al.  Web Services Choreography Description Language Version 1.0, W3C , 2004 .

[14]  Jan Mendling,et al.  Business Process Model and Notation , 2012, Lecture Notes in Business Information Processing.

[15]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..