DNets: Goal-Oriented Programming Frameworks for Decision Making in Cyber-Physical Systems 

The goal is to research and develop a high-level programming framework for applications that interact with large-scale physical environments. Interaction is bi-directional between system and environments as it includes both data sensing and decision making under various goals and performance constraints that change dynamically.


The execution platform is a large-scale network of reconfigurable mixed-signal embedded nodes.    

The figure above illustrates a typical application that the project tackles. The application requires finding the travel paths between predefined groups of physical places, such that the overall amount of experienced toxic gas pollution is minimized, e.g., CO, CO2, SO2, and NOx pollution. Note that the characteristics of the polluting clouds constantly change in time and space due to weather conditions (i.e. wind, temperature and humidity) and new pollution sources, such as the ongoing traffic. Finding the shortest-length paths does not  necessarily minimize the experienced pollution, even though it reduces the exposure time. Instead, decisions about the optimal paths must be continuously made during travel depending on the current and expected levels of the toxic gas concentration.

The characteristics that distinguish such applications from traditional embedded systems are as follows:


· Physically-distributed data: The data used in decision making is physically distributed in space and time, such as the pollution levels along travel routes and gas clouds placed over 2D~zones. Data is utilized to express cumulative descriptions (e.g., size and position of toxic clouds, total amount of pollution), current and predictive trends (i.e. dispersion of clouds in time and space), and integration of data from related sensors, such as gas sensors, temperature sensors and sensors for vehicle detection. Defining distributed data and cumulative values requires description of the properties of the physical zones and time windows of interest, and specification of the characteristics of the points used in calculating cumulative values.


· Emergent objects: The forming of a new gas cloud represents an emergent object as the position, time, and gas type of the cloud cannot be anticipated a-priori. In contrast to dynamic variables of procedural languages, which are explicitly created at specific points in a program, emergent objects are produced if their enabling conditions are met, such as a gas cloud is formed if the gas concentration level at all points of a contiguous area exceeds a predefined threshold.


· Data predictions: The performed decisions, e.g., the selected travel paths, depend not only on the current state, such as the current pollution level, but also on the future characteristics of the system, i.e. pollution levels at future time instances. The prediction procedures for future characteristics of the monitored entities declare both invariant features, like the physical properties of the entities (e.g., the physical laws of gases), and changing aspects, like weather and traffic conditions, which modify the expressions used in prediction.


· Application goals and constraints: The quality of the acquired data is critical for optimal decision making, including sampling sufficient data over space and time, and minimizing the loss and delay of transferring distributed data to the decision making routine given the bandwidth, memory and energy constraints  of the architecture. Various timing constraints characterize data acquisition and event handling.


Below are some of the sensing nodes that have been built in our lab as part of this project. Nodes perform sound-based localization and temperature sensing and are based on a programmable mixed-signal System on Chip, PSoC from Cypress Inc.


Other Related Material