Skip to main content
Log in

Automatic Real-Time Analysis of Reactive Systems with the PARTS Toolset

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Real-time systems are becoming increasingly widespread, often in safety-critical applications. It is therefore crucial that these systems be correct; however, there are few automated tools for analyzing concurrency and timing properties of these systems. The PARTS toolset uses a Petri-net-based reachability analysis to analyze program specifications written in an Ada-83 subset. Our simple time Petri nets are specifically aimed at facilitating real-time analysis. In order to control the state-explosion problem, PARTS employs several optimization techniques aimed at state-space reduction. In this paper we discuss our approach and we report on extensive experiments with several examples of real-time specifications based on Ada 83. When possible, we also compare our experimental results with results obtained by other approaches to real-time analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alur, R. and Dill, D. 1994. Automata for modelling real–time systems. Theoretical Computer Science, 126(2):183–235.

    Google Scholar 

  • Avrunin, G.S., Buy, U.A., Corbett, J.C., Dillon, L.K., and Wileden, J.C. 1991. Automated analysis of concurrent systems with the constrained expression toolset. IEEE Trans. Softw. Eng., 17(11):1204–1222.

    Google Scholar 

  • Avrunin, G.S., Corbett, J.C., Dillon, L.K., and Wileden, J.C. 1994. Automated derivation of time bounds in uniprocessor concurrent systems. IEEE Trans. Softw. Eng., 20(9):708–719.

    Google Scholar 

  • Bellettini, C., Felder, M., and Pezzè, M. 1993. Merlot: A tool for analysis of real–time specifications. In Proceedings of the Seventh International Workshop on Software Specification and Design, Redondo Beach, California, Dec. 1993. pp. 110–119.

  • Belluomini, W. and Myers, C.J. 1998. Verification of timed systems using POSETs. In Proc. 1998 Computer–Aided Verification, CAV'98, Vancouver, Canada, June 1998. Springer–Verlag. vol. 1427 of Lecture Notes in Computer Science.

  • Bengtsson, J., Larsen, K.G., Larsson, F., Pettersson, P., Wang, Y., and Weise, C. 1998. New Generation of UPPAAL. In Int. Workshop on Software Tools for Technology Transfer, June 1998.

  • Berry, G. 1994. Reactive programming. In J.J. Marciniak, editor, Encyclopedia of Software Engineering. New York, New York: John Wiley & Sons, Inc., vol. 2, pp. 1005–1006.

    Google Scholar 

  • Berry, G. and Gonthier, G. 1992. The synchronous programming language Esterel, design, semantics, implementation. Science of Computer Programming, 19(2):87–152.

    Google Scholar 

  • Berthelot, G. 1987. Checking properties of nets using transformations. In G. Rozenberg, editor, Advances in Petri Nets 1985. Springer–Verlag, pp. 19–40.

  • Berthomieu, B. and Diaz, M. 1991. Modeling and verification of time dependent systems using time Petri nets. IEEE Trans. Softw. Eng., 17(3):259–273.

    Google Scholar 

  • Bjørner, N., Browne, A., Chang, E., Colón, M., Kapur, A., Manna, Z., Sipma, H., and Uribe, T.E. 1996. STeP: Deductive–algorithmic verification of reactive and real–time systems. In Computer–Aided Verification: 8th International Conference, CAV '96. Springer–Verlag, July 1996, pp. 415–418. LNCS, vol. 1102.

  • Bozga, M., Daws, C., Maler, O., Olivero, A., Tripakis, S., and Yovine, S. 1998. Kronos: A model–checking tool for real–time systems. In Proc. 1998 Computer–Aided Verification, CAV'98, Vancouver, Canada, June 1998. Springer–Verlag. vol. 1427 of Lecture Notes in Computer Science.

  • Bryant, R.E. 1992. Symbolic boolean manipulation with ordered binary–decision diagrams. ACM Comput. Surv., 24(3):293–318.

    Google Scholar 

  • Bucci, G. and Vicario, E. 1995. Compositional validation of time–critical systems using communicating time Petri nets. IEEE Trans. Softw. Eng., 21(12):969–992.

    Google Scholar 

  • Burch, J., Clarke, E., McMillan, K., Dill, D., and Hwang, L. 1990. Symbolic model checking: 1020 states and beyond. In Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science, pp. 428–439.

  • Buy, U. and Sloan, R. 1993. A Petri–net–based approach to real–time program analysis. In Proceedings of the Seventh International Workshop on Software Specification and Design, Dec. 1993. pp. 56–60.

  • Buy, U. and Sloan, R.H. 1994. Analysis of real–time programs with simple time Petri nets. In Proc. 1994 Internat. Sympos. on Software Testing and Analysis, Aug. 1994, pp. 228–239.

  • Campos, S., Clarke, E., Marrero, W., and Minea, M. 1995. Verus: A tool for quantitative analysis of finite–state real–time systems. In Second ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Real–Time Systems, June 1995, pp. 75–84.

  • Campos, S., Clarke, E., Marrero, W., Minea, M., and Hiraishi, H. 1994. Computing quantitative characteristics of finite–state real–time systems. In IEEE Real–Time Systems Symposium.

  • Cha, S.S., Leveson, N.G., and Shimeall, T.J. 1988. Safety verification in MURPHY using fault tree analysis. In Proceedings of the Tenth International Conference on Software Engineering, April 1988, pp. 377–386.

  • Corbett, J.C. 1996a. Constructing abstract models of concurrent real–time software. In S.J. Zeil, editor, Proceedings of the 1996 International Symposium on Software Testing and Analysis (ISSTA), San Diego, California, Jan. 1996, pp. 250–260.

  • Corbett, J.C. 1996b. Evaluating deadlock detection methods for concurrent software. IEEE Trans. Softw. Eng., 22(3):161–179.

    Google Scholar 

  • Corbett, J.C. and Avrunin, G.S. 1993. A practical technique for bounding the time between events in concurrent real–time systems. In T. Ostrand and E. Weyuker, editors, Proc. 1993 Internat. Sympos. on Software Testing and Analysis, Cambridge, Massachusetts, June 1993. ACM, pp. 110–116.

  • Cormen, T.H., Leiserson, C.E., and Rivest, R.L. 1990. Introduction to Algorithms. MIT Press/McGraw–Hill New York, New York.

    Google Scholar 

  • Dijkstra, E.W. 1959. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269–271.

    Google Scholar 

  • Duri, S., Buy, U., Devarapalli, R., and Shatz, S.M. 1994. Application and experimental evaluation of state space reduction methods for deadlock analysis in Ada. ACM Trans. Software Engineering and Methodology, 3(4):340–380.

    Google Scholar 

  • Fernandez, J.C. and Mounier, L. 1992. On the fly verification of behavioral equivalences and preorders. In K.G. Larsen and A. Skou, editors, Computer–Aided Verification: 3rd Internat. Conf., CAV '91, Springer–Verlag, pp. 181–191. LNCS, vol. 575.

  • Gerber, R. and Lee, I. 1992. A layered approach to automating the verification of real–time systems. IEEE Trans. Softw. Eng., 18(9):768–783.

    Google Scholar 

  • Ghezzi, C., Mandrioli, D., Morasca, S., and Pezzè, M. 1989. A general way to put time in Petri nets. In Proc. 5th Internat. Workshop on Software Specifications and Design, Pittsburgh, Pennsylvania, May 1989, pp. 60–67.

  • Ghezzi, C., Mandrioli, D., Morasca, S., and Pezzè, M. 1991. A unified high–level Petri net formalism for time–critical systems. IEEE Trans. Softw. Eng., 17(2):160–172.

    Google Scholar 

  • Godefroid, P. and Wolper, P. 1992. Using partial orders for the efficient verification of deadlock freedom and safety properties. In K.G. Larsen and A. Skou, editors, Computer–Aided Verification: 3rd Internat. Conf., CAV '91, Springer–Verlag, 1992, pp. 332–342. LNCS, vol. 575.

  • Halbwachs, N., Lagnier, F., and Ratel, C. 1992. Programming and verifying real–time systems by means of the synchronous data–flow language Lustre. IEEE Trans. Softw. Eng., 18(9):785–793.

    Google Scholar 

  • Härbour, M.G. Klein, M.H., and Lehoczky, J.P. 1994. Timing analysis for fixed–priority scheduling of hard real–time systems. IEEE Trans. Softw. Eng., 20(1):13–28.

    Google Scholar 

  • Heitmeyer, C., Jeffords, R., and Labaw, B. 1993. A benchmark for comparing different approaches for specifying and verifying real–time systems. In Proc. Tenth Internat. Workshop on Real–Time Operating Systems and Software, May 1993.

  • Henzinger, T.A., Ho, P.–H., and Wong–Toi, H. 1997a. HYTECH: A model checker for hybrid systems. Software Tools for Technology Transfer, 1997a. An earlier version appeared in (Henzinger et al. 1997b).

  • Henzinger, T.A., Ho, P.–H., and Wong–Toi, H. 1997b. HYTECH: A symbolic model checker for hybrid systems. In O. Grumberg, editor, Computer Aided Verification: 9th Internat. Conf., CAV 97. Springer–Verlag, 1997b. pp. 460–463. LNCS, vol. 1254.

  • Henzinger, T.A., Nicollin, X., Sifakis, J., and Yovine, S. 1994. Symbolic model checking for real–time systems. Information and Computation, 111:193–244.

    Google Scholar 

  • Jahanian, F. and Mok, A.K. 1994. Modechart: A specification language for real–time systems. IEEE Trans. Softw. Eng., 20(12):933–947.

    Google Scholar 

  • Jahanian, F. and Stuart, D.A. 1988. A method for verifying properties of Modechart specifications. In Proc. Real–Time Systems Sympos., Dec. 1988, pp. 12–21.

  • Jensen, K. 1997. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Springer–Verlag, New York, New York. vol. 3 of Monographs in Theoretical Computer Science.

    Google Scholar 

  • Köbler, J., Schöning, U., and Torán, J. 1992. Graph isomorphism is low for PP. Computational Complexity, 2(4):301–330.

    Google Scholar 

  • Kopetz, H. 1997. Real–Time Systems: Design Principles for Distributed Embedded Applications, Boston, Massachusetts: Kluwer Academic Publishers, vol. 395 of The Kluwer International Series in Engineering and Computer Science.

    Google Scholar 

  • Kristensen, L.M., Christensen, S., and Jensen, K. 1998. The practitioner's guide to coloured Petri nets. Software Tools for Technology Transfer, 2(2):98–132.

    Google Scholar 

  • Larsen, K.G., Pettersson, P., and Yi, W. 1997. UPPAAL in a Nutshell. Int. Journal on Software Tools for Technology Transfer, 1(1–2):134–152.

    Google Scholar 

  • Lawford, M. and Wonham, W.M. 1995. Equivalence preserving transformations for timed transition models. IEEE Transactions on Automatic Control, 40(7):1167–1179.

    Google Scholar 

  • Liu, C.L. and Layland, J.W. 1973. Scheduling algorithms for multi–programming in a hard real–time environment. J. ACM, 20(1):46–61.

    Google Scholar 

  • Merlin, P.M. and Farber, D.J. 1976. Recoverability of communication protocols—implications of a theoretical study. IEEE Trans. Communications, COM–24(9):1036–1043.

    Google Scholar 

  • Murata, T. 1989. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77(4):541–580.

    Google Scholar 

  • Murata, T., Shenker, B., and Shatz, S.M. 1989. Detection of Ada static deadlocks using Petri net invariants. IEEE Trans. Softw. Eng., 15(3):314–326.

    Google Scholar 

  • Nicollin, X., Sifakis, J., and Yovine, S. 1992. Compiling real–time specifications into extended automata. IEEE Trans. Softw. Eng., 18(9):794–804.

    Google Scholar 

  • Ostroff, J.S. 1997. A visual toolset for the design of real–time discrete–event systems. IEEE Transactions on Control Systems Technology, 5(3):320–337.

    Google Scholar 

  • Ramchandani, C. 1976. Analysis of asynchronous concurrent systems using timed Petri nets. Research Report MAC–TR 120, Massachusetts Institute of Technology, Feb. 1976.

  • Schütz, W. 1994. Fundamental issues in testing distributed real–time systems. Real–Time Systems, 7(2):129–157.

    Google Scholar 

  • Shatz, S.M., Mai, K., Black, C., and Tu, S. 1990. Design and implementation of a Petri net–based toolkit for Ada tasking analysis. IEEE Transactions on Parallel Distributed Systems, 1(4):424–441.

    Google Scholar 

  • Sloan, R.H. and Buy, U. 1996. Reduction rules for time Petri nets. Acta Inf., 33(7):687–706.

    Google Scholar 

  • Sloan, R.H. and Buy, U. 1997. Stubborn sets for real–time Petri nets. Formal Methods in System Design, 11(1):23–40.

    Google Scholar 

  • Starke, P.H. 1991. Reachability analysis of Petri nets using symmetries. Syst. Anal. Model. Simul., 8:293–303.

    Google Scholar 

  • Stuart, D.A. 1990. Implementing a verifier for real–time systems. In Proceedings 11th Real–Time Systems Symposium, Lake Buena Vista, Florida, Dec. 1990. IEEE, pp. 62–71.

  • Tu, S., Shatz, S.M., and Murata, T. 1990. Applying Petri net reduction to support Ada–tasking deadlock analysis. In Proc. Eleventh Internat. Conference on Distributed Computing Systems, Paris, France, pp. 96–103.

  • U.S. Department of Defense, Washington, D.C. 1983. Reference Manual for the Ada Programming Language, ANSI/MIL–STD–1815A edition, Jan. 1983.

  • Valmari, A. 1988. Error detection by reduced reachability graph generation. In Proc. of the Ninth European Workshop on the Application and Theory of Petri Nets, Venice, Italy, pp. 95–112.

  • Valmari, A. 1991. A stubborn attack on state explosion. In E.M. Clarke and R.P. Kurshan, editors, Computer–Aided Verification: 2nd Internat. Conf., CAV '90. Springer–Verlag, 1991, pp. 156–165. LNCS, vol. 531.

  • Vlachogiannis, E. 1994. On translating Ada programs into Petri nets: Issues and an object–oriented implementation. Master's thesis, University of Illinois, Chicago, Illinois.

    Google Scholar 

  • Yang, J., Mok, A.K., and Wang, F. 1993. Symbolic model checking for event–driven real–time systems. In Proc. Real–Time Systems Symposium Dec. 1993. IEEE, pp. 23–32.

  • Yoneda, T., Shibayama, A., Schlingloff, B.–H., and Clarke, E.M. 1993. Efficient verification of parallel real–time systems. In C. Courcoubetis, editor, Computer–Aided Verification: 5th Internat. Conf., CAV '93. Springer–Verlag, 1993, pp. 321–332. LNCS, vol. 697.

  • Yovine, S. 1997. A verification tool for real–time systems. Software Tools for Technology Transfer, 1(12):123–133.

    Google Scholar 

  • Yovine, S. 1998. Model–checking timed automata. In Embedded Systems. Springer–Verlag, Oct. 1998. vol. 1494 of Lecture Notes in Computer Science.

  • Zuberek, W.M. 1991. Timed Petri nets: Definitions, properties, and applications. Microelectronics and Reliability, 31(4):627–644.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Buy, U., Sloan, R. Automatic Real-Time Analysis of Reactive Systems with the PARTS Toolset. Automated Software Engineering 8, 227–273 (2001). https://doi.org/10.1023/A:1011235419951

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011235419951

Navigation