Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices

We propose a methodology to verify applications developed following programming patterns inspired by natural language that interact with physical environments and run on resource-constrained interconnected devices. Natural language patterns allow for the reduction of intermediate abstraction layers...

Full description

Bibliographic Details
Main Authors: Salvatore Gaglio, Giuseppe Lo Re, Gloria Martorella, Daniele Peri
Format: Article
Language:English
Published: MDPI AG 2020-12-01
Series:Sensors
Subjects:
Online Access:https://www.mdpi.com/1424-8220/21/1/107
_version_ 1797543453158014976
author Salvatore Gaglio
Giuseppe Lo Re
Gloria Martorella
Daniele Peri
author_facet Salvatore Gaglio
Giuseppe Lo Re
Gloria Martorella
Daniele Peri
author_sort Salvatore Gaglio
collection DOAJ
description We propose a methodology to verify applications developed following programming patterns inspired by natural language that interact with physical environments and run on resource-constrained interconnected devices. Natural language patterns allow for the reduction of intermediate abstraction layers to map physical domain concepts into executable code avoiding the recourse to ontologies, which would need to be shared, kept up to date, and synchronized across a set of devices. Moreover, the computational paradigm we use for effective distributed execution of symbolic code on resource-constrained devices encourages the adoption of such patterns. The methodology is supported by a rule-based system that permits runtime verification of Software Under Test (SUT) on board the target devices through automated oracle and test case generation. Moreover, verification extends from syntactic and semantic checks to the evaluation of the effects of SUT execution on target hardware. Additionally, by exploiting rules tying sensors and actuators to physical quantities, the effects of code execution on the physical environment can be verified. The system is also able to build test code to highlight software issues that may arise during repeated SUT execution on the target hardware.
first_indexed 2024-03-10T13:45:46Z
format Article
id doaj.art-b1e8c2bfd85a44f380d6a1703a304919
institution Directory Open Access Journal
issn 1424-8220
language English
last_indexed 2024-03-10T13:45:46Z
publishDate 2020-12-01
publisher MDPI AG
record_format Article
series Sensors
spelling doaj.art-b1e8c2bfd85a44f380d6a1703a3049192023-11-21T02:40:46ZengMDPI AGSensors1424-82202020-12-0121110710.3390/s21010107Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded DevicesSalvatore Gaglio0Giuseppe Lo Re1Gloria Martorella2Daniele Peri3Department of Engineering, University of Palermo, Viale delle Scienze, Ed.6, 90128 Palermo, ItalyDepartment of Engineering, University of Palermo, Viale delle Scienze, Ed.6, 90128 Palermo, ItalyDepartment of Engineering, University of Palermo, Viale delle Scienze, Ed.6, 90128 Palermo, ItalyDepartment of Engineering, University of Palermo, Viale delle Scienze, Ed.6, 90128 Palermo, ItalyWe propose a methodology to verify applications developed following programming patterns inspired by natural language that interact with physical environments and run on resource-constrained interconnected devices. Natural language patterns allow for the reduction of intermediate abstraction layers to map physical domain concepts into executable code avoiding the recourse to ontologies, which would need to be shared, kept up to date, and synchronized across a set of devices. Moreover, the computational paradigm we use for effective distributed execution of symbolic code on resource-constrained devices encourages the adoption of such patterns. The methodology is supported by a rule-based system that permits runtime verification of Software Under Test (SUT) on board the target devices through automated oracle and test case generation. Moreover, verification extends from syntactic and semantic checks to the evaluation of the effects of SUT execution on target hardware. Additionally, by exploiting rules tying sensors and actuators to physical quantities, the effects of code execution on the physical environment can be verified. The system is also able to build test code to highlight software issues that may arise during repeated SUT execution on the target hardware.https://www.mdpi.com/1424-8220/21/1/107embedded systemswireless sensor networksinternet of thingssymbolic programmingdistributed programmingconcatenative languages
spellingShingle Salvatore Gaglio
Giuseppe Lo Re
Gloria Martorella
Daniele Peri
Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices
Sensors
embedded systems
wireless sensor networks
internet of things
symbolic programming
distributed programming
concatenative languages
title Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices
title_full Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices
title_fullStr Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices
title_full_unstemmed Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices
title_short Knowledge-Based Verification of Concatenative Programming Patterns Inspired by Natural Language for Resource-Constrained Embedded Devices
title_sort knowledge based verification of concatenative programming patterns inspired by natural language for resource constrained embedded devices
topic embedded systems
wireless sensor networks
internet of things
symbolic programming
distributed programming
concatenative languages
url https://www.mdpi.com/1424-8220/21/1/107
work_keys_str_mv AT salvatoregaglio knowledgebasedverificationofconcatenativeprogrammingpatternsinspiredbynaturallanguageforresourceconstrainedembeddeddevices
AT giuseppelore knowledgebasedverificationofconcatenativeprogrammingpatternsinspiredbynaturallanguageforresourceconstrainedembeddeddevices
AT gloriamartorella knowledgebasedverificationofconcatenativeprogrammingpatternsinspiredbynaturallanguageforresourceconstrainedembeddeddevices
AT danieleperi knowledgebasedverificationofconcatenativeprogrammingpatternsinspiredbynaturallanguageforresourceconstrainedembeddeddevices