Complementing role models with Petri nets in studying asynchronous data communications Fei Xia 1 and Ian Clark 2 1 Department of Computing Science, University of Newcastle upon Tyne, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, UK fei.xia@ncl.ac.uk 2 Department of Electronic Engineering, King’s College, University of London, The Strand, London, WC2R 2LS, UK ian.clark@kcl.ac.uk Abstract. Simpson’s role model method was designed for the analysis of synchronisation-free data communication mechanisms employing shared memory and has been shown to be especially useful for the representation and analyses of data freshness properties. Previously published analyses using the role model method have employed proprietary state space search techniques developed by Simpson. In this paper, a formal definition of role models is given and a way of representing role models using Petri nets is presented. Potential advantages of analysing systems using the role model method complemented with Petri net techniques are demonstrated with a case study of data freshness properties of a data communication algorithm. Introduction The use of fully asynchronous processes is advantageous in many hard real-time distributed computer systems. For instance, the complete elimination of time interference in data communications between concurrent processes makes it possible to accurately predict the temporal progress of each process in the system because the timing of each one is completely independent. In certain safety critical systems it may also be required that a process cannot be temporally connected to any other processes and must progress on its own pace. In the real time software design method MASCOT, the pool type IDA accommodates the possibility of a complete lack of synchronisation between the reading and writing processes [1, 2]. The class of data communication mechanisms described and studied by Simpson [3] are designed for transferring data between completely synchronisation-free processes. The mechanisms employ from one to four data areas (called slots), implied to be in memory shared between the writer and the reader. Some of the mechanisms have logic in the form of control variables to steer the writer and reader to prevent them from accessing the same slot simultaneously and to cause the reader to obtain the most up-to-date data provided by the writer. The reader and writer are not subject to any relative timing constraints and thus are completely temporally independent