Affiliation:
1. Univ. of California, Santa Barbara
Abstract
This article analyzes the semantics of task dependence and termination in Ada. We use a contour model of Ada tasking in examining the implications of and possible motivation for the rules that determine when procedures and tasks terminate during execution of an Ada program. The termination rules prevent the data that belong to run-time instances of scope units from being deallocated prematurely, but they are unnecessarily conservative in this regard. For task instances that are created by invoking a storage allocator, we show that the conservative termination policy allows heap storage to be managed more efficiently than a less conservative policy. The article also examines the manner in which the termination rules affect the synchronization of concurrent tasks. Master-slave and client-server applications are considered. We show that the rules for distributed termination of concurrent tasks guarantee that a task terminates only if it can no longer affect the outcome of an execution. The article is meant to give programmers a better understanding of Ada tasking and to help language designers assess the strengths and weaknesses of the termination model.
Publisher
Association for Computing Machinery (ACM)
Reference28 articles.
1. ACM SIGADA. 1989. The Approved Ada Language Commentaries. ACM SIGAda Grebyn Corp. Vienna Va. ACM SIGADA. 1989. The Approved Ada Language Commentaries. ACM SIGAda Grebyn Corp. Vienna Va.
2. ADA 9X PROJECT OFFICE. 1990. Ada 9X Requirements. Software Engineering Inst. Carnegie Mellon Univ. Ada 9X Office Pittsburgh Pa. ADA 9X PROJECT OFFICE. 1990. Ada 9X Requirements. Software Engineering Inst. Carnegie Mellon Univ. Ada 9X Office Pittsburgh Pa.
3. A Proof System for Communicating Sequential Processes
4. Ada tasking: From semantics to efficient implementation;BAKER T.;IEEE Softw.,1985
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Dynamic Tasks Verification with Quasar;Reliable Software Technology – Ada-Europe 2005;2005
2. Static Dependency Analysis for Concurrent Ada 95 Programs;Lecture Notes in Computer Science;2002