intermediate transformation or after a transformation
tin order to express models within the same "pivot"
language. A pivot model is a model used as an
intermediate representation to align the input models
to the same formalism.
The concept of a pivot model has been
introduced in several research areas related to the
model-driven engineering especially in taking into
account the interoperability. Commonly, the term
“pivot” means the point of rotation in a lever system.
It is also the term used to describe an interpreter who
translates a low level language “Maltese” (national
language of Malta) to a language (e.g : English). The
translated text is then used as a source of translation
for other languages (Beleg and al., 2009).
One of the first uses of the term “pivot” in
Computer Science referred to the quicksort
algorithm numbers (quicksort). The algorithm
consists in choosing a number (called pivot) from a
list of disordered numbers and switch all the
elements, so that all those who have a lower value to
the pivot are placed to the left and all those who a
higher value on his right.
Milanovic introduced in (Milanovic and al.,
2009): R2ML (Rewerse Rule Markup Language), a
pivot meta-model for bidirectional alignment taking
into account in one hand the ontologies that are the
backbone of the semantic web and in the other hand
MDA concepts. In the field of ontologies, central
area of the Semantic Web, the models are described
by OWL (Ontology Web Language) and SWRL
language (Semantic Web Rule Language) for
expressing validation rules for the semantic web.
Whereas in the field MDA, models are described in
UML with OCL as constraints expression language.
Thus models expressed in UML / OCL can be
exploited in the field of semantic web by translating
them into OWL/SWRL models and vice versa
through neutral model: R2ML.
Similarly Sun and al. in (Yu Sun and al., 2009)
have defined a pivot model. Many tools according to
them are developed to automatically detect
redundant codes in a program and represent them
into appropriate statistics. The problem is that each
of these tools has a different representation of the
obtained result which gives the integrator a hard task
to know each of these representations in order to act
on the portion of the appropriate program.
The idea presented is to provide a common
graphical representation in SVG. This is achieved by
defining a meta-model pivot GCC (Generic Code
Clone) that contains common concepts and
characteristics of redundant code blocks detection
tools. This meta-model will serves as (intermediate)
between redundant code detection tools and SVG
(Scalable Vector Graphics) model.
The use of pivot as an intermediate model makes
it easy to centralize and optimize the data format in
order to represent the input models in the same
formalism. The interoperability process is thus
simplified and can continue with less complexity.
In the next section we explore our Pivot model
(UREM) which is proposed to perform translation
between different RE models.
4 UNIFIED REQUIREMENTS
ENGINEERING META-MODEL
UREM is an intermediary of communication and
information translation between different types of
RE models. RE models are instances of different
types of RE meta-Models where each meta-Model is
composed of a set of concepts.
The idea behind the pivot UREM is to create a
new meta-Model which is composed of a set of
classes where each class is an abstraction of a set of
concepts (similar concepts) that exist in different RE
meta-models. To find abstractions between RE
concepts, we have adopted a rigorous process that is
concerned with the meaning of concepts (Semantic
Process). Our process is based on WordNet (George,
1995) to find semantic relationships and similarities
between words which represent RE concepts (words
are the only thing that we get to apprehend RE
concepts).
Our aim is to perform cooperation between
different types of approaches. In the unification
process, we have chosen one approach from each
type of RE approaches in order to achieve our goal,
regardless of the RE approach chosen, our
unification process is applicable to various other
approaches. In this paper, we deal with approaches
that are widely used: i* (Castro and al., 2011) as
goal oriented approach, CREWS (Sutcliffe and al,
1998) as scenario oriented approach and PREview
(Sommerville and al., 1997) as viewpoint oriented
approach.
The following sub-sections give us an overview
of the unification process.
4.1 Concepts Categorization
The first step of the unification process is to
categorize all concepts of the three RE approaches
mentioned above under two categories: