Abstract
Advances in sensing hardware, computation and storage platforms and communication technologies have given rise to a plethora of sensory devices, ranging from biological sensors for health monitoring, humidity meters and temperature sensors for ecological monitoring, energy consumption sensors for smart homes and data centers, imaging sensors for surveillance and security applications, etc. In an effort to monitor our surroundings and to create the capability to respond to any situations that might arise in our surroundings, such sensors are being deployed at an ever increasing rate by both companies and individuals. A worthy goal is to develop techniques for managing these sensors and for analyzing and monitoring the data streams generated by these sensors. Traditionally, data streams are collected at a central location (typically a laptop/desktop computer) for monitoring, analysis and archiving. Mobile computing platforms are quickly reaching a point where these too can be effectively used to interact with these sensor systems. Mobile devices will act as gateways to the sensors, processing data streams originating from these sensors on-the-fly to assist the user with the tasks at hand. Indeed mobile devices themselves boast a suite of sensing capabilities: accelerometers, cameras, etc. This observation leads us to believe that it is worthwhile to study small embedded sensors and the slightly more powerful mobile handheld devices concomitantly.
Software development for embedded and mobile sensor devices has typically been performed with minimal software design and primarily by directly coding on the device. Sensor devices exhibit many of the same properties as embedded real-time systems, e.g., timely response to communication and sensory events. Thus UML standards like MARTE and SysML that are designed the modeling of real-time systems are a good starting point for software modeling for embedded sensor systems. SysML is a general purpose modeling language for systems engineering applications while MARTE is a UML profile that adds capabilities to UML for model-driven development of Real Time and Embedded Systems. Both of these specifications are important for sensor systems but are missing many some modeling capabilities. For example, they cannot model the network and communications component of sensors without some domain specific knowledge.
Advances in sensing hardware, computation and storage platforms and communication technologies have given rise to a plethora of sensory devices, ranging from biological sensors for health monitoring, humidity meters and temperature sensors for ecological monitoring, energy consumption sensors for smart homes and data centers, imaging sensors for surveillance and security applications, etc. In an effort to monitor our surroundings and to create the capability to respond to any situations that might arise in our surroundings, such sensors are being deployed at an ever increasing rate by both companies and individuals. A worthy goal is to develop techniques for managing these sensors and for analyzing and monitoring the data streams generated by these sensors. Traditionally, data streams are collected at a central location (typically a laptop/desktop computer) for monitoring, analysis and archiving. Mobile computing platforms are quickly reaching a point where these too can be effectively used to interact with these sensor systems. Mobile devices will act as gateways to the sensors, processing data streams originating from these sensors on-the-fly to assist the user with the tasks at hand. Indeed mobile devices themselves boast a suite of sensing capabilities: accelerometers, cameras, etc. This observation leads us to believe that it is worthwhile to study small embedded sensors and the slightly more powerful mobile handheld devices concomitantly.
Software development for embedded and mobile sensor devices has typically been performed with minimal software design and primarily by directly coding on the device. Sensor devices exhibit many of the same properties as embedded real-time systems, e.g., timely response to communication and sensory events. Thus UML standards like MARTE and SysML that are designed the modeling of real-time systems are a good starting point for software modeling for embedded sensor systems. SysML is a general purpose modeling language for systems engineering applications while MARTE is a UML profile that adds capabilities to UML for model-driven development of Real Time and Embedded Systems. Both of these specifications are important for sensor systems but are missing many some modeling capabilities. For example, they cannot model the network and communications component of sensors without some domain specific knowledge.
On the other hand software development for mobile devices has been focused more on Internet based applications as opposed a device for sensor data acquisition and processing. In most cases these Internet access applications do not require any real-time performance so many conventional high level languages are sufficient. For sensor data acquisition developers must be aware of the resource constraints of the platform. In that sense mobile devices are a form of an embedded system except it is usually constrained or governed by operator and/or vendor restrictions that have to be accounted for. Model based development should help to improve and test software development for mobile devices but there seems to be very little work in this area.
This workshop explored the following topics in order to facilitate software modeling for embedded and mobile sensor system:
• Software Modeling of sensor networks
• Performance modeling for embedded and real-time systems
• Component-based development of reactive systems
• Model checking for embedded real-time systems
• Protocol state machines for embedded real-time systems
• Bridging the semantic gap between the source and target model
• Software laboratories for studying and developing smart sensor network
Commercial software modeling tools for embedded and real-time systems have primarily focused on the design and analysis of processes in a single device. When one has to incorporate the gathering of sensory information it is necessary to incorporate models for distributed communications and power management into these existing tools. A significant challenge in the modeling of sensor network systems is the ability to model network delays and network lifetime at a similar layer of abstraction to that used at the software modeling layer. To complicate matters the performance of sensor networks is highly dependent on the physical layout of the sensors implying the need for the integration of network simulators with software modeling tools. John Khalil presented an overview on adaptations required to MARTE and SysML to support the modeling of sensor networks.
Quantitative performance analysis of service-oriented systems can be conducted in the early development phases by transforming a UML software model extended with performance annotations into a performance model (such as queueing networks, Petri nets, stochastic process algebra) which can be solved with existing performance analysis tools. The OMG standard MARTE, can be used for adding performance annotations to a given UML model. Dr. Petriu discussed the type of MARTE performance annotations and the principles for transforming annotated software models into performance models. Such a transformation must bridge a large semantic gap between the source and target model for two main reasons: performance models concentrate on resource usage and abstract away many details of the original software model, and the performance model requires platform information which is not contained in the software application model.
Interfaces represent abstractions which are supposed to facilitate the correct use of an entity by listing the data and operations that the entity makes available and separating its externally visible parts from the internal ones. Arguably, this notion is one of the great success stories in computer science. Dr. Dingel discussed the potential of protocol state machines (PSMs) for facilitating the model-driven development of component-based systems in general and of reactive systems in particular. Model checking is used for determining the compatibility of a component with respect to interface specifications using PSMs.
Virtual worlds can serve as software laboratories for carrying out sensor networks research. Virtual sensor networks can be conveniently deployed in these visually and behaviorally realistic 3D environments for further study and evaluation. These virtual worlds can be used to determine if the software models are functioning as expected. Dr. Qureshi presented examples of the use of virtual worlds as software laboratories. These examples support the unorthodox view that such software laboratories are indispensable for studying large scale embedded and mobile sensor systems.
The workshop provided a forum for researchers, students and developers of embedded and mobile sensor systems, from both academia and industry, to discuss the latest innovations and future works in the field. A special session was allocated for position papers and short discussions. The workshop concluded with a panel discussion on the topic of challenges for software modeling for embedded and mobile sensor systems.