0000000000320229

AUTHOR

Gloria Martorella

Interoperable real-time symbolic programming for smart environments

Smart environments demand novel paradigms offering 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 application 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 co…

research product

A Middleware to Develop and Test Vehicular Sensor Network Applications

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

research product

Verification of Symbolic Distributed Protocols for Networked Embedded Devices

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 …

research product

A Fast and Interactive Approach to Application Development on Wireless Sensor and Actuator Networks

In Wireless Sensor and Actuator Networks (WSANs) sensor and actuator devices are connected through radio links to perform tasks in many different contexts. Conven- tionally, 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 a…

research product

A symbolic distributed event detection scheme for Wireless Sensor Networks

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, …

research product

Development of an IoT Environmental Monitoring Application with a Novel Middleware for Resource Constrained Devices

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 d…

research product

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 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 sys…

research product

An AMI System for User Daily Routine Recognition and Prediction

Ambient Intelligence (AmI) defines a scenario involving people living in a smart environment enriched by pervasive sensory devices with the goal of assisting them in a proactive way to satisfy their needs. In a home scenario, an AmI system controls the environment according to a user’s lifestyle and daily routine. To achieve this goal, one fundamental task is to recognize the user’s activities in order to generate his daily activities profile. In this chapter, we present a simple AMI system for a home scenario to recognize and predict users’ activities. With this predictive capability, it is possible to anticipate their actions and improve their quality of life. Our approach uses a Hidden M…

research product

Programming distributed applications with symbolic reasoning on WSNs

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 developm…

research product

Closing the sensing-reasoning-actuating loop in resource-constrained WSANs through distributed symbolic processing

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 pu…

research product

A Lightweight Middleware Platform for Distributed Computing on Wireless Sensor Networks

Abstract 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 inte…

research product

High-level Programming and Symbolic Reasoning on IoT Resource Constrained Devices

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 …

research product

Hardware and Software Platforms for Distributed Computing on Resource Constrained Devices

The basic idea of distributed computing is that it is possible to solve a large problem by using the resources of various computing devices connected in a network. Each device interacts with each other in order to process a part of a problem, contributing to the achievement of a global solution. Wireless sensor networks (WSNs) are an example of distributed computing on low resources devices. WSNs encountered a considerable success in many application areas. Due to the constraints related to the small sensor nodes capabilities, distributed computing in WSNs allows to perform complex tasks in a collaborative way, reducing power consumption and increasing battery life. Many hardware platforms …

research product

A Rule-Based System for Hardware Configuration and Programming of IoT Devices

Simplifying programming, deployment, and configuration of heterogeneous networked IoT devices requires networking, hardware, representation of knowledge and concepts, design and programming skills. In fact, IoT applications are mostly built by adopting different existing paradigms and technologies on a case-by-case basis. As a result, programming tools hinder adaptability and interoperability of applications with their rigidity. In this paper, we propose a rule-based system that configures and programs IoT devices automatically. The rule base holds formal specifications about hardware platforms, networking protocols, physical world concepts, and applications. Provided with a high-level appl…

research product

On-board Energy Consumption Assessment for Symbolic Execution Models on Embedded Devices

Internet of Things (IoT) applications operate in several domains while requiring seamless integration among heterogeneous objects. Regardless of the specific platform and context, IoT applications demand high energy efficiency. Adopting resource-constrained embedded devices for IoT applications means ensuring low power consumption, low maintenance costs and possibly longer battery life. Meeting these requirements is particularly arduous as programmers are not able to monitor the energy consumption of their own software during development or when applications are finally deployed. In this paper, we discuss on-board real-time energy evaluation of both hardware and software during the developm…

research product

A Lightweight Network Discovery Algorithm for Resource-constrained IoT Devices

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 executab…

research product

DC4CD

In this article, 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 the 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 it also compares well in te…

research product

WSN Design and Verification Using On-Board Executable Specifications

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 func…

research product