This Article 
 Bibliographic References 
 Add to: 
Design and Implementation of a Petri Net Based Toolkit for Ada Tasking Analysis
October 1990 (vol. 1 no. 4)
pp. 424-441

The use of Petri nets for defining a general static analysis framework for Ada tasking is advocated. The framework has evolved into a collection of tools that have proven to be a very valuable platform for experimental research. The design and implementation oftools that make up the tasking-oriented toolkit for the Ada language (TOTAL) are defined and discussed. Modeling and query/analysis methods and tools are discussed. Example Ada tasking programs are used to demonstrate the utility of each tool individually as well as the way the tools integrate. TOTAL is divided into two major subsystems, the front-end translator subsystem (FETS) and the back-end information display subsystem (BIDS). Three component tools that make up FETS are defined. Examples demonstrate the way these tools integrate in order to perform the translation of Ada source to Petri-net format. The BIDS subsystem and, in particular, the use of tools and techniques to support user-directed, but transparent, searches of Ada-net reachability graphs are discussed.

[1] S. M. Shatz and J.-P. Wang, "An introduction to distributed-software engineering,"IEEE Comput. Mag., vol. 20, no. 10, pp. 23-31, Oct. 1987.
[2] United States Department of Defense, Reference Manual for the Ada Programming Language, ANSI/MIL-STD-1815A-1983, Feb. 17, 1983.
[3] S. M. Shatz and W. K. Cheng, "A Petri net framework for automated static analysis of Ada tasking behavior,"J. Syst. Software, vol. 8, pp. 343-359, 1988.
[4] G. M. Karam and R. J. A. Buhr, "Embedding design knowledge in CAEDE: Experiments on the detection of critical races," inProc. IEEE Comput. Soc. Second Int. Conf. Ada Appl. Environments, 1986, pp. 93-98.
[5] R. N. Taylor, "A general purpose algorithm for analyzing concurrent programs,"Commun. ACM, vol. 26, no. 5, pp. 362-376, May 1983.
[6] G. S. Avrunin and J. C. Wileden, "Describing and analyzing distributed software system designs,"ACM Trans. Program. Languages and Syst., vol. 7, pp. 380-403, July 1985.
[7] J. L. Peterson,Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[8] J. Wileden and G. Avrunin, "Toward automating analysis support for developers of distributed software," inProc. 8th Int. Conf. Distributed Comput. Syst., June 1988, pp. 350-357.
[9] E. T. Morgan and R. R. Razouk, "Interactive state-space analysis of concurrent systems,"IEEE Trans. Software Eng., vol. SE-13, pp. 1080-1091, Oct. 1987.
[10] T. Murata, B. Shenker, and S. Shatz, "Detection of Ada static deadlocks using Petri net invariants,"IEEE Trans. Software Eng., vol. 15, no. 3, pp. 314-326, Mar. 1989.
[11] W. A. Harrison and C. Cook, "A method of sharing industrial software complexity data,"ACM SIGPLAN Notices, vol. 20, no. 2, pp. 42-51, Feb. 1985.
[12] R.E. Filman and D.P. Friedman,Coordinated Computing: Tools and Techniques for Distributed Software. New York: McGraw-Hill, 1984, pp. 79-81.
[13] E. Olsen and S. Whitehill,ADA for Programmers.Reston, VA: Reston, 1983, pp. 172-175.
[14] G. McFarland and V. De Vito, "Grumman In-Flight Refueling Simulation (GIFRS)," Tech. Rep. RR-85-001, Jan. 1985, Grumman Data Systems, Woodbury, NY.
[15] C. Black, "TQL: A tasking query language to support Petri net analysis of Ada-tasking," Master's Thesis, Univ. of Illinois, Apr. 1990.
[16] G. Berthelot, "Checking properties of nets using transformations,"Lecture Notes in Computer Science, vol. 222, pp. 19-40, 1987.
[17] S. Tu, S. M. Shatz, and T. Murata, "Applying Petri net reduction to support Ada-tasking deadlock detection," inProc. 10th Int. Conf. Distributed Comput. Syst., Paris, France, May 1990, to be published.
[18] D. Helmbold and D. Luckham, "Debugging Ada tasking programs,"IEEE Software, vol. 2, no. 2, pp. 47-57, Mar. 1985.
[19] S. M. Shatz, "Towards complexity metrics for Ada tasking,"IEEE Trans. Software Eng., vol. 14, no. 8, pp. 1122-1127, Aug. 1988.

Index Terms:
Index TermsPetri net; toolkit; Ada tasking analysis; analysis framework; Ada tasking; tasking-oriented toolkit for the Ada language; TOTAL; query; utility; front-end translator subsystem; FETS; back-end information display subsystem; BIDS; Ada-net reachability graphs; Ada; Petri nets; software tools
S.M. Shatz, K. Mai, C. Black, 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, Oct. 1990, doi:10.1109/71.80172
Usage of this product signifies your acceptance of the Terms of Use.