-
Verification of Symbolic Distributed Protocols for Networked Embedded Devices. A. Augello, R. D'Antoni, S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) (Vol. 1, pp. 1177-1180) 2020
Abstract
| PDF
| BibTeX
| Full Text
The availability of versatile and interconnected embedded devices makes it possible to build low-cost networks with a large number of nodes running even complex applications and protocols in a distributed manner. Common tools used for modeling and verification, such as simulators, present some limitations as application correctness is checked off-board and only focuses on source code. Execution in the real network is thus excluded from the early stages of design and verification. In this paper, a system for modeling and verification of symbolic distributed protocols running on embedded devices is introduced. The underlying methodology is rooted in a symbolic programming paradigm that makes it possible to model protocols with a high level of abstraction still permitting their execution on resource-constrained devices. The preliminary experimental results shown in this paper concern verification of a distributed averaging protocol in a simulated network at increasing number of nodes. The results support the feasibility of the approach to test distributed applications running on large networks of resource-constrained nodes.
-
Distributed Symbolic Network Quality Assessment for Resource-constrained Devices. A. Augello, S. Gaglio, G. Lo Re, D. Peri. In Proceedings of the 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) (pp. 1-4) 2021
Abstract
| PDF
| BibTeX
| Full Text
After a Wireless Sensor Network (WSN) is deployed it is subject to significant variations of the quality of its radio links during its lifetime. Knowledge of the condition of the wireless links can be useful to optimize power consumption and increase the reliability of the network. However, resource-constrained nodes may not be able to spare the storage space for network monitoring code. Also, reprogramming deployed nodes can be costly or unfeasible. In this work, we show how an approach based on the exchange of symbolic executable code among nodes enables the assessment of the network status in terms of Packet Reception Rate (PRR) with no extra storage requirements on deployed networks. We also compare the predictions made through this estimate with the actual network behavior.
-
A Middleware to Develop and Test Vehicular Sensor Network Applications. S. Gaglio, G. Lo Re, G. Martorella and D. Peri. In Proceedings of the 2019 AEIT International Conference of Electrical and Electronic Technologies for Automotive (AEIT AUTOMOTIVE), Torino, Italy, 2019, pp. 1-6.
Abstract
| PDF
| BibTeX
| Full Text
The Smart city ecosystem is composed of several networked devices that provide services to citizens and improve their quality of life. Basic services, which must be exposed by the underlying software infrastructure, require efficient networking and communication protocols to coordinate and manage all the system components. In particular, Vehicular Sensor Networks (VSNs) are envisioned as key components of smart cities. Verifi- cation is crucial in such a highly dynamic scenario to ensure operation correctness and to reduce the development cost of smart applications. However, the rigidity of existing middlewares makes development, reconfiguration, and testing rather difficult. In this work, we propose a middleware that supports devel- opment and testing of distributed applications in VSNs. The middleware is based on symbolic processing. Interactive testing as well as incremental development are enabled by the exchange of executable symbolic code among vehicles. The symbolic approach also fosters rapid prototyping and construction of testbeds.
-
Interoperable Real-Time Symbolic Programming for Smart Environments. S. Gaglio, G. Lo Re, L. Giuliana, G. Martorella, D. Peri and A. Montalto. In Proceedings of the 2019 IEEE International Conference on Smart Computing (SMARTCOMP)
Abstract
| PDF
| BibTeX
| Full Text
Smart environments demand novel paradigms of- fering easy configuration, programming and deployment of pervasive applications. To this purpose, different solutions have been proposed ranging from visual paradigms based on mashups to formal languages. However, most of the paradigms proposed in the literature require further external tools to turn appli- cation description code into an executable program before the deployment on target devices. Source code generation, runtime upgrades and recovery, and online debugging and inspection are often cumbersome in these programming environments. In this work we describe a methodology for real-time and on-line programming in smart environments that is compact and efficient enough to run on resource-constrained devices. The pillar of the proposed approach is real-time exchange of executable symbolic code in heterogeneous networks. The methodology is supported by an inference engine that is able to generate symbolic code starting from knowledge about hardware devices and their placement in the environment, and about the application domain. Interoperability with existing smart applications and Internet of Things (IoT) deployments is reached through a symbolic Transmission Control Protocol (TCP) client, and Message Queue Telemetry Transport (MQTT) client.
-
A Lightweight Network Discovery Algorithm for Resource-constrained IoT Devices. S. Gaglio, G. Lo Re, G. Martorella and D. Peri. In Proceedings of the 2019 International Conference on Computing, Networking and Communications (ICNC), Honolulu, HI, USA, 2019, pp. 355-359.
Abstract
| PDF
| BibTeX
| Full Text
Although quite simple, existing protocols for the IoT suffer from the inflexibility of centralized infrastructures and require several configuration stages. The implementation of these protocols is often prohibitive on resource-constrained devices. In this work, we propose a distributed lightweight implementation of network discovery for simple IoT devices. Our approach is based on the exchange of symbolic executable code among nodes. Based on this abstraction, we propose an algorithm that makes even IoT resource-constrained nodes able to construct the network topology graph incrementally and without any a priori information about device positioning and presence. The minimal set of executable symbols to be defined on the devices is identified and simulation results for different topologies are reported.
-
WSN Design and Verification using On-board Executable Specifications. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In IEEE Transactions on Industrial Informatics
Abstract
| PDF
| BibTeX
| Full Text
The gap between informal functional specifications and the resulting implementation in the chosen programming language is notably a source of errors in embedded systems design. In this paper, we discuss a methodology and a software platform aimed at coping with this issue in programming resource-constrained wireless sensor network nodes (WSNs). Whereas the typical development model for the WSNs is based on cross compilation, the proposed approach supports high-level symbolic coding of abstract models and distributed applications, as well as their test and their execution, directly on the target hardware. As a working example, we discuss the application of our methodology to specify the functional behavior of a radio transceiver chip. The resulting executable specifications are augmented with automatically generated runtime verification code. Our approach is also compared to code development for two prominent WSN general-purpose operating systems.
-
DC4CD: a Platform for Distributed Computing on Constrained Devices S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In ACM Transactions on Embedded Computing Systems
Abstract
| PDF
| BibTeX
| Full Text
In this paper we present Distributed Computing for Constrained Devices (DC4CD), a novel software architecture that supports symbolic distributed computing on Wireless Sensor Networks. DC4CD integrates the functionalities of a high-level symbolic interpreter, a compiler, and an operating system, and includes networking abstractions to exchange high-level symbolic code among peer devices. Contrarily to other architectures proposed in literature, DC4CD allows for changes at runtime, even on deployed nodes of both application and system code. Experimental results show that DC4CD is more efficient in terms of memory usage than existing architectures, with which also compares well in terms of execution efficiency.
-
A Symbolic Distributed Event Detection Scheme for Wireless Sensor Networks. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the International Conference on Emerging Technologies and Factory Automation (ETFA'16)
Abstract
| PDF
| BibTeX
| Full Text
Due to the possibility of extensive and pervasive deployment of many tiny sensor devices in the area of interest, Wireless Sensor Networks (WSNs) result particularly suitable to detect significant events and to react accordingly in industrial and home scenarios. In this context, fuzzy inference systems for event detection in WSNs have proved to be accurate enough in treating imprecise sensory readings to decrease the number of false alarms. Besides reacting to event occurrences, the whole network may infer more information to enrich the event semantics resulting from reasoning processes carried out on the individual nodes. Contextual knowledge, including spatial and temporal relationships, as well as neighborhood confidence levels, can be used to improve the detection accuracy, but requires to extend the number of variables involved in the reasoning process.In this paper, we propose a distributed scheme for event detection in WSNs that combines fuzzy reasoning and executable code exchange to infer contextual information. The proposed scheme lets resource constrained interconnected devices perform on-board reasoning on numerical and symbolic data, and exchange additional symbolic knowledge ?in the form of data, rules and executable code? to enrich the event semantics.In the presented case study the nodes can determine the number of neighbor nodes, their spatial proximity to the position where an event occurred, or classify themselves into clusters according to their final decisions. Differently from mainstream approaches, node cooperation is carried out through an effective and inexpensive executable code exchange approach.
-
Use of Forth to Enable Distributed Processing on Wireless Sensor Networks. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the 31th EuroForth Conference (EuroForth2015)
Abstract
| PDF
| BibTeX
| Full Text
-
High-level Programming and Symbolic Reasoning on IoT Resource Constrained Devices S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In EAI Endorsed Trans. Cognitive Communication 1(2): e6 (2015)
Abstract
| PDF
| BibTeX
| Full Text
-
Closing the Sensing-Reasoning-Actuating Loop in Resource-constrained WSANs through Distributed Symbolic Processing. S. Gaglio, G. Lo Re, G. Martorella, D. Peri, S.D. Vassallo. In Proceedings of the 20th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA 15)
Abstract
| PDF
| BibTeX
| Full Text
Many issues in creating complex applications for pervasive environments are primarily due to the effort required to integrate perception, reasoning and actuating tasks in an efficient and homogeneous way, especially when the underlying infrastructure consists of wirelessly networked embedded devices. To mitigate the complexity of the actual implementation, satisfactory programming paradigms supporting the integration and coordination among heterogeneous devices are required. In this paper we show how a distributed symbolic processing approach that is particularly suited for resource constrained devices, such as the nodes of a Wireless Sensor and Actuator Network (WSAN), may be apt to the purpose. We also discuss a case study in which sensors and actuators, without any centralized control, act on the environment according to the thermal preferences that are continuously learned and monitored.
-
Programming distributed applications with symbolic reasoning on WSNs. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the 2015 International Conference on Computing, Networking and Communications (ICNC)
Abstract
| PDF
| BibTeX
| Full Text
Programming Wireless Sensor Networks (WSNs) is a complex task for which existing approaches adopt rigid architectures that are only suitable for specific application fields. In previous papers we introduced a programming methodology and a lightweight middleware based on high-level programming and executable code exchange for distributed processing on WSNs. In this paper, we show how high-level programming can be effectively used on WSNs to implement symbolic reasoning. In order to prove the feasibility of our approach, we present a Fuzzy Logic system where the value updates and the rule evaluations are performed in a distributed way. Through the proposed methodology, we discuss the development of an Ambient Intelligence application. In particular, we describe how the nodes of a WSN may compute an estimation of the user thermal comfort by exchanging symbolic rather than numerical data, and control an HVAC (Heating, Ventilation and Air Conditioning) system accordingly.
-
Development of an IoT Environmental Monitoring Application with a Novel Middleware for Resource Constrained Devices. S. Gaglio, G. Lo Re, G. Martorella, D. Peri, S.D. Vassallo. In Proceedings of the 2nd Conference on Mobile and Information Technologies in Medicine (MobileMed 2014)
Abstract
| PDF
| BibTeX
| Full Text
In this paper the development of a Mobile Health monitoring system is described. The system combines user location data with air quality information provided by a heterogeneous sensing infrastructure providing users with advises about their daily exposure to air pollutants. The highly dynamic integration of different kind of nodes, mostly characterized by rather constrained resources, of this application is crucial to implement the Internet of Things vision, and requires powerful and effective programming methodologies to abstract implementation of high-level distributed processing from hardware dependencies. We then describe our programming methodology and our novel middleware supporting distributed applications on constrained devices. Our development approach is based on distributed symbolic processing through executable code exchange among nodes, and permits to extend the capabilities of nodes even after their deployment.
-
High-level Programming and Symbolic Reasoning on IoT Resource Constrained Devices. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the First International Conference on Cognitive Internet of Things Technologies (COIOTE 2014)
Abstract
| PDF
| BibTeX
| Full Text
While the vision of Internet of Things (IoT) is rather inspiring, its practical implementation remains challenging. Conventional programming approaches prove unsuitable to provide IoT resource constrained devices with the distributed processing capabilities required to implement intelligent, autonomic, and self-organizing behaviors. In our previous work, we had already proposed an alternative programming methodology for such systems that is characterized by high-level programming and symbolic expressions evaluation, and developed a lightweight middleware to support it. Our approach allows for interactive programming of deployed nodes, and it is based on the simple but effective paradigm of executable code exchange among nodes. In this paper, we show how our methodology can be used to provide IoT resource constrained devices with reasoning abilities by implementing a Fuzzy Logic symbolic extension on deployed nodes at runtime.
-
A Fast and Interactive Approach to Application Development on Wireless Sensor and Actuator Networks. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the 19th International Conference on Emerging Technologies and Factory Automation (ETFA2014)
Abstract
| PDF
| BibTeX
| Full Text
In Wireless Sensor and Actuator Networks (WSANs) sensor and actuator devices are connected through radio links to perform tasks in many different contexts. Conventionally, applications for WSANs are developed using traditional operating systems which application code is linked with at the end of a cross-compilation process. We propose instead an alternative approach for building applications on WSANs that is based on interactivity and does not require time consuming cross-compilation phases. In our development methodology, it is possible to define procedures and services according to the application target, simultaneously test them and reprogram the nodes interactively when needed, even after network deployment. The main advantage of our approach is flexibility since it lets nodes exchange data and executable code, permits to define new syntactic constructs at runtime, and supports the creation of application-oriented languages.
-
A Lightweight Middleware Platform for Distributed Computing on Wireless Sensor Networks. S. Gaglio, G. Lo Re, G. Martorella, D. Peri. In Proceedings of the 2nd International Workshop on Body Area Sensor Networks (BASNet-2014)
Abstract
| PDF
| BibTeX
| Full Text
The peculiar features of Wireless Sensor Networks (WSNs) suggest to exploit the distributed computing paradigm to perform complex tasks in a collaborative manner, in order to overcome the constraints related to sensor nodes limited capabilities. In this context, we describe a lightweight middleware platform to support the development of distributed applications on WSNs. The platform provides just a minimal general-purpose software layer, while the application components, including communication and processing algorithms, as well as the exchanged data, are described symbolically, with neither preformed syntax nor strict distinction between data and code. Our approach allows for interactive development of applications on each node, and requires no cross-compilation, a common practice that makes the development of WSN applications rigid and time-consuming. This way, tasks and behavior of each node can be modi?ed at runtime, even after the network deployment, by sending the node executable code.