Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++
In science and engineering using edge-embedded software, it is necessary to demonstrate the validity of results; therefore, the software responsible for operating an edge system is required to guarantee its own validity. The aim of this study is to guarantee the validity of the sampled-time filter a...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2019-11-01
|
Series: | Big Data and Cognitive Computing |
Subjects: | |
Online Access: | https://www.mdpi.com/2504-2289/3/4/52 |
id |
doaj-287eecc9bdc74441b8a591bbe5344544 |
---|---|
record_format |
Article |
spelling |
doaj-287eecc9bdc74441b8a591bbe53445442020-11-25T01:35:59ZengMDPI AGBig Data and Cognitive Computing2504-22892019-11-01345210.3390/bdcc3040052bdcc3040052Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++Ryo Fukano0Masato Ishikawa1Komatsu MIRAI Construction Equipment Cooperative Research Center, Osaka University, Osaka 565-0871, JapanDept. of Mechanical Engineering, Osaka University, Osaka 565-0871, JapanIn science and engineering using edge-embedded software, it is necessary to demonstrate the validity of results; therefore, the software responsible for operating an edge system is required to guarantee its own validity. The aim of this study is to guarantee the validity of the sampled-time filter and time domain as fundamental elements of autonomous edge software. This requires the update law of a sampled-time filter to be invoked once per every control cycle, which we guaranteed by using the proposed domain specific language implemented by a metaprogramming design pattern in modern C++ (C++11 and later). The time-domain elements were extracted from the software, after which they were able to be injected into the extracted software independent from the execution environment of the software. The proposed approach was shown to be superior to conventional approaches that only rely on the attention of programmers to detect design defects. This shows that it is possible to guarantee the validity of edge software by using only a general embedded programming language such as modern C++ without auxiliary verification and validation toolchains.https://www.mdpi.com/2504-2289/3/4/52edge-computing architecturereal-time computingsoftware verificationiso compliant |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Ryo Fukano Masato Ishikawa |
spellingShingle |
Ryo Fukano Masato Ishikawa Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++ Big Data and Cognitive Computing edge-computing architecture real-time computing software verification iso compliant |
author_facet |
Ryo Fukano Masato Ishikawa |
author_sort |
Ryo Fukano |
title |
Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++ |
title_short |
Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++ |
title_full |
Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++ |
title_fullStr |
Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++ |
title_full_unstemmed |
Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++ |
title_sort |
human-error prevention for autonomous edge software using minimalistic modern c++ |
publisher |
MDPI AG |
series |
Big Data and Cognitive Computing |
issn |
2504-2289 |
publishDate |
2019-11-01 |
description |
In science and engineering using edge-embedded software, it is necessary to demonstrate the validity of results; therefore, the software responsible for operating an edge system is required to guarantee its own validity. The aim of this study is to guarantee the validity of the sampled-time filter and time domain as fundamental elements of autonomous edge software. This requires the update law of a sampled-time filter to be invoked once per every control cycle, which we guaranteed by using the proposed domain specific language implemented by a metaprogramming design pattern in modern C++ (C++11 and later). The time-domain elements were extracted from the software, after which they were able to be injected into the extracted software independent from the execution environment of the software. The proposed approach was shown to be superior to conventional approaches that only rely on the attention of programmers to detect design defects. This shows that it is possible to guarantee the validity of edge software by using only a general embedded programming language such as modern C++ without auxiliary verification and validation toolchains. |
topic |
edge-computing architecture real-time computing software verification iso compliant |
url |
https://www.mdpi.com/2504-2289/3/4/52 |
work_keys_str_mv |
AT ryofukano humanerrorpreventionforautonomousedgesoftwareusingminimalisticmodernc AT masatoishikawa humanerrorpreventionforautonomousedgesoftwareusingminimalisticmodernc |
_version_ |
1725064976881680384 |