Powered by
Conference Publishing Consulting

Second International Workshop on Software Engineering for Sensor Network Applications (SESENA 2011), May 22, 2011, Waikiki, Honolulu, HI, USA

SESENA 2011 – Proceedings

Contents - Abstracts - Authors

Second International Workshop on Software Engineering for Sensor Network Applications (SESENA 2011)


Title Page

This volume contains the proceedings of SESENA 2011, the second in a series of workshops devoted to software engineering for sensor network applications. The workshop took place in Waikiki (Honolulu, USA) on May 22nd, 2011 in conjunction with the International Conference on Software Engineering (ICSE). Its objective was to discuss current work and future directions in software engineering for sensor network applications.

Full Papers

COPAL-ML: A Macro Language for Rapid Development of Context-Aware Applications in Wireless Sensor Networks
Sanjin Sehic, Fei Li, and Schahram Dustdar
(Vienna University of Technology, Austria)
Application development on wireless sensor networks is becoming more and more challenging due to increasing complexity of applications and lack of dedicated programming models. Developers should concentrate on the application logic, while network designers should ensure the network and sensor performance. However, in reality, these two roles often overlap because the architectural and programming abstraction between the network and application is missing. Research on middleware and language that bridges these two abstraction levels is still in a preliminary stage. This paper proposes a macro language based on our previous work COPAL (COntext Provisioning for ALl). COPAL is a runtime context provisioning middleware that, via a loosely-coupled and composable architecture, ensures context information from wireless sensor networks and other sources can be processed for the needs of context-aware applications. COPAL-ML is a macro language that extends Java programming language and is tailored for the application development using COPAL. Its main task is to reduce development efforts, hide the inherent complexity of COPAL API, and separate concerns of the context-aware application from underlining wireless sensor network.
Article Search
Cross-Platform Protocol Development for Sensor Networks: Lessons Learned
Marcin Brzozowski, Hendrik Salomon, Krzysztof Piotrowski, and Peter Langendoerfer
(IHP, Germany)
Protocols for sensor networks are commonly coupled to the specific operating system (OS), for instance TinyOS, involv- ing some drawbacks. First, programmers must learn OS architecture, programming guidelines, sometimes a new pro- gramming language, etc. Second, protocols run on the spe- cific OS only, i.e. on the hardware supported by the OS. Third, only selected network simulators, mostly provided by OS, can execute the OS-coupled code. To tackle the problems with interoperability we examined the idea of cross-platform protocol development for sensor networks, i.e. software running on several OSs, and share our experience in this paper. Our primary cross-platform MAC protocol runs on two OSs and on a hardware platform supporting the C program- ming language. To achieve interoperability we decoupled MAC from OS calls and provided a hardware abstraction layer (HAL) for each OS. We discovered that such an ap- proach does not result in a significant penalty in terms of occupied memory (e.g. smaller by 3 kB than the TinyOS- dedicated version) and consumed energy (additional over- head smaller by three orders of magnitude from total tx energy).
Article Search
Modeling and Analyzing Performance of Software for Wireless Sensor Networks
Luca Berardinelli, Vittorio Cortellessa, and Stefano Pace
(University of L'Aquila, Italy)
The development of software for Wireless Sensor Networks (WSN) is mostly based on code-and-fix techniques. Up today model-driven engineering techniques have only been limitedly considered in this domain, although they would enable a set of activities aimed at improving the quality of software. In this paper we investigate the possibility to adapt an existing model-based approach that exploits such techniques to combine the modeling and performance analysis of software for WSN. We introduce a UML-based framework where a system model (i) is extended with a new profile for representing NesC application along with the supporting hardware platform, and (ii) is annotated with performance parameters defined in the standard UML MARTE profile. Thereafter we apply a set of transformations to this enhanced UML model that targets a Queueing Network performance model. Finally we illustrate our approach at work on a case study in the agricultural domain.
Article Search
On Coordination Tools in the PicOS Tuples System
Benny Shimony, Ioanis Nikolaidis, Pawel Gburzynski, and Eleni Stroulia
(University of Alberta, Canada; Olsonet Communications Corporation, Canada)

In this paper, we discuss the most recent coordination extension to the PicOS-tuples environment, inspired, to a degree, by B-Threads and FACTS. We illustrate the extensions with two design patterns, highly useful in WSN computations, known as regulative superimposition and distributed detection. Those patterns are employed in a debugging protocol that retrieves snapshots of node states. We demonstrate how our new idioms can be propitious for separating concerns in WSN programming using tuples.

Article Search
On Mining Sensor Network Software Repositories
Andreas Loukas, Matthias Woehrle, and Koen Langendoen
(Delft University of Technology, Netherlands)
Wireless Sensor Network (WSN) software is typically developed in one of the two prominent WSN operating systems: TinyOS or Contiki. Both of these operating systems are open-source projects and basically frameworks for WSN developers. In this paper, we study the software repositories of these two projects. Software repositories provide a wealth of information on software projects and their development. Based on the mined information, we explore the TinyOS and Contiki commit history and compare them to an open-source embedded operating system, Ethernut. As a second step, we explore WSN-specific artifacts and mine TinyOS software for cross-cutting concerns. Most of the relations we find are not cross-cutting. Nevertheless, we do find cross-cutting concerns that are resource-related.
Article Search
Model Driven Development for Rapid Prototyping and Optimization of Wireless Sensor Network Applications
Ryo Shimizu, Kenji Tei, Yoshiaki Fukazawa, and Shinichi Honiden
(Waseda University, Japan; National Institute of Informatics, Japan; The University of Tokyo, Japan)
In order to develop Wireless Sensor Network (WSN) applications, it is necessary to develop prototypes in a low-cost way and to optimize application performance. Existing development approaches enable to develop a low-cost prototype by concealing the detail of WSN from the developers. However, there is a trade-off between the development cost of prototype and the description capability needed to optimize the application performance. We propose a Model-Driven Development (MDD) process to enable a low-cost prototyping and detailed optimization. To enable such a development process, we define modeling languages, which describe an application at three abstraction levels, and transformation rules, which transform models described by our modeling language to concrete one. Using our process, in prototyping, the developer describes a model by using the modeling language at the highest abstraction level and automatically obtains an executable model by using transformation rules. In addition, in optimizing, the developer can automatically obtain the models at more concrete abstraction level than the prototype by using transformation rules and modifies them in greater detail by using each modeling language.
Article Search
sMapReduce: A Programming Pattern for Wireless Sensor Networks
Vikram Gupta, Eduardo Tovar, Luis Miguel Pinho, Junsung Kim, Karthik Lakshmanan, and Ragunathan Rajkumar
(Polytechnic Institute of Porto, Portugal; CMU, USA)
Wireless Sensor Networks (WSNs) are increasingly used in various application domains like home-automation, agriculture, industries and infrastructure monitoring. As applications tend to leverage larger geographical deployments of sensor networks, the availability of an intuitive and user- friendly programming abstraction becomes a crucial factor in enabling faster and more efficient development, and re- programming of applications. Therefore, in this paper, we propose a programming pattern named sMapReduce, inspired by the Google MapReduce framework, for mapping application behaviors on to a sensor network and enabling complex data aggregation. The proposed pattern requires a user to create a network-level application in two functions: sMap and Reduce, in order to abstract away from the low- level details without sacrificing the freedom to develop complex logic. Such a two-fold division of programming logic is a natural-fit to typical sensor networking operation which makes sensing and topological modalities accessible to the user.
Article Search
Lazy Preemption to Enable Path-Based Analysis of Interrupt-Driven Code
Wei Le, Jing Yang, Mary Lou Soffa, and Kamin Whitehouse
(University of Virginia, USA)
One of the important factors in ensuring the correct functionality of wireless sensor networks (WSNs) is the reliability of the software running on individual sensor nodes. Research has shown that path-sensitive static analysis is effective for bug detection and fault diagnosis; however, path-sensitive analysis is prohibitively expensive when applied to a WSN application due to the large state space caused by arbitrary interrupt preemptions. In this paper, we propose a new execution model called lazy preemption that reduces this state space by restricting interrupt handlers to a set of pre-determined preemption points, if possible. This execution model allows us to represent the program with an inter-interrupt control flow graph (IICFG), which is easier to analyze than the original CFGs with arbitrary interrupt preemptions.
Article Search
The Smart Condo: Integrating Sensor Networks and Virtual Worlds
Veselin Ganev, David Chodos, Ioanis Nikolaidis, and Eleni Stroulia
(University of Alberta, Canada)
The term “Smart Home” refers to a home that has both a set of sensors to observe the environment and a set of actuators to automatically control home devices to improve the occupants’ experience. A Smart Home has the potential to provide a variety of services based on information gleaned by data recorded by a multiplicity of sensor types, but also requires a systematic means (a) of abstracting differences among sensor types and (b) of supporting services and their rapid development. In this paper, we describe our approach towards meeting those needs, including a component of sensor adapters and a language for modeling person activities that can guide the development of health-care services.
Article Search
Challenges of Satisfying Multiple Stakeholders: Quality of Service in the Internet of Things
Chien-Liang Fok, Christine Julien, Gruia-Catalin Roman, and Chenyang Lu
(University of Texas at Austin, USA; Washington University at St. Louis, USA)
As wireless sensor networks become increasingly integrated with the Internet, the Internet of Things (IOT) is beginning to emerge. The IOT is a massive cyber-physical system that presents many software engineering challenges. One fundamental challenge is the need for multi-dimensional QoS that can satisfy the individual constraints of the many participants in the system. In this paper, we investigate the challenges of providing such a mechanism via a simple abstraction consisting of a general QoS function provided by each application. This function distills the multi-dimensional QoS specifications from each stakeholder into a single value that is used to determine the best configuration of interactions. We prototype our approach in a real wireless sensor network using a pervasive healthcare fall-detection application and highlight the many challenges it unveils.
Article Search

Short Papers

Firm Firmware and Apps for the Internet of Things
Matthias Kovatsch
(ETH Zurich, Switzerland)
Among the challenges for the Internet of Things, two stand out: a scalable application layer with wide interoperability and a common, reliable programming model. We propose to strip all application logic from the firmware and only provide a RESTful interface to the hardware functionality. Critical parts such as the network stack remain in the immutable firmware that is maintained by experts. Applications are developed atop the resource abstraction and run in the cloud. Leaving the embedded domain, application development is eased while sharing and customizing applications helps to cope with the vast number of diversified device types.
Article Search
Model-Driven Design plus Artificial Intelligence for Wireless Sensor Networks Software Development
Peter Mülders, Stefan Gruner, and Nguyen Xuan Thang
(University of Pretoria, South Africa; University of Kassel, Germany)
To date, software development for wireless sensor network nodes is still characterized by low-level ad-hoc programming to a large extent. This short-paper argues for a methodologically more systematic approach on the basis of Model-Driven Engineering with CASE-Tool support, in combination with AI-based design choice optimizations during the MDE-steps of model-refinement and information-enrichment. Our work in this project is ongoing.
Article Search
Toward a Unified Object Model for Cyber-Physical Systems
Yu David Liu
(SUNY Binghamton, USA)
Cyber-physical systems are a coordinated combination of computational and physical elements. This position paper calls for the design of a unified object model that blends the boundary of the two. The unified object model has the benefits of bringing classic software engineering technologies and tools -- such as UML -- to the new application domain of cyber-physical systems, and further equipping programs written for these systems with the traditional strengths of object-oriented languages, such as encapsulation, code reuse and customization, and strong guarantees for avoiding run-time errors.
Article Search

proc time: 0.03