1,555 research outputs found
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
A Procedure for Splitting Processes and its Application to Coordination
We present a procedure for splitting processes in a process algebra with
multi-actions (a 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 equals the original process under
appropriate 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. Such
splitting can significantly improve the performance of connectors.Comment: In Proceedings FOCLASA 2012, arXiv:1208.432
Handshaking Protocol for Distributed Implementation of Reo
Reo, an exogenous channel-based coordination language, is a model for service
coordination wherein services communicate through connectors formed by joining
binary communication channels. In order to establish transactional
communication among services as prescribed by connector semantics, distributed
ports exchange handshaking messages signalling which parties are ready to
provide or consume data. In this paper, we present a formal implementation
model for distributed Reo with communication delays and outline ideas for its
proof of correctness. To reason about Reo implementation formally, we introduce
Timed Action Constraint Automata (TACA) and explain how to compare TACA with
existing automata-based semantics for Reo. We use TACA to describe handshaking
behavior of Reo modeling primitives and argue that in any distributed circuit
remote Reo nodes and channels exposing such behavior commit to perform
transitions envisaged by the network semantics.Comment: In Proceedings FOCLASA 2014, arXiv:1502.0315
Reo + mCRL2: A Framework for Model-Checking Dataflow in Service Compositions
The paradigm of service-oriented computing revolutionized the field of software
engineering. According to this paradigm, new systems are composed of existing
stand-alone services to support complex cross-organizational business
processes. Correct communication of these services is not possible without a
proper coordination mechanism. The Reo coordination language is a channel-based
modeling language that introduces various types of channels and their
composition rules. By composing Reo channels, one can specify Reo connectors
that realize arbitrary complex behavioral protocols. Several formalisms have
been introduced to give semantics to Reo. In their most basic form, they
reflect service synchronization and dataflow constraints imposed by connectors.
To ensure that the composed system behaves as intended, we need a wide range of
automated verification tools to assist service composition designers. In this
paper, we present our framework for the verification of Reo using the mCRL2
toolset. We unify our previous work on mapping various semantic models for Reo,
namely, constraint automata, timed constraint automata, coloring semantics and
the newly developed action constraint automata, to the process algebraic
specification language of mCRL2, address the correctness of this mapping,
discuss tool support, and present a detailed example that illustrates the use
of Reo empowered with mCRL2 for the analysis of dataflow in service-based
process models
Reo + mCRL2: A Framework for Model-checking Dataflow in Service Compositions
The paradigm of service-oriented computing revolutionized the field of software engineering. According to this paradigm, new systems are composed of existing stand-alone services to support complex cross-organizational business processes. Correct communication of these services is not possible without a proper coordination mechanism. The Reo coordination language is a channel-based modeling language that introduces various types of channels and their composition rules. By composing Reo channels, one can specify Reo connectors that realize arbitrary complex behavioral protocols. Several formalisms have been introduced to give semantics to Reo. In their most basic form, they reflect service synchronization and dataflow constraints imposed by connectors. To ensure that the composed system behaves as intended, we need a wide range of automated verification tools to assist service composition designers. In this paper, we present our framework for the verification of Reo using the toolset. We unify our previous work on mapping various semantic models for Reo, namely, constraint automata, timed constraint automata, coloring semantics and the newly developed action constraint automata, to the process algebraic specification language of , address the correctness of this mapping, discuss tool support, and present a detailed example that illustrates the use of Reo empowered with for the analysis of dataflow in service-based process models
A Compositional Semantics for Stochastic Reo Connectors
In this paper we present a compositional semantics for the channel-based
coordination language Reo which enables the analysis of quality of service
(QoS) properties of service compositions. For this purpose, we annotate Reo
channels with stochastic delay rates and explicitly model data-arrival rates at
the boundary of a connector, to capture its interaction with the services that
comprise its environment. We propose Stochastic Reo automata as an extension of
Reo automata, in order to compositionally derive a QoS-aware semantics for Reo.
We further present a translation of Stochastic Reo automata to Continuous-Time
Markov Chains (CTMCs). This translation enables us to use third-party CTMC
verification tools to do an end-to-end performance analysis of service
compositions.Comment: In Proceedings FOCLASA 2010, arXiv:1007.499
Input-output Conformance Testing for Channel-based Service Connectors
Service-based systems are software systems composed of autonomous components or services provided
by different vendors, deployed on remote machines and accessible through the web. One of the
challenges of modern software engineering is to ensure that such a system behaves as intended by its
designer. The Reo coordination language is an extensible notation for formal modeling and execution
of service compositions. Services that have no prior knowledge about each other communicate
through advanced channel connectors which guarantee that each participant, service or client, receives
the right data at the right time. Each channel is a binary relation that imposes synchronization
and data constraints on input and output messages. Furthermore, channels are composed together
to realize arbitrarily complex behavioral protocols. During this process, a designer may introduce
errors into the connector model or the code for their execution, and thus affect the behavior of a
composed service. In this paper, we present an approach for model-based testing of coordination
protocols designed in Reo. Our approach is based on the input-output conformance (ioco) testing
theory and exploits the mapping of automata-based semantic models for Reo to equivalent process
algebra specifications
- …