@InProceedings{Teig06, title = "{N}o {B}locking on {Y}esterday's {E}mbedded {CSP} {I}mplementation (the {R}ubber {B}and of {G}etting it {R}ight and {S}imple)", author= "Teig, Øyvind", editor= "Welch, Peter H. and Kerridge, Jon and Barnes, Frederick R. M.", pages = "331--338", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2006", isbn= "978-1-58603-671-3", year= "2006", month= "sep", abstract= "This article is a follow-up after the paper \textquotedblFrom message queue to ready queue\textquotedbl, presented at the ERCIM Workshop last year. A (mostly) synchronous layer had been implemented on top of an existing asynchronous run-time system. After that workshop, we discovered that the initial implementation contained two errors: both concerning malignant process rescheduling associated with timers and 'reuse' of the input side of a channel. Also, the set of process/dataflow patterns was not sufficient. To keep complexity low, we have made two new patterns to reflect better the semantic needs inherent in the application. Our assumption of correctness is also, this time, based both on heuristics and 'white-board reasoning'. However, both the previous and this paper have been produced before any first shipment of the product, and well within full-scale testing. Our solutions and way of attacking the problems have been in an industrial tradition." }