8 research outputs found
Decoupled execution of synchronous coordination models via behavioural automata
Synchronous coordination systems allow the exchange of data by logically
indivisible actions involving all coordinated entities. This paper introduces
behavioural automata, a logically synchronous coordination model based on the
Reo coordination language, which focuses on relevant aspects for the
concurrent evolution of these systems. We show how our automata model encodes
the Reo and Linda coordination models and how it introduces an explicit
predicate that captures the concurrent evolution, distinguishing local from
global actions, and lifting the need of most synchronous models to involve all
entities at each coordination step, paving the way to more scalable
implementations
Decoupled execution of synchronous coordination models via behavioural automata
Synchronous coordination systems allow the exchange of data by logically
indivisible actions involving all coordinated entities. This paper introduces
behavioural automata, a logically synchronous coordination model based on the
Reo coordination language, which focuses on relevant aspects for the concurrent
evolution of these systems. We show how our automata model encodes the Reo and
Linda coordination models and how it introduces an explicit predicate that
captures the concurrent evolution, distinguishing local from global actions,
and lifting the need of most synchronous models to involve all entities at each
coordination step, paving the way to more scalable implementations.Comment: In Proceedings FOCLASA 2011, arXiv:1107.584
Toward Sequentializing Overparallelized Protocol Code
In our ongoing work, we use constraint automata to compile protocol
specifications expressed as Reo connectors into efficient executable code,
e.g., in C. We have by now studied this automata based compilation approach
rather well, and have devised effective solutions to some of its problems.
Because our approach is based on constraint automata, the approach, its
problems, and our solutions are in fact useful and relevant well beyond the
specific case of compiling Reo. In this short paper, we identify and analyze
two such rather unexpected problems.Comment: In Proceedings ICE 2014, arXiv:1410.701
Global Consensus through Local Synchronization (Technical Report)
Coordination languages have emerged for the specification and implementation of interaction protocols among concurrent entities. Currently, we are developing a code generator for one such a language, based on the formalism of constraint automata (CA). As part of the compilation process, our tool computes the CA-specific synchronous product of a number of CA, each of which models a constituent of the protocol to generate code for. This ensures that implementations of those CA at run-time reach a consensus about their global behavior in every step. However, using the existing product operator on CA can be practically problematic. In this paper, we provide a solution by defining a new, local product operator on CA that avoids those problems. We then identify a sufficiently large class of CA for which using our new product instead of the existing one is semantics-preserving. Finally, we describe how to apply this result to code generation and also sketch how to use the same theory for projecting choreographies
A procedure for splitting data-aware processes and its application to coordination
We present a procedure for splitting processes in a process algebra with multiactions and data (the untimed subset of the specification language mCRL2). This splitting procedure cuts a process into two processes along a set of actions A: Roughly, one of these processes contains no actions from A, while the other process contains only actions from A. We state and prove a theorem asserting that the parallel composition of these two processes is provably equal from a set of axioms (sound and complete with respect to strong bisimilarity) to the original process under some appropriate notion of synchronization. We apply our splitting procedure to the process algebraic semantics of the coordination language Reo: Using this procedure and its related theorem, we formally establish the soundness of splitting Reo connectors along the boundaries of their (a)synchronous regions in implementations of Reo
Decoupled execution of synchronous coordination models via behavioural automata
Synchronous coordination systems allow the exchange of data by logically indivisible actions involving all coordinated entities. This paper introduces behavioural automata, a logically synchronous coordination model based on the Reo coordination language, which focuses on relevant aspects for the concurrent evolution of these systems. We show how our automata model encodes the Reo and Linda coordination models and how it introduces an explicit predicate that captures the concurrent evolution, distinguishing local from global actions, and lifting the need of most synchronous models to involve all entities at each coordination step, paving the way to more scalable implementations
Decoupled execution of synchronous coordination models via behavioural automata
Synchronous coordination systems allow the exchange of data by logically
indivisible actions involving all coordinated entities. This paper introduces
behavioural automata, a logically synchronous coordination model based on the
Reo coordination language, which focuses on relevant aspects for the
concurrent evolution of these systems. We show how our automata model encodes
the Reo and Linda coordination models and how it introduces an explicit
predicate that captures the concurrent evolution, distinguishing local from
global actions, and lifting the need of most synchronous models to involve all
entities at each coordination step, paving the way to more scalable
implementations