Issue No.04 - April (1987 vol.36)
R.A. Volz , Robotics Research Laboratory, College of Engineering, University of Michigan
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.
distributed program execution, Ada, Ada conditional entry calls, Ada task timing, Ada time entry calls, distributed Ada, distributed languages
R.A. Volz, T.N. Mudge, "Timing Issues in the Distributed Execution of Ada Programs", IEEE Transactions on Computers, vol.36, no. 4, pp. 449-459, April 1987, doi:10.1109/TC.1987.1676927