  In this article, we introduce a reference model for interaction semantics
among communicating discrete systems to guide the discourse on
interoperability.
  The necessary set of unifying concepts is small and comprises essentially the
notion of discrete systems interacting by exchanging information. It is based
on a simple, but nevertheless complete classification of system interactions
with respect to information transport and processing. Information transport can
only be uni- or bidirectional and information processing is subclassified along
the binary dimensions of state, determinism and synchronicity.
  For interactions with bidirectional information flow we are able to define a
criterion for a layered structure of systems: we name a bidirectional
interaction "horizontal" if all interacting systems behave the same with
respect to state, determinism and synchronicity and we name it "vertical" ---
providing a semantic direction --- if there is a behavioral asymmetry between
the interacting systems with respect to these properties.
  It is shown that horizontal interactions are essentially stateful,
asynchronous and nondeterministic and are described by protocols. Vertical
interactions are essentially top-down-usage, described by object models or
operations, and bottom-up-observation, described by anonymous events.
  The reference model thereby helps us to understand the significant
relationships that are created between interacting discrete systems by their
interactions and guides us on how to talk about discrete system
interoperability.
  To show its conceptual power, we apply the reference model to assess several
other architectural models, communication technologies and so called software
design or architectural styles like SOA and REST.
