Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
J. Cheng: A Classification of Tasking Deadlocks, ACM Ada Letters, Vol. 10, No. 5, pp. 110–127, 1990.
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.
J. Cheng: A Survey of Tasking Deadlock Detection Methods, ACM Ada Letters, Vol. 11, No. 1, pp. 82–91, 1991.
United States Department of Defense: Reference Manual for the Ada Programming Language (ANSI/MIL-STD-1815A), 1983.
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.
T. Murata: Petri Nets: Properties, Analysis, and Applications, Proceedings of the IEEE, Vol. 77, No. 4, pp. 541–580, 1989.
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.
J. L. Peterson: Petri Nets Theory and the Modeling of Systems, Prentice-Hall, 1981.
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.
R. Stansifer and D. Marinescu: Petri Net Models of Concurrent Ada Programs, Microelectronics and Reliability, to appear, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cheng, J., Ushijima, K. (1991). Analyzing Ada tasking deadlocks and livelocks using extended Petri nets. In: Christodoulakis, D. (eds) Ada: The Choice for '92. Ada-Europe 1991. Lecture Notes in Computer Science, vol 499. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018493
Download citation
DOI: https://doi.org/10.1007/BFb0018493
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54092-2
Online ISBN: 978-3-540-47396-1
eBook Packages: Springer Book Archive