|Thesis abstract: |
In the last two decades, technology advances in chip miniaturization, energy consumption and wireless communication allow the development of revolutionary applications in fields like wearable and ubiquitous computing. The term ubiquitous computing refers to distributed technologies and applications designed to disappear in the environment, allowing the user to unconsciously interact with it. Ubiquitous computing requires small and smart devices deployed in the field of interest with the purpose of sensing valuable physical variables and interact with the users. A large amount of applications has been envisioned to this future in the field of tele-medicine, child care, environmental monitoring, etc.
In 2001, the IST Advisory Group (ISTAG) published a white paper that describes what living with Ambient Intelligence (AmI) might be like for ordinary people in 2010. This document includes four user-centric scenarios that envision what technology could do in the future and what could be the role of the user with respect to the Information Technology.
All these scenarios do not define any specific technology rather they are focused on user-machine interaction and applications. Very often they overlap in many aspects and thus technologies required for AmI could be useful for Smart Cities and so on. In particular, an element is heterogeneity, since different systems will interact each other to provide the user the required service. In AmI, devices like television, washing machine, heating system, security cameras, etc. will actively collaborate. In Smart Cities, a traffic light could need to communicate with a meteorological station. In Ubiquitous Computing, remarkably different devices with substantial hardware differences must communicate each other.
Wireless Sensor Networks
A WSN is an ad-hoc network composed of tiny devices with limited energy and computational resources equipped with sensors to gather physical measures from the environment. A decade of research and applications proved the truth of such statement and their potential in next generation digital systems. A lot of research effort has been spent on Wireless Sensor Networks (WSNs), and many architectures, protocols, programming techniques have been developed. Thanks to this research, today, complex and innovative applications can be developed in challenging application fields like medical or environmental monitoring.
The increasing complexity of Wireless Sensor Networks (WSNs) is leading towards the deployment of sophisticated networked systems, and the optimal design of WSNs can be a very difficult task in case constraints and requirements are strong. A common WSN node comprises five main components: a processing unit (microcontroller, processor, FPGA, ...), memories (DRAM, SRAM, Flash, ...), sensors and actuators, multiple communication layers (physical radio, MAC, Routing, ...) and a power supply (external power supply, batteries, solar cells, ...).
During the design phase, the cooperation of all these components must be combined to identify the configuration that best fits the design objectives. The rising complexity of WSNs design is also due to the combination of general-purpose architectures (which offer flexibility, but require an optimal configuration in order to behave in an energy efficient way) with ad-hoc radio, MAC and routing layers. The combination of different layers and the large number of configurable hardware and software parameters often generates an extremely large design space, which requires a powerful CAD algorithm to carry out the exploration.
In the last years, wireless sensor networks (WSNs) are becoming a well-established reality in many different domains, including military applications, environment control, industrial supervision, health monitoring and environmental monitoring. Once retrieved, measures are elaborated and sent over the wireless channel to a sink, where data is stored and used to monitor activities of the area of interest. WSN nodes usually operate in hostile environments with limited energy resources, constrained by the battery capacity, and thus the problem of achieving low power consumption has become one of the main research focuses of research over the last years.
In order to deal with the specific requirements of a given application domain, a WSN has to meet certain performance requirements as well as to guarantee a sufficient lifetime, which are often conflicting goals. The right tradeoff between these two objectives, as well as the prevention of undesired behaviors such as unbalanced performance among the different nodes of the WSN, can be guaranteed by accurately evaluating the network configurations during the design phase. In order to help the designer during the energy-performance tradeoff analysis, many Design Space Exploration (DSE) techniques for WSNs have been proposed in the literature, and most of the classic optimization algorithms can also be adapted to WSNs with a low effort. However, providing such algorithms with an accurate system-level estimation of the WSN performance is still an open problem, and it is necessary to guide the DSE algorithm to the detection of the Pareto-optimal network configurations.
Motivations and Rationale
Nowadays, Wireless Sensor Network¿s design requires experts from several application fields such as computer science, electronics, telecommunication, digital signal processing and application-specific competences (medicine, geology, biology, etc.). A collaboration between experts in these fields is required to guarantee an optimal design that respects given constraints and meet desired requirements.
This thesis presents a comprehensive study on the design of Wireless Sensor Networks including hardware platform design, network optimization and software partition. Moreover, adaptive techniques are proposed to deal with online real-time events such as interferences.
The main contribution of this thesis is a general-purpose design flow for WSN that defines the set and the sequence of processes to follow to obtain the specified design. The proposed design flow is a guideline for the development of automated design tools and design frameworks. The design phase takes several inputs such as the application specification, requirements, constraints, etc. The objective of this thesis is to define how the design process should be done, what can be done automatically and which information are required at each step of the design flow.
The applicability and effectiveness of the proposed design flow and optimization techniques has been verified and tested through the implementation of a design framework. It includes:
¿ Automated optimization of the given design;
¿ Pareto-frontier analysis to detect desired trade-off in a multi-objective scenario;
¿ Intuitive interface that allow manual design and test of WSNs.
In addition to design-time (offline) analysis and optimization, this thesis presents two techniques for online real-time adaptivity. It does not aim to provide a comprehensive study on online optimization, but show the reader the limits of design-time optimizations and the advantages of online real-time approaches. Please note that design-time optimization are usually more effective than online optimization for two aspects: the ability to define the design, in case of non-optimality, in any aspect (protocols, devices, etc.), and the amount of information during evaluation. However, online real-time optimizations are able to deal with stochastic processes such as faults or interferences effectively.
Design-time and online optimizations must be both considered during the design of a WSN. Reliable and cost-effective design solutions are important factors to ensure success and diffusion of WSN, thus efficient design tools to support the designer in this phase is of extreme important.