107 research outputs found
An Algorithm for Ensuring Fairness and Liveness in Non-deterministic Systems Based on Multiparty Interactions
Strong fairness is a notion we can use to ensure that an element
that is enabled infinitely often in a nonâdeterministic programme,
will eventually be selected for execution so that it can progress. Unfortunately,
âeventuallyâ is too weak to induce the intuitive idea of liveliness
and leads to anomalies that are not desirable, namely fair finiteness and
conspiracies. In this paper, we focus on nonâdeterministic programmes
based on multiparty interactions and we present a new criteria for selecting
interactions called strong kâfairness that improves on other proposals
in that it addresses both anomalies simultaneously, and k may be set a
priori to control its goodness. We also show our notion is feasible, and
present an algorithm for scheduling interactions in a strongly kâfair manner
using a theoretical framework to support the multiparty interaction
model. Our algorithm does not require to transform the source code to
the processes that compose the system; furthermore, it can deal with
both terminating and nonâterminating processes.ComisiĂłn Interministerial de Ciencia y TecnologĂa TIC 2000â1106âC02â0
Verification of Well-formedness in Message-Passing Asynchronous Systems modeled as Communicating Finite-State Machines
Asynchronous systems with message-passing communication paradigm have made major inroads in many application domains in service-oriented computing, secure and safe operating systems and in general, distributed systems. Asynchrony and concurrency in these systems bring in new challenges in verification of correctness properties. In particular, the high-level behavior of message-passing asynchronous systems is modeled as communicating finite-state machines (CFSMs) with unbounded communication buffers/channels. It has been proven that, in general, state-space exploration based automatic verification of CFSMs is undecidable - specifically, reachability and boundedness problems for CFSMs are undecidable. In this context, we focus on an important path-based property for CFSMs, namely well-formedness - every message sent can be eventually consumed. We show that well-formedness is undecidable as well, and present decidable sub-classes for which verification of well-formedness can be automated. We implemented the algorithm for verifying the well-formedness for the decidable subclass, and present our results using several case studies such as service choreographies and Singularity OS contracts
Fair Termination of Binary Sessions
A binary session is a private communication channel that connects two processes, each adhering to a protocol description called session type. In this work, we study the first type system that ensures the fair termination of binary sessions. A session fairly terminates if all of the infinite executions admitted by its protocol are deemed âunrealisticâ because they violate certain fairness assumptions. Fair termination entails the eventual completion of all pending input/output actions, including those that depend on the completion of an unbounded number of other actions in possibly different sessions. This form of lock freedom allows us to address a large family of natural communication patterns that fall outside the scope of existing type systems. Our type system is also the first to adopt fair subtyping, a liveness-preserving refinement of the standard subtyping relation for session types that so far has only been studied theoretically. Fair subtyping is surprisingly subtle not only to characterize concisely but also to use appropriately, to the point that the type system must carefully account for all usages of fair subtyping to avoid compromising its liveness-preserving properties
Fairness in systems based on multiparty interactions
In the context of the Multiparty Interaction Model, fairness is used to insure that an interaction that is
enabled sufficiently often in a concurrent program will eventually be selected for execution. Unfortunately,
this notion does not take conspiracies into account, i.e. situations in which an interaction never becomes
enabled because of an unfortunate interleaving of independent actions; furthermore, eventual execution is
usually too weak for practical purposes since this concept can only be used in the context of infinite
executions. In this article, we present a new fairness notion, k-conspiracy-free fairness, that improves on
others because it takes finite executions into account, alleviates conspiracies that are not inherent to a
program, and k may be set a priori to control its goodness to address the above-mentioned problems.Ministerio de Ciencia y TecnologĂa TIC-2000-1106-C02-01Ministerio de Ciencia y TecnologĂa FIT-150100-2001-78Ministerio de Ciencia y TecnologĂa TAMANSI PCB-02-00
Timed Multiparty Session Types
We propose a typing theory, based on multiparty session types, for modular verification of real-time choreographic interactions. To model real-time implementations, we introduce a simple calculus with delays and a decidable static proof system. The proof system ensures type safety and time-error freedom, namely processes respect the prescribed timing and causalities between interactions. A decidable condition on timed global types guarantees time-progress for validated processes with delays, and gives a sound and complete characterisation of a new class of CTAs with general topologies that enjoys progress and liveness
Foundations of Session Types and Behavioural Contracts
International audienceBehavioural 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 that 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 paper surveys the main accomplishments of the last twenty years within these two approaches
Foundations of session types and behavioural contracts
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
An order-based algorithm for implementing multiparty synchronization
Multiparty interactions are a powerful mechanism for coordinating several entities that need to cooperate
in order to achieve a common goal. In this paper, we present an algorithm for implementing them that
improves on previous results in that it does not require the whole set of entities or interactions to be known
at compile- or run-time, and it can deal with both terminating and non-terminating systems. We also
present a comprehensive simulation analysis that shows how sensitive to changes our algorithm is, and
compare the results with well-known proposals by other authors. This study proves that our algorithm still
performs comparably to other proposals in which the set of entities and interactions is known beforehand,
but outperforms them in some situations that are clearly identified. In addition, these results prove that
our algorithm can be combined with a technique called synchrony loosening without having an effect on
efficiency.Ministerio de Ciencia y TecnologĂa TIC 2003-02737-C02-0
Partially Typed Multiparty Sessions
A multiparty session formalises a set of concurrent communicating
participants. We propose a type system for multiparty sessions where some
communications between participants can be ignored. This allows us to type some
sessions with global types representing interesting protocols, which have no
type in the standard type systems. Our type system enjoys Subject Reduction,
Session Fidelity and "partial" Lock-freedom. The last property ensures the
absence of locks for participants with non ignored communications. A sound and
complete type inference algorithm is also discussed.Comment: In Proceedings ICE 2023, arXiv:2308.0892
A General Framework for Architecture Composability
Architectures depict design principles: paradigms that can be understood by all, allow thinking on a higher plane and avoiding low-level mistakes. They provide means for ensuring correctness by construction by enforcing global properties characterizing the coordination between components. An architecture can be considered as an operator A that, applied to a set of components B, builds a composite component A(B) meeting a characteristic property Ί. Architecture composability is a basic and common problem faced by system designers. In this paper, we propose a formal and general framework for architecture composability based on an associative, commutative and idempotent architecture composition operator â. The main result is that if two architectures A1 and A2 enforce respectively safety properties Ί1 and Ί2 , the architecture A1 â A2 enforces the property Ί1 ⧠Ί2 , that is both properties are preserved by architecture composition. We also establish preservation of liveness properties by architecture composition. The presented results are illustrated by a running example and a case study
- âŠ