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...

Full description

Bibliographic Details
Main Authors: Lars Huning, Elke Pulvermueller
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