Analyzing Ada tasking deadlocks and livelocks using extended Petri nets

  • Jingde Cheng
  • Kazuo Ushijima
Part III: Concurrency And Parallelism In Ada
Part of the Lecture Notes in Computer Science book series (LNCS, volume 499)


This paper presents a static analysis method based on extended Petri nets to detect tasking deadlocks and livelocks in a class of concurrent Ada programs. We model the tasking behavior of concurrent Ada programs using extended Petri nets and analyze the Petri net model of an Ada program using an algebraic method. We show that detection of a tasking deadlock or livelock in a concurrent Ada program can be reduced to getting a positive integer solution for a matrix equation concerning the Petri net model of the program. The method is effective for those concurrent Ada programs that include no dynamic creation of tasks, no abort statement, and no exception handler.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Cheng-88a]
    J. Cheng and K. Ushijima: Modeling the Ada Tasking Using Extended Petri Nets, Memoirs of the Faculty of Engineering, Kyushu University, Vol. 48, No. 1, pp. 17–30, 1988.Google Scholar
  2. [Cheng-88b]
    J. Cheng and K. Ushijima: Analyzing Deadlocks and Livelocks in Concurrent Ada Programs Using Extended Petri Nets, Memoirs of the Faculty of Engineering, Kyushu University, Vol. 48, No. 2, pp. 153–165, 1988.Google Scholar
  3. [Cheng-90a]
    J. Cheng: A Classification of Tasking Deadlocks, ACM Ada Letters, Vol. 10, No. 5, pp. 110–127, 1990.CrossRefGoogle Scholar
  4. [Cheng-90b]
    J. Cheng: Task-Wait-For Graphs and Their Application to Handling Tasking Deadlocks, Proc. of the ACM Third Annual TRI-Ada Conference, pp. 376–390, Baltimore, USA, December 1990.Google Scholar
  5. [Cheng-91]
    J. Cheng: A Survey of Tasking Deadlock Detection Methods, ACM Ada Letters, Vol. 11, No. 1, pp. 82–91, 1991.CrossRefGoogle Scholar
  6. [DoD-83]
    United States Department of Defense: Reference Manual for the Ada Programming Language (ANSI/MIL-STD-1815A), 1983.Google Scholar
  7. [Mandrioli-85]
    D. Mandrioli, R. Zicari, C. Ghezzi, and F. Tisato: Modeling the Ada Task System by Petri Nets, Computer Languages, Vol. 10, No. 1, pp. 43–61, 1985.CrossRefGoogle Scholar
  8. [Murata-89a]
    T. Murata: Petri Nets: Properties, Analysis, and Applications, Proceedings of the IEEE, Vol. 77, No. 4, pp. 541–580, 1989.CrossRefGoogle Scholar
  9. [Murata-89b]
    T. Murata, B. Shenker, and S. M. Shatz: Detection of Ada Static Deadlocks Using Petri Net Invariants, IEEE Transactions on Software Engineering, Vol. 15, No. 3, pp. 314–326, 1989.CrossRefGoogle Scholar
  10. [Peterson-81]
    J. L. Peterson: Petri Nets Theory and the Modeling of Systems, Prentice-Hall, 1981.Google Scholar
  11. [Shatz-90]
    S. M. Shatz, K. Mai, C. Black, and S. Tu: Design and Implementation of a Petri Net-Based Toolkit for Ada Tasking Analysis, IEEE Transactions on Parallel and Distributed Systems, Vol. 1, No. 4, pp. 424–441, 1990.CrossRefGoogle Scholar
  12. [Stansifer-91]
    R. Stansifer and D. Marinescu: Petri Net Models of Concurrent Ada Programs, Microelectronics and Reliability, to appear, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Jingde Cheng
    • 1
  • Kazuo Ushijima
    • 1
  1. 1.Department of Computer Science and Communication EngineeringKyushu UniversityFukuokaJapan

Personalised recommendations