Applying a Model-Driven Method to the Development of a Pervasive Meeting Room
by Javier Muñoz, Estefania Serral, Carlos Cetina and Vicente Pelechano
Scientists at Universidad Politécnica de Valencia are implementing a pervasive system for managing a meeting room. The pervasive system has been developed using a model-driven method, and the final application integrates several technologies like EIB and Web Services. Three different user interfaces are provided for interacting with the system.
Researchers in pervasive systems have developed many software systems which try to achieve the Weiser vision. These systems have been implemented in a completely ad hoc fashion, or using implementation frameworks. Developing a pervasive system following these approaches is a hard and error-prone task. In order to improve the productivity and reduce the number of errors, we have developed a method that applies the Model-Driven Architecture (MDA) and the Software Factories approaches to the development of pervasive systems. The method is based on the specification of the system using PervML, a UML-like language designed for precisely describing the functionality of pervasive systems. The PervML specification is then automatically translated into Java code. The generated code extends an OSGi-based framework in order to build the final pervasive application.
The application studied here is that of the pervasive meeting room. Such a meeting room would contain features such as lighting management, multimedia reproduction, presence detection and video recording. For instance, when someone is near the projection screen, the intensity of the lightings may be automatically decreased in order to provide better visibility. Security systems may also record what occurs in the room.
In order to develop the system following our model-driven method, certain steps are followed:
- The system analyst specifies the system requirements using the service conceptual primitive. The system analyst uses three kinds of PervML models in order to describe (i) the kind of services available on the system, (ii) the number of services which are available in every location and (iii) how they interact when some condition holds.
- The system architect selects the kind and number of devices or software systems that are suitable for providing the services specified by the analyst. The system architect uses three other PervML models for describing (i) the kind of devices or software systems that are used for providing the system services, (ii) the specific elements that are going to implement each service and (iii) the actions that the device or software systems must carry out in providing each service operation.
- An OSGi developer implements the drivers for managing the devices or software systems. These drivers provide access from the OSGi-based framework to the devices or external software systems. They must be developed by hand, since they deal with technology-dependent issues.
- The transformation engine is applied to the PervML specification. Many Java files and other resources (Manifest files etc) are automatically generated as a result of this action.
- Finally, the generated files are compiled, packaged into bundles (JAR files) and deployed in the OSGi server with the implementation framework and the drivers.
The software that manages the pervasive system has been deployed in a Pentium IV barebone, which runs the Prosyst Embedded Server 5.2 as the OSGi implementation. In order to support the control devices (lights, switches and presence detector), an EIB network has been deployed.
 |
| Figure 1: Network structure of the meetings room system. |
|
The user interface is a key element in a pervasive system. Users interact with the system using several kinds of devices, so multiple user interfaces must be provided. Currently, we provide three different user interfaces:
- A Web interface for desktop browsers, which can be used by meeting attendees via their laptops or, for instance, by a supervisor in a central control unit.
- A native PDA application, which could be used from the PDAs of the company employees. The client application can be installed in their mobile devices since they interact frequently with the pervasive system, and the user experience is richer than using a Web application.
 |
| Figure 2: The three user interfaces for managing the pervasive system. |
|
A Web interface for PDA browsers, which can be used from the PDAs or other mobile devices of any room user. It is a Web interface with a resolution of 320x240 pixels.
Following the proposed method, the specification of the system functionality is independent of the devices selected for implementing the system. Moreover, the manufacturer-dependent details are isolated in the drivers’ layer. With this approach, we can change all the implementation technologies just by replacing the drivers, but from the user’s point of view the functionality provided by the pervasive system remains the same.
Link:
http://oomethod.dsic.upv.es
Please contact:
Vicente Pelechano, Universidad Politécnica de Valencia, Spain
E-mail: pele
dsic.upv.es