1 |
Safe software development for a video-based train detection system in accordance with EN 50128Dorka, Moritz 11 November 2013 (has links) (PDF)
Diese Studienarbeit gibt einen Überblick über ausgewählte Teile des Softwareentwicklungsprozesses für sicherheitsrelevante Applikationen am Beispiel eines videobasierten Zugerkennungssystems. Eine IP-Kamera und ein externer Bildverarbeitungscomputer wurden dazu mit einer speziell entworfenen, verteilten Software ausgestattet. Die in Ada und C geschriebenen Teile kommunizieren dabei über ein dediziertes, UDP-basiertes Netzwerkprotokoll. Beide Programme wurden intensiv anhand verschiedener Techniken analysiert, die in der Norm EN 50128 festgelegt sind, welche sich speziell an Software für Eisenbahnsteuerungs- und überwachungssysteme richtet.
Eine an der Norm orientierte Struktur mit Verweisen auf die diskutierten Techniken zu Beginn eines jeden Abschnitts erlaubt einen schnellen Vergleich mit den originalen Anforderungen des Normtexts.
Zusammenfassend haben sich die Techniken bis auf wenige Ausnahmen als sehr geeignet für die praktische Entwicklung von sicherer Software erwiesen. Allerdings entbindet die Norm durch ihre teils sehr abstrakten Anforderungen das am Projekt beteiligte Personal in keinster Weise von seiner individuellen Verantwortung. Entsprechend sind die hier vorgestellten Techniken für andere Projekte nicht ohne Anpassungen zu übernehmen. / This paper intends to give an overview of selected parts of the software development process for safety-relevant applications using the example of a video-based train detection. An IP-camera and an external image processing computer were equipped with a custom-built, distributed software system. Written in Ada and C, the system parts communicate via a dedicated UDP-based protocol. Both programs were subject to intense analysis according to measures laid down in the EN 50128 standard specifically targeted at software for railway control and protection systems.
Preceding each section, a structure resembling the standard document with references to the discussed measures allows for easy comparison with the original requirements of EN 50128.
In summary, the techniques have proven to be very suitable for practical safe software development in all but very few edge-cases. However, the highly abstract descriptive level of the standard requires the staff involved to accept an enormous personal responsibility throughout the entire development process. The specific measures carried out for this project may therefore not be equally applicable elsewhere.
|
2 |
Safe software development for a video-based train detection system in accordance with EN 50128Dorka, Moritz 04 September 2013 (has links)
Diese Studienarbeit gibt einen Überblick über ausgewählte Teile des Softwareentwicklungsprozesses für sicherheitsrelevante Applikationen am Beispiel eines videobasierten Zugerkennungssystems. Eine IP-Kamera und ein externer Bildverarbeitungscomputer wurden dazu mit einer speziell entworfenen, verteilten Software ausgestattet. Die in Ada und C geschriebenen Teile kommunizieren dabei über ein dediziertes, UDP-basiertes Netzwerkprotokoll. Beide Programme wurden intensiv anhand verschiedener Techniken analysiert, die in der Norm EN 50128 festgelegt sind, welche sich speziell an Software für Eisenbahnsteuerungs- und überwachungssysteme richtet.
Eine an der Norm orientierte Struktur mit Verweisen auf die diskutierten Techniken zu Beginn eines jeden Abschnitts erlaubt einen schnellen Vergleich mit den originalen Anforderungen des Normtexts.
Zusammenfassend haben sich die Techniken bis auf wenige Ausnahmen als sehr geeignet für die praktische Entwicklung von sicherer Software erwiesen. Allerdings entbindet die Norm durch ihre teils sehr abstrakten Anforderungen das am Projekt beteiligte Personal in keinster Weise von seiner individuellen Verantwortung. Entsprechend sind die hier vorgestellten Techniken für andere Projekte nicht ohne Anpassungen zu übernehmen.:1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Description of the problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Real-time constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Safety requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Implementation details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Camera type and output format . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Real-world constrains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Train Detection Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 EN 50128 requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1 Software architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 Defensive Programming . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2 Fully Defined Interface . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.3 Structured Methodology . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.4 Error Detecting and Correcting Codes . . . . . . . . . . . . . . . . 29
3.1.5 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.6 Alternative optionally required measures . . . . . . . . . . . . . . 34
3.2 Software Design and Implementation . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 Structured Methodology . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2 Modular Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.4 Design and Coding Standards . . . . . . . . . . . . . . . . . . . . 39
3.2.5 Strongly Typed Programming Languages . . . . . . . . . . . . . . 41
3.2.6 Alternative optionally required measures . . . . . . . . . . . . . . 44
3.3 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 / This paper intends to give an overview of selected parts of the software development process for safety-relevant applications using the example of a video-based train detection. An IP-camera and an external image processing computer were equipped with a custom-built, distributed software system. Written in Ada and C, the system parts communicate via a dedicated UDP-based protocol. Both programs were subject to intense analysis according to measures laid down in the EN 50128 standard specifically targeted at software for railway control and protection systems.
Preceding each section, a structure resembling the standard document with references to the discussed measures allows for easy comparison with the original requirements of EN 50128.
In summary, the techniques have proven to be very suitable for practical safe software development in all but very few edge-cases. However, the highly abstract descriptive level of the standard requires the staff involved to accept an enormous personal responsibility throughout the entire development process. The specific measures carried out for this project may therefore not be equally applicable elsewhere.:1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Description of the problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Real-time constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Safety requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Implementation details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Camera type and output format . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Real-world constrains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Train Detection Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 EN 50128 requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1 Software architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 Defensive Programming . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2 Fully Defined Interface . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.3 Structured Methodology . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.4 Error Detecting and Correcting Codes . . . . . . . . . . . . . . . . 29
3.1.5 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.6 Alternative optionally required measures . . . . . . . . . . . . . . 34
3.2 Software Design and Implementation . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 Structured Methodology . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2 Modular Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.4 Design and Coding Standards . . . . . . . . . . . . . . . . . . . . 39
3.2.5 Strongly Typed Programming Languages . . . . . . . . . . . . . . 41
3.2.6 Alternative optionally required measures . . . . . . . . . . . . . . 44
3.3 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
|
3 |
Towards a Correct-by-Construction design flow : A case-study from railway signaling systemsHanikat, Marcus January 2021 (has links)
As technological advancements and manufacturing techniques continues to bring us more complex and powerful hardware, software engineers struggle to keep up with this rapid progress and reap the benefits brought by this hardware. In the field of safety-critical system development, where a thorough understanding and deterministic nature of the hardware often is required, the cost of development closely relates to the complexity of the hardware used. For software developers to be able to reap the benefits of the technological advancement in hardware design, a Correct-by-Construction with a model- based design flow seem promising. Even though there seem to be significant benefits in using a Correct-by-Construction workflow for developing safety- critical systems, it is far from exclusively used within the industry. Therefore, this thesis illustrates how a model-based design flow should be applied when developing safety-critical systems for usage in the rail transport sector. This thesis also explores the benefits Correct-by-Construction can bring to the development process of safety-critical systems. Within this thesis, two different modeling tools, ForSyDe and Simulink, were used to achieve a model-based design flow. The functionality of these tools is investigated to see how they can be used for developing safety-critical systems, meeting the EN 50128 standard. The result presented is an example of how these tools can be used within a model-based design flow which meets the EN 50128 standard for developing Safety Integrity Level (SIL) 4 systems. The thesis also compares the tools investigated and highlights their differences. Finally, future work required to create a complete Correct-by-Construction workflow that complies with the EN 50128 standard requirements for system development is identified. / Allt eftersom teknologiska framsteg och tillverkningstekniker fortsätter att ge oss tillgång till mer komplex och kraftfull hårdvara så kämpar mjukvaruingenjörer fibrilit med att kunna hänga med i denna utvecklingstakt och kunna utnyttja de nya möjligheterna som denna nya hårdvara ger. Inom fältet för säkerhetskritiska system, där en genomgående förståelse av och deterministiska egenskaper för hårdvara ofta krävs, så är kostnaden för utveckling nära relaterat till komplexiteten för hårdvaran som används. För att kunna ta till vara på de fördelar som dessa nya teknologiska framsteg för med sig så föreslås ofta användningen av utvecklingsprocessen Korrektvid- Konstruktion. Även fast det verkar finnas stora fördelar med att använda Korrekt-vid-Konstruktion som utvecklingsprocess så har det inte sett en bred användning inom industrin. På grund av detta så försöker denna avhandling svara på hur ett modelleringsbaserat utvecklingsflöde kan användas vid utveckling av säkerhetskritiska system för tågtransportsektorn. Arbetet undersöker även fördelarna med användningen av Korrekt-vid-Konstruktion vid utveckling av säkerhetskritiska system. Arbetet i denna avhandling undersöker hur två olika modeleringsverktyg, ForSyDe och Simulink, kan användas i ett modeleringsbasert utvecklingsflöde. Funktionaliteten för dessa modeleringsverktyg undersöks för att se hur dem kan användas för utveckling av säkerhetskritiska system på ett sätt som klarar av kraven i EN 50128 standarden. Resultaten som presenteras är ett exempel på hur dessa verktyg kan användas i ett modeleringsbaserat utvecklingsflöde som möter kraven i EN 50128 standarden för utveckling av SIL 4 system. Arbetet jämför även de undersökta modeleringsverktygen för att påvisa deras skillnader. Till sist så beskrivs det framtida arbete som krävs för att få till en komplett utvecklingsprocess som är Korrekt-vid-Konstruktion och även möter systemutvecklingskraven i EN 50128 standarden.
|
4 |
The effect of the update of the European standard EN 50128 : - The management of the safety of the software applications for railway applicationsNordström, Åsa January 2017 (has links)
The European standard EN 50128 "Railway applications - Communication, signalling and processing systems - Software for railway control and protection systems" is one of the European standards for European Railway systems. It is intended for software aspects, specifying procedures and technical requirements for the development of programmable Electronic systems, which are used in railway control and protection applications. Since 2017- 04-25 the original version EN 50128:2001 has been replaced by the updated new version EN 50128:2011. The update is quite extensive and will effect many parts of the existing Railway systems. The aim of this study is to investigate the effect of the EN 50128 update. The work for this study includes literature study, document research and interview with the relevant supplies and experts. Qualitative and quantitative methods have been used in the study to reach the possible best results. The effects due to the EN 50128 update have been extensively investigated. The following issues have been addressed: - How can the update of the standard EN 50128 be done smoothly by the companies? - How much money have they spent to update their process to follow the 2011 version? - What parts of the process have been the most extensive and expensive to change due to the standard update? The results of the work are useful for an organized and professional assessor to help and support the companies dealing with this complex software, in order for them to be prepared for the upcoming standard update as well as possible. If the affected companies have been proactive in their own development of their methods/techniques, the 2011 version of the standard will not be a major work to follow for their process. A standard is a guideline and a support in the way to a safer system.
|
Page generated in 0.0184 seconds