OS support for WSN and Embedded System Debugging - CAPES/DFAIT Cooperation Project

Program Description

The CAPES-DFAIT program is a scholarship program aim at supporting team-oriented research projects between Canadian and Brazilian institutions of higher education in key areas of mutual cooperation, such as democratic governance, prosperity and security, as well as science and technology, thus encouraging research collaboration as well as graduate student mobility. This program supports exchanges of PhD students in the context of team-based bilateral research projects.

Partnering Institutions and Project Leads

1.1. Brazilian Institution:

1.2. Canadian Institution


  • Start date: 01/09/2011
  • End date: 31/08/2013

Project Description

Wireless Sensor Networks (WSNs) are composed by thousands of little devices with very limited resources. Consequently, WSNs are subject to new problems and system requirements. Although their hardware is evolving to stable commercially available platforms, the frontier between hardware and software is still an interesting topic for research. Operating systems for WSNs should comprise abstractions that handle digital and analog sensors, provide a communication protocol stack, and make efficient use of the system's limited energy capability. Moreover, OSs should provide an interface and a simple configuration system for application developers, which usually have little knowledge about OSs or WSNs design. Another topic intrinsically connected to WSN design is debugging, which provides methods to locate and correct defects (bugs), in the system and its applications.

A WSN infrastructure is composed of reprogrammable microcontrollers, which implies that a series of performance and efficiency factors must be reanalyzed every time a new environment is to be monitored or new equipment is inserted. Moreover, the state of the art in debugging of embedded systems is scant. Debugging techniques such as LED blinking and Morse code are still frequently used. Expensive and advanced debugging methods (in-circuit emulators) are rarely useful for debugging WSNs, since WSNs usually implement distributed systems with in time-related problems (e.g. real-time applications) and interaction with the physical environment through transducers.

Research on remote sensing is of strategic importance to Brazil and Canada's technological, industrial, and ecological development, from tourism to environmental protection. Applications involving environmental monitoring and analysis, intelligent cities, and precision farming are only a sample of the huge set of possible applications. Although there are no official statistics from the Canadian government, a study published by [[Tassey 2002]] showed that, in the USA, testing and debugging tasks account for 30% to 50% of the total cost of an embedded system development. Considering that the global market for embedded software is about $2.2 billion from the whole embedded software market of $92 billion, this means that companies spend between $0.66 and $1.1 billion on testing and debugging. Improvements in debugging would have a huge impact in the Canadian/Brazilian embedded software development landscape.


The main project objective is to investigate the applicability of domain engineering techniques named “Application-driven Embedded System Design (ADESD)” and “Model-based developing” to create new methods of OS support and debugging techniques for large scale WSN and embedded systems. To reach this main and long-term objective, we define the following specific goals:

  • State-of-the-art embedded systems architectures: this goal is to carry out a bibliographic research done together by the project collaborators, as well as relevant case studies. This step is fundamental to guide the process of domain analysis involved in the creation of the proposed infrastructure.
  • New methods of OS development and debugging in WSNs: debugging usually comprises the following phases: (1) instrumentation, (2) monitoring, (3) bug identification, and (4) bug removal. During instrumentation, the developer inserts breakpoints in the system to obtain data about its internal behavior, which may point out the cause of bugs. During monitoring, the developer provides initial values for the system, observes its behavior and traces its execution. During bug identification, the developer analyzes the generated traces to locate the bug's origin. Finally, during bug removal, the developer changes the program to correct the problem. The software development of large scale embedded systems, such as WSNs, lacks on efficient debugging techniques.

The integration between these large scale embedded systems and application-oriented operating systems constitutes a solution for this problem. The Embedded Parallel Operating System (EPOS), developed at LISHA/UFSC, has been used in several WSN academic and industrial projects. When integrated to a WSN, EPOS adds a great deal of configurability and also increases the sensing system's performance. Through the use of modern software engineering practices, EPOS can guarantee the biggest possible applicability for a given family of sensors. In addition, by using EPOS it is possible to create a complete WSN debugging infrastructure.
This goal aims at investigating the applicability of the domain engineering techniques ADESD and model-based developing in order to create new application-oriented OS support and debugging methods to large scale embedded systems. The domain engineering analysis is important to address relevant issues in the software-component development (e.g. reusability, complexity management, and composability).

  • Integration of the infrastructure: a WSN can be composed by hundreds or thousands of reprogrammable sensors that imply in a series of performance and efficient factors that should be rethink whenever a new environment should be monitored or a new sensor hardware is inserted in the environment. An OS support for developing large scale embedded system applications which allows software reuse and also gives to the developers a complete environment for finding and correcting a bug will provide a bigger flexibility and speed the embedded system developing. This goal is to integrate the new debugging and OS methods into a final software architecture in order to ease software development efforts.
  • Proposed architecture validation through a pilot application: The connection of micro-sensing devices in a WSN brings exciting possibilities with applications in virtually all fields of human knowledge. A WSN can, for example, monitor a wildlife habitat in an area of native forest and provide environmental data about its fauna and flora. Another set of sensors can be used to control a smart environment, where environmental conditions (e.g. temperature, humidity, light) are changed dynamically according to the needs of the system and external weather conditions. Many researchers envision a future populated by microscopic electronic circuits, fed by energy collected from the environment, forming a network of smart dust.

Consequently, a new environment for large scale embedded systems execution support cannot be considered effective before being widely tested in real applications. In this context, this goal aims at designing and implementing a real WSN application. The main requirement of this application is to use the developed debugging architecture and all software components, enabling the project validation.

  • Cooperation between the Groups: to foster collaboration, this goal will encompass sub-activities including regular teleconferences, meetings at scientific events, and an annual project workshop organized by the partner institutions.
  • Results dissemination: we envision the organization of workshops during the mission of the project members, publication of papers in qualified conferences and journals. It will also be encouraged the writing of thesis in English (for the Brazilian side) to increase the impact of the project results.

Project Activities

  • Investigate the state-of-arte
  • New methods of OS development and debugging in WSN and embedded systems
  • Development and integration of the debugging infrastructure
  • Architecture validation
  • Cooperation between the research groups
  • Results dissemination by publishing papers and theses