A Body Sensor Networks Targeted Operating System and Toolset

A Body Sensor Networks Targeted Operating System and Toolset

SENSORCOMM 2011 : The Fifth International Conference on Sensor Technologies and Applications The BSNOS Platform: A Body Sensor Networks Targeted Operating System and Toolset Joshua Ellul Benny Lo Guang-Zhong Yang Department of Computing Deparment of Computing Deparment of Computing Imperial College London Imperial College London Imperial College London London, UK London, UK London, UK Email: [email protected] Email: [email protected] Email: [email protected] Abstract—Body sensor networks face different challenges enabling novice programmers to develop applications with than those faced in traditional wireless sensor networks. ease. Also, in that it is an operating system, we believe that Challenges faced include fewer, more accurate sensor nodes it should be usable without requiring any low level devel- and an increased requirement of context awareness, however, body sensor networks are relieved from high scalability. Pro- opment. Thus, we have included in the operating system a gramming sensor networks, in general, can be a daunting task default application which allows domain experts to monitor due to the limited computation, memory and energy resources environments and configure the sampling and transmission available. Operating systems for wireless sensor networks have rates of collected data. been proposed which focus on the challenges they face. We The primary contribution of this paper is that we have believe that an operating system and toolset which focuses primarily on the challenges and properties of body sensor designed the first operating system targetted especially for networks could help ease the burden of programming body body sensor networks, which utilizes run-time compilation sensor network applications. In this paper, we present an of bytecode to provide an efficient Java execution platform operating system which is focused on facilitating body sensor for resource constrained devices. network application development. The remainder of this paper is structured as follows. Keywords-body sensor networks; operating systems; Section II provides an overview of related work. Section III describes the motivation behind why this work is necessary. I. INTRODUCTION We provide an overview of the system design in Section Body sensor networks have emerged as a promising IV, followed by implementation details in Section V. We platform to enable scientists to further understand how the evaluate our work in Section VI and then conclude in Section human body operates with a means of remotely monitor- VII. ing different environmental conditions accurately. Operating systems for wireless sensor networks have been the primary II. RELATED WORK tool in developing body sensor node applications in the Operating systems commonly used for sensor network past. Developers require expertise in C and embedded pro- development include TinyOS [1] and Contiki [2]. TinyOS gramming to be able to create applications. Even seasoned exposes an event driven execution model programmed using programmers find the task of programming such applications a component model. TinyOS applications are programmed daunting and time consuming. Domain scientists rely on and using the nesC language developed specifically for TinyOS. wait for such applications to be developed before they can Contiki also provides an event-driven programming model, extract any useful information from the environment they however, programs are coded in C. It is very hard for non- wish to investigate. embedded developers to write programs for these operating The challenges faced in body sensor networks vary to systems due to the level of embedded and event-driven that of traditional wireless sensor networks. Body sensor programming experience required. networks usually consist of smaller networks of short range More recent initiatives to enable Java for sensor nodes communication, whilst traditional wireless sensor network aims to facilitate an easier programming paradigm for sensor research has been heavily focused on routing and MAC nodes [3] [4] [5] [6]. The Squawk virtual machine [4] allows protocols to facilitate scalability and longer range commu- for Java code to be executed on Sun SPOT devices. Sun nication. SPOT devices have substantially more resources than that of In this paper, we present the BSNOS platform, an op- more popular sensor nodes (especially those used for body erating system and platform designed to especially meet sensing). The Squawk virtual machine has a program mem- the requirements of body sensor network applications. The ory footprint of 270kB which is larger than that available operating system exposes a Java programming environment for most body sensor nodes available. Copyright (c) IARIA, 2011. ISBN: 978-1-61208-144-1 381 SENSORCOMM 2011 : The Fifth International Conference on Sensor Technologies and Applications Darjeeling [6] and TakaTuka [5] are two virtual machines tools which are currently used including C based operating which provide a Java interpreter for resource constrained systems [1][2]. devices. Interpreters are infamous for their high execution The motivation behind our work is to provide an operating overheads, and as can be seen in [6], the overhead is quite system which facilitates ease of development of body sensor large. To overcome such interpretation overheads, run-time network applications for novice programmers and domain compilation of bytecode [3] was proposed for sensor nodes, experts. We plan to achieve this by focusing on the intrinsic which provides substantially faster execution of bytecode properties of body sensor network applications. Whilst at the compared to interpreted versions. same time, sacrificing features required for traditional wire- less sensor networks which are not inherent in body sensor III. MOTIVATION networks in aim of delegating such relieved resources for ease of programmability and body sensor network specific Body sensor networks provide a different environment and functionality. By exposing an easy to use standard API we paradigm to that of traditional wireless sensor networks [7]. envisage that algorithms can seamlessly be shared, switched The size of the environment (the body) to be monitored and compared. Thus, enabling an open development research is much smaller and is geometrically the same to any platform for body sensor network applications. other (body) deployments, unlike the environments which traditional sensor networks are deployed in (which vary IV. DESIGN from one deployment to another). This results in smaller One of the main motivations behind our work is to provide sized networks with nodes placed in, usually, known places. an easy to use programming environment for developing A body sensor network rarely grows (or shrinks) in size. body sensor network applications for novice programmers. Also, once a node is placed, it is very unlikely to move. Most available tools for sensor network applications rely Transmission ranges of sensor nodes do not require long on C (or flavours thereof such as nesC) as a programming distances. Additionally, nodes are usually one hop away language. However, we have decided to opt for a Java from every node in the same body sensor network. These programming environment to facilitate an easy to use pro- properties of body sensor networks relieve body sensor gramming environment. As mentioned in Section II, several nodes from complex MAC and routing protocols which initiatives have been made to port Java to sensor nodes, is a primary requirement for traditional wireless sensor most of which use an interpreter to execute bytecode. As networks. shown in [6], interpretation of bytecode suffers from great Although body sensor networks will consist of a smaller execution overheads. We have, therefore decided to utilise numbers of nodes, relieving the nodes from scalability a run-time compiler similar to [3] in aim of offering a Java issues, this also means that nodes will not be able to rely on programming environment without incurring substantial exe- neighbouring nodes for redundancy. Thus, body sensor net- cution overhead. An overview of the toolchain and operating works require more accurate and robust sensing algorithms. system is shown in Figure 1. We will follow by describing More so, typical body sensor networks do not usually have each component of the toolchain and operating system. the luxury of long sleep periods since events must be caught 1) Scripting: We would like to target not only program- immediately due to the repercussions of missing a vital mers but also domain experts who more than likely do not event, which in turn affects the lifetime of the sensor node. have a large amount of experience programming. Thus, we However, most body sensor network deployments do not have included in our architecture a means of being able require long lifetimes since they are usually used temporarily to control how a body sensor network application would to analyse or detect specific conditions or applications. work on a higher level. For those with slight knowledge of Due to the geometrical, environmental and requirement programming we have provided a scripting tool which can be similarities between different body sensor network deploy- used to create simple applications by configuring the main ments and applications, a substantial amount of application execution thread using a Java like syntax without having logic is common amongst body sensor network applications. to deal with the intrinsic properties of Java. The scripting Such logic includes

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us