1.1 This European Standard specifies the process and technical requirements for the development of software for programmable electronic systems for use in rolling stock applications.
Outside the scope of this standard is software that:
-is part of signalling equipment (CENELEC sub-committee SC9XA applications) installed on board trains, or
-does not contribute to, and is segregated from Rolling Stock operational functions.
1.2 This European Standard is applicable exclusively to software and the interaction between software and the system of which it is part.
1.3 Entry intentionally left empty
1.4 This European Standard applies to safety-related as well as non-safety-related software, including for example:
Application programming comprises high level programming, low level programming and special purpose programming (for example: programmable logic controller ladder logic).
1.5 This European Standard also addresses the use of pre-existing software and tools. Such software may be used, if the specific requirements in 18.104.22.168 and 22.214.171.124 on pre-existing software and for tools in 6.7 are fulfilled.
1.6 Software developed according to a valid version of EN 50128 is considered as compliant to this standard. Software previously developed in accordance with any version of EN 50128 is also considered as compliant and not subject to the requirements on pre-existing software. SIL1-SIL4 software developed under EN 50657 also complies with EN 50128:2011.
1.7 This European Standard considers that modern application design often makes use of software that is suitable as a basis for various applications. Such software is then configured by application data for producing the executable software for the application. This European Standard applies to such software. In addition, specific requirements for application data will be given.
1.8 Entry intentionally left empty
1.9 This European Standard is not intended to be retrospective. It therefore applies primarily to new developments and only applies in its entirety to existing systems if these are subjected to major modifications. For minor changes, only 9.2 applies. However, application of this European Standard during upgrades and maintenance of existing software is recommended.
1.10 The relevant sections of this software standard are also applicable to programmable components (e.g. FPGA and CPLD), in addition to the applicable hardware standard (e.g. EN 50129, EN 50155, EN 61508 2). However, requirements of this software standard that are already covered by the applicable hardware standard do not need to be re-addressed.
When it is possible to exhaustively test the programmable logic for all possible inputs and internal logic states, this European Standard does not apply.