Abstract. In the context of Service Oriented Computing, contracts are descriptions of the externally observable behaviour of services. Given a group of collaborating services, their contracts can be used to verify whether their composition is sound, i.e., the services are compliant. In this paper, we relate the theory of contracts with the notion of choreography conformance, used to check whether an aggregation of services correctly behaves according to a high level specification of their possible conversations. The main result of this paper is the definition of an effective procedure that can be used to verify whether a service with a given contract can correctly play a specific role within a choreography. This procedure is achieved via composition of choreography projection and contract refinement.
Behavioural type systems, usually associated to concurrent or distributed computations, encompass concepts such as interfaces, communication protocols, and contracts, in addition to the traditional input/output operations. The behavioural type of a software component specifies its expected patterns of interaction using expressive type languages, so types can be used to determine automatically whether the component interacts correctly with other components. Two related important notions of behavioural types are those of session types and behavioural contracts. This article surveys the main accomplishments of the last 20 years within these two approaches.
Session types are used to describe communication protocols in distributed systems and, as usual in type theories, session subtyping characterizes substitutability of the communicating processes. We investigate the (un)decidability of subtyping for session types in asynchronously communicating systems. We first devise a core undecidable subtyping relation that is obtained by imposing limitations on the structure of types. Then, as a consequence of this initial undecidability result, we show that (differently from what stated or conjectured in the literature) the three notions of asynchronous subtyping defined so far for session types are all undecidable. Namely, we consider the asynchronous session subtyping by Mostrous and Yoshida [1] for binary sessions, the relation by Chen et al. [2] for binary sessions under the assumption that every message emitted is eventually consumed, and the one by Mostrous et al. [3] for multiparty session types. Finally, by showing that two fragments of the core subtyping relation are decidable, we evince that further restrictions on the structure of types make our core subtyping relation decidable.Formally, subtyping relations have been defined for session types to precisely capture this safe replacement notion.Gay and Hole [6] are the first ones who studied subtyping for session types in a context where protocols involve only two peers (i.e. are binary) and communication is synchronous. Later, Mostrous et al. [3] extended this notion to multiparty session types with asynchronous communication. Both articles propose an algorithm for checking subtying, but the one proposed by Mostrous et al. [3], differently from what stated therein, is not always terminating in the sense that there are cases in which it diverges and never gives an answer. An example of divergent execution is discussed in the Remark paragraph of §4.4.Later work by Mostrous and Yoshida [1], Mostrous [7] and Chen et al. [2] addresses subtyping in variants of an asynchronous setting for binary sessions. In particular Chen et al. [2] focus on binary sessions in which messages sent by a partner are guaranteed to be eventually received. Such articles conjecture that an algorithm for checking asynchronous session subtyping exists, although, in his PhD thesis, Mostrous [7] expresses a few doubts about the decidability of asynchronous subtyping (pp. 178-180), because of the need for infinite simulations. In this work, we prove that the subtyping relations defined by Mostrous and Yoshida [1], Chen et al. [2], and Mostrous et al. [3] are undecidable. We proceed by identifying a core asynchronous subtyping relation and show it is undecidable: all other undecidability results are obtained by reduction from this initial relation.The core relation, denoted by < <, is named asynchronous single-choice relation. Such a relation is obtained by first defining (following the approach by Mostrous and Yoshida [1]) a standard asynchronous subtyping ≤ and then reduce it by imposing additional constraints: T and S are in single-choice relation...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.