Abderrahmane Feliachi, författare på Prover - Engineering a Safer World Interlocking Design Automation to meet demand for complex digital train control Mon, 13 Jan 2025 13:47:33 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 Formal verification applications to ensure safety of CBTC systems https://www.prover.com/safety/formal-verification-applications-to-ensure-safety-of-cbtc-systems/ Wed, 31 Jan 2024 16:25:30 +0000 https://www.prover.com/?p=5850 A significant number of modern metro systems use CBTC for safer and efficient train operations. While the role of CBTC is straightforward, the systems themselves are quite complex.

Inlägget Formal verification applications to ensure safety of CBTC systems dök först upp på Prover - Engineering a Safer World.

]]>

A significant number of modern metro systems around the world use Communication-Based Train Control (CBTC) for safer and more efficient train operations. While the role of CBTC is straightforward, the systems themselves are quite complex.

Due to this complexity, coupled with high safety requirements imposed on CBTC systems, both suppliers and operators have taken to implementing formal verification methods to ensure that the deployed systems meet the highest safety standards. Here, we will walk through six of these methods. But first, let’s review the basics.

What is communication-based train control?

CBTC is a modern signaling system that keeps track of a train’s position by utilizing continuous communication between wayside and carborne equipment.

From a functional standpoint, CBTC is mainly composed of two subsystems: Automatic Train Control (ATC) and Automatic Train Supervision (ATS). The ATC guarantees the safe operation of trains, while the ATS provides an overview of the system for supervision and centralized operation. The ATC is composed of two components: Automatic Train Protection (ATP) and Automatic Train Operation (ATO). ATO is in charge of operating trains while ATP is in charge of the safety of this operation.

Generic and Specific Application Levels

The complexity of CBTC systems has led suppliers to offer generic CBTC solutions which can be deployed in different locations, only by changing the configuration data and parameters. Such solutions make it possible to optimize redundant activities so they can be done once and for all at a generic level, and reduce the required workload on the location-specific level. This is usually known as Generic Application (GA) and Specific Application (SA) level, with configuration data used to instantiate one from the other.

6 verification methods used to ensure CBTC systems meet high safety standards

To improve the correctness and safety of CBTC systems, a number of formal verification methods have been applied globally with success.

The major obstacle that has been observed in these applications is the state-space explosion due to the complexity of the studied CBTC systems. In recent years, however, this issue has been tackled in different ways and, in some applications, improved results have already been observed.

1. System Configuration Data validation

The instantiation of an SA from a GA is performed by essentially integrating the so-called configuration data relative to the specific location. In order to guarantee the safety of the resulting SA, one must ensure that the configuration data are correct. Formal methods utilizing properties formalization and exhaustive data checking have been of great help in this matter.

2. Software Configuration Data generation/validation

While System Configuration Data covers system-wide aspects, subsystem software usually requires a different presentation of this data. This software configuration data is usually derived from the system-level data with a safety-preserving process. For this matter, formal methods have also been successfully applied either to generate correct software data or to check the correctness of data previously generated with another process.

3. Verification of vital requirements on software at equipment or function level
(GA or SA)

Formal verification has also been applied to verify the correct implementation of vital requirements at the sub-system level using (the whole or parts of) the subsystem’s software as a target. Compared to classical testing approaches, formal verification helps to capture the requirements and gives wider coverage of the verified behavior. In many cases, safety-related bugs have been identified only using formal verification (in projects where both techniques were used). Requirement formalization has helped to clarify a significant number of ambiguous specifications as well.

4. Verification of safety requirements at system or equipment level
(against a formalization of the System/equipment)

At the system level, formal verification of safety properties have also been performed against a formalization of the studied system/subsystem (so-called digital twin). Functional requirements are used as a basis for the development of the formal model, with some abstractions of small details. Safety properties, usually derived from system safety studies, are then checked on the formal model. This helps identify high-level discrepancies in the system specifications that might not be seen at lower-level verification.

5. Formal development process

Formal methods have also been applied successfully for the entire development process of CBTC systems. A system-level formal specification is first developed and proven to be safe. This high-level specification is then refined to include more implementation details, with the proof that the refinement preserves the safety properties. Refinement is repeated until the resulting model is detailed enough and can be implemented by a software. Since all refinement steps are formally verified, the resulting model is correct-by-construction.

6. Equivalence proofs for generated code

In some applications, when the software is automatically generated from a formal model, formal verification has been used to check the correctness of the generated code. An equivalence proof is performed between both the formal model and a formalization of the generated software.

Would you like to know more? Let our experts show you how a formal approach can help your CBTC-project. Contact us for a meeting 

