Timing Issues in the Distributed Execution of Ada Programs
- 1 April 1987
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computers
- Vol. C-36 (4) , 449-459
- https://doi.org/10.1109/tc.1987.1676927
Abstract
This paper examines, in the context of distributed execution, the meaning of Ada constructs involving time. In the process, unresolved questions of interpretation and problems with the implementation of a consistent notion of time across a network are uncovered. It is observed that there are two Ada mechanisms that can involve a distributed sense of time: the conditional entry call, and the timed entry call. It is shown that a recent interpretation by the Language Maintenance Committee resolves the questions for the conditional entry calls but results in an anomaly for timed entry calls. A detailed discussion of alternative implementations for the timed entry call is made, and it is argued that: 1) timed entry calls imply a common sense of time between the machines holding the calling and called tasks; and 2) the measurement of time for the expiration of the delay and the decision of whether or not to perform the rendezvous should be made on the machine holding the called task. The need to distinguish the unreadiness of the called task from timeouts caused by network failure is pointed out. Finally, techniques for realizing a single sense of time across the distributed system (at least to within an acceptable degree of uncertainty) are also discussed.Keywords
This publication has 7 references indexed in Scilit:
- Translation and execution of distributed Ada programs: Is it still Ada?IEEE Transactions on Software Engineering, 1989
- Instruction Level Timing Mechanisms for Accurate Real-Time Task SchedulingIEEE Transactions on Computers, 1987
- Recent trends in NBS time and frequency distribution servicesProceedings of the IEEE, 1986
- Changes at USNO in global timekeepingProceedings of the IEEE, 1986
- Some problems in distributing real-time Ada programs across machinesACM SIGAda Ada Letters, 1985
- Dynamic Task Scheduling in Hard Real-Time Distributed systemsIEEE Software, 1984
- Using Time Instead of Timeout for Fault-Tolerant Distributed Systems.ACM Transactions on Programming Languages and Systems, 1984