EN 50128:2011
(Main)Railway applications - Communication, signalling and processing systems - Software for railway control and protection systems
Railway applications - Communication, signalling and processing systems - Software for railway control and protection systems
1.1 This European Standard specifies the process and technical requirements for the development of software for programmable electronic systems for use in railway control and protection applications. It is aimed at use in any area where there are safety implications. These systems can be implemented using dedicated microprocessors, programmable logic controllers, multiprocessor distributed systems, larger scale central processor systems or other architectures. 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 This European Standard is not relevant for software that has been identified as having no impact on safety, i.e. software of which failures cannot affect any identified safety functions. 1.4 This European Standard applies to all safety related software used in railway control and protection systems, including – application programming, – operating systems, – support tools, – firmware. 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 7.3.4.7 and 6.5.4.16 on pre-existing software and for tools in 6.7 are fulfilled. 1.6 Software developed according to any version of this European Standard will be considered as compliant and not subject to the requirements on pre-existing software. 1.7 This European Standard considers that modern application design often makes use of generic software that is suitable as a basis for various applications. Such generic software is then configured by data, algorithms, or both, for producing the executable software for the application. The general Clauses 1 to 6 and 9 of this European Standard apply to generic software as well as for application data or algorithms. The specific Clause 7 applies only for generic software while Clause 8 provides the specific requirements for application data or algorithms. 1.8 This European Standard is not intended to address commercial issues. These should be addressed as an essential part of any contractual agreement. All the clauses of this European Standard will need careful consideration in any commercial situation. 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. The assessor has to analyse the evidences provided in the software documentation to confirm whether the determination of the nature and scope of software changes is adequate. However, application of this European Standard during upgrades and maintenance of existing software is highly recommended.
Bahnanwendungen - Telekommunikationstechnik, Signaltechnik und Datenverarbeitungssysteme - Software für Eisenbahnsteuerungs- und Überwachungssysteme
Applications ferroviaires - Systèmes de signalisation, de télécommunication et de traitement - Logiciels pour systèmes de commande et de protection ferroviaire
Železniške naprave - Komunikacijski, signalni in procesni sistemi - Programska oprema za železniške krmilne in zaščitne sisteme
Ta evropski standard določa procesne in tehnične zahteve za razvoj programske opreme programirljivih elektronskih sistemov za uporabo pri železniških krmilnih in zaščitnih aplikacijah. Namenjen je uporabi na vseh področjih glede varnosti. Ti sistemi so lahko izvedeni z namenskimi mikroprocesorji, programirljivimi logičnimi krmilniki, mikroprocesorsko porazdeljenimi sistemi, večjimi centralnimi procesorskimi sistemi ali drugimi arhitekturami. Ta evropski standard velja izključno za programsko opremo in interakcijo med programsko opremo in sistemom, katerega del je. Ta evropski standard ni pomemben za programsko opremo, ki ne učinkuje na varnost, tj. programsko opremo, katere odpovedi ne vplivajo na prepoznane varnostne funkcije. Ta evropski standard velja za vse programske opreme, povezane z varnostjo, ki se uporabljajo v železniških krmilnih in zaščitnih sistemih, vključno z/s – aplikacijskim programiranjem, - operacijskimi sistemi, - podpornim orodjem, - sistemskimi programi. Aplikacijsko programiranje zajema programiranje na visoki ravni, programiranje na nizki ravni in programiranje za posebne namene (na primer: programirljiv logični krmilnik z lestvično logiko). Ta evropski standard obravnava tudi uporabo predobstoječe programske opreme in orodij. Taka programska oprema se lahko uporabi, če so izpolnjene zahteve iz točk 7.3.4.7 in 6.5.4.16 za predobstoječo programsko opremo in iz točke 6.7 za orodja. Programska oprema, razvita v skladu s katero koli različico tega evropskega standarda, velja za skladno in zanjo ne veljajo zahteve za predobstoječo programsko opremo. Ta evropski standard upošteva, da se pri modernem načrtovanju aplikacij pogosto uporablja univerzalna programska oprema, ki je primerna kot osnova za različne aplikacije. Taka univerzalna programska oprema se nato konfigurira s podatki, algoritmi ali obojim, da nastane izvršljiva programska oprema za določeno aplikacijo. Splošne točke 1 do 6 in 9 tega evropskega standard veljajo za univerzalno programsko opremo in za aplikacijske podatke ali algoritme. Specifična točka 7 velja samo za univerzalno programsko opremo, medtem ko točka 8 podaja specifične zahteve za aplikacijske podatke ali algoritme. Ta evropski standard ne obravnava komercialnih vprašanj, ki naj se obravnavajo kot bistveni del kakršnega koli pogodbenega dogovora Vse točke tega evropskega standarda je treba skrbno upoštevati v vseh komercialnih situacijah. Ta evropski standard ni retrospektiven. Velja torej predvsem za nov razvoj in v celoti velja le za obstoječe sisteme, če pri njih pride do večjih sprememb. Pri manjših spremembah velja le točka 9.2. Ocenjevalec mora analizirati dokaze v dokumentaciji programske opreme, s katerimi potrdi, da je ugotavljanje narave in obsega sprememb programske opreme ustrezno. Uporaba tega evropskega standarda se kljub temu močno priporoča med nadgradnjami in vzdrževanjem obstoječe programske opreme.
General Information
- Status
- Published
- Publication Date
- 16-Jun-2011
- Withdrawal Date
- 24-Apr-2017
- Technical Committee
- CLC/TC 9X - Electrical and electronic applications for railways
- Drafting Committee
- CLC/SC 9XA - Communications, signalling and processing systems
- Parallel Committee
- IEC/TC 9 - IEC_TC_9
- Current Stage
- 6060 - Document made available - Publishing
- Start Date
- 17-Jun-2011
- Completion Date
- 17-Jun-2011
Relations
- Effective Date
- 28-Jan-2023
- Effective Date
- 14-Mar-2023
- Effective Date
- 10-Jul-2012
- Effective Date
- 22-Jan-2023
- Effective Date
- 22-Jan-2023
- Effective Date
- 28-Jan-2023
Overview - EN 50128:2011 (software for railway control and protection systems)
EN 50128:2011 is a CENELEC European Standard that defines process and technical requirements for the development, verification and maintenance of software used in railway control and protection systems. It applies to safety‑related programmable electronic systems (microprocessors, PLCs, distributed and central processor architectures) and covers application programming, operating systems, support tools and firmware. The standard focuses exclusively on software and its interaction with the wider system, and is intended for any software whose failure can affect identified safety functions.
Key topics and technical requirements
- Scope and applicability: Applies to safety‑related software only; not relevant for software with no impact on safety. Primarily targets new developments; limited retroactive application for major modifications (minor changes handled via clause 9.2).
- Software safety integrity: Defines objectives, conformance and software safety integrity levels (see Clause 4) to guide required rigor in development and assurance activities.
- Lifecycle and documentation: Requires defined lifecycle processes, roles, responsibilities and comprehensive documentation for development, deployment and maintenance (Clauses 1–6, 9).
- Software assurance: Includes testing, verification, validation, assessment and quality assurance activities (Clause 6) with specific emphasis on traceability and evidence of compliance.
- Support tools and pre‑existing software: Addresses use and qualification of tools and pre‑existing software (see Clauses 6.7, 7.3.4.7 and 6.5.4.16), including when prior software can be reused and when requalification is needed.
- Generic software and configuration by data: Distinguishes requirements for generic software (Clause 7) and for systems configured by application data or algorithms (Clause 8); general clauses (1–6, 9) apply to both.
- Techniques and measures: Normative annexes provide criteria for selecting development and assurance techniques (e.g., testing, formal methods, reviews).
Practical applications - who uses EN 50128:2011
- Railway software developers and integrators creating signalling, interlocking, train control and protection software.
- System engineers and project managers responsible for software lifecycle, safety cases and certification evidence.
- Test engineers, assessors and certification bodies evaluating software conformity and safety integrity.
- Suppliers of firmware, operating systems, PLC logic and safety‑critical support tools.
Related standards
EN 50128:2011 is part of the EN 5012x railway safety family and is used alongside other railway lifecycle and safety standards when producing safety‑critical software and documentation.
By following EN 50128:2011, organisations ensure robust software development, verification and maintenance practices for reliable, certifiable railway control and protection systems.
Frequently Asked Questions
EN 50128:2011 is a standard published by CLC. Its full title is "Railway applications - Communication, signalling and processing systems - Software for railway control and protection systems". This standard covers: 1.1 This European Standard specifies the process and technical requirements for the development of software for programmable electronic systems for use in railway control and protection applications. It is aimed at use in any area where there are safety implications. These systems can be implemented using dedicated microprocessors, programmable logic controllers, multiprocessor distributed systems, larger scale central processor systems or other architectures. 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 This European Standard is not relevant for software that has been identified as having no impact on safety, i.e. software of which failures cannot affect any identified safety functions. 1.4 This European Standard applies to all safety related software used in railway control and protection systems, including – application programming, – operating systems, – support tools, – firmware. 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 7.3.4.7 and 6.5.4.16 on pre-existing software and for tools in 6.7 are fulfilled. 1.6 Software developed according to any version of this European Standard will be considered as compliant and not subject to the requirements on pre-existing software. 1.7 This European Standard considers that modern application design often makes use of generic software that is suitable as a basis for various applications. Such generic software is then configured by data, algorithms, or both, for producing the executable software for the application. The general Clauses 1 to 6 and 9 of this European Standard apply to generic software as well as for application data or algorithms. The specific Clause 7 applies only for generic software while Clause 8 provides the specific requirements for application data or algorithms. 1.8 This European Standard is not intended to address commercial issues. These should be addressed as an essential part of any contractual agreement. All the clauses of this European Standard will need careful consideration in any commercial situation. 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. The assessor has to analyse the evidences provided in the software documentation to confirm whether the determination of the nature and scope of software changes is adequate. However, application of this European Standard during upgrades and maintenance of existing software is highly recommended.
1.1 This European Standard specifies the process and technical requirements for the development of software for programmable electronic systems for use in railway control and protection applications. It is aimed at use in any area where there are safety implications. These systems can be implemented using dedicated microprocessors, programmable logic controllers, multiprocessor distributed systems, larger scale central processor systems or other architectures. 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 This European Standard is not relevant for software that has been identified as having no impact on safety, i.e. software of which failures cannot affect any identified safety functions. 1.4 This European Standard applies to all safety related software used in railway control and protection systems, including – application programming, – operating systems, – support tools, – firmware. 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 7.3.4.7 and 6.5.4.16 on pre-existing software and for tools in 6.7 are fulfilled. 1.6 Software developed according to any version of this European Standard will be considered as compliant and not subject to the requirements on pre-existing software. 1.7 This European Standard considers that modern application design often makes use of generic software that is suitable as a basis for various applications. Such generic software is then configured by data, algorithms, or both, for producing the executable software for the application. The general Clauses 1 to 6 and 9 of this European Standard apply to generic software as well as for application data or algorithms. The specific Clause 7 applies only for generic software while Clause 8 provides the specific requirements for application data or algorithms. 1.8 This European Standard is not intended to address commercial issues. These should be addressed as an essential part of any contractual agreement. All the clauses of this European Standard will need careful consideration in any commercial situation. 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. The assessor has to analyse the evidences provided in the software documentation to confirm whether the determination of the nature and scope of software changes is adequate. However, application of this European Standard during upgrades and maintenance of existing software is highly recommended.
EN 50128:2011 is classified under the following ICS (International Classification for Standards) categories: 35.240.60 - IT applications in transport; 45.020 - Railway engineering in general; 93.100 - Construction of railways. The ICS classification helps identify the subject area and facilitates finding related standards.
EN 50128:2011 has the following relationships with other standards: It is inter standard links to EN 50128:2001, EN 50716:2023, prEN 50126-5, EN 50128:2011/A2:2020, EN 50128:2011/A1:2020, EN 50128:2011/AC:2014. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
EN 50128:2011 is associated with the following European legislation: EU Directives/Regulations: 2001/16/EC, 2008/57/EC, 2016/797/EU, 96/48/EC; Standardization Mandates: M/483. When a standard is cited in the Official Journal of the European Union, products manufactured in conformity with it benefit from a presumption of conformity with the essential requirements of the corresponding EU directive or regulation.
You can purchase EN 50128:2011 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of CLC standards.
Standards Content (Sample)
SLOVENSKI STANDARD
01-september-2011
1DGRPHãþD
SIST EN 50128:2002
äHOH]QLãNHQDSUDYH.RPXQLNDFLMVNLVLJQDOQLLQSURFHVQLVLVWHPL3URJUDPVND
RSUHPD]DåHOH]QLãNHNUPLOQHLQ]DãþLWQHVLVWHPH
Railway applications - Communication, signalling and processing systems - Software for
railway control and protection systems
Bahnanwendungen - Telekommunikationstechnik, Signaltechnik und
Datenverarbeitungssysteme - Software für Eisenbahnsteuerungs- und
Überwachungssysteme
Applications ferroviaires - Systèmes de signalisation, de télécommunication et de
traitement - Logiciels pour systèmes de commande et de protection ferroviaire
Ta slovenski standard je istoveten z: EN 50128:2011
ICS:
35.240.60 Uporabniške rešitve IT v IT applications in transport
transportu in trgovini and trade
45.020 Železniška tehnika na Railway engineering in
splošno general
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
EUROPEAN STANDARD
EN 50128
NORME EUROPÉENNE
June 2011
EUROPÄISCHE NORM
ICS 35.240.60; 45.020; 93.100 Supersedes EN 50128:2001
English version
Railway applications -
Communication, signalling and processing systems -
Software for railway control and protection systems
Applications ferroviaires - Bahnanwendungen -
Systèmes de signalisation, de Telekommunikationstechnik,
télécommunication et de traitement - Signaltechnik und
Logiciels pour systèmes de commande et Datenverarbeitungssysteme -
de protection ferroviaire Software für Eisenbahnsteuerungs- und
Überwachungssysteme
This European Standard was approved by CENELEC on 2011-04-25. CENELEC members are bound to
comply with the CEN/CENELEC Internal Regulations which stipulate the conditions for giving this European
Standard the status of a national standard without any alteration.
Up-to-date lists and bibliographical references concerning such national standards may be obtained on
application to the Central Secretariat or to any CENELEC member.
This European Standard exists in three official versions (English, French, German). A version in any other
language made by translation under the responsibility of a CENELEC member into its own language and
notified to the Central Secretariat has the same status as the official versions.
CENELEC members are the national electrotechnical committees of Austria, Belgium, Bulgaria, Croatia,
Cyprus, the Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland,
Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, the Netherlands, Norway, Poland, Portugal, Romania,
Slovakia, Slovenia, Spain, Sweden, Switzerland and the United Kingdom.
CENELEC
European Committee for Electrotechnical Standardization
Comité Européen de Normalisation Electrotechnique
Europäisches Komitee für Elektrotechnische Normung
Management Centre: Avenue Marnix 17, B - 1000 Brussels
© 2011 CENELEC - All rights of exploitation in any form and by any means reserved worldwide for CENELEC members.
Ref. No. EN 50128:2011 E
Contents
Foreword . 6
Introduction . 7
1 Scope . 10
2 Normative references . 11
3 Terms, definitions and abbreviations . 11
3.1 Terms and definitions . 11
3.2 Abbreviations . 15
4 Objectives, conformance and software safety integrity levels . 16
5 Software management and organisation. 17
5.1 Organisation, roles and responsibilities . 17
5.2 Personnel competence . 20
5.3 Lifecycle issues and documentation . 21
6 Software assurance . 23
6.1 Software testing . 23
6.2 Software verification . 25
6.3 Software validation . 27
6.4 Software assessment . 28
6.5 Software quality assurance. 30
6.6 Modification and change control. 33
6.7 Support tools and languages . 34
7 Generic software development . 37
7.1 Lifecycle and documentation for generic software . 37
7.2 Software requirements . 37
7.3 Architecture and Design . 40
7.4 Component design . 46
7.5 Component implementation and testing . 49
7.6 Integration . 50
7.7 Overall Software Testing / Final Validation . 52
8 Development of application data or algorithms: systems configured by application data or
algorithms . 54
- 3 - EN 50128:2011
8.1 Objectives . 54
8.2 Input documents . 55
8.3 Output documents . 55
8.4 Requirements . 55
9 Software deployment and maintenance . 60
9.1 Software deployment . 60
9.2 Software maintenance . 62
Annex A (normative) Criteria for the Selection of Techniques and Measures . 65
A.1 Clauses tables . 66
A.2 Detailed tables . 73
Annex B (normative) Key software roles and responsibilities . 79
Annex C (informative) Documents Control Summary . 88
Annex D (informative) Bibliography of techniques . 90
D.1 Artificial Intelligence Fault Correction . 90
D.2 Analysable Programs . 90
D.3 Avalanche/Stress Testing . 91
D.4 Boundary Value Analysis . 91
D.5 Backward Recovery . 92
D.6 Cause Consequence Diagrams . 92
D.7 Checklists . 92
D.8 Control Flow Analysis. 93
D.9 Common Cause Failure Analysis . 93
D.10 Data Flow Analysis. 94
D.11 Data Flow Diagrams . 94
D.12 Data Recording and Analysis . 95
D.13 Decision Tables (Truth Tables). 95
D.14 Defensive Programming . 96
D.15 Coding Standards and Style Guide . 96
D.16 Diverse Programming . 97
D.17 Dynamic Reconfiguration . 98
D.18 Equivalence Classes and Input Partition Testing. 98
D.19 Error Detecting and Correcting Codes . 98
D.20 Error Guessing . 99
D.21 Error Seeding . 99
D.22 Event Tree Analysis . 99
D.23 Fagan Inspections. 100
D.24 Failure Assertion Programming . 100
D.25 SEEA – Software Error Effect Analysis . 100
D.26 Fault Detection and Diagnosis . 101
D.27 Finite State Machines/State Transition Diagrams . 102
D.28 Formal Methods . 102
D.29 Formal Proof . 108
D.30 Forward Recovery . 108
D.31 Graceful Degradation . 108
D.32 Impact Analysis . 109
D.33 Information Hiding / Encapsulation . 109
D.34 Interface Testing . 110
D.35 Language Subset . 110
D.36 Memorising Executed Cases . 110
D.37 Metrics . 111
D.38 Modular Approach . 111
D.39 Performance Modelling . 112
D.40 Performance Requirements . 112
D.41 Probabilistic Testing . 113
D.42 Process Simulation . 113
D.43 Prototyping / Animation . 114
D.44 Recovery Block . 114
D.45 Response Timing and Memory Constraints . 114
D.46 Re-Try Fault Recovery Mechanisms. 115
D.47 Safety Bag . 115
D.48 Software Configuration Management . 115
D.49 Strongly Typed Programming Languages . 115
D.50 Structure Based Testing . 116
D.51 Structure Diagrams . 116
D.52 Structured Methodology . 117
D.53 Structured Programming . 117
D.54 Suitable Programming languages . 118
D.55 Time Petri Nets . 119
D.56 Walkthroughs / Design Reviews . 119
D.57 Object Oriented Programming . 119
D.58 Traceability . 120
D.59 Metaprogramming . 121
D.60 Procedural programming . 121
D.61 Sequential Function Charts . 121
D.62 Ladder Diagram . 122
D.63 Functional Block Diagram . 122
D.64 State Chart or State Diagram . 122
D.65 Data modelling . 122
D.66 Control Flow Diagram/Control Flow Graph . 123
D.67 Sequence diagram . 124
D.68 Tabular Specification Methods . 124
D.69 Application specific language . 124
D.70 UML (Unified Modeling Language) . 125
D.71 Domain specific languages . 126
Bibliography . 127
- 5 - EN 50128:2011
Figures
Figure 1 – Illustrative Software Route Map . 9
Figure 2 – Illustration of the preferred organisational structure . 18
Figure 3 – Illustrative Development Lifecycle 1 . 22
Figure 4 – Illustrative Development Lifecycle 2 . 23
Tables
Table 1 - Relation between tool class and applicable sub-clauses . 37
Table A.1– Lifecycle Issues and Documentation (5.3) . 66
Table A.2 – Software Requirements Specification (7.2) . 68
Table A.3 – Software Architecture (7.3) . 69
Table A.4– Software Design and Implementation (7.4) . 70
Table A.5 – Verification and Testing (6.2 and 7.3) . 71
Table A.6 – Integration (7.6) . 71
Table A.7 – Overall Software Testing (6.2 and 7.7) . 71
Table A.8 – Software Analysis Techniques (6.3) . 72
Table A.9 – Software Quality Assurance (6.5) . 72
Table A.10 – Software Maintenance (9.2) . 72
Table A.11 – Data Preparation Techniques (8.4) . 73
Table A.12 – Coding Standards . 73
Table A.13 – Dynamic Analysis and Testing . 74
Table A.14 – Functional/Black Box Test . 74
Table A.15 – Textual Programming Languages . 75
Table A.16 – Diagrammatic Languages for Application Algorithms . 75
Table A.17 – Modelling . 76
Table A.18 – Performance Testing . 76
Table A.19 – Static Analysis . 76
Table A.20 – Components . 77
Table A.21 – Test Coverage for Code . 77
Table A.22 – Object Oriented Software Architecture . 78
Table A.23 – Object Oriented Detailed Design . 78
Table B.1 – Requirements Manager Role Specification . 79
Table B.2 – Designer Role Specification . 80
Table B.3 – Implementer Role Specification. 81
Table B.4 – Tester Role Specification . 82
Table B.5 – Verifier Role Specification . 83
Table B.6 – Integrator Role Specification . 84
Table B.7 – Validator Role Specification. 85
Table B.8 – Assessor Role Specification . 86
Table B.9 – Project Manager Role Specification . 87
Table B.10 – Configuration Manager Role Specification . 87
Table C.1 – Documents Control Summary . 88
Foreword
This European Standard was prepared by SC 9XA, Communication, signalling and processing systems, of
Technical Committee CENELEC TC 9X, Electrical and electronic applications for railways. .
It was submitted to the Formal Vote and was approved by CENELEC as EN 50128 on
2011-04-25.
This document supersedes EN 50128:2001.
The main changes with respect to EN 50128:2001 are listed below:
• requirements on software management and organisation, definition of roles and competencies,
deployment and maintenance have been added;
• a new clause on tools has been inserted, based on EN 61508-2:2010;
• tables in Annex A have been updated.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. CEN and CENELEC shall not be held responsible for identifying any or all such patent rights.
The following dates were fixed:
– latest date by which the EN has to be implemented
at national level by publication of an identical
national standard or by endorsement
(dop) 2012-04-25
– latest date by which the national standards conflicting
2014-04-25
with the EN have to be withdrawn
(dow)
This European Standard should be read in conjunction with EN 50126-1:1999 "Railway applications –
The specification and demonstration of Reliability, Availability, Maintainability and Safety (RAMS) – Part 1:
Basic requirements and generic process” and EN 50129:2003 "Railway applications – Communication,
signalling and processing systems – Safety related electronic systems for signalling".
__________
- 7 - EN 50128:2011
Introduction
This European Standard is part of a group of related standards. The others are EN 50126-1:1999 "Railway
applications – The specification and demonstration of Reliability, Availability, Maintainability and Safety
(RAMS) – Part 1: Basic requirements and generic process” and EN 50129:2003 "Railway applications –
Communication, signalling and processing systems – Safety related electronic systems for signalling".
EN 50126-1 addresses system issues on the widest scale, while EN 50129 addresses the approval process
for individual systems which can exist within the overall railway control and protection system. This European
Standard concentrates on the methods which need to be used in order to provide software which meets the
demands for safety integrity which are placed upon it by these wider considerations.
This European Standard provides a set of requirements with which the development, deployment and
maintenance of any safety-related software intended for railway control and protection applications shall
comply. It defines requirements concerning organisational structure, the relationship between organisations
and division of responsibility involved in the development, deployment and maintenance activities. Criteria for
the qualification and expertise of personnel are also provided in this European Standard.
The key concept of this European Standard is that of levels of software safety integrity. This European
Standard addresses five software safety integrity levels where 0 is the lowest and 4 the highest one.
The higher the risk resulting from software failure, the higher the software safety integrity level will be.
This European Standard has identified techniques and measures for the five levels of software safety
integrity. The required techniques and measures for software safety integrity levels 0-4 are shown in the
normative tables of Annex A. In this version, the required techniques for level 1 are the same as for level 2,
and the required techniques for level 3 are the same as for level 4. This European Standard does not give
guidance on which level of software safety integrity is appropriate for a given risk. This decision will depend
upon many factors including the nature of the application, the extent to which other systems carry out safety
functions and social and economic factors.
It is within the scope of EN 50126-1 and EN 50129 to define the process of specifying the safety functions
allocated to software.
This European Standard specifies those measures necessary to achieve these requirements.
EN 50126-1 and EN 50129 require that a systematic approach be taken to
a) identify hazards, assessing risks and arriving at decisions based on risk criteria,
b) identify the necessary risk reduction to meet the risk acceptance criteria,
c) define an overall System Safety Requirements Specification for the safeguards necessary to achieve the
required risk reduction,
d) select a suitable system architecture,
e) plan, monitor and control the technical and managerial activities necessary to translate the System Safety
Requirements Specification into a Safety-Related System of a validated safety integrity.
As decomposition of the specification into a design comprising safety-related systems and components takes
place, further allocation of safety integrity levels is performed. Ultimately this leads to the required software
safety integrity levels.
The current state-of-the-art is such that neither the application of quality assurance methods (so-called fault
avoiding measures and fault detecting measures) nor the application of software fault tolerant approaches
can guarantee the absolute safety of the software. There is no known way to prove the absence of faults in
reasonably complex safety-related software, especially the absence of specification and design faults.
The principles applied in developing high integrity software include, but are not restricted to
– top-down design methods,
– modularity,
– verification of each phase of the development lifecycle,
– verified components and component libraries,
– clear documentation and traceability,
– auditable documents,
– validation,
– assessment,
– configuration management and change control and
– appropriate consideration of organisation and personnel competency issues.
The System Safety Requirements Specification identifies all safety functions allocated to software and
determines their system safety integrity level. The successive functional steps in the application of this
European Standard are shown in Figure 1 and are as follows:
a) define the Software Requirements Specification and in parallel consider the software architecture.
The software architecture is where the safety strategy is developed for the software and the software
safety integrity level (7.2 and 7.3);
b) design, develop and test the software according to the Software Quality Assurance Plan, software safety
integrity level and the software lifecycle (7.4 and 7.5);
c) integrate the software on the target hardware and verify functionality (7.6);
d) accept and deploy the software (7.7 and 9.1);
e) if software maintenance is required during operational life then re-activate this European Standard as
appropriate (9.2).
A number of activities run across the software development. These include testing (6.1), verification (6.2),
validation (6.3), assessment (6.4), quality assurance (6.5) and modification and change control (6.6).
Requirements are given for support tools (6.7) and for systems which are configured by application data or
algorithms (Clause 8).
Requirements are also given for the independence of roles and the competence of staff involved in software
development (5.1, 5.2 and Annex B).
This European Standard does not mandate the use of a particular software development lifecycle. However,
illustrative lifecycle and documentation sets are given in 5.3, Figure 3 and Figure 4 and in 7.1.
Tables have been formulated ranking various techniques/measures against the software safety integrity
levels 0-4. The tables are in Annex A. Cross-referenced to the tables is a bibliography giving a brief
description of each technique/measure with references to further sources of information. The bibliography of
techniques is in Annex D.
- 9 - EN 50128:2011
Obtain System Requirements Specification,
System Safety Requirements Specification
System Architecture Description and System
Safety Plan for the system
Identify all the safety functions allocated to the
software
Review all safety functions allocated to the
software and determine the Software Safety
Integrity Level
Produce the Software Requirements
Specification and the Software Architecture
Specification
Design, develop and verify/test the software
according to the Software Quality Assurance
Plan, Software Safety Integrity Level and the
Software Lifecycle
Perform the Software Validation and hand
over to system engineers
Operational life of the system
Software Maintenance
Figure 1 – Illustrative Software Route Map
1 Scope
1.1 This European Standard specifies the process and technical requirements for the development of
software for programmable electronic systems for use in railway control and protection applications. It is
aimed at use in any area where there are safety implications. These systems can be implemented using
dedicated microprocessors, programmable logic controllers, multiprocessor distributed systems, larger scale
central processor systems or other architectures.
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 This European Standard is not relevant for software that has been identified as having no impact on
safety, i.e. software of which failures cannot affect any identified safety functions.
1.4 This European Standard applies to all safety related software used in railway control and protection
systems, including
– application programming,
– operating systems,
– support tools,
– firmware.
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 7.3.4.7 and 6.5.4.16 on pre-existing software and for tools in 6.7 are
fulfilled.
1.6 Software developed according to any version of this European Standard will be considered as compliant
and not subject to the requirements on pre-existing software.
1.7 This European Standard considers that modern application design often makes use of generic software
that is suitable as a basis for various applications. Such generic software is then configured by data,
algorithms, or both, for producing the executable software for the application. The general Clauses 1 to 6 and
9 of this European Standard apply to generic software as well as for application data or algorithms. The
specific Clause 7 applies only for generic software while Clause 8 provides the specific requirements for
application data or algorithms.
1.8 This European Standard is not intended to address commercial issues. These should be addressed as
an essential part of any contractual agreement. All the clauses of this European Standard will need careful
consideration in any commercial situation.
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. The assessor has to analyse the evidences provided in the software
documentation to confirm whether the determination of the nature and scope of software changes is
adequate. However, application of this European Standard during upgrades and maintenance of existing
software is highly recommended.
- 11 - EN 50128:2011
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
EN 50126-1:1999 Railway applications – The specification and demonstration of Reliability, Availability,
Maintainability and Safety (RAMS) – Part 1: Basic requirements and generic process
EN 50129:2003 Railway applications – Communication, signalling and processing systems –
Safety related electronic systems for signalling
EN ISO 9000 Quality management systems – Fundamentals and vocabulary (ISO 9000:2005)
EN ISO 9001 Quality management systems – Requirements (ISO 9001:2008)
ISO/IEC 90003:2004 Software engineering – Guidelines for the application of ISO 9001:2000 to computer
software
ISO/IEC 9126 series Software engineering – Product quality
3 Terms, definitions and abbreviations
3.1 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
3.1.1
assessment
process of analysis to determine whether software, which may include process, documentation, system,
subsystem hardware and/or software components, meets the specified requirements and to form a
judgement as to whether the software is fit for its intended purpose. Safety assessment is focused on but not
limited to the safety properties of a system
3.1.2
assessor
entity that carries out an assessment
3.1.3
commercial off-the-shelf (COTS) software
software defined by market-driven need, commercially available and whose fitness for purpose has been
demonstrated by a broad spectrum of commercial users
3.1.4
component
a constituent part of software which has well-defined interfaces and behaviour with respect to the software
architecture and design and fulfils the following criteria:
– it is designed according to “Components” (see Table A.20);
– it covers a specific subset of software requirements;
– it is clearly identified and has an independent version inside the configuration management system or is
a part of a collection of components (e. g. subsystems) which have an independent version
3.1.5
configuration manager
entity that is responsible for implementing and carrying out the processes for the configuration management
of documents, software and related tools including change management
3.1.6
customer
entity which purchases a railway control and protection system including the software
3.1.7
designer
entity that analyses and transforms specified requirements into acceptable design solutions which have the
required safety integrity level
3.1.8
entity
person, group or organisation who fulfils a role as defined in this European Standard
3.1.9
error, fault
defect, mistake or inaccuracy which could result in failure or in a deviation from the intended performance or
behaviour
3.1.10
failure
unacceptable difference between required and observed performance
3.1.11
fault tolerance
built-in capability of a system to provide continued correct provision of service as specified, in the presence of
a limited number of hardware or software faults
3.1.12
firmware
software stored in read-only memory or in semi-permanent storage such as flash memory, in a way that is
functionally independent of applicative software
3.1.13
generic software
software which can be used for a variety of installations purely by the provision of application-specific data
and/or algorithms
3.1.14
implementer
entity that transforms specified designs into their physical realisation
3.1.15
integration
process of assembling software and/or hardware items, according to the architectural and design
specification, and testing the integrated unit
3.1.16
integrator
entity that carries out software integration
3.1.17
pre-existing software
software developed prior to the application currently in question, including COTS (commercial off-the shelf)
and open source software
3.1.18
open source software
source code available to the general public with relaxed or non-existent copyright restrictions
- 13 - EN 50128:2011
3.1.19
programmable logic controller
solid-state control system which has a user programmable memory for storage of instructions to implement
specific functions
3.1.20
project management
administrative and/or technical conduct of a project, including safety aspects
3.1.21
project manager
entity that carries out project management
3.1.22
reliability
ability of an item to perform a required function under given conditions for a given period of time
3.1.23
robustness
ability of an item to detect and handle abnormal situations
3.1.24
requirements manager
entity that carries out requirements management
3.1.25
requirements management
the process of eliciting, documenting, analysing, prioritising and agreeing on requirements and then
controlling change and communicating to relevant stakeholders. It is a continuous process throughout a
project
3.1.26
risk
combination of the rate of occurrence of accidents and incidents resulting in harm (caused by a hazard) and
the degree of severity of that harm
3.1.27
safety
freedom from unacceptable levels of risk of harm to people
3.1.28
safety authority
body responsible for certifying that safety related software or services comply with relevant statutory safety
requirements
3.1.29
safety function
a function that implements a part or whole of a safety requirement
3.1.30
safety-related software
software which performs safety functions
3.1.31
software
intellectual creation comprising the programs, procedures, rules, data and any associated documentation
pertaining to the operation of a system
3.1.32
software baseline
complete and consistent set of source code, executable files, configuration files, installation scripts and
documentation that are needed for a software release. Information about compilers, operating systems, pre-
existing software and dep
...
SLOVENSKI STANDARD
01-september-2011
Nadomešča:
SIST EN 50128:2002
Železniške naprave - Komunikacijski, signalni in procesni sistemi - Programska
oprema za železniške krmilne in zaščitne sisteme
Railway applications - Communication, signalling and processing systems - Software for
railway control and protection systems
Bahnanwendungen - Telekommunikationstechnik, Signaltechnik und
Datenverarbeitungssysteme - Software für Eisenbahnsteuerungs- und
Überwachungssysteme
Applications ferroviaires - Systèmes de signalisation, de télécommunication et de
traitement - Logiciels pour systèmes de commande et de protection ferroviaire
Ta slovenski standard je istoveten z: EN 50128:2011
ICS:
35.240.60 Uporabniške rešitve IT v IT applications in transport
prometu
45.020 Železniška tehnika na Railway engineering in
splošno general
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
NORME EUROPÉENNE
EN 50128
EUROPÄISCHE NORM
Juin 2011
EUROPEAN STANDARD
ICS 35.240.60; 45.020; 93.100 Remplace EN 50128:2001
Version française
Applications ferroviaires -
Systèmes de signalisation, de télécommunication et de traitement -
Logiciels pour systèmes de commande et de protection ferroviaire
Bahnanwendungen - Railway applications -
Telekommunikationstechnik, Communication, signalling and processing
Signaltechnik und systems -
Datenverarbeitungssysteme - Software for railway control and protection
Software für Eisenbahnsteuerungs- und systems
Überwachungssysteme
La présente Norme Européenne a été adoptée par le CENELEC le 2011-04-25. Les membres du CENELEC
sont tenus de se soumettre au Règlement Intérieur du CEN/CENELEC qui définit les conditions dans lesquelles
doit être attribué, sans modification, le statut de norme nationale à la Norme Européenne.
Les listes mises à jour et les références bibliographiques relatives à ces normes nationales peuvent être
obtenues auprès du Secrétariat Central ou auprès des membres du CENELEC.
La présente Norme Européenne existe en trois versions officielles (allemand, anglais, français). Une version
dans une autre langue faite par traduction sous la responsabilité d'un membre du CENELEC dans sa langue
nationale, et notifiée au Secrétariat Central, a le même statut que les versions officielles.
Les membres du CENELEC sont les comités électrotechniques nationaux des pays suivants: Allemagne,
Autriche, Belgique, Bulgarie, Chypre, Croatie, Danemark, Espagne, Estonie, Finlande, France, Grèce, Hongrie,
Irlande, Islande, Italie, Lettonie, Lituanie, Luxembourg, Malte, Norvège, Pays-Bas, Pologne, Portugal,
République Tchèque, Roumanie, Royaume-Uni, Slovaquie, Slovénie, Suède et Suisse.
CENELEC
Comité Européen de Normalisation Electrotechnique
Europäisches Komitee für Elektrotechnische Normung
European Committee for Electrotechnical Standardization
Management Centre: Avenue Marnix 17, B - 1000 Bruxelles
© 2011 CENELEC - Tous droits d'exploitation sous quelque forme et de quelque manière que ce soit réservés dans le monde entier aux
membres du CENELEC.
Ref. n° EN 50128:2011 F
Sommaire
Foreword . 5
Introduction . 7
1 Domaine d'application . 10
2 Références normatives. 11
3 Termes, définitions et abréviations . 11
3.1 Termes et définitions . 11
3.2 Abréviations . 15
4 Objectifs, conformité et niveaux d'intégrité de sécurité du logiciel . 16
5 Organisation et gestion du développement logiciel . 17
5.1 Organisation, rôles et responsabilités . 17
5.2 Compétence du personnel . 21
5.3 Questions relatives au cycle de vie et à la documentation . 21
6 Assurance du logiciel . 24
6.1 Test du logiciel . 24
6.2 Vérification du logiciel . 26
6.3 Validation du logiciel . 28
6.4 Évaluation du logiciel . 29
6.5 Assurance Qualité du Logiciel . 31
6.6 Contrôle des modifications et des évolutions . 34
6.7 Outils et langages . 35
7 Développement de logiciel générique . 39
7.1 Cycle de vie et documentation pour logiciel générique. 39
7.2 Exigences relatives au logiciel . 39
7.3 Architecture et Conception . 42
7.4 Conception du Composant . 48
7.5 Réalisation et Test des composants . 51
7.6 Intégration . 52
7.7 Tests d'Ensemble du Logiciel / Validation Finale . 54
8 Développement de données d'application ou d'algorithmes d'application : systèmes
configurés par des données d'application ou par des algorithmes d'application . 56
8.1 Objectifs . 56
8.2 Documents en entrée. 57
- 3 - EN 50128:2011
8.3 Documents en sortie. 57
8.4 Exigences . 57
9 Déploiement et maintenance du logiciel . 62
9.1 Déploiement du logiciel . 62
9.2 Maintenance du logiciel . 64
Annexe A (normative) Critères de sélection des techniques et mesures . 67
A.1 Tableaux d'articles . 68
A.2 Tableaux détaillés . 76
Annexe B (normative) Principaux rôles et responsabilités relatifs au logiciel . 82
Annexe C (informative) Résumé du contrôle des documents . 91
Annexe D (informative) Bibliographie des techniques . 93
D.1 Intelligence artificielle - Correction des défauts . 93
D.2 Programmes analysables . 93
D.3 Tests en avalanche/en surcharge . 94
D.4 Analyse des valeurs aux limites . 94
D.5 Rattrapage par régression . 95
D.6 Schémas de cause et de conséquence . 95
D.7 Listes de contrôle . 95
D.8 Analyse de Flux de Contrôle . 96
D.9 Analyse des défaillances de mode commun . 96
D.10 Analyse du flux de données . 97
D.11 Organigrammes des données . 97
D.12 Enregistrement et analyse des données. 98
D.13 Tables de décision (Tables de vérité) . 99
D.14 Programmation défensive . 99
D.15 Normes de codage et Guide de style. 100
D.16 Programmation diversifiée . 100
D.17 Reconfiguration dynamique . 101
D.18 Tests de classes d'équivalence et de partition d'entrée . 101
D.19 Codes de détection et de correction d'erreurs . 102
D.20 Supposition d'erreurs . 102
D.21 Insertion d'erreurs . 102
D.22 Analyse par arbre des événements . 103
D.23 Inspection de Fagan . 103
D.24 Programmation par assertion des défaillances . 103
D.25 AEEL – Analyse des Effets des Erreurs du Logiciel . 104
D.26 Détection des défauts et diagnostic . 105
D.27 Automates à états finis/Schémas de transitions d'état . 105
D.28 Méthodes formelles . 106
D.28.1 CSP - Processus Séquentiels de Communication . 107
D.28.2 CCS - Algèbre des Systèmes de Transmission . 107
D.28.3 HOL - Logique d'Ordre Supérieur . 107
D.28.4 LOTOS . 108
D.28.5 OBJ . 108
D.28.6 Logique temporelle . 109
D.28.7 VDM - Méthode de Développement de Vienne . 109
D.28.8 Méthode Z . 109
D.28.9 Méthode B . 110
D.28.10Vérification du modèle . 111
D.29 Preuve formelle . 111
D.30 Rattrapage par progression . 112
D.31 Dégradation contrôlée . 112
D.32 Analyse d'impact . 112
D.33 Masquage d'informations/Encapsulation . 113
D.34 Tests d'interface. 113
D.35 Sous-ensemble de langage . 114
D.36 Mémorisation des cas exécutés . 114
D.37 Métriques . 114
D.38 Approche modulaire . 115
D.39 Modélisation des performances . 115
D.40 Exigences en matière de performance . 116
D.41 Tests probabilistes . 116
D.42 Simulation de processus . 117
D.43 Prototypage/Anim ation . 118
D.44 Bloc de rattrapage . 118
D.45 Temps de réponse et contraintes de place mémoire . 118
D.46 Rattrapage par ré-exécution . 118
D.47 Sécurité Contrôlée . 119
D.48 Gestion de la configuration du logiciel . 119
D.49 Langages de programmation à fort typage . 119
D.50 Tests structurels . 120
D.51 Schémas de structure . 120
D.52 Méthodologie structurée . 121
D.53 Programmation structurée . 121
D.54 Langages de programmation adaptés . 122
D.55 Réseaux de Pétri temporels . 123
D.56 Révisions structurées/ Revues de la conception . 123
D.57 Programmation orientée objet . 124
D.58 Traçabilité . 124
D.59 Métaprogrammation . 125
D.60 Programmation procédurale . 125
D.61 Graphes séquentiels de fonction . 126
D.62 Schéma à contact . 126
D.63 Diagramme fonctionnel . 126
D.64 Graphe d'états ou Diagramme d'états . 126
D.65 Modélisation de données . 127
D.66 Diagramme de flux de commande/Graphe de flux de commande . 127
D.67 Diagramme de séquence . 128
D.68 Méthodes de spécification en tableaux . 129
D.69 Langage spécifique à l'application . 129
D.70 UML (Unified Modeling Language, langage de modélisation unifié). 129
D.71 Langages spécifiques à un domaine . 130
Bibliographie . 132
- 5 - EN 50128:2011
Avant-propos
La présente Norme Européenne a été préparée par le SC 9XA, Systèmes de signalisation, de
télécommunications et de traitement, du comité technique CENELEC TC 9X, Applications électriques et
électroniques dans le domaine ferroviaire.
Le texte du projet a été soumis au vote formel et a été approuvé par le CENELEC comme EN 50128 le
2011-04-25.
Ce document remplace l'EN 50128:2001.
Les principales modifications par rapport à l'EN 50128:2001 sont énumérées ci-après :
• des exigences relatives à la gestion et à l'organisation, à la définition des rôles et des compétences, au
déploiement et à la maintenance des logiciels ont été ajoutées;
• un nouvel article concernant les outils a été ajouté, fondé sur l'EN 61508-2:2010;
• les Tableaux dans l'Annexe A ont été mis à jour.
L'attention du lecteur est attiré sur la possibilité que certains éléments de ce document peuvent être couverts
par des brevets. Le CEN et le CENELEC ne sauraient être tenus pour responsable de l'identification de tels
brevets.
Les dates suivantes ont été fixées:
– date limite à laquelle l'EN doit être mise en application au
niveau national par publication d'une norme nationale
identique ou par entérinement
(dop) 2012-04-25
– date limite à laquelle les normes nationales conflictuelles
2014-04-25
doivent être annulées
(dow)
Il convient de lire la présente Norme Européenne conjointement à l'EN 50126-1:1999 «Applications
ferroviaires - Spécification et démonstration de la fiabilité, de la disponibilité, de la maintenabilité et de la
sécurité (FDMS) - Partie 1 : Exigences de base et procédés génériques» et à l'EN 50129:2003 «Applications
ferroviaires - Systèmes de signalisation, de télécommunications et de traitement - Systèmes électroniques de
sécurité pour la signalisation».
__________
Figures
Figure 1 – Démarche illustrative relative au logiciel. 9
Figure 2 – Illustration de la structure organisationnelle préférentielle . 18
Figure 3 – Cycle de vie de développement 1 . 23
Figure 4 – Illustration d'un cycle de vie de développement 2 . 24
Tableaux
Tableau 1 - Relation entre les classe d'outils et les paragraphes applicables . 38
Tableau A.1– Problèmes liés au cycle de vie et Documentation (5.3) . 68
Tableau A.2 – Spécification des Exigences du Logiciel (7.2) . 70
Tableau A.3 – Architecture du Logiciel (7.3) . 71
Tableau A.4– Conception et mise en œuvre du logiciel (7.4) . 72
Tableau A.5 – Vérification et Tests (6.2 et 7.3) . 73
Tableau A.6 – Intégration (7.6) . 73
Tableau A.7– Tests d'Ensemble du Logiciel (6.2et 7.7) . 73
Tableau A.8 – Techniques d'analyse logicielle (6.3) . 74
Tableau A.9 – Assurance Qualité du logiciel (6.5) . 74
Tableau A.10 – Maintenance du Logiciel (9.2) . 74
Tableau A.11 – Techniques de préparation des données (8.4). 75
Tableau A.12 – Normes de codage . 76
Tableau A.13 – Analyse et Tests dynamiques. 76
Tableau A.14 – Test fonctionnel/boîte noire . 77
Tableau A.15 – Langages de programmation textuels . 77
Tableau A.16 – Langages diagrammatiques pour algorithmes d'application . 78
Tableau A.17 – Modélisation . 78
Tableau A.18 – Tests de Performance . 78
Tableau A.19 – Analyse statique . 79
Tableau A.20 – Composants . 79
Tableau A.21 – Couverture des tests pour le code . 80
Tableau A.22 – Architecture de logiciel orienté objet . 81
Tableau A.23 – Conception détaillée orientée objet . 81
Tableau B.1 — Spécification du Rôle du Gestionnaire des Exigences . 82
Tableau B.2 — Spécification du Rôle du Concepteur . 83
Tableau B.3 — Spécification du Rôle du Réalisateur . 84
Tableau B.4 — Spécification du Rôle du Chargé des tests . 85
Tableau B.5 — Spécification du Rôle du Chargé de vérification . 86
Tableau B.6 — Spécification du Rôle du Chargé d'intégration . 87
Tableau B.7 — Spécification du Rôle du Chargé de Chargé de validation . 88
Tableau B.8 — Spécification du Rôle du Chargé d'évaluation . 89
Tableau B.9 — Spécification du Rôle du Chef de projet . 90
Tableau B.10 — Spécification du Rôle du Gestionnaire de la Configuration . 90
Tableau C.1 — Résumé du Contrôle des Documents . 91
- 7 - EN 50128:2011
Introduction
La présente Norme Européenne fait partie intégrante d'un groupe de normes connexes. Les autres
documents de ce groupe sont les EN 50126-1:1999 «Applications ferroviaires - Spécification et
démonstration de la fiabilité, de la disponibilité, de la maintenabilité et de la sécurité (FDMS) –
Partie 1 : Exigences de base et procédés génériques» et EN 50129:2003 «Applications ferroviaires -
Systèmes de signalisation, de télécommunications et de traitement - Systèmes électroniques de sécurité
pour la signalisation».
L'EN 50126-1 traite des systèmes au niveau le plus général, tandis que l'EN 50129 traite des processus
d'approbation des systèmes individuels qui peuvent exister dans le cadre du système ferroviaire global de
contrôle-commande et de protection. La présente Norme Européenne traite en particulier des méthodes qu'il
est nécessaire d'utiliser pour fournir des logiciels répondant aux exigences d'intégrité de la sécurité imposées
par ces considérations plus larges.
La présente Norme Européenne fournit un ensemble d'exigences que le développement, le déploiement et la
maintenance de tout logiciel de sécurité destiné aux applications ferroviaires de contrôle-commande et de
protection doivent respecter. Elle définit les exigences concernant la structure organisationnelle, la relation
entre organisations et la répartition des responsabilités impliquées dans les activités de développement, de
déploiement et de maintenance. Des critères de qualification et d'expertise du personnel sont également
fournis dans la présente Norme Européenne.
Le concept clé de la présente Norme Européenne est celui des niveaux d'intégrité de la sécurité logicielle. La
présente Norme Européenne traite de cinq niveaux d'intégrité de sécurité logicielle dans lesquels 0
correspond au niveau le plus bas et 4 au niveau le plus élevé. Plus le risque résultant d'une défaillance
logicielle est élevé, plus le niveau d'intégrité de la sécurité logicielle est élevé.
La présente Norme Européenne a identifié des techniques et mesures applicables aux cinq niveaux
d'intégrité de la sécurité logicielle. Les techniques et mesures requises pour les niveaux 0 à 4 d'intégrité de la
sécurité logicielle sont indiquées dans les tableaux de l'Annexe A (normative). Dans la présente version, les
techniques requises pour le niveau 1 sont identiques à celles du niveau 2, et les techniques requises pour le
niveau 3 sont identiques à celles du niveau 4. La présente Norme Européenne ne fournit aucune ligne
directrice sur le niveau d'intégrité logicielle approprié pour un risque donné. Cette décision sera tributaire de
nombreux facteurs, notamment de la nature de l'application, de la limite dans laquelle les autres systèmes
assurent des fonctions de sécurité, ainsi que de facteurs socio-économiques.
Le processus de spécification des fonctions de sécurité allouées au logiciel fait partie du domaine
d'application des normes EN 50126-1 et EN 50129.
La présente Norme Européenne spécifie les mesures nécessaires au respect de ces exigences.
Les EN 50126-1 et EN 50129 exigent qu'une approche systématique soit adoptée en ce qui concerne :
a) l'identification des situations dangereuses, l'évaluation des risques et la prise de décisions en fonction de
critères de risque,
b) l'identification de la réduction des risques nécessaire au respect des critères d'acceptation de risque;
c) la définition d'une Spécification des Exigences de Sécurité du Système, globale, qui décrit les protections
indispensables en vue d'atteindre la réduction des risques requise,
d) le choix d'une architecture système adaptée,
e) la planification, le contrôle et la maîtrise des activités techniques et de management nécessaires pour
transformer la Spécification des exigences de sécurité du système en un Système de sécurité dont
l'intégrité de la sécurité est validée.
Au fur et à mesure que la spécification se décompose en une conception comprenant des composants et
des systèmes de sécurité, l'allocation des niveaux d'intégrité de la sécurité est effectuée. Finalement ceci
conduit aux niveaux d'intégrité de la sécurité logicielle requis.
L'état actuel de la technique est tel que ni l'application des méthodes d'assurance qualité (mesures
d'évitement des défauts et mesures de détection des défauts), ni l'application d'approches logicielles à
tolérance aux pannes ne peuvent garantir la sécurité absolue du logiciel. Il n'existe aucun moyen connu de
prouver l'absence de défauts dans un logiciel de sécurité même raisonnablement complexe, en particulier
l'absence de défauts de spécification et de conception.
Les principes appliqués dans le développement de logiciels à haute intégrité incluent, sans s'y limiter :
– des méthodes de conception descendante,
– la modularité,
– la vérification de chaque phase du cycle de vie du développement,
– des composants vérifiés et des bibliothèques de composants,
– une documentation claire et la traçabilité,
– des documents aptes à être audités,
– la validation,
– l'évaluation,
– la gestion de configuration et le contrôle des modifications, et
– l'étude appropriée des questions de compétence de l'organisation et du personnel.
La Spécification des exigences de sécurité du système identifie toutes les fonctions de sécurité allouées au
logiciel et détermine leur niveau d'intégrité de la sécurité du système. Les étapes fonctionnelles successives
de l'application de la présente Norme Européenne sont montrées à la Figure 1 et consistent à :
a) définir la Spécification des Exigences du Logiciel et, en parallèle, considérer l'architecture du logiciel. La
stratégie de sécurité pour le logiciel et le niveau d'intégrité de la sécurité logicielle (7.2 et 7.3) sont
développés dans l'architecturedu logiciel;
b) concevoir, développer et tester le logiciel selon le Plan d'Assurance Qualité du Logiciel, le niveau
d'intégrité de la sécurité logicielle et le cycle de vie du logiciel (7.4 et 7.5);
c) intégrer le logiciel sur le matériel cible et vérifier la fonctionnalité (7.6);
d) accepter et déployer le logiciel (7.7 et 9.1);
e) si la maintenance du logiciel est requise pendant la vie opérationnelle, réactiver le cas échéant la présente
Norme Européenne (9.2).
Un certain nombre d'activités se déroulent pendant le développement du logiciel, parmi lesquelles les tests
(6.1), la vérification (6.2), la validation (6.3), l'évaluation (6.4), l'assurance qualité (6.5) et le contrôle des
modifications et des évolutions (6.6).
Des exigences sont données en ce qui concerne les outils (6.7) et les systèmes qui sont configurés par des
données d'application ou par des algorithmes d'application (8).
Des exigences sont également fournies en ce qui concerne l'indépendance des rôles et la compétence du
personnel impliqué dans le développement du logiciel (5.1, 5.2 et Annexe B).
La présente Norme n'impose pas l'utilisation d'un cycle de vie spécifique de développement du logiciel.
Cependant des ensembles illustratifs de cycle de vie et de documentation sont fournis en 5.3, Figure 3,
Figure 4 et en 7.1.
Des tableaux ont été établis pour classer diverses techniques/mesures par rapport aux niveaux 0 à 4
d'intégrité de la sécurité logicielle. Les tableaux sont dans l'Annexe A. En référence croisée avec les
tableaux, la bibliographie fournit une brève description de chaque technique/mesure avec des références à
des sources complémentaires d'informations. La Bibliographie de techniques est dans l'Annexe D.
- 9 - EN 50128:2011
Obtenir la Spécification des Exigences du
Système, la Spécification des Exigences de
Sécurité du Système, la Description de
l'Architecture du Système et le Plan de Sécurité
du Système pour le Système
Identifier toutes les fonctions de sécurité
allouées au logiciel
Examiner toutes les fonctions de sécurité
allouées au logiciel et déterminer le niveau
d'intégrité de la sécurité logicielle
Produire les Spécifications des Exigences du
Logiciel et la Spécification de l'Architecture du
Logiciel
Concevoir, développer et vérifier/tester le
logiciel conformément au Plan d’Assurance
Qualité du Logiciel, au niveau d'intégrité de la
sécurité logicielle et au cycle de vie du logiciel
Effectuer la validation du logiciel et la
transmettre aux ingénieurs système
Système en service
Maintenance du logiciel
Figure 1 – Démarche illustrative relative au logiciel
1 Domaine d'application
1.1 La présente Norme Européenne spécifie les exigences de processus et les techniques applicables au
développement de logiciel pour des systèmes électroniques programmables utilisés dans les applications
ferroviaires de contrôle-commande et de protection. Elle est destinée à être utilisée dans tout domaine
comportant des implications de sécurité. Ces systèmes peuvent être mis en œuvre à l'aide de
microprocesseurs dédiés, de contrôleurs logiques programmables, de systèmes multiprocesseurs distribués,
de grands systèmes dotés d'un calculateur central ou à l'aide d'autres architectures.
1.2 La présente Norme Européenne est exclusivement applicable au logiciel et à l'interaction entre le logiciel
et le système auquel il appartient.
1.3 La présente Norme Européenne n'est pas pertinente pour les logiciels qui ont été identifiés comme
n'ayant aucun impact sur la sécurité, c'est-à-dire pour les logiciels dont les défaillances ne peuvent pas
affecter de fonctions de sécurité identifiées.
1.4 La présente Norme Européenne s'applique à tous les logiciels de sécurité utilisés dans des systèmes de
contrôle-commande et de protection du ferroviaire, y compris :
– la programmation d'applications,
– les systèmes d'exploitation,
– les outils,
– les microprogrammes.
La programmation d'applications inclut la programmation de haut niveau, la programmation de bas niveau et
la programmation spécifique personnalisée (par exemple : la logique à contacts d'un contrôleur logique
programmable).
1.5 La présente Norme Européenne traite également de l'utilisation de logiciels et d'outils préexistants. Ces
logiciels peuvent être utilisés si les exigences spécifiques en 7.3.4.7 et 6.5.4.16 relatives aux logiciels
préexistants et aux outils 6.7 sont satisfaites.
1.6 Un logiciel développé selon une version quelconque de la présente Norme Européenne sera considéré
conforme et non soumis aux exigences relatives aux logiciels préexistants.
1.7 La présente Norme Européenne considère que la conception moderne d'applications utilise
fréquemment des logiciels génériques qui conviennent comme base pour diverses applications. Ces logiciels
génériques sont ensuite configurés par des données et/ou des algorithmes, afin de produire le logiciel
exécutable pour l'application. Les Articles généraux 1 à 6 et 9 de la présente Norme Européenne s'appliquent
aux logiciels génériques ainsi qu'aux données d'application et algorithmes d'application. L'Article spécifique 7
s'applique uniquement pour les logiciels génériques alors que l'Article 8 fournit les exigences spécifiques
pour les données d'application et algorithmes d'application.
1.8 La présente Norme Européenne ne vise pas les problèmes commerciaux. Il convient toutefois de les
traiter comme une partie essentielle de tout accord contractuel. Il conviendra également que tous les articles
de la présente Norme Européenne soient considérés soigneusement dans toute situation commerciale.
1.9 La présente Norme Européenne n'est pas destinée à être rétroactive. Elle s'applique donc
principalement aux nouveaux développements et n'est applicable dans son intégralité aux systèmes existants
que s'ils font l'objet de modifications importantes. Pour les modifications mineures, seul le paragraphe 9.2
s'applique. Le Chargé d'évaluation doit analyser les preuves fournies dans la documentation du logiciel pour
confirmer si, oui ou non, la détermination de la nature et de l'étendue des modifications du logiciel sont
adéquates. Cependant, il est hautement recommandé d'appliquer la présente Norme Européenne pendant
les mises à niveau et la maintenance des logiciels existants.
- 11 - EN 50128:2011
2 Références normatives
Les documents de référence suivants sont indispensables pour l'application du présent document. Pour les
références datées, seule l'édition citée s'applique. Pour les références non datées, la dernière édition du
document de référence s'applique (y compris les éventuels amendements).
EN 50126-1:1999 Applications ferroviaires - Spécification et démonstration de la fiabilité, de la
disponibilité, de la maintenabilité et de la sécurité (FDMS) - Partie 1 : Exigences de
base et procédés génériques
EN 50129:2003 Applications ferroviaires - Systèmes de signalisation, de télécommunications et de
traitement - Systèmes électroniques de sécurité pour la signalisation
EN ISO 9000 Systèmes de management de la qualité - Principes essentiels et vocabulaire
(ISO 9000:2005)
EN ISO 9001 Systèmes de management de la qualité - Exigences (ISO 9001:2008)
ISO/CEI 90003:2004 Ingénierie du logiciel – Lignes directrices pour l'application de l'ISO 9001:2000 aux
logiciels informatiques
Série ISO/CEI 9126 Génie du logiciel -- Qualité des produits
3 Termes, définitions et abréviations
3.1 Termes et définitions
Pour les besoins du présent document, les termes et définitions suivants s'appliquent.
3.1.1
évaluation
processus d'analyse afin de déterminer si un logiciel, qui peut inclure des processus, de la documentation,
des composants logiciels et/ou matériels de systèmes et sous-systèmes, satisfait aux exigences spécifiées
et afin de formuler un jugement sur le fait que le logiciel répond à l'objectif attendu. L'évaluation de la sécurité
est une évaluation axée sur les propriétés de sécurité d'un système, mais sans s'y limiter
3.1.2
chargé d'évaluation
entité qui mène à bien une évaluation
3.1.3
logiciel standard disponible dans le commerce (COTS, en anglais commercial off-the-shelf software)
logiciel défini par les besoins du marché, disponible dans le commerce et dont l'adéquation aux besoins a été
démontrée par un large éventail d'utilisateurs
3.1.4
composant
partie constitutive de logiciel qui a des interfaces et un comportement bien définis par rapport à la conception
et à l'architecture du logiciel et satisfait aux critères suivants :
– elle est conçue conformément à “Composants” (voir Tableau A.20);
– elle couvre un sous-ensemble spécifique des exigences relatives au logiciel;
– elle est clairement identifiée et a une version indépendante au sein du système de gestion de
configuration ou est une partie d'un ensemble de composants (par exemple : sous-systèmes) qui ont
une version indépendante
3.1.5
gestionnaire de la configuration
entité qui est chargée de mettre en œuvre et d'exécuter les processus pour la gestion de configuration des
documents, logiciels et outils connexes, y compris la gestion des modifications et des évolutions
3.1.6
client
entité qui achète un système de contrôle-commande et de protection du ferroviaire comprenant le logiciel
3.1.7
concepteur
entité qui analyse et transforme des exigences spécifiées en solutions de conception acceptables qui ont le
niveau prescrit d'intégrité de la sécurité
3.1.8
...
SIST EN 50128:2011 표준은 철도 응용 프로그램의 소프트웨어 개발을 위한 명확한 프로세스와 기술적 요구 사항을 제시하고 있습니다. 이 표준의 범위는 철도 제어 및 보호 시스템에 사용되는 프로그래머블 전자 시스템을 위한 소프트웨어에 초점을 맞추며, 안전과 관련된 모든 분야에서 적용될 수 있습니다. 특히, 전용 마이크로프로세서, 프로그래머블 로직 컨트롤러, 다중 프로세서 분산 시스템, 중앙 처리 시스템 등 다양한 아키텍처에서 구현이 가능합니다. 이 표준의 강점 중 하나는 안전과 관련된 소프트웨어에 대한 명확한 정의를 제공한다는 점입니다. 어플리케이션 프로그래밍, 운영 체제, 지원 도구, 펌웨어 등 모든 안전 관련 소프트웨어를 포괄하여, 높은 수준의 프로그래밍, 낮은 수준의 프로그래밍 및 특수 목적 프로그래밍을 포함합니다. 또한, 기존 소프트웨어와 도구의 사용을 인정하며, 이는 7.3.4.7 및 6.5.4.16에서 명시된 특정 요구사항을 충족해야 합니다. 이러한 유연성은 개발자에게 실질적인 이점을 제공합니다. SIST EN 50128:2011은 현대 어플리케이션 설계에서 일반 소프트웨어를 사용하여 다양한 어플리케이션의 기반을 마련할 수 있도록 하여, 개발자의 효율성을 높입니다. 일반 소프트웨어는 데이터나 알고리즘으로 구성되어 실행 가능한 소프트웨어로 변환됩니다. 이는 소프트웨어와 시스템 간의 상호작용을 명확하게 정의하며, 최신 개발 트렌드에 부합하는 접근 방식입니다. 마지막으로, 이 표준은 기존 시스템에 대한 주요 수정이 있는 경우에만 전체적으로 적용되며, 소프트웨어 업그레이드 및 유지보수 시 이 표준의 적용을 적극적으로 권장합니다. 이는 기존 시스템의 안전성을 보장하고, 소프트웨어의 변경 사항에 대한 적절한 분석을 통해 신뢰성을 강화하는 데 기여합니다. SIST EN 50128:2011은 철도 안전 소프트웨어의 개발과 적용을 위한 필수적인 기준으로 자리잡고 있으며, 지속적으로 변화하는 기술 환경 속에서도 중요한 역할을 할 것입니다.
EN 50128:2011は、鉄道の制御および保護システム用のソフトウェアの開発に関するプロセスおよび技術的要件を明確に定義しており、特に安全性に関連する分野での利用を念頭に置いています。この標準は、プログラマブル電子システムに関連する仕様を包括的にカバーしており、専用マイクロプロセッサやプログラマブルロジックコントローラー、大規模な中央処理システムなど、多様なアーキテクチャに適用可能です。 この標準の強みは、その適応性と包括性にあります。ソフトウェアとそのシステム間の相互作用に焦点を当て、すべての安全関連ソフトウェア-アプリケーションプログラミング、オペレーティングシステム、サポートツール、ファームウェア-を対象としているため、鉄道制御と保護システムに関連するあらゆるソフトウェア開発に適用できます。 また、既存のソフトウェアやツールの利用についてのガイドラインも示しており、具体的な要件を満たす場合には、それらを活用することが可能です。これは、新しい技術や開発手法を取り入れた柔軟なアプローチを促進する要素となっています。 さらに、現代のアプリケーションデザインでは汎用ソフトウェアを使用する傾向が強まっており、この標準はその使用を適切に取り扱っています。特に、汎用ソフトウェアがアプリケーションデータやアルゴリズムによって構成される場合にも対応し、標準の一般条項はこれらに適用されることが明記されています。 商業的な問題には触れず、契約合意の一環として扱うことを前提としているため、使用者は条項を注意深く考慮する必要があります。このように、EN 50128:2011は、鉄道システムの安全性を確保するための重要なフレームワークを提供しており、新しい開発だけでなく既存システムのアップグレードや保守においても導入が推奨されています。安全性に関わるソフトウェアに対して厳格な基準を設けることにより、業界全体の安全性向上に寄与する、大変重要な標準であると言えるでしょう。
Die EN 50128:2011 ist ein wesentlicher europäischer Standard, der sich mit der Softwareentwicklung für programmierbare elektronische Systeme in den Bereich der Bahnanwendungen, insbesondere der Kommunikation, Signalgebung und Verarbeitungssysteme, beschäftigt. Dieser Standard umfasst spezifische Prozesse und technische Anforderungen, die für die Entwicklung von Software in sicherheitsrelevanten Anwendungen der Bahntechnik unerlässlich sind. Eine der herausragenden Stärken der EN 50128:2011 liegt in ihrem klaren Fokus auf sicherheitsrelevante Software. Sie legt fest, dass alle Softwarekomponenten, die in den Steuerungs- und Schutzsystemen der Bahn verwendet werden, den festgelegten Anforderungen entsprechen müssen. Dabei werden verschiedene Arten von Software umfasst, einschließlich Anwendungsprogrammierung, Betriebssysteme, Hilfstools und Firmware. Dies gewährleistet, dass alle Softwareelemente in diesem kritischen Bereich gründlich evaluiert und standardisiert werden. Darüber hinaus ist der Standard besonders relevant, da er die Nutzung vorhandener Software und Werkzeuge berücksichtigt, solange die spezifischen Anforderungen erfüllt sind. Dies ermöglicht eine flexiblere und effizientere Entwicklung, da bereits getestete Softwarelösungen verwendet werden können, was nicht nur Zeit, sondern auch Ressourcen spart und das Risiko von Fehlern reduziert. Die Struktur des Standards ist ebenfalls lobenswert. Die allgemeinen Bestimmungen in den Abschnitten 1 bis 6 sowie 9 bieten einen klaren Rahmen für die Entwicklung, während spezifische Anforderungen in den Abschnitten 7 und 8 auf generische Software sowie Anwendungsdaten oder Algorithmen eingehen. Diese differenzierte Betrachtungsweise sorgt dafür, dass Entwickler die notwendigen Elemente präzise und zielgerichtet implementieren können. Ein weiterer positiver Aspekt ist, dass der Standard nicht rückblickend angewendet wird, was bedeutet, dass er sich in erster Linie auf neue Entwicklungen konzentriert. Dies erleichtert die Anwendung in modernen Projekten, während bestehende Systeme nur bei umfangreichen Änderungen vollständig unter den Standard fallen. Dies trägt dazu bei, dass Unternehmen nicht unter unnötigem Druck stehen, ihre gesamten Systeme umzustellen, sondern sich auf wesentliche Anpassungen konzentrieren können. Insgesamt ist die EN 50128:2011 ein entscheidendes Dokument für alle, die in der Entwicklung von sicherheitsrelevanter Software im Bahnbereich tätig sind. Der Standard bietet eine umfassende Anleitung zur Sicherstellung von Qualität und Sicherheit in der Softwareentwicklung und fördert damit ein höheres Maß an Vertrauen in die Technologie, die für die Kontrolle und den Schutz im Eisenbahnverkehr eingesetzt wird.
The EN 50128:2011 standard is a comprehensive framework that delineates the process and technical requirements for the development of software for programmable electronic systems utilized in railway control and protection applications. Its scope is crucial, as it explicitly targets software that directly impacts safety within the railway sector, ensuring that any system implemented-be it through dedicated microprocessors, programmable logic controllers, or larger scale central processor systems-adheres to robust safety protocols. One of the notable strengths of this standard is its thorough coverage of all safety-related software components, including application programming, operating systems, support tools, and firmware. By integrating high-level programming, low-level programming, and purpose-specific programming into its guidelines, EN 50128:2011 ensures that developers are equipped to create reliable, safe, and effective applications for real-time railway operations. Moreover, the standard emphasizes the responsibilities associated with pre-existing software and tools. It allows for the integration of established software, provided that specific conditions are satisfied, thereby promoting efficiency while maintaining safety. This adaptability is a significant advantage for developers who may wish to utilize existing solutions in their new developments. Also, EN 50128:2011 recognizes modern trends in software design, accommodating generic software architectures that can be tailored for various applications. By addressing both generic software and application-specific data or algorithms, it ensures a consistent approach to software development within the railway sector. The dual focus helps organizations leverage existing technologies while developing new applications, facilitating innovation without compromising safety. The relevance of this standard extends beyond new developments to encompass major modifications of existing systems, as it provides guidance for assessing software changes' nature and scope. Even though it is not retrospective, its application is highly recommended during software upgrades and maintenance, reinforcing the importance of continual adherence to safety standards throughout a system's lifecycle. Overall, the EN 50128:2011 standard plays a pivotal role in ensuring safety and quality in railway communication, signalling, and processing systems through clear guidelines for software development. Its comprehensive approach and emphasis on safety make it an indispensable resource for software engineers and stakeholders in the railway industry.
Die Norm EN 50128:2011 stellt einen wichtigen Rahmen für die Entwicklung von Software in programmierbaren elektronischen Systemen im Eisenbahnbereich dar. Ihr Anwendungsbereich umfasst sowohl Sicherheitsaspekte als auch die technischen Anforderungen, die für die Softwareentwicklung in Kontroll- und Schutzsystemen nötig sind. Diese Norm ist unerlässlich, da sie sicherstellt, dass Software, die in sicherheitskritischen Anwendungen eingesetzt wird, den höchstmöglichen Standards entspricht. Zu den Stärken der Norm gehört ihre umfassende Abdeckung aller sicherheitsrelevanten Aspekte der Software, einschließlich der Anwendungsprogrammierung, Betriebssysteme, Unterstützungstools und Firmware. Der Fokus auf die Interaktion zwischen Software und dem sie umgebenden System ist besonders relevant, da dies sicherstellt, dass alle Komponenten eines Systems zusammenarbeiten, um die Sicherheit zu gewährleisten. Außerdem berücksichtigt die Norm moderne Softwaredesign-Ansätze, indem sie die Nutzung von generischer Software sowie die Anpassung dieser Software über Daten und Algorithmen adressiert. Dies bietet Entwicklern die Flexibilität, innovative Lösungen zu schaffen, die spezifische Bedürfnisse im Bereich der Eisenbahnsicherheit erfüllen. Darüber hinaus ist die Norm klar strukturiert, mit speziellen Bestimmungen für die Verwendung bestehender Software und der Entwicklung neuer Software. Dies erleichtert die Einhaltung der Anforderungen für Unternehmen, die auf vorhandene Systeme aufbauen oder bestehende Software innerhalb von neuen Rahmenbedingungen weiterentwickeln wollen. Die Möglichkeit, dass Software, die gemäß einer Version dieser Norm entwickelt wurde, als konform angesehen wird, trägt zur Vereinfachung von Audits und Zertifizierungen bei. Die Norm EN 50128:2011 hat auch eine hohe Relevanz im Hinblick auf zukünftige Entwicklungen im Bereich der Bahn- und Verkehrsinfrastruktur. Angesichts der zunehmenden Digitalisierung und Automatisierung in der Branche wird der Stellenwert von Sicherheitssoftware stetig steigen. Die klare Fokussierung auf sicherheitskritische Funktionen und die Festlegung von Anforderungen für Software-Updates und Wartung stellen sicher, dass die Sicherheit auch bei der Modernisierung bestehender Systeme nicht vernachlässigt wird. Die Norm ist somit ein entscheidendes Instrument, um die Sicherheit und Zuverlässigkeit von Softwareentwicklungen im Eisenbahnbereich zu gewährleisten und gleichzeitig den technischen Fortschritt zu unterstützen.
La norme EN 50128:2011 est essentielle pour le domaine des applications ferroviaires, visant principalement à encadrer le développement de logiciels destinés aux systèmes de contrôle et de protection ferroviaires. Son champ d'application s'étend aux logiciels de systèmes électroniques programmables où les enjeux de sécurité sont primordiaux. Cela inclut des architectures variées comme des microprocesseurs dédiés, des contrôleurs logiques programmables et des systèmes multiprocesseurs distribués, démontrant ainsi sa polyvalence. Un des points forts de cette norme est son approche exhaustive concernant les exigences techniques et les processus de développement de logiciels sécurisés. En définissant clairement les types de logiciels concernés-y compris la programmation applicative, les systèmes d'exploitation, et les outils de support-la norme assure une uniformité et une rigueur dans le domaine crucial des applications de sécurité ferroviaire. Un autre aspect notable est la reconnaissance de l'usage de logiciels préexistants, avec des directives précises sur leur utilisation, garantissant ainsi la flexibilité tout en maintenant les standards de sécurité requis. La norme se distingue également par sa prise en compte des designs d'applications modernes qui utilisent des logiciels génériques. Ce point est particulièrement pertinent dans un monde où les solutions doivent être adaptables et configurables, favorisant une efficacité accrue dans le développement logiciel. Les clauses spécifiques relatives aux données d'application et aux algorithmes garantissent que tous les aspects du développement sont couverts, renforçant ainsi la pertinence de cette norme dans un cadre d'évolution technologique rapide. Enfin, bien que la norme ne soit pas conçue pour traiter des questions commerciales, elle établit un cadre solide que les accords contractuels doivent respecter. En outre, son application aux nouveaux développements, tout en offrant des recommandations pour l'usage lors de la maintenance et des mises à niveau des systèmes existants, lui confère une relevabilité continue au sein de l'industrie. Dans l'ensemble, EN 50128:2011 représente un ensemble de standards rigoureux qui favorise la sécurité et l'efficacité dans le développement de logiciels pour des systèmes de contrôle et de protection ferroviaire.
La norme EN 50128:2011, intitulée "Applications ferroviaires - Systèmes de communication, de signalisation et de traitement - Logiciel pour systèmes de contrôle et de protection ferroviaires", représente un cadre essentiel pour le développement de logiciels destinés aux systèmes électroniques programmables utilisés dans les applications de contrôle et de protection ferroviaires. Cette norme s'applique exclusivement aux logiciels ayant un impact sur la sécurité, garantissant ainsi que tout développement logiciel intégré dans ces systèmes respecte des exigences techniques et de processus rigoureuses. L'un des principaux atouts de cette norme est sa portée étendue, couvrant non seulement la programmation d'applications, mais également les systèmes d'exploitation, les outils de support et le firmware. Cela en fait un document incontournable pour les professionnels du secteur ferroviaire qui travaillent sur des systèmes de contrôle complexes. De plus, EN 50128:2011 aborde efficacement l'utilisation de logiciels préexistants, offrant une flexibilité dans l'intégration de solutions existantes tout en maintenant des standards de sécurité élevés. La norme se distingue également par son attention accordée au design d'application moderne, précisant l'utilisation de logiciels génériques qui peuvent être configurés pour répondre à des applications spécifiques. Cela reflète une compréhension approfondie des tendances actuelles en matière de développement logiciel, facilitant l'innovation tout en se conformant à des conditions strictes de sécurité. En outre, la norme n'est pas rétroactive, ce qui permet aux développeurs de se concentrer sur de nouvelles technologies et développements sans être contraints par des exigences anciennes. Toutefois, elle recommande vivement son application lors des mises à niveau et de la maintenance des logiciels existants, ce qui souligne son importance continue dans le cycle de vie des systèmes de sécurité ferroviaires. La norme EN 50128:2011 est donc d'une grande pertinence pour les acteurs du secteur ferroviaire, en assurant que les logiciels développés répondent aux critères de sécurité nécessaires, tout en s'adaptant aux évolutions technologiques et commerciales.
EN 50128:2011は、鉄道用アプリケーションにおける通信、信号、および処理システムに特化したソフトウェアの開発に関する欧州標準であり、その範囲は非常に広範です。この標準は、鉄道制御および保護システムに使用されるプログラム可能な電子システム向けのソフトウェア開発に必要なプロセスと技術要件を規定しており、安全に影響を及ぼす分野での使用を目的としています。 この標準の強みは、特に安全関連のソフトウェアに焦点を当てている点です。EN 50128:2011は、高水準のプログラミング、低水準のプログラミング、特定目的のプログラム(たとえば、プログラマブルロジックコントローラのラダーロジック)を含め、あらゆる安全関連ソフトウェアに適用されます。この包括的なアプローチにより、さまざまな鉄道制御と保護システムにおける要求に対応することができます。 さらに、この標準は既存のソフトウェアやツールの使用も考慮しています。具体的な要件を満たす限り、既存のソフトウェアの利用が認められており、これにより新しいアプリケーションを迅速に開発するための柔軟性があります。特に、高度に汎用化されたソフトウェアが様々なアプリケーションの基盤として利用され、それがデータやアルゴリズムで構成されるという現代的なアプリケーション設計において、EN 50128:2011はその適用性を確保しています。 この標準は商業的な問題には関与しておらず、商業契約の重要な部分として扱うべきですが、その全条項は商業的な状況において慎重に考慮される必要があります。また、EN 50128:2011は新しい開発を主な対象としており、既存システムが大規模な変更を受ける際にのみ完全に適用されます。これにより、既存のソフトウェアへのアップグレードやメンテナンスを行う際には、この標準の実施が強く推奨されています。 全体として、EN 50128:2011は安全性の高い鉄道制御システムのソフトウェア開発において、その明確な要求事項と適用範囲により、広範な利用価値を持つ重要な標準です。
SIST EN 50128:2011 표준은 철도 시스템의 신뢰성 및 안전성을 보장하기 위한 필수적인 지침을 제공합니다. 이 표준의 범위는 프로그래머블 전자 시스템 소프트웨어의 개발 과정과 기술 요구 사항을 명확히 규정하여 철도 제어 및 보호 응용 분야의 안전성을 극대화하는 데 기여합니다. 이 표준의 강점 중 하나는 안전과 관련된 모든 소프트웨어에 적용된다는 점입니다. 애플리케이션 프로그래밍, 운영 체제, 지원 도구 및 펌웨어를 포함하여 다양한 소프트웨어 개발의 기초를 제공합니다. 이는 철도 시스템에서 안전 기능이 손상되지 않도록 보장함으로써, 전체 철도 운행의 안전성을 크게 향상시킵니다. 또한, SIST EN 50128:2011은 기존의 소프트웨어와 도구의 사용도 인정하고 있으며, 이를 통해 다양한 응용 프로그램에 대한 개발의 유연성을 높입니다. 주의 깊은 요구 사항을 충족하는 한, 개발자들은 기존의 자원을 활용하여 효율적인 소프트웨어 솔루션을 구축할 수 있습니다. 이 표준은 현대 애플리케이션 디자인의 경향을 반영하여, 일반적인 소프트웨어를 기반으로 하는 여러 응용 프로그램을 만들 수 있도록 하고, 데이터와 알고리즘에 따라 구성이 가능하다는 점에서 현대적이고 실용적인 접근 방식을 취하고 있습니다. 이는 사용자가 특정 요구 사항에 맞는 소프트웨어를 제작할 수 있게 해주어, 철도 시스템의 진화하는 필요를 충족할 수 있게 합니다. 마지막으로, SIST EN 50128:2011은 상업적 문제를 다루지 않으면서도 계약상의 합의는 철저하게 고려해야 한다는 점을 명확히 하고 있습니다. 이는 개발자, 제조업체 및 사용자 간의 문제를 최소화하고, 표준 준수에 대한 명확한 가이드를 제공합니다. 이렇게 여러 강점을 가진 이 표준은 철도 제어 및 보호 시스템을 위한 소프트웨어 개발의 필수적인 도구로 자리 잡고 있습니다.
The EN 50128:2011 standard provides a comprehensive framework for the development of software within railway control and protection systems, effectively addressing the critical regulatory requirements in safety-sensitive environments. By focusing on the entire lifecycle of safety-related software, this standard plays a pivotal role in ensuring the safe functionality of programmable electronic systems used in railway applications. One of the key strengths of EN 50128:2011 is its broad scope. It encompasses various architectures, including dedicated microprocessors, programmable logic controllers, and multiprocessor distributed systems. This inclusivity allows for a versatile application across different technological contexts in the railway industry. The standard explicitly applies to safety-related software, including high-level and low-level programming, firmware, and support tools, thus ensuring that every layer of software within these systems is systematically scrutinized for safety implications. The standard also effectively addresses the use of both new and pre-existing software, setting clear parameters for evaluating and integrating existing tools into new developments. This is particularly relevant in the context of technological advancements, where modernization often relies on the use of established software components. The clear guidelines for compatibility and compliance with existing software ensure that safety is not compromised while allowing for greater flexibility in development. Another notable aspect of EN 50128:2011 is its emphasis on generic software used in modern applications. By recognizing that generic software can be adapted through configuration for various applications, the standard facilitates innovation while maintaining rigorous safety standards. This is crucial in a rapidly evolving digital landscape where adaptability and scalability are vital. Moreover, the standard's provision for assessing minor and major modifications to existing systems demonstrates its practical applicability, ensuring that organizations can consistently uphold safety standards without unnecessary disruptions. The guidance on the necessity of proper documentation and evidence evaluation underscores the importance of accountability and transparency in software development processes. Overall, EN 50128:2011 is a highly relevant standard that establishes a robust framework for the development and implementation of software in railway control and protection systems, crucial for maintaining safety and performance standards in the railway sector. Its detailed approach to software requirements not only enhances safety protocols but also fosters a culture of continuous improvement within railway operations.














Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...