Horn Clauses for Communicating Timed Systems

Languages based on the theory of timed automata are a well established approach for modelling and analysing real-time systems, with many applications both in industrial and academic context. Model checking for timed automata has been studied extensively during the last two decades; however, even now industrial-grade model checkers are available only for few timed automata dialects (in particular Uppaal timed automata), exhibit limited scalability for systems with large discrete state space, or cannot handle parametrised systems. We explore the use of Horn constraints and off-the-shelf model checkers for analysis of networks of timed automata. The resulting analysis method is fully symbolic and applicable to systems with large or infinite discrete state space, and can be extended to include various language features, for instance Uppaal-style communication/broadcast channels and BIPstyle interactions, and systems with infinite parallelism. Experiments demonstrate the feasibility of the method.

[1]  Johann Deneux,et al.  Multi-clock timed networks , 2004, LICS 2004.

[2]  Joseph Sifakis,et al.  Compositional Verification for Component-Based Systems and Application , 2008, ATVA.

[3]  Andrey Rybalchenko,et al.  Synthesizing software verifiers from proof rules , 2012, PLDI.

[4]  Alberto Pettorossi,et al.  Generalization strategies for the verification of infinite state systems , 2011, Theory and Practice of Logic Programming.

[5]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[6]  Thomas A. Henzinger,et al.  Abstractions from proofs , 2004, POPL.

[7]  Andrew E. Santosa,et al.  A CLP proof method for timed automata , 2004, 25th IEEE International Real-Time Systems Symposium.

[8]  Nikolaj Bjørner,et al.  On Solving Universally Quantified Horn Clauses , 2013, SAS.

[9]  Viktor Kuncak,et al.  Disjunctive Interpolants for Horn-Clause Verification , 2013, CAV.

[10]  Jürgen Dingel,et al.  A survey of timed automata for the development of real-time systems , 2013, Comput. Sci. Rev..

[11]  Susan Owicki,et al.  An axiomatic proof technique for parallel programs I , 1976, Acta Informatica.

[12]  John P. Gallagher,et al.  Analysis of Linear Hybrid Systems in CLP , 2008, LOPSTR.

[13]  Parosh Aziz Abdulla,et al.  Model checking of systems with many identical timed processes , 2003, Theor. Comput. Sci..

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

[15]  Ilkka Niemelä,et al.  SMT-Based Induction Methods for Timed Systems , 2012, FORMATS.

[16]  Ashutosh Gupta,et al.  Predicate abstraction and refinement for verifying multi-threaded programs , 2011, POPL '11.

[17]  Christoph Weidenbach,et al.  Superposition as a Decision Procedure for Timed Automata , 2012, Mathematics in Computer Science.

[18]  Silvio Ghilardi,et al.  MCMT in the Land of Parametrized Timed Automata , 2010, VERIFY@IJCAR.

[19]  Jorge A. Navas,et al.  A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs , 2008, LOPSTR.

[20]  Nikolaj Bjørner,et al.  Generalized Property Directed Reachability , 2012, SAT.

[21]  W. Yi,et al.  Uniform Analysis for Communicating Timed Systems , 2013 .

[22]  Cormac Flanagan,et al.  Thread-Modular Model Checking , 2003, SPIN.

[23]  Enrico Pontelli,et al.  A constraint-based approach for specification and verification of real-time systems , 1997, Proceedings Real-Time Systems Symposium.

[24]  Viktor Kuncak,et al.  A Verification Toolkit for Numerical Transition Systems - Tool Paper , 2012, FM.

[25]  César Sánchez,et al.  Invariant Generation for Parametrized Systems Using Self-reflection - (Extended Version) , 2012, SAS.

[26]  Wang Yi,et al.  Automatic verification of real-time communicating systems by constraint-solving , 1994, FORTE.

[27]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

[28]  Parosh Aziz Abdulla,et al.  Multi-clock timed networks , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..