Abstract. We study may and must testing-based preorders in an asynchronous setting. In particular, we provide some full abstraction theorems that offer alternative characterizations of these preorders in terms of context closure w.r.t, basic observables and in terms of traces and acceptance sets. These characterizations throw light on the asymmetry between input and output actions in asynchronous interactions and on the difference between synchrony and asynchrony.
IntroductionDistributed systems can seldom rely on a global clock, and little assumptions can be made about their relative speed; as a consequence, it is natural to adopt for them an asynchronous communication mechanism. This calls for non-blocking sending primitives that do not oblige producers and consumers to synchronize when exchanging messages, but allow the sender of a message to continue with its task while the message travels to destination. Therefore, for describing distributed systems, a model based on a paradigm that imposes a neat distinction between input and output primitives, in the style of [1] and [17], appears to be a natural choice. In spite of these considerations, the most studied concurrency models in the process algebra community (e.g. [18,3,14,20]) are based on synchronous communications and model process interaction as the execution of simultaneous "complementary actions". Only recently, variants of process algebras based on asynchronous communications have been studied. Two main approaches have been followed to this purpose. They differ in the way (non-blocking) output actions are modelled. These actions are rendered either as state trans]ormers or as processes themselves. The asynchronous variants of ACP [9] and CSP [16] follow the first approach and introduce explicit buffers in correspondence of output channels. This makes outputs non-blocking and immediately executable; their executions make messages available for consumption. The asynchronous variants of ~r-calculus [15,6,12,2] and CCS [21,11,8] follow the second approach and model outputs by creating new concurrent processes. This amounts to modelling an output prefix ~.P as a parallel composition a l PWork partially supported by EEC: HCM project EXPRESS, and by CNR: project "Specifica ad alto livello e verifica formale di sistemi digitali". The third author has been supported by a scholarship from CNR --Comitato Scienza e Tecnologie dell'Informazione.