Avoiding diamonds in desynchronisation

H. Beohar, P.J.L. Cuijpers

Research output: Contribution to journalArticleAcademicpeer-review

2 Citations (Scopus)
2 Downloads (Pure)


The design of concurrent systems often assumes synchronous communication between different parts of a system. When system components are physically apart, this assumption becomes inappropriate. Desynchronisation is a technique that aims to implement a synchronous design in an asynchronous manner by placing buffers between the components of the synchronous design. When queues are used as buffers, the so-called ‘diamond property’ (among others) ensures correct operation of the desynchronised design. However, this property is difficult to establish in practice. In this paper, we give sufficient and necessary conditions under which a concrete synchronous design (i.e., without the unobservable action) is equivalent to an asynchronous design and formally prove that the diamond property is no longer needed for desynchronisation when half-duplex queues are used as a communication buffer. Furthermore, we discuss how the half-duplex condition can be further relaxed when the diamond property can be partially guaranteed. To illustrate how this theory may be applied, we desynchronise the synchronous systems that are synthesised using supervisory control theory. Keywords: Synchrony to asynchrony; Desynchronisation; Branching bisimulation; Equivalence checking of infinite state systems
Original languageEnglish
Pages (from-to)45-69
Number of pages25
JournalScience of Computer Programming
Issue numberPart A
Publication statusPublished - 2014

Fingerprint Dive into the research topics of 'Avoiding diamonds in desynchronisation'. Together they form a unique fingerprint.

  • Cite this