Transformation and Validation with SWRL and OWL of ODM based Models


Jesus Almendros  (1)
Luis Iribarne  (2)


(1)  Information System Group
jalmen@ual.es
http://www.ual.es/~jalmen

(2)  Applied Computing Group
Luis.Iribarne@ual.es
http://www.ual.es/~liribarn

University of Almeria
04120 Almeria
SPAIN
 



Abstract

The Ontology Definition Meta-model (ODM) has been proposed as a profile for UML models of the Web Ontology Language (OWL).  In this context, transformations of UML models can be mapped to ODM/OWL transformations. OWL is equipped with the Semantic Web Rule Language (SWRL) whose aim is to provide a mechanism for rule based specifications. SWRL can be used for enriching OWL models via SWRL inferences. In this paper, we present an approach for the specification of transformations and validations of ODM models. Adopting a SWRL/OWL based approach we will show how transform and validate models. Model to model transformations are described with SWRL rules, and validation of source and target model is achieved with OWL and SWRL. Properties to be validated range from structural and semantic requirements of models (pre and post conditions) to properties of the transformation (invariants). The approach has been applied to the well-known example of model transformation: the Entity-Relationship (ER) to Relational Model (RM) transformation.






Contents

1. Models

    1.1. Model A
    1.2. Model B
    1.3. Metamodel A
    1.4. Metamodel B
    1.5. Object model A
    1.6. Object model B


2. OTL interpreter

3. Completion rules

4. Validation rules

5. Transformation rules

6. Instructions





1. Models




[
home ]







[
home ]







[
home ] [ OWL ]







[
home ] [ OWL ]







[
home ] [ OWL ]






[
home ] [ OWL ]



2. OTL interpreter


OTL interpreter code
[ download ] [ HTML version ]


[
home ]




3. Completion rules


Completion model A [ download ] [ HTML version ]

Completion model B [ download ] [ HTML version ]


[ home ]



4. Validation rules


Validation model A [ download ] [ HTML version ]

Validation model B [ download ] [ HTML version ]

Cross validation models A and B [ download ] [ HTML version ]


[ home ]



5. Transformation rules



OTL example of transformation rules [ download ] [ HTML version ]



[ home ]



6. Intructions

In order to test OTL based transformations you should download and install SWI-Prolog from www.swi-prolog.org.

After, you should load the OTL interpreter by:

?- [transformer].

Now, you can:

a) Complete model A with:

?- update('completionA.otl','metamodelA.owl','complete-metamodelA.owl').

b) Validate model A with:

?- transform('validationA.otl','complete-metamodelA.owl','validationA.owl').

c) Transform model A to model B:

?- transform('er2rl.otl','complete-metamodelA.owl','metamodelB.owl').

d) Complete model B with:

?- update('completionB.otl','metamodelB.owl','complete-metamodelB.owl').

e) Validate model B with:

?- transform('validationB.otl','complete-metamodelB.owl','validationB.owl').

f)  Cross validate models A and B:

?- update('er2rl.otl','complete-metamodelA.owl','metamodelAB.owl').
?- update('completionB.otl','metamodelAB.owl','complete-metamodelAB.owl').
?- transform('crossAB.otl','complete-metamodelAB.owl',validationAB.owl').



[ home ]



(c) Jesus Almendros and Luis Iribarne
University of Almeria, 2012
Almeria, Spain