A Modula-2 implementation of a real-time process abstraction

A process abstraction, in Modula-2, is defined that is aimed at providing the primitives needed in the real-time domain. A concurrency model based upon occam is used but this is enhanced by a comprehensive set of selective wait constructs. All processes have identities and priorities; a run-time implementation kernel provides for preemptive scheduling. Significant parts of this implementation are illustrated and short examples of the use of the process abstraction are given.