DocumentCode
1264489
Title
Temporal logic-based deadlock analysis for Ada
Author
Karam, Gerald M. ; Buhr, Raymond J A
Author_Institution
Dept. of Syst. & Comput. Eng., Carleton Univ., Ottawa, Ont., Canada
Volume
17
Issue
10
fYear
1991
fDate
10/1/1991 12:00:00 AM
Firstpage
1109
Lastpage
1125
Abstract
A temporal logic-based specification language and deadlock analyzer for Ada is described. The deadlock analyzer is intended for use within Timebench, a concurrent system-design environment with support for Ada. The specification language, COL, uses linear-time temporal logic to provide a formal basis for axiomatic reasoning. The deadlock analysis tool uses the reasoning power of COL to demonstrate that Ada designs specified in COL are systemwide deadlock-free: in essence, it uses a specialized theorem prover to deduce the absence of deadlock. The deadlock algorithm is shown to be decidable for finite systems and acceptable otherwise. It is also shown to have a worst-case computational complexity that is exponential with the number of tasks. The analyzer has been implemented in Prolog. Numerous examples are evaluated using the analyzer, including readers and writers, gas station, five dining philosophers, and a layered communications system. The results indicate that analysis time is reasonable for moderate designs in spite of the worst-case complexity of the algorithm
Keywords
Ada; computational complexity; inference mechanisms; logic programming; specification languages; system recovery; temporal logic; Ada designs; COL; Prolog; Timebench; axiomatic reasoning; concurrent system-design environment; deadlock algorithm; deadlock analysis tool; deadlock analyzer; dining philosophers; finite systems; formal basis; gas station; layered communications system; linear-time temporal logic; readers; reasoning power; specification language; systemwide deadlock-free; temporal logic-based specification language; theorem prover; worst-case computational complexity; writers; Algorithm design and analysis; Communication systems; Computational complexity; Design automation; Design methodology; Logic design; Process design; Software design; Specification languages; System recovery;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/32.99197
Filename
99197
Link To Document