  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{\~n}eda, Rajsbaum and Raynal in CACM
2023. Our framework focuses on the interface 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 shared memory,
asynchronous message-passing, and reliable broadcast, (ii) providing
hierarchies of ordering semantics (namely, consistency hierarchy, memory
hierarchy, and reliable broadcast hierarchy), and (iii) presenting novel
axiomatic proofs of the impossibility of the well-known Consensus and wait-free
Set Agreement problems.
