Automatic Code Generation of Safety Mechanisms in Model-Driven Development
In order to meet regulatory standards in the domain of safety-critical systems, these systems have to include a set of safety mechanisms depending on the Safety Integrity Level (SIL). This article proposes an approach for how such safety mechanisms may be generated automatically via Model-Driven Dev...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2021-12-01
|
Series: | Electronics |
Subjects: | |
Online Access: | https://www.mdpi.com/2079-9292/10/24/3150 |
_version_ | 1797505172909326336 |
---|---|
author | Lars Huning Elke Pulvermueller |
author_facet | Lars Huning Elke Pulvermueller |
author_sort | Lars Huning |
collection | DOAJ |
description | In order to meet regulatory standards in the domain of safety-critical systems, these systems have to include a set of safety mechanisms depending on the Safety Integrity Level (SIL). This article proposes an approach for how such safety mechanisms may be generated automatically via Model-Driven Development (MDD), thereby improving developer productivity and decreasing the number of bugs that occur during manual implementation. The approach provides a structured way to define safety requirements, which may be parsed automatically and are used for the generation of software-implemented safety mechanisms, as well as the initial configuration of hardware-implemented safety mechanisms. The approach for software-implemented safety mechanisms relies on the Unified Modeling Language (UML) for representing these mechanisms in the model and uses model transformations to realize them in an intermediate model, from which code may be generated with simple 1:1 mappings. The approach for hardware-implemented safety mechanisms builds upon a template-based code snippet repository and a graphical user interface for configuration. The approach is applied to the development of a safety-critical fire detection application and the runtime of the model transformations is evaluated, indicating a linear scalability of the transformation steps. Furthermore, we evaluate the runtime and memory overhead of the generated code. |
first_indexed | 2024-03-10T04:14:49Z |
format | Article |
id | doaj.art-2cf6d3b77c524ee99a53f56de25a62d9 |
institution | Directory Open Access Journal |
issn | 2079-9292 |
language | English |
last_indexed | 2024-03-10T04:14:49Z |
publishDate | 2021-12-01 |
publisher | MDPI AG |
record_format | Article |
series | Electronics |
spelling | doaj.art-2cf6d3b77c524ee99a53f56de25a62d92023-11-23T08:02:49ZengMDPI AGElectronics2079-92922021-12-011024315010.3390/electronics10243150Automatic Code Generation of Safety Mechanisms in Model-Driven DevelopmentLars Huning0Elke Pulvermueller1Institute of Computer Science, University of Osnabrück, Wachsbleiche 27, 49090 Osnabrück, GermanyInstitute of Computer Science, University of Osnabrück, Wachsbleiche 27, 49090 Osnabrück, GermanyIn order to meet regulatory standards in the domain of safety-critical systems, these systems have to include a set of safety mechanisms depending on the Safety Integrity Level (SIL). This article proposes an approach for how such safety mechanisms may be generated automatically via Model-Driven Development (MDD), thereby improving developer productivity and decreasing the number of bugs that occur during manual implementation. The approach provides a structured way to define safety requirements, which may be parsed automatically and are used for the generation of software-implemented safety mechanisms, as well as the initial configuration of hardware-implemented safety mechanisms. The approach for software-implemented safety mechanisms relies on the Unified Modeling Language (UML) for representing these mechanisms in the model and uses model transformations to realize them in an intermediate model, from which code may be generated with simple 1:1 mappings. The approach for hardware-implemented safety mechanisms builds upon a template-based code snippet repository and a graphical user interface for configuration. The approach is applied to the development of a safety-critical fire detection application and the runtime of the model transformations is evaluated, indicating a linear scalability of the transformation steps. Furthermore, we evaluate the runtime and memory overhead of the generated code.https://www.mdpi.com/2079-9292/10/24/3150embedded software engineeringmodel-driven developmentcode generationsafety-critical systems |
spellingShingle | Lars Huning Elke Pulvermueller Automatic Code Generation of Safety Mechanisms in Model-Driven Development Electronics embedded software engineering model-driven development code generation safety-critical systems |
title | Automatic Code Generation of Safety Mechanisms in Model-Driven Development |
title_full | Automatic Code Generation of Safety Mechanisms in Model-Driven Development |
title_fullStr | Automatic Code Generation of Safety Mechanisms in Model-Driven Development |
title_full_unstemmed | Automatic Code Generation of Safety Mechanisms in Model-Driven Development |
title_short | Automatic Code Generation of Safety Mechanisms in Model-Driven Development |
title_sort | automatic code generation of safety mechanisms in model driven development |
topic | embedded software engineering model-driven development code generation safety-critical systems |
url | https://www.mdpi.com/2079-9292/10/24/3150 |
work_keys_str_mv | AT larshuning automaticcodegenerationofsafetymechanismsinmodeldrivendevelopment AT elkepulvermueller automaticcodegenerationofsafetymechanismsinmodeldrivendevelopment |