  Communication protocols are central to engineering decentralized multiagent
systems. Modern protocol languages are typically formal and address aspects of
decentralization, such as asynchrony. However, modern languages differ in
important ways in their basic abstractions and operational assumptions. This
diversity makes a comparative evaluation of protocol languages a challenging
task.
  We contribute a rich evaluation of modern protocol languages based on diverse
approaches. Among the selected languages, Scribble is based on session types;
Trace-C and Trace-F on trace expressions; HAPN on hierarchical state machines,
and BSPL on information causality. Our contribution is four-fold. One, we
contribute important criteria for evaluating protocol languages. Two, for each
criterion, we compare the languages on the basis of whether they are able to
specify elementary protocols that go to the heart of the criterion. Three, for
each language, we map our findings to a canonical architecture style for
multiagent systems, highlighting where the languages depart from the
architecture. Four, we identify a few design principles for protocol languages
as guidance for future research.
