Formal Verification of Coordination Systems' Requirements - A Case Study on the European Train Control System

Formal verification techniques of system requirements such as model-checking and theorem proving aims to show that the requirements satisfy some properties. Consequently, their success depends on the quality of the properties formulation. We propose an approach to verify requirements of coordination systems by generating automatically the properties to be verified from the requirements themselves. The requirement specifications of a system are provided at two different levels. The coordination specification gives a global overview of the system, in terms of the different roles participating to it, with their goals and needs and with their mutual dependencies and expectations. The process specification shows how a local participant of the system performs its activities. We exploit model checking techniques for verifying the process requirements against the properties generated by the coordination requirements. In addition to provide a theoretical framework, we show how to apply this methodology on the verification of the System Requirement Specification of the European Train Control System. It is complemented with a toolchain.

[1]  Salamah Salamah,et al.  Consistency Checks of System Properties Using LTL and Büchi Automata , 2012, SEKE.

[2]  Ana R. Cavalli,et al.  Two Complementary Tools for the Formal Testing of Distributed Systems with Time Constraints , 2008, 2008 12th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications.

[3]  Michel Bidoit,et al.  Algebraic System Specification and Development: A Survey and Annotated Bibliography , 1991 .

[4]  Fatiha Zaïdi,et al.  A Symbolic Framework for the Conformance Checking of Value-Passing Choreographies , 2012, ICSOC.

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

[6]  Tao Tang,et al.  Formal Modeling and Verification of RBC Handover of ETCS Using Differential Dynamic Logic , 2011, 2011 Tenth International Symposium on Autonomous Decentralized Systems.

[7]  Guisheng Yin,et al.  Process Algebra-Based Description for Software Requirement , 2008, 2008 International Multi-symposiums on Computer and Computational Sciences.

[8]  Fatiha Zaïdi,et al.  Automatic skeleton generation for data-aware service choreographies , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[9]  Ingo J. Timm,et al.  From Testing to Theorem Proving , 2006, Multiagent Engineering.

[10]  Roland Meyer,et al.  Model Checking Duration Calculus: A Practical Approach , 2006, ICTAC.

[11]  Joseph Sifakis,et al.  The IF Toolset , 2004, SFM.