The Railway industry requirements are defined by CENELEC, the European Committee for Electrotechnical Standardization. The three standards produced by CENELEC, EN 50126, EN 50128 and EN 50129 represents the backbone of the process of demonstrating the safety of a railway system. The standards EN 50128 "Software for railway control and protection systems" and EN 50129 "Safety related electronic systems for signaling" represent the railway application-specific interpretation of the international standard series - IEC 61508 (Functional safety of electrical/ electronic/programmable electronic safety-related systems).
The EN 50128 standard describes software safety integrity levels and identifies requirements for personnel and their responsibilities, lifecycle issues and documentation. It gives detailed descriptions of objectives, input documents, output documents and requirements for software requirements specification, architecture, design and implementation, verification and testing as well as software/hardware integration, software validation, quality assurance and maintenance
EN51028 takes into account the five software integrity levels (SIL) that range from the very critical (SIL-4), such as safety signaling to the non-critical, such as management information systems (SIL-0).
Definition of EN 50128 Safety Integrity Levels
Other standards that are based on IEC 61508 may implement either of two definitions of Safety Integrity Levels. The Demand Mode definition of IEC 61508 is reserved for systems which frequency of operation is intermittent (such as systems covered under EN 51028), while the Continuous Mode covers systems that are used in a sustained manner over a period of time. The following table provides the difference between the two definitions, and what a failure of the system may mean at different SIL levels.
To ensure predictable software operation, organizations need to know that the tests they are performing are testing 100% of the application code. VectorCAST/Cover lets you do this easily by collecting coverage information during system test activities. The tool allows you to determine the adequacy of your system testing. If parts of the code are not being covered, then perhaps more testing is required for those areas of the application.
System testing will not result in 100% coverage, as many functions contain error handling code that is difficult or impossible to stimulate using the fully integrated application. The solution is to perform unit and integration testing on those functions using VectorCAST/C++ or VectorCAST/Ada. Because VectorCAST/Cover shares coverage information with VectorCAST for C/C++ and VectorCAST for Ada, you can easily produce coverage reports showing the combined coverage from all of your test activities.
Compliance with standards: Our tools have been successfully used by numerous clients that need to comply with rigorous industrial standards, including those used in the Railway industry
VectorCAST Meeting the CENELEC Software Verification Requirements