page 1  (41 pages)
2to next section

An action-based formal model for

concurrent, real-time systems?

C.J. Fidgey A.J. Wellingsz


A formal model for describing concurrent, real-time systems is presented. It is based on existing atomic-action formalisms, yet can handle practical concerns such as time-consuming behaviours, both true and interleaved concurrency, and pre-emption of actions. A multi-layered development method is described which can model the steps that programmers actually undertake in the design of such systems.

Keywords and phrases: real time; concurrency; action systems; Z; Ada.

1 Introduction

Many formal approaches to modelling real-time systems have been proposed in recent years. However, to facilitate elegant definitions, most make simplifying assumptions such as `maximal parallelism' and `instantaneous' actions that do not match reality. In short, such models are inadequate for representing the development steps that real-time programmers actually undertake when faced with practical concerns such as task pre-emption, priority-based scheduling policies, operating system overheads, etc.

Here we present a formal approach that can model such concepts. It is based on the `action system' [Bac92] approach to modelling concurrency with the specification language Z [PST91] used to describe individual actions. Although both of these formalisms are founded on a notion of atomic actions, our method can nevertheless model time-consuming, overlapping behaviours, and pre-emption of actions.
?This report is also available as Software Verification Research Centre, University of Queensland, Technical Report 95-1, January 1995.
ySoftware Verification Research Centre, Department of Computer Science, The University of Queensland, Queensland 4072, Australia. E-mail: [email protected]
zReal-time Systems Research Group, Department of Computer Science, University of York, Heslington, York, Y01 5DD, United Kingdom. E-mail: [email protected]