Partially-Distributed Coordination with Reo (Technical Report)

Coordination languages, as Reo, have emerged for the specification and implementation of interaction protocols among concurrent entities. In this paper, we propose a framework for generating partially-distributed, partially-centralized implementations of Reo connectors to improve 1) build-time compilation and 2) run-time throughput and parallelism. Our framework relies on the definition of a new formal product operator on constraint automata (Reo's formal semantics), which enables the formally correct distribution of disjoint parts of a coordination scheme over different machines according to several possible motivations (e.g., performance, privacy, QoS constraints, resource availability, network topology). First, we describe the design and a proof-of-concept implementation of our framework. Then, in a case study, we show and explain how a generated connector implementation can be executed in the Cloud and supports Big Data coordination.

[1]  Farhad Arbab,et al.  Modularizing and Specifying Protocols among Threads , 2013, PLACES.

[2]  Erik P. de Vink,et al.  Decoupled execution of synchronous coordination models via behavioural automata , 2011, FOCLASA.

[3]  Srdjan Marinovic,et al.  Distributed Orchestration of Pervasive Services , 2010, 2010 24th IEEE International Conference on Advanced Information Networking and Applications.

[4]  Farhad Arbab,et al.  Global Consensus through Local Synchronization (Technical Report) , 2013 .

[5]  Sunil Chandra,et al.  Decentralized orchestration of composite web services , 2004, WWW Alt. '04.

[6]  Jano I. van Hemert,et al.  Orchestrating Data-Centric Workflows , 2008, 2008 Eighth IEEE International Symposium on Cluster Computing and the Grid (CCGRID).

[7]  Eugenio Zimeo,et al.  Workflow fine-grained concurrency with automatic continuation , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[8]  Farhad Arbab,et al.  Puff, The Magic Protocol , 2011, Formal Modeling: Actors, Open Systems, Biological Systems.

[9]  Gabriel Pedraza,et al.  Distributed Orchestration Versus Choreography: The FOCAS Approach , 2009, ICSP.

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

[11]  Dave Clarke,et al.  Partial Connector Colouring , 2012, COORDINATION.

[12]  Farhad Arbab,et al.  A Semantic Model for Service Composition with Coordination Time Delays , 2010, ICFEM.

[13]  Erik P. de Vink,et al.  Dreams: a framework for distributed synchronous coordination , 2012, SAC '12.

[14]  Jacky Estublier,et al.  Apel: A Graphical Yet Executable Formalism for Process Modeling , 2004, Automated Software Engineering.

[15]  Georg Lausen Two-Phase Locking , 2009, Encyclopedia of Database Systems.

[16]  Erik P. de Vink,et al.  Reo + mCRL2 : A framework for model-checking dataflow in service compositions , 2011, Formal Aspects of Computing.

[17]  Christel Baier,et al.  Modeling component connectors in Reo by constraint automata , 2004, Sci. Comput. Program..

[18]  Cédric Tedeschi,et al.  Decentralized Approach for Execution of Composite Web Services Using the Chemical Paradigm , 2010, 2010 IEEE International Conference on Web Services.

[19]  Farhad Arbab,et al.  Overview of Thirty Semantic Formalisms for Reo , 2012, Sci. Ann. Comput. Sci..

[20]  Vivek Sarkar,et al.  Decentralizing execution of composite web services , 2004, OOPSLA.

[21]  Boi Faltings,et al.  Decentralized Orchestration of Composite Web Services , 2006 .

[22]  Christel Baier,et al.  Synthesis of Reo Circuits for Implementation of Component-Connector Automata Specifications , 2005, COORDINATION.

[23]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[24]  Dave Clarke,et al.  A Procedure for Splitting Processes and its Application to Coordination , 2012, FOCLASA.

[25]  Farhad Arbab,et al.  Automatic Code Generation for the Orchestration of Web Services with Reo , 2012, ESOCC.

[26]  Farhad Arbab,et al.  Global Consensus through Local Synchronization , 2013, ESOCC Workshops.

[27]  José Proença,et al.  Synchronous Coordination of Distributed Components , 2011 .

[28]  Gerhard Weikum,et al.  From Centralized Workflow Specification to Distributed Workflow Execution , 1998, Journal of Intelligent Information Systems.