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

Full description

Bibliographic Details
Main Authors: Ryo Fukano, Masato Ishikawa
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