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.

Gaglio S., Lo Re G., Martorella G., & Peri D. (2021). Knowledge-based verification of concatenative programming patterns inspired by natural language for resource-constrained embedded devices. SENSORS, 21(1), 1-23 [10.3390/s21010107].

Knowledge-based verification of concatenative programming patterns inspired by natural language for resource-constrained embedded devices

Gaglio S.;Lo Re G.;Martorella G.;Peri D.
2021

Abstract

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.
Settore ING-INF/05 - Sistemi Di Elaborazione Delle Informazioni
Gaglio S., Lo Re G., Martorella G., & Peri D. (2021). Knowledge-based verification of concatenative programming patterns inspired by natural language for resource-constrained embedded devices. SENSORS, 21(1), 1-23 [10.3390/s21010107].
File in questo prodotto:
File Dimensione Formato  
sensors-21-00107-v2.pdf

accesso aperto

Descrizione: Articolo (versione editoriale)
Tipologia: Versione Editoriale
Dimensione 952.47 kB
Formato Adobe PDF
952.47 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: http://hdl.handle.net/10447/462057
Citazioni
  • ???jsp.display-item.citation.pmc??? 0
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 1
social impact