PervML Method

The method proposed for the development of pervasive systems applies the guidelines defined by the Model Driven Architecture (MDA), which is supported by the Object Management Group (OMG), and the Software Factories, which is supported by Microsoft. Following these guidelines, the method provides

1.   Pervasive Modeling language (PervML) for specifying pervasive systems using conceptual primitives suitable for this domain.

2.     Implementation framework which provides a common architecture for all the systems which are developed using the method.

3.     Transformation engine that translates the PervML specifications into Java code.

 

 With these elements, as the figure shows, a development team must carry out the following steps in order to produce a pervasive system using our method:

1.   The system analyst specifies the system requirements using the service conceptual primitive. The system analyst specifies the Service Model, the Structural Model and the Interaction Model.

2.     The system architect selects the kind and number of devices or software systems 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 system physical environment. The pervasive system architect uses other three PervML models for describing (1) the kind of devices or software systems that are used for providing 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 software systems which were selected by the system architect. 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. 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 configuration 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.