Refactoring, Refinement, and Reasoning - A Logical Characterization for Hybrid Systems

Refactoring of code is a common device in software engineering. As cyber-physical systems CPS become ever more complex, similar engineering practices become more common in CPS development. Proper safe developments of CPS designs are accompanied by a proof of correctness. Since the inherent complexities of CPS practically mandate iterative development, frequent changes of models are standard practice, but require reverification of the resulting models after every change. To overcome this issue, we develop proof-aware refactorings for CPS. That is, we study model transformations on CPS and show how they correspond to relations on correctness proofs. As the main technical device, we show how the impact of model transformations on correctness can be characterized by different notions of refinement in differential dynamic logic. Furthermore, we demonstrate the application of refinements on a series of safety-preserving and liveness-preserving refactorings. For some of these we can give strong results by proving on a meta-level that they are correct. Where this is impossible, we construct proof obligations for showing that the refactoring respects the refinement relation.

[1]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[2]  Peter Kazanzides,et al.  Formal Methods for Robotic System Control Software , 2013 .

[3]  Thomas A. Henzinger,et al.  Automatic Rectangular Refinement of Affine Hybrid Systems , 2005, FORMATS.

[4]  Jürgen Nehmer,et al.  Operating Systems of the 90s and Beyond , 1991, Lecture Notes in Computer Science.

[5]  Paulo Tabuada,et al.  Verification and Control of Hybrid Systems - A Symbolic Approach , 2009 .

[6]  Hermann Kopetz,et al.  Event-Triggered Versus Time-Triggered Real-Time Systems , 1991, Operating Systems of the 90s and Beyond.

[7]  André Platzer,et al.  The Structure of Differential Invariants and Differential Cut Elimination , 2011, Log. Methods Comput. Sci..

[8]  Joël Ouaknine,et al.  Abstraction and Counterexample-Guided Refinement in Model Checking of Hybrid Systems , 2003, Int. J. Found. Comput. Sci..

[9]  André Platzer,et al.  Collaborative Verification-Driven Engineering of Hybrid Systems , 2014, Math. Comput. Sci..

[10]  Stefan Mitsch,et al.  A Logical Characterization for Hybrid Systems , 2014 .

[11]  André Platzer,et al.  Playing Hybrid Games with KeYmaera , 2012, IJCAR.

[12]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[13]  André Platzer,et al.  Towards Formal Verification of Freeway Traffic Control , 2012, 2012 IEEE/ACM Third International Conference on Cyber-Physical Systems.

[14]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[15]  Insup Lee,et al.  Compositional modeling and refinement for hierarchical hybrid systems , 2006, J. Log. Algebraic Methods Program..

[16]  André Platzer,et al.  Logical Analysis of Hybrid Systems - Proving Theorems for Complex Dynamics , 2010 .

[17]  Peter Kazanzides,et al.  Certifying the safe design of a virtual fixture control algorithm for a surgical robot , 2013, HSCC '13.

[18]  André Platzer,et al.  KeYmaera: A Hybrid Theorem Prover for Hybrid Systems (System Description) , 2008, IJCAR.

[19]  Steve A. Schneider,et al.  The behavioural semantics of Event-B refinement , 2012, Formal Aspects of Computing.

[20]  Wolfram Burgard,et al.  Robotics: Science and Systems XV , 2010 .

[21]  Peter Jonsson,et al.  Essential Convexity and Complexity of Semi-Algebraic Constraints , 2012, Log. Methods Comput. Sci..

[22]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[23]  Paulo Tabuada,et al.  Verification and Control of Hybrid Systems , 2009 .

[24]  Egon Börger,et al.  The ASM Refinement Method , 2003, Formal Aspects of Computing.

[25]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[26]  André Platzer,et al.  A Complete Axiomatization of Quantified Differential Dynamic Logic for Distributed Hybrid Systems , 2012, Log. Methods Comput. Sci..

[27]  André Platzer,et al.  On Provably Safe Obstacle Avoidance for Autonomous Robotic Ground Vehicles , 2013, Robotics: Science and Systems.

[28]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[29]  André Platzer,et al.  A Vision of Collaborative Verification-Driven Engineering of Hybrid Systems , 2013 .

[30]  Rajeev Alur Can we verify cyber-physical systems? , 2013, Commun. ACM.

[31]  Jirí Srba,et al.  Comparing the Expressiveness of Timed Automata and Timed Extensions of Petri Nets , 2008, FORMATS.

[32]  André Platzer,et al.  Logics of Dynamical Systems , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[33]  André Platzer,et al.  European Train Control System: A Case Study in Formal Verification , 2009, ICFEM.