Model-Driven Code Generation of Safety Mechanisms

Please use this identifier to cite or link to this item:
Open Access logo originally created by the Public Library of Science (PLoS)
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorProf. Dr. Elke Pulvermüllerger
dc.creatorHuning, Lars-
dc.description.abstractSafety-critical systems are systems in which failure may lead to serious harm for humans or the environment. Due to the nature of these systems, there exist regulatory standards that recommend a set of safety mechanisms that should be included in these systems, e.g., IEC 61508. However, these standards offer little to no implementation assistance for these mechanisms. This thesis provides such development assistance, by proposing an approach for the automatic generation of safety mechanisms via Model-Driven Development (MDD). Such an automation of previously manual activities has been known to increase developer productivity and to reduce the number of bugs in the implementation. In the context of safety-critical systems, the latter also means an improvement in safety. The approach introduces a novel way to define safety requirements as structured sentences. This structure allows for the automatic parsing of these requirements in order to subsequently generate software-implemented safety mechanisms, as well as to initially configure hardware-implemented safety mechanisms. The generation approach for software-implemented safety mechanisms uses Unified Modeling Language (UML) stereotypes to represent these mechanisms in the application model. Automated model-to-model transformations parse this model representation and realize the safety mechanisms within an intermediate model. From this intermediate model, code may be generated with simple 1:1 mappings. For the generation of hardware-implemented safety mechanisms, this thesis introduces a novel Graphical User Interface (GUI) tool for representing the configuration of hardware interfaces. A template-based code snippet repository is used for generating the code responsible for the configuration of the hardware-implemented safety mechanisms. The presented approach is validated by applying it to the development of a safety-critical fire detection application example. Furthermore, the runtime overhead of the respective transformation steps of the code generation process is measured. The results indicate a linear scalability and a runtime that is no impediment to the workflow of the developer. Furthermore, the memory and runtime overhead of the generated code is evaluated. The results show that the inclusion of a single safety mechanism for a single system element has a negligible overhead. However, the relative overhead indicates that the application of safety mechanisms should be limited to those system elements that are strictly safety-critical, as their arbitrary application to all system elements would have large effects on the runtime and memory usage of the application.eng
dc.subjectembedded software engineeringeng
dc.subjectmodel-driven developmenteng
dc.subjectcode generationeng
dc.subjectsafety-critical systemseng
dc.subject.ddc004 - Informatikger
dc.titleModel-Driven Code Generation of Safety Mechanismseng
dc.typeDissertation oder Habilitation [doctoralThesis]-
thesis.typeDissertation [thesis.doctoral]-
dc.contributor.refereeProf. Dr. Herbert Kuchenger
dc.subject.bk54.52 - Software engineeringger
dc.subject.ccsD.2.0 - Generalger
Appears in Collections:FB06 - E-Dissertationen

Files in This Item:
File Description SizeFormat 
thesis_huning.pdfPräsentationsformat42,2 MBAdobe PDF

Items in osnaDocs repository are protected by copyright, with all rights reserved, unless otherwise indicated.