Compositional priority specification in real-time distributed systems

In this paper, we develop a compositional denotational semantics for prioritized real-time distributed programming languages. One of the interesting features is that it extends the existing compositional theory proposed by Koymanset al (1988) for prioritized real-time languages preserving the compositionality of the semantics. The language permits users to define situations in which an action has priority over another action without the requirement of preassigning priorities to actions for partially ordering the alphabet of actions. These features are part of the languages such as Ada designed specifically keeping in view the needs of real-time embedded systems. Further, the approach does not have the restriction of other approaches such as prioritized internal moves can pre-empt unprioritized actions etc. Our notion of priority in the environment is based on the intuition that a low priority action can proceed only if the high priority action cannot proceed due to lack of the handshaking partner at that point of execution. In other words, if some action is possible corresponding to that environment at some point of execution then the action takes place without unnecessary waiting. The proposed semantic theory provides a clear distinction between the semantic model and the execution model — this has enabled us to fully ensure that there is no unnecessary waiting.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[2]  Jennifer Widom,et al.  A Temporal-Logic Based Compositional Proof System for Real-Time Message Passing , 1989, PARLE.

[3]  Willem P. de Roever,et al.  Compositional Semantics for Real-Time Distributed Computing , 1985, Inf. Comput..

[4]  Willem P. de Roever,et al.  Full abstraction of a real-time denotational semantics for an OCCAM-like language , 1987, POPL '87.

[5]  R. K. Shyamasundar,et al.  An operational semantics of real time design language RT-CDL , 1989, IWSSD '89.

[6]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification of Real-time Systems , 1988, FTRTFT.

[7]  Leslie Lamport What it means for a concurrent program to satisfy a specification: why no one has specified priority , 1985, POPL '85.

[8]  Narain Gehani,et al.  Ada : an advanced introduction including reference manual for the Ada programming language , 1984 .

[9]  Willem P. de Roever,et al.  Compositional Semantics for Real-time Distributed Computing , 1985, Logic of Programs.

[10]  Rance Cleaveland,et al.  Priorities in process algebras , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[11]  Jan A. Bergstra,et al.  Syntax and defining equations for an interrupt mechanism in process algebra , 1985 .

[12]  R. K. Shyamasundar,et al.  Static Analysis of Real-Time Distributed Systems , 1988, IEEE Trans. Software Eng..

[13]  Inmos Limited,et al.  Occam Programming Manual , 1984 .