  There are many models of distributed computing, and no unifying mathematical
framework for considering them all. One way to sidestep this issue is to start
with simple communication and fault models, and use them as building blocks to
derive the complex models studied in the field. We thus define operations like
union, succession or repetition, which makes it easier to build complex models
from simple ones while retaining expressivity.
  To formalize this approach, we abstract away the complex models and
operations in the Heard-Of model. This model relies on (possibly asynchronous)
rounds; sequence of digraphs, one for each round, capture which messages sent
at a given round are received before the receiver goes to the next round. A set
of sequences, called a heard-of predicate,defines the legal communication
behaviors -- that is to say, a model of communication. Because the proposed
operations behave well with this transformation of operational models into
heard-of predicates, we can derive bounds, characterizations, and
implementations of the heard-of predicates for the constructions.
