7 research outputs found
Primitives for Contract-based Synchronization
We investigate how contracts can be used to regulate the interaction between
processes. To do that, we study a variant of the concurrent constraints
calculus presented in [1], featuring primitives for multi-party synchronization
via contracts. We proceed in two directions. First, we exploit our primitives
to model some contract-based interactions. Then, we discuss how several models
for concurrency can be expressed through our primitives. In particular, we
encode the pi-calculus and graph rewriting.Comment: In Proceedings ICE 2010, arXiv:1010.530
Contracts in distributed systems
We present a parametric calculus for contract-based computing in distributed
systems. By abstracting from the actual contract language, our calculus
generalises both the contracts-as-processes and contracts-as-formulae
paradigms. The calculus features primitives for advertising contracts, for
reaching agreements, and for querying the fulfilment of contracts. Coordination
among principals happens via multi-party sessions, which are created once
agreements are reached. We present two instances of our calculus, by modelling
contracts as (i) processes in a variant of CCS, and (ii) as formulae in a
logic. With the help of a few examples, we discuss the primitives of our
calculus, as well as some possible variants.Comment: In Proceedings ICE 2011, arXiv:1108.014
Session-based concurrency, declaratively
Session-based concurrency is a type-based approach to the analysis of message-passing programs. These programs may be specified in an operational or declarative style: the former defines how interactions are properly structured; the latter defines governing conditions for correct interactions. In this paper, we study rigorous relationships between operational and declarative models of session-based concurrency. We develop a correct encoding of session 휋-calculus processes into the linear concurrent constraint calculus (횕회회), a declarative model of concurrency based on partial information (constraints). We exploit session types to ensure that our encoding satisfies precise correctness properties and that it offers a sound basis on which operational and declarative requirements can be jointly specified and reasoned about. We demonstrate the applicability of our results by using our encoding in the specification of realistic communication patterns with time and contextual information
A TxQoS-aware business transaction framework
In this thesis, we propose a transaction framework to provide comprehensive and flexible transaction support for contract-driven, service-oriented business processes. The research follows the research method outlined below. Initially, a thorough investigation on current state of affairs was made. Afterwards, we carried out a case study, which we utilized to identify the problems that are likely to occur during the execution of business processes. As the result of the solution design, the concepts, scenarios, life cycles, reference architectures, and mechanisms were proposed to address the problems. The design took place on the conceptual level, while the coding/programming and implementation is out of the scope of this thesis. The business-oriented solution design allows for transaction qualities to be specified and guaranteed by a contractual approach named as TxQoS (Transactional Quality of Service). The technology-oriented design enables flexible composition of ATCs (Abstract Transaction Constructs) as a transaction schema to support the execution of complex processes. As the last step of research, we validated the feasibility of our design by a utility study conducted in a large telecom project, which has complex processes that are service-oriented and contract-driven. Finally, we discussed the contributions and limitations of the research. The main contribution of the thesis is the BTF (Business Transaction Framework) that addresses process execution reliability. The TxQoS approach enables the specification of transaction qualities in terms of FIAT (Fluency, Interference, Alternation, Transparency) properties. This businessfriendly approach allows the providers and users to agree on transaction qualities before process execution time. The building blocks of the proposed framework, ATCs, are reusable and configurable templates, and are abstracted and generalized from existing transaction models. The various transaction requirements of sub-processes and process chunks can be represented by corresponding ATCs, which allow for a flexible composition. Integrated, the TxQoS and ATC approaches work together to form a TxQoS-aware business transaction framework
Contract-Oriented Computing in CO2
We present CO2, a parametric calculus for contract-based computing in distributed systems. By abstracting from the actual contract language, our calculus generalises both the contracts-as-processes and contracts-as-formulae paradigms. The calculus features primitives for advertising contracts, for reaching agreements, and for querying the fulfilment of contracts. Coordination among participants happens via multi-party sessions, which are created once agreements are reached. We present two instances of our calculus, by modelling contracts as processes in a variant of CCS, and as formulae in a logic. We formally relate the two paradigms, through an encoding from contracts-as-formulae to contracts-as-processes which ensures that the promises deducible in the logical system are exactly those reachable by its encoding as a process. Finally, we present a coarse-grained taxonomy of possible misbehaviours in contract-oriented systems, and we illustrate them with the help of a variety of examples
Session-based concurrency, declaratively
Session-based concurrency is a type-based approach to the analysis of message-passing programs. These programs may be specified in an operational or declarative style: the former defines how interactions are properly structured; the latter defines governing conditions for correct interaction
Transactional Service Level Agreement
Several models based on process calculi have addressed the definition of linguistic primitives for handling long running transactions and Service Level Agreement (SLA) in service oriented applications. Nevertheless, the approaches appeared in the literature deal with these aspects as independent features. We claim that transactional mechanisms are relevant for programming multi-step SLA negotiations and, hence, it is worth investigating the interplay among such formal approaches. In this paper we propose a process calculus, the committed cc-pi, that combines two proposals: (i) cc-pi calculus accounting for SLA negotiation and (ii) cJoin as a model of long running transactions. We provide both a small- and a big-step operational semantics of committed cc-pi as labelled transition systems, and we prove a correspondence result