Fig. 2 shows the steps that should follow a development team. The grey bubbles are
automatically carried out. Next we briefly introduce each step:
1. The system analyst specifies the system requirements using the service concep-
tual primitive. The system analyst uses three kind of PervML models in order to
describe (1) the kind of services available on the system, (2) the number of ser-
vices which are availables in every location and (3) how they interact when some
condition holds.
2. The system architect selects the kind and number of devices or software sys-
tems that are more suitable in order to provide the services specified by the analyst.
The selection could have into account economical reasons or constraints in the sys-
tem physical environment. The system architect uses other three PervML models
for describing (1) the kind of devices or software systems that are used for provid-
ing the system services, (2) the specific elements that are going to implement every
service and (3) the actions that the device or software systems must carry out for
providing every service operation.
3. An OSGi developer implements the drivers for managing the devices or soft-
ware systems which were selected by the system architect. These drivers provides
access from the OSGi-based framework to the devices or external software sys-
tems. They must be developed by hand, since they deal with technology-dependent
issues. If any device or external software system was used in a previous system, the
same driver can be reused.
4. 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.
5. The Java files are configured in order to use the selected drivers. This configu-
ration only implies to set up the drivers identifiers.
6. 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 proposed method is focused on the development of the software system that is
part of the pervasive system. The physical installation of devices, networks, etc. is out
of the scope of this work.
3 Case of Study: The Pervasive Meetings Room
The case of study which is shown in this paper aims to improve the functionality pro-
vided by a meeting room. This section briefly describes the functional requirements that
must be fulfilled by the pervasive system.
The meeting room, which is shown in Fig. 3 provides two kind of lighting services:
the main lighting service, which covers all the room, and an specific service for lighting
a projector screen. Users must be able to switch these lighting services manually using
some kind of device. When anybody is near the screen, the intensity of the specific
lighting must be decreased in order to provide a better visibility. Moreover, a security
system must record what happens in the room if anybody is there when the security is
activated.
15