Partially-Distributed Coordination with Reo

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]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

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

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

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

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

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

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

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

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

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

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

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

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

[14]  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.

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

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

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

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

[19]  Farhad Arbab,et al.  Partially-Distributed Coordination with Reo (Technical Report) , 2013 .

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

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

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

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

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

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