Table of Contents
Fetching ...

AMECOS: A Modular Event-based Framework for Concurrent Object Specification

Timothé Albouy, Antonio Fernández Anta, Chryssis Georgiou, Mathieu Gestin, Nicolas Nicolaou, Junlang Wang

TL;DR

This work introduces a modular framework for specifying distributed systems that it calls AMECOS, which departs from the traditional use of sequential specification and provides a modular way of specifying distributed systems and separates legality (object semantics) from other issues, such as consistency.

Abstract

In this work, we introduce a modular framework for specifying distributed systems that we call AMECOS. Specifically, our framework departs from the traditional use of sequential specification, which presents limitations both on the specification expressiveness and implementation efficiency of inherently concurrent objects, as documented by Castañeda, Rajsbaum and Raynal in CACM 2023. Our framework focuses on the interactions between the various system components, specified as concurrent objects. Interactions are described with sequences of object events. This provides a modular way of specifying distributed systems and separates legality (object semantics) from other issues, such as consistency. We demonstrate the usability of our framework by (i) specifying various well-known concurrent objects, such as registers, shared memory, message-passing, reliable broadcast, and consensus, (ii) providing hierarchies of ordering semantics (namely, consistency hierarchy, memory hierarchy, and reliable broadcast hierarchy), and (iii) presenting a novel axiomatic proof of the impossibility of the well-known Consensus problem.

AMECOS: A Modular Event-based Framework for Concurrent Object Specification

TL;DR

This work introduces a modular framework for specifying distributed systems that it calls AMECOS, which departs from the traditional use of sequential specification and provides a modular way of specifying distributed systems and separates legality (object semantics) from other issues, such as consistency.

Abstract

In this work, we introduce a modular framework for specifying distributed systems that we call AMECOS. Specifically, our framework departs from the traditional use of sequential specification, which presents limitations both on the specification expressiveness and implementation efficiency of inherently concurrent objects, as documented by Castañeda, Rajsbaum and Raynal in CACM 2023. Our framework focuses on the interactions between the various system components, specified as concurrent objects. Interactions are described with sequences of object events. This provides a modular way of specifying distributed systems and separates legality (object semantics) from other issues, such as consistency. We demonstrate the usability of our framework by (i) specifying various well-known concurrent objects, such as registers, shared memory, message-passing, reliable broadcast, and consensus, (ii) providing hierarchies of ordering semantics (namely, consistency hierarchy, memory hierarchy, and reliable broadcast hierarchy), and (iii) presenting a novel axiomatic proof of the impossibility of the well-known Consensus problem.
Paper Structure (47 sections, 5 theorems, 26 equations, 8 figures)

This paper contains 47 sections, 5 theorems, 26 equations, 8 figures.

Key Result

lemma 1

$\mathit{NonEmptyValence}\xspace(\Sigma\xspace) \triangleq \mathop{\mathrm{\forall\,}}\nolimits \sigma\xspace \in \Sigma\xspace, |\mathit{Val}\xspace(\sigma\xspace)| \geq 1$.

Figures (8)

  • Figure 1: Example of a distributed system architecture with 3 objects. The distributed system is formed by $n$ processes that communicate using a Communication Medium, which is Object $M$. The system has 2 more objects, Objects $A$ and $B$, built by local modules (Alg. $A$ and $B$) in each process, that cooperate using a protocol (horizontal arrows) to implement the object. Each process has an application algorithm that can execute the operations (vertical arrows) of the objects offered by their interface. Also, objects' local modules can execute operations of other objects.
  • Figure 2: Class diagram for the relations and attributes of the components (sets) of the framework.
  • Figure 3: Hierarchy of the consistencies defined in this paper and their relative strengths P16.
  • Figure 4: A set-linearizable execution of lattice agreement that is not linearizable.
  • Figure 5: An interval-linearizable execution of lattice agreement that is not set-linearizable.
  • ...and 3 more figures

Theorems & Definitions (28)

  • definition 1: Context of an op-ex
  • definition 2: Invocation validity predicate $\mathcal{V}$
  • definition 3: Safety predicate $\mathcal{S}$
  • definition 4: Liveness predicate $\mathcal{L}$
  • definition 5: History validity, safety, and liveness
  • definition 6: Legality condition
  • definition 7: Generic strict orders
  • definition 8: Basic orders
  • definition 9: Classic consistency conditions
  • definition 10: Set and interval orders
  • ...and 18 more