DiaSim

Description

Motivation

Pervasive computing applications coordinate a variety of networked entities collecting context data from sensors and reacting by triggering actuators. To collect context data, sensors process stimuli that are observable changes of the environment (e.g., fire and motion). Developing a pervasive computing application requires to address a number of issues such as entity heterogeneity, physical constraints, and types of stimuli present in the target environment. Also, such an application needs to implement strategies to manage a variety of scenarios, e.g., fire situations, intrusions, and crowd emergency-escape plans. Consequently, in addition to the challenges of developing any software system, a pervasive computing system needs to validate the application building blocks both individually and globally, to identify potential conflicts. In practice, the many parameters to take into account for the development of a pervasive computing application can considerably lengthen this process and a fully-equipped pervasive computing environment is still required to run and test an application. As a result, an iteration process is needed, involving the physical layout of the target environment and the application code. This process is cumbersome and hinders testing applications against a wide range of scenarios. To ease this process, we propose DiaSim, a parameterized simulator for pervasive computing applications.

Our Approach

DiaSim relies on the DiaSpec approach where a high-level specification of a pervasive computing environment written in the DiaSpec language is passed to a compiler to produce a customized programming framework. This programming framework provides developers with high-level abstractions to discover services and to communicate with them. In the DiaSim approach, DiaGen automates the production of simulation environments, enables transparent simulation of applications and allows actual entities to be tested together with simulated ones. In the rest of this section, we describe the key features of our approach.

Parameterized simulator. Pervasive computing systems target a variety of application areas, including home automation, building surveillance and assisted living. A simulation tool for the pervasive computing domain is required to deal with different application areas, enabling new classes of entities and stimuli to be introduced easily. To adapt to various application areas, the DiaSim simulator is parameterized with respect to a high-level specification of a pervasive computing environment written in the DiaSpec language.

Transparent simulation. Our approach makes it possible for the same code to be simulated or executed in the actual environment. DiaSim emulate the execution of an application without requiring any change in the application code. As a result, when the testing phase is completed, the application code can be uploaded as is and its logic does not require further debugging. To do that, we ensure a functional correspondence between a simulated environment and an actual one by requiring both implementations to be in conformance with the same DiaSpec specification.

Generated simulation support. A DiaSpec specification is used to generate both an emulation layer to execute applications and a simulation programming framework to develop simulated entities. Furthermore, simulation scenarios are defined in a emph{scenario editor} which is parameterized by a DiaSpec specification. Simulated services and stimuli can then be graphically defined using a wizard. To facilitate the creation of simulated services and stimulus producers, we provide libraries of predefined behaviors.

Hybrid simulated environments. DiaSim builds simulated environments as extensions of actual environments. Because of this inheritance strategy, an application can be executed in a hybrid environment, combining simulated and actual services. This feature is particularly useful to perform unit testing of actual entities.

Simulation renderer. We present a simulation renderer that enables the developer to visually monitor and debug a pervasive computing system. The simulation renderer takes into account various features of the pervasive computing domain. Specifically, it supports visual representations for an open-ended set of entities and stimuli, visual support for scenario monitoring, and debugging facilities to navigate in scenarios in terms of time and space.

 

Website: http://diasim.bordeaux.inria.fr


Screenshots

Simulation of an engineering school management system

Simulation of a security system


Publications

2009

In peer reviewed conference proceedings

Titre
DiaSim: A Parameterized Simulator for Pervasive Computing Applications
Auteurs
Julien Bruneau; Wilfried Jouve; Charles Consel
Détail
6th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (Mobiquitous'09), Jul 2009, Toronto, Canada. IEEE
Accès au texte intégral et bibtex
DiaSim.pdf BibTex
Titre
DiaSim: A Parameterized Simulator for Pervasive Computing Applications
Auteurs
Wilfried Jouve; Julien Bruneau; Charles Consel
Détail
IEEE International Conference on Pervasive Computing and Communications, 2009 (Demo), Mar 2009, Galveston, United States.
Accès au texte intégral et bibtex
diasim-percom-demo.pdf BibTex

Other publications

Titre
A Parameterized Simulator for Pervasive Computing Applications
Auteurs
Julien Bruneau; Alexandre Blanquart; Nicolas Loriant; Charles Consel
Détail
2009. Demonstration at ICPS'09
Accès au bibtex
BibTex


Participants