PervML Language

PervML is a Domain Specific Language (DSL ) designed with the aim of providing to the pervasive system developers with a set of constructs that allow to precisely describe the pervasive system in a technology independent way. PervML promotes the separation of roles where developers can be categorized as system analysts and system architects.

  

Systems analysts capture system requirements and describe the pervasive system at a high level of abstraction using the service metaphor as the main conceptual primitive. Analysts build three graphical models that constitute what we call the Analyst View:

1) The Services Model describes the kinds of services (by means of their interfaces, their relationships, their triggers and a State Transition Diagram for specifying the behaviour of each service);

2) The Structural Model describes the components that are going to provide the defined services;

3) The Interaction Model describes how these components interact to each other.

 

On the other hand, we need to build a detailed specification of the lower level artifacts that realize system services in order to have a complete and operative pervasive system description. Hence, system architects specify what devices and/or existing software systems realize system services. We call binding providers to the elements that are responsible of binding the software system with its physical and logical environment. For instance, a lighting sensor is in charge of measuring a physical feature of the environment, whereas an e-mail server allows sending information to agents that are out of the scope of the system. Architects build other three models that constitute what we call the Architect View:

1) The Binding Provider Model specifies every kind of binding provider (their interfaces and their relationships);

2) The Component Structural Model specifies the binding providers which are used by each system component;

3) The Funtional Model specifies which actions should be executed when a component operation is invoked.


 

In order to give support to the specification of PervML models we have developed the PervML metamodel. It determines which model elements can be created and how they can be related. It defines forty five metaclasses and eighty six metarelationships. Below a partial view of the metamodel is shown. It is shown the metamodel of the Services Model. We have implemented the PervML metamodel as an Ecore, and as an uml file too by using the topcased plug-in of Eclipse.

  mmservicemodel

 

Download 

 You can download the complete PervML metamodel. The metamodel has been defined using TopCased , so it is recomended in order to see the diagrams.

 

Publications

Implementing a Pervasive Meetings Room: A Model Driven Approach.
Javier Muñoz, Vicente Pelechano, Carlos Cetina. International Workshop on Ubiquitous Computing (IWUC 2006), Paphos, Cyprus. 23 May 2006. pp. 13 - 20, ISBN: 972-8865-51-1

paper paper