• 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