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

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.

[1]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[2]  Chris J. Myers,et al.  Verification of Timed Systems Using POSETs , 1998, CAV.

[3]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[4]  Farn Wang,et al.  Symbolic model checking for event-driven real-time systems , 1997, TOPL.

[5]  John P. Lehoczky,et al.  Timing Analysis for Fixed-Priority Scheduling of Hard Real-Time Systems , 1994, IEEE Trans. Software Eng..

[6]  George S. Avrunin,et al.  Automated Derivation of Time Bounds in Uniprocessor Concurrent Systems , 1994, IEEE Trans. Software Eng..

[7]  Mauro Pezzè,et al.  Merlot: a tool for analysis of real-time specifications , 1993, Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design.

[8]  Nancy G. Leveson,et al.  Safety verification in MURPHY using fault tree analysis , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[9]  Robert H. Sloan,et al.  Stubborn Sets for Real-Time Petri Nets , 1997, Formal Methods Syst. Des..

[10]  S. Tu,et al.  Applying Petri net reduction to support Ada-tasking deadlock detection , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[11]  Tadao Murata,et al.  Detection of Ada Static Deadlocks Using Petri Net Invariants , 1989, IEEE Trans. Software Eng..

[12]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[13]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[14]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[15]  Antti Valmari A stubborn attack on state explosion , 1992, Formal Methods Syst. Des..

[16]  Farnam Jahanian,et al.  A Method for Verifying Properties of Modechart Specifications , 1988, RTSS.

[17]  Joseph Sifakis,et al.  Compiling Real-Time Specifications into Extended Automata , 1992, IEEE Trans. Software Eng..

[18]  Edmund M. Clarke,et al.  Verus: a tool for quantitative analysis of finite-state real-time systems , 1995 .

[19]  Robert H. Sloan,et al.  Analysis of real-time programs with simple time Petri nets , 1994, ISSTA '94.

[20]  Stavros Tripakis,et al.  Kronos: A Model-Checking Tool for Real-Time Systems , 1998, CAV.

[21]  James C. Corbett,et al.  Constructing abstract models of concurrent real-time software , 1996, ISSTA '96.

[22]  Thomas A. Henzinger,et al.  HYTECH: A Model Checker for Hybrid Systems , 1997, CAV.

[23]  Juris Hartmanis,et al.  The Programming Language Ada Reference Manual American National Standards Institute, Inc. ANSI/MIL-STD-1815A-1983 , 1983, Lecture Notes in Computer Science.

[24]  Jonathan S. Ostroff,et al.  A visual toolset for the design of real-time discrete-event systems , 1997, IEEE Trans. Control. Syst. Technol..

[25]  Robert H. Sloan,et al.  A Petri-net-based approach to real-time program analysis , 1993, Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design.

[26]  Wlodzimierz M. Zuberek,et al.  Timed Petri nets definitions, properties, and applications , 1991 .

[27]  Werner Schütz,et al.  Fundamental issues in testing distributed real-time systems , 1994, Real-Time Systems.

[28]  Mark Lawford,et al.  Equivalence preserving transformations for timed transition models , 1995 .

[29]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[30]  Pierre Wolper,et al.  Using partial orders for the efficient verification of deadlock freedom and safety properties , 1991, Formal Methods Syst. Des..

[31]  James C. Corbett,et al.  Evaluating Deadlock Detection Methods for Concurrent Software , 1996, IEEE Trans. Software Eng..

[32]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[33]  George S. Avrunin,et al.  Automated Analysis of Concurrent Systems With the Constrained Expression Toolset , 1991, IEEE Trans. Software Eng..

[34]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.

[35]  P. H. Starke,et al.  Reachability analysis of Petri nets using symmetries , 1991 .

[36]  Henry Ledgard,et al.  Reference Manual for the ADA® Programming Language , 1983, Springer New York.

[37]  Sérgio Vale Aguiar Campos,et al.  Computing quantitative characteristics of finite-state real-time systems , 1994, 1994 Proceedings Real-Time Systems Symposium.

[38]  Tomohiro Yoneda,et al.  Efficient Verification of Parallel Real–Time Systems , 1993, Formal Methods Syst. Des..

[39]  Edward Y. Chang,et al.  STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems , 1996, CAV.

[40]  Sergio Yovine,et al.  Model Checking Timed Automata , 1996, European Educational Forum: School on Embedded Systems.

[41]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[42]  Stavros Tripakis,et al.  KRONOS: A Model-Checking Tool for Real-Time Systems (Tool-Presentation for FTRTFT '98) , 1998, FTRTFT.

[43]  Laurent Mounier,et al.  "On the Fly" Verification of Behavioural Equivalences and Preorders , 1991, CAV.

[44]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[45]  M. Diaz,et al.  Modeling and Verification of Time Dependent Systems Using Time Petri Nets , 1991, IEEE Trans. Software Eng..

[46]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[47]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[48]  Sol M. Shatz,et al.  Design and Implementation of a Petri Net Based Toolkit for Ada Tasking Analysis , 1990, IEEE Trans. Parallel Distributed Syst..

[49]  Sol M. Shatz,et al.  Application and experimental evaluation of state space reduction methods for deadlock analysis in Ada , 1994, TSEM.

[50]  E. Clarke,et al.  Symbolic Model Checking : IO * ’ States and Beyond * , 1992 .

[51]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[52]  Douglas A. Stuart Implementing a verifier for real-time systems , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[53]  Gérard Berthelot,et al.  Checking properties of nets using transformation , 1985, Applications and Theory in Petri Nets.

[54]  Constance L. Heitmeyer,et al.  A Benchmark for Comparing Different Approaches for Specifying and Verifying Real-Time Systems , 1993 .

[55]  Constance L. Heitmeyer,et al.  Comparing different approaches for specifying and verifying real-time systems , 1993 .

[56]  George S. Avrunin,et al.  A practical technique for bounding the time between events in concurrent real-time systems , 1993, ISSTA '93.

[57]  C. Ramchandani,et al.  Analysis of asynchronous concurrent systems by timed petri nets , 1974 .

[58]  Aloysius K. Mok,et al.  Modechart: A Specification Language for Real-Time Systems , 1994, IEEE Trans. Software Eng..

[59]  C. Ghezzi,et al.  A general way to put time in Petri nets , 1989, IWSSD '89.

[60]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[61]  Carlo Ghezzi,et al.  A Unified High-Level Petri Net Formalism for Time-Critical Systems , 1991, IEEE Trans. Software Eng..

[62]  Jacobo Torán,et al.  Graph isomorphism is low for PP , 1992, computational complexity.

[63]  Wang Yi,et al.  New Generation of UPPAAL , 1998 .

[64]  W. Wonham,et al.  Equivalence preserving transformations for timed transition models , 1992, [1992] Proceedings of the 31st IEEE Conference on Decision and Control.

[65]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[66]  Insup Lee,et al.  A Layered Approach to Automating the Verification of Real-Time Systems , 1992, IEEE Trans. Software Eng..

[67]  Lars Michael Kristensen,et al.  The practitioner’s guide to coloured Petri nets , 1998, International Journal on Software Tools for Technology Transfer.

[68]  Enrico Vicario,et al.  Compositional Validation of Time-Critical Systems Using Communicating Time Petri Nets , 1995, IEEE Trans. Software Eng..