48 research outputs found
Partially distributed coordination with Reo and constraint automata
Algorithms and the Foundations of Software technolog
Distributed Enforcement of Service Choreographies
Modern service-oriented systems are often built by reusing, and composing
together, existing services distributed over the Internet. Service choreography
is a possible form of service composition whose goal is to specify the
interactions among participant services from a global perspective. In this
paper, we formalize a method for the distributed and automated enforcement of
service choreographies, and prove its correctness with respect to the
realization of the specified choreography. The formalized method is implemented
as part of a model-based tool chain released to support the development of
choreography-based systems within the EU CHOReOS project. We illustrate our
method at work on a distributed social proximity network scenario.Comment: In Proceedings FOCLASA 2014, arXiv:1502.0315
A perspective on service orchestration
Service-oriented computing is an emerging paradigm with increasing impact on the way modern software systems are designed and developed. Services are autonomous, loosely coupled and heterogeneous computational entities able to cooperate to achieve common goals. This paper introduces a model for service orchestration, which combines a exogenous coordination model, with services’ interfaces annotated with behavioural patterns specified in a process algebra which is parametric on the interaction discipline. The coordination model is a variant of Reo for which a new semantic model is proposed
Service orchestration with priority constraints
Business process management is an operational management approach that focuses on improving business processes. Business processes, i.e., collections of important activities in an organization, are represented in the form of a workflow, an orchestrated and repeatable pattern of activities amenable to automated analysis and control. Priority is an important concept in modeling workflows. We need priority to model cancelable and compensable tasks within transactional business processes. We use the Reo coordination language to model and formally analyze workflows. In this paper, we propose a constraint-based approach to formalize priority in Reo. We introduce special channels to propagate and block priority flows, define their semantics as constraints, and model priority propagation as a constraint satisfaction problem
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
Strategic Executions of Choreographed Timed Normative Multi-Agent Systems
This paper proposes a combined mechanism for coordinating agents in timed normative multi-agent systems. Timing constraints in a multi-agent system make it possible to force action execution to happen before certain time invariants are violated. In such multiagent systems we achieve coordination at two orthogonal levels with respect to states and actions. On the one hand, the behaviour of
individual agents is regulated by means of social and organisational inspired concepts like norms and sanctions. On the other hand, the behaviour of sets of agents is restricted according to action-based coordination mechanisms called choreographies. In both cases, the
resulting behaviour is constrained by time
Specification and Verification of Contract-Based Applications
Nowadays emerging paradigms are being adopted by several companies, where applications
are built by assembling loosely-coupled distributed components, called services.
Services may belong to possibly mutual distrusted organizations and may have conflicting
goals. New methodologies for designing and verifying these applications are
necessary for coping with new scenarios in which a service does not adhere with its
prescribed behaviour, namely its contract.
The thesis tackles this problem by proposing techniques for specifying and verifying
distributed applications. The first contribution is an automata-based model checking technique
for ensuring both service compliance and security requirements in a composition of
services. We further develop the automata-based approach by proposing a novel formal
model of contracts based on tailored finite state automata, called contract automata.
The proposed model features several notions of contract agreement described from a
language-theoretic perspective, for characterising the modalities in which the duties and
requirements of services are fulfilled. Contract automata are equipped with different
composition operators, to uniformly model both single and composite services, and techniques
for synthesising an orchestrator to enforce the properties of agreement. Algorithms
for verifying these properties are introduced, based on control theory and linear programming
techniques. The formalism assumes the existence of possible malicious components
trying to break the overall agreement, and techniques for detecting and banning eventually
liable services are described. We study the conditions for dismissing the central
orchestrator in order to generate a distributed choreography of services, analysing both
closed and open choreographed systems, with synchronous or asynchronous interactions.
We relate contract automata with different intutionistic logics for contracts, introduced
for solving mutual circular dependencies between the requirements and the obligations of
the parties, with either linear or non-linear availability of resources. Finally, a prototypical tool implementing the theory developed in the thesis is presented