Practical Automaton proofs in PVS

This thesis is about an approach to modeling, validating and verifying com- puter-based systems. The kinds of systems we examine happen to be em- bedded systems, for the most part, but our approach is generally applicable to computer-based systems. Since veri?cation is essential to the production of safe and reliable systems, we feel the entire process that precedes the actual construction of such a system is in need of formal support; various studies in this thesis show how a systematic approach to modeling and val- idation can be applied to part of the software development lifecycle: the requirements and speci?cation phases. We focus on the practical side of modeling and validation, showing how to approach problems of ambiguity and incompleteness in the informal requirements. We illustrate some of the considerations used in arriving at the approach used in this thesis. The case studies and considerations show how this approach can be effective in ?nd- ing errors in models - errors which, when corrected, lead to better models and higher quality computer-based systems.

[1]  Willem Otto David Griffioen,et al.  Studies in computer aided verification of protocols , 2000 .

[2]  David Cyrluk,et al.  Microprocessor Verification in PVS - A Methodology and Simple Example , 1993 .

[3]  Mihaela Sighireanu,et al.  Parameterized Reachability Analysis of the IEEE 1394 Root Contention Protocol using TReX , 2001 .

[4]  Natarajan Shankar,et al.  Using Decision Procedures with a Higher-Order Logic , 2001, TPHOLs.

[5]  Myla Archer,et al.  Human-Style Theorem Proving Using PVS , 1997, TPHOLs.

[6]  John Rushby,et al.  User guide for the pvs specification and verification system (beta release) , 1991 .

[7]  Hassen Saïdi,et al.  Powerful Techniques for the Automatic Generation of Invariants , 1996, CAV.

[8]  Martin Becker,et al.  The Light Control Case Study: Problem Description , 2000, J. Univers. Comput. Sci..

[9]  Terry Quatrani,et al.  Visual modeling with rational Rose and UML , 1998, Addison-Wesley object technology series.

[10]  Ansgar Fehnker,et al.  Citius, Vilius, Melius : guiding and cost-optimality in model checking of timed and hybrid systems , 2002 .

[11]  Ahmed Bouajjani,et al.  Symbolic Techniques for Parametric Reasoning about Counter and Clock Systems , 2000, CAV.

[12]  Howard Wong-Toi,et al.  Automated Analysis of an Audio Control Protocol , 1995, CAV.

[13]  Arne Skou,et al.  Formal Modeling and Analysis of an Audio/Video Protocol: An Industrial Case Study Using UPPAAL , 1997 .

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

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

[16]  Frits W. Vaandrager,et al.  Linear parametric model checking of timed automata , 2001, J. Log. Algebraic Methods Program..

[17]  Conrado Daws,et al.  Two examples of verification of multirate timed automata with Kronos , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[18]  Yassine Lakhnech,et al.  A Transformational Approach for Generating Non-linear Invariants , 2000, SAS.

[19]  Steve Sims,et al.  TAME: A PVS Interface to Simplify Proofs for Automata Models , 1998 .

[20]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[21]  Jozef Hooman,et al.  Assertional Specification and Verification Using PVS of the Steam Boiler Control System , 1995, Formal Methods for Industrial Applications.

[22]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[23]  Ron Koymans,et al.  (Real) Time: A Philosophical Perspective , 1991, REX Workshop.

[24]  Victor L. Winter,et al.  Bay area rapid transit district advance automated train control system case study description , 2001 .

[25]  Hanno Wupper,et al.  Design as the Discovery of a Mathematical Theorem What designers Should Know about the Art of Mathematics , 2000, Trans. SDPS.

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

[27]  Ben L. Di Vito,et al.  Formalizing space shuttle software requirements: four case studies , 1998, TSEM.

[28]  Thomas A. Henzinger,et al.  Towards Refining Temporal Specifications into Hybrid Systems , 1992, Hybrid Systems.

[29]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[30]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[31]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[32]  Jun Sawada,et al.  Processor Verification with Precise Exeptions and Speculative Execution , 1998, CAV.

[33]  Henny B. Sipma,et al.  Specification and Verification of Controlled Systems , 1994, FTRTFT.

[34]  R. Ortega,et al.  Experiences using statecharts for a system requirements specification , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[35]  Elvinia Riccobene,et al.  Using TAME to prove invariants of automata models: Two case studies , 2000, FMSP '00.

[36]  Mats Per Erik Heimdahl,et al.  Using PVS to analyze hierarchical state-based requirements for completeness and consistency , 1996, Proceedings. IEEE High-Assurance Systems Engineering Workshop (Cat. No.96TB100076).

[37]  Dang Van Hung,et al.  Verification via digitized models of real-time hybrid systems , 1996, Proceedings 1996 Asia-Pacific Software Engineering Conference.

[38]  Moore J. Strother A Formal Model of Asynchronous Communication and Its Use in Mechanically Verifying a Biphase Mark Protocol , 1992 .

[39]  H. A. van Thienen It's about time: using Funmath for the specification and analysis of discrete dynamic systems , 1994 .

[40]  Amir Pnueli,et al.  Timed and Hybrid Statecharts and Their Textual Representation , 1992, FTRTFT.

[41]  H. Wong-Toi,et al.  Some lessons from the HYTECH experience , 2001, Proceedings of the 40th IEEE Conference on Decision and Control (Cat. No.01CH37228).

[42]  John M. Rushby Calculating with Requirements , 1997, RE.

[43]  Stanimir Ivanov,et al.  Verification of a Biphase Mark Protocol , 1999 .

[44]  Luke Wildman Requirements reformulation using formal specification: a case study , 2002, FME 2002.

[45]  Aloysius K. Mok,et al.  Coping with Implementation Dependencies in Real-Time System Verification , 1991, REX Workshop.

[46]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[47]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[48]  Thomas A. Henzinger,et al.  Timed Transition Systems , 1991, REX Workshop.

[49]  Marieke Huisman,et al.  Reasoning about Java programs in higher order logic using PVS and Isabelle , 2001 .

[50]  van de Jc Jaco Pol,et al.  Formal requirements specification for command and control systems , 1998 .

[51]  Wang Yi,et al.  Verification of an Audio Protocol with Bus Collision Using UPPAAL , 1996, CAV.

[52]  Jozef Hooman,et al.  Analyzing the Light Control System with PVS , 2000, J. Univers. Comput. Sci..