BATS: Dynamic Adaptable Applications for Bats Tracking by Embedded Communicating Systems
The project is motivated by providing new methodologies that allow for efficient and effective tracking of animals in their natural habitat. Particularly, as an application example, this research project focuses on bats, which are one of the most protected species in the European Union. The developed tracking system for capturing and automatic processing of bats motions should meet a few specific requirements: First, it has to be individual-based, that is, tracing data should be assignable to a particular bat. Second, localization of bats has to be performed with high precision, and third, any contact or interaction between two different bats has to be accounted. For instance, it is asked to make clear statements about the duration female bats are nursing their youngs, but also to study their hunting and general social behavior. Matters like that can only be tracked when mobile sensor nodes are directly mounted on each bat. These kind of nodes need to communicate with both static sensor nodes on the ground, which are distributed among the whole compound, and other mobile nodes.
Fulfilling such requirements and maintaining key aspects such as heterogeneity, scalability, adaptivity, and energy-awareness is a challenging task because of implicitly resulting strict limitations. For instance, the maximum weight the examined bat species can carry amounts to 2 g (up to ten percent of its own body weight). Hence, this weight must not be exceeded by the mobile sensors that are mounted on the bats (including batteries, circuits, and antennas). All in all, the mobile nodes should be optimized for
- weight (i.e., the nodes need to be ultra-light),
- shape and size (i.e., designing the nodes so that they are not influencing bats in terms of their natural behavior), and
- energy consumption (i.e., code that is executed on mobile nodes should be as energy-efficient as possible so that nodes can be used without being recharged for several days).
As a consequence thereof, such requirements limit available memory and computation power. Subsequently, hardware components have to be selected wisely and custom circuits need to be synthesized. Doing so, however, not only requires to have energy-aware and adaptive hardware but also protocols and software in general. For this, distributed ad-hoc memory and computation power must be localized and used in an efficient manner. For example, optimal energy management can be achieved by means of pre-aggregation of collected data on the nodes, which is combined with intelligent routing mechanisms that allow for efficient data transfer between all mobile and static nodes.
Solving problems like that is the reason why this research project has been initiated. People with different specialities and orientations are encouraged to work together to find most appropriate solutions. In the end, they will smooth the way for new possible applications in the fields of ecology, biomedicine, behavioral biology, and evolutionary biology.
The BATS research project is grouped into eight different sub projects consisting of different interdisciplinary-oriented groups: biologists, computer scientists, and electrical engineers (also see project partners for a complete list of all participants). The figure on the right-hand side gives an overview of all all sub projects. Arrows show interaction between particular sub projects; arrows labeled with letters (A, B, C, and D) highlight interaction between this and other sub projects (see below for more details).
In sub project 1, actual research on bats' behavior is carried out. Requirements to the application are clarified between this sub project and sub project 3, which is responsible for creating the data stream management system (DSMS) and ensuring optimal processing of data stream queries. Sub project 4 is responsible for temporary storage of dynamically generated data (processed by the DSMS to respond to behavioral, biological questions, which are framed by sub project 1) and efficiently accessing them.
Two different sub projects are being working on the node communication: sub project 5 (stationary nodes on the ground) and sub project 6 (mobile nodes on the bats). Sub project 5 (Tracking4BATS) provides a sensor-based network. For that, examinations on the feasibility of area-wide trajectory estimations on basis of field strength measurements are necessary. Regarding topology, this means to determine the ideal room layout when using directional antennas. Sub project 5 is supplemented by sub project 6 (Scalability4BATS), which focuses on the scalability aspect and on further improvements to the localization accuracy (e.g., using phase-coherent measurements). Sub projects 7 and 8 are responsible for designing the mobile sensors in a way that makes them mountable on bats. In addition to generation of signals for localization purposes, analog hardware for energy-efficient communication (sending and receiving) are being incorporated on the same integrated circuit. Energy is saved, for example, by implementing wake-up receivers that prevent the circuit from being activated unnecessarily.
This sub project (SP 2), which provides the software infrastructure, has to cooperate particularly with SP 3, 4, 5, and 7:
- (A): Sub project 3 determines all application requirements and forwards them to the software infrastructure for further processing and code generation. Additionally, suggestions on distributed execution are given, which can be optimized in terms of processing costs.
- (B): Code fragments are either linked in a central spot or directly transfered to the sensor nodes to be further processed. This is controlled by sub project 4's data management layer.
- (C): Energy-efficient point-to-point protocols, implemented by sub projects 5 and 7, have to be coordinated with routing techniques of sub project 4. In addition to that, these techniques have to be coordinated with sub project 2 for both dynamic code management and distributed linking.
- (D): The sensor nodes are configured by means of specific queries (sub project 3). Requirements for the localization application of sub project 5 are determined by the software infrastructure.
This sub project's main goal is to provide a flexible system software infrastructure, called ARTE (Adaptive Run-Time Environment for Resource-scarce Sensor Systems). A major challenge is the restricted availability of resources, such as energy and memory, but also ad-hoc network connections. Hence, the operating system has to be light-weight (in terms of memory usage), energy-aware (optimized for using energy-efficient algorithms as well as being predictable in terms of battery lifetimes), and needs to provide the infrastructure that is required for efficient network protocols other sub projects can arrange with.
The operating system will be optimized for distributed data base queries and therefore needs to provide a customized middleware layer, which manages the software part for communication between mobile and static sensor nodes. In order to enable online modifications, that is, modifications that do not require a hard reset (e.g., for effectively testing new algorithms or new software components), the operating system on the nodes needs to be dynamically reconfigurable or reprogrammable, respectively. Both the states of applications and the system need to be preserved during this update process.
Sloth is a light-weight operating system that aims to investigate utilization of underlying hardware features. Particularly, Sloth exploits hardware interrupt subsystems to perform most of the scheduling and dispatching activities. That is, all control flows (including threads) are implemented as interrupt service routines (ISRs). As a result, Sloth outperforms comparable embedded operating systems in terms of speed (regarding context switching) and memory usage (regarding kernel and code size). Yet, Sloth still supports blocking tasks (ISRs usually have run-to-completion semantics) and mechanisms to switch between different stacks (blocking tasks need their own stacks). Sloth has already been ported to the ARM Cortex-M3 and the TriCore. As part of this research project, Sloth will also be ported to the T8051, which is according to Evatronix currently the world's smallest MCU IP core but still meets all of Sloth's requirements.
SEEP is an energy estimation framework that follows a proactive methodology which aims to provide developers with accurate energy estimations before deployment. Currently, we prepare Sloth for being analyzable by the SEEP framework. On the one hand, this allows us to detect hidden energy hotspots in Sloth itself, and on the other hand, precise energy estimates for all library and system functions of Sloth can be retrieved. These estimates are kept in a trace database, which can be exploited for time savings in future estimation runs, because previously analyzed functions are not going to be analyzed again. Instead, their corresponding energy values are calculated on basis of approximation formulas in the profile, and symbolic execution continues using deposited path conditions and symbolic expressions (i.e., the respective code segment is not executed symbolically again). This requires to create an energy profile for the T8051 as potential target architecture and to adapt a corresponding instructions simulator for being usable by SEEP.
People Involved in BATS