How safe and efficient are your rail control systems? Let’s find out!

Inlägget Formal verification applications to ensure safety of CBTC systems dök först upp på Prover - Engineering a Safer World.

]]>
Cut on-site testing time by up to 50% using formal verification https://www.prover.com/verification-validation/cut-on-site-testing-time-by-up-to-50-using-formal-verification/ Tue, 04 Apr 2023 14:28:12 +0000 https://stage.prover.com/?p=12068 Learn how to cut on-site testing time by up to 50% in rail control projects, using formal verification, read the full blog!

Inlägget Cut on-site testing time by up to 50% using formal verification dök först upp på Prover - Engineering a Safer World.

]]>

In the space between system development and deployment, there are a number of inconvenient and costly delays that can occur in a typical rail control project. Many of which can be attributed to the necessary phase of on-site testing.

Perhaps most challenging are so-called brownfield projects, where a system upgrade must be implemented on a line that is already in operation. Carrying out on-site testing under this circumstance impacts traffic operations and requires a ton of procedures, people, and administrative steps. In some cases, the on-site tests are even risky from a safety perspective.

Thankfully, there is a solution suppliers and infrastructure managers can implement to keep testing-related deployment delays to a minimum. Formal verification ensures that more potential failures are identified earlier in the system development process and, as a result, significantly reduces the amount of time required for on-site testing.

Keep reading to learn more about formal verification, and how it can help reduce on-site testing time by up to 50%.

What is formal verification?

Formal methods have been used in production for rail control for over twenty years. At Prover, our way of applying formal methods is through a set of automation tools and processes called Signaling Design Automation (SDA), which we use to enable the development of specifications, digital twins, and actual systems. The basic idea is that SDA instantiates the generic principles for a particular configuration and produces the system’s design and software code. SDA also performs safety verification to produce safety evidence and automated testing to create a test report— this is where Formal Verification comes in.

Formal verification is a technique for checking that systems fulfill selected properties with 100% certainty. It is part of our SDA process, where formal methods are applied at three levels:

Formal specification: Formalizes system requirements by expressing them in a formal language with a precise and unambiguously defined syntax and semantics.

Formal development: Utilizes formal methods as an integrated part of a tool-supported system development process– this is where you write your system using formal methods.

> Formal verification: Utilizes a software tool to prove properties of a formal specification, or that a formal model (aka digital twin) of a system implementation satisfies its specification.

While it is most advantageous to use all levels of the SDA process, it is not necessary. Formal Verification can be applied to any system post-development to ensure a more complete verification.

Formal verification helps you build a safer system

In 2015, a TGV train derailed in France while safety tests were being performed in preparation for opening the high-speed line for commercial service. As the train accelerated beyond speed limits, the system failed to react effectively and activate speed control. The accident cost 11 lives and injured 42 others in what would become known as the most fatal derailment in the history of the TGV. This example is a reminder of how dangerous on-site testing can be.

The truth is that traditional testing methods for big systems can never reach full coverage, and certain scenarios cannot be reproduced easily in the field. However, by using Formal verification with a formal model of the system, all scenarios—both possible and the seemingly impossible—can be exhaustively explored, thereby reducing the need for dangerous tests to be run in real life. Due to the vast number of combinations tested, Formal Verification provides full certainty. It uses a mathematical argument without gaps.

For examples of how Formal verification has been used to detect critical safety issues that would have otherwise been overlooked, we recommend reading “3 scenarios where formal verification caught errors missed by traditional rail control system tests.”

Formal verification drastically reduces on-site testing time

Formal verification not only helps improve the safety and quality of systems, but it addresses the prevailing need among system suppliers and infrastructure managers to reduce testing and commissioning time. Through our experience supporting numerous rail control projects over the years, we’ve seen an average time reduction ranging from 30 to 50%.

Such a drastic reduction can be attributed to formal verification’s ability to identify safety or functional issues through its larger coverage. Because a lot of tests are covered with Formal Verification, bugs and issues are discovered much earlier in the life cycle– already before going into the field for testing. In the big picture of the project timeline, the gap between system development and actual deployment becomes a lot smaller.

If you would like to learn more about formal verification and how it can help you build safer and more quality systems with minimal on-site testing, we invite you to read about our line of formal verification products. Ready to discuss how formal verification can be applied to your specific rail control project? Feel free to book a meeting with us.

How safe and efficient are your rail control systems? Let’s find out!

Inlägget Cut on-site testing time by up to 50% using formal verification dök först upp på Prover - Engineering a Safer World.

]]>