2,278 research outputs found
Multi-Party Coordination in the Context of MOWS
Separation of concerns has been presented as a promising tool to tackle the design of complex systems
in which cross-cutting properties that do not fit into the scope of a class must be satisfied. In this paper,
we show that interactions amongst a number of objects can also be described separately from functionality,
which enhances reusability of functional code and interaction patterns. We present our proposal in the context
of Multi-Qrganisational Web-Based Systems (MOWS) and also present a framework that provides the infrastructure
needed to implement multiparty coordination as an independent aspect
Kickstarting Choreographic Programming
We present an overview of some recent efforts aimed at the development of
Choreographic Programming, a programming paradigm for the production of
concurrent software that is guaranteed to be correct by construction from
global descriptions of communication behaviour
Relating BIP and Reo
Coordination languages simplify design and development of concurrent systems.
Particularly, exogenous coordination languages, like BIP and Reo, enable system
designers to express the interactions among components in a system explicitly.
In this paper we establish a formal relation between BI(P) (i.e., BIP without
the priority layer) and Reo, by defining transformations between their semantic
models. We show that these transformations preserve all properties expressible
in a common semantics. This formal relation comprises the basis for a solid
comparison and consolidation of the fundamental coordination concepts behind
these two languages. Moreover, this basis offers translations that enable users
of either language to benefit from the toolchains of the other.Comment: In Proceedings ICE 2015, arXiv:1508.0459
Dynamic Choreographies - Safe Runtime Updates of Distributed Applications
Programming distributed applications free from communication deadlocks and
races is complex. Preserving these properties when applications are updated at
runtime is even harder. We present DIOC, a language for programming distributed
applications that are free from deadlocks and races by construction. A DIOC
program describes a whole distributed application as a unique entity
(choreography). DIOC allows the programmer to specify which parts of the
application can be updated. At runtime, these parts may be replaced by new DIOC
fragments from outside the application. DIOC programs are compiled, generating
code for each site, in a lower-level language called DPOC. We formalise both
DIOC and DPOC semantics as labelled transition systems and prove the
correctness of the compilation as a trace equivalence result. As corollaries,
DPOC applications are free from communication deadlocks and races, even in
presence of runtime updates.Comment: Technical Repor
Parameterized Concurrent Multi-Party Session Types
Session types have been proposed as a means of statically verifying
implementations of communication protocols. Although prior work has been
successful in verifying some classes of protocols, it does not cope well with
parameterized, multi-actor scenarios with inherent asynchrony. For example, the
sliding window protocol is inexpressible in previously proposed session type
systems. This paper describes System-A, a new typing language which overcomes
many of the expressiveness limitations of prior work. System-A explicitly
supports asynchrony and parallelism, as well as multiple forms of
parameterization. We define System-A and show how it can be used for the static
verification of a large class of asynchronous communication protocols.Comment: In Proceedings FOCLASA 2012, arXiv:1208.432
AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications
We present AIOCJ, a framework for programming distributed adaptive
applications. Applications are programmed using AIOC, a choreographic language
suited for expressing patterns of interaction from a global point of view. AIOC
allows the programmer to specify which parts of the application can be adapted.
Adaptation takes place at runtime by means of rules, which can change during
the execution to tackle possibly unforeseen adaptation needs. AIOCJ relies on a
solid theory that ensures applications to be deadlock-free by construction also
after adaptation. We describe the architecture of AIOCJ, the design of the AIOC
language, and an empirical validation of the framework.Comment: Technical Repor
Orchestrated Session Compliance
We investigate the notion of orchestrated compliance for client/server
interactions in the context of session contracts. Devising the notion of
orchestrator in such a context makes it possible to have orchestrators with
unbounded buffering capabilities and at the same time to guarantee any message
from the client to be eventually delivered by the orchestrator to the server,
while preventing the server from sending messages which are kept indefinitely
inside the orchestrator. The compliance relation is shown to be decidable by
means of 1) a procedure synthesising the orchestrators, if any, making a client
compliant with a server, and 2) a procedure for deciding whether an
orchestrator behaves in a proper way as mentioned before.Comment: In Proceedings ICE 2015, arXiv:1508.0459
- …