=Paper=
{{Paper
|id=Vol-433/paper-13
|storemode=property
|title=A Model-driven Engineering Based RCA Process for Bi-level Models Elements / Meta-elements: Application to Description Logics
|pdfUrl=https://ceur-ws.org/Vol-433/paper9.pdf
|volume=Vol-433
}}
==A Model-driven Engineering Based RCA Process for Bi-level Models Elements / Meta-elements: Application to Description Logics==
A Model-driven
model-driven Engineering
engineering Based
based RCA Process
process
for Bi-level
for bi-level Models
models Elements
elements / Meta-elements:
meta-elements
Application to description Logics
Application to Description logics
No Author
X. Dolques1 , J.-R. Falleri1
, M. Given
Huchard1 , and C. Nebut1
LIRMM, CNRSNo Institute
and Given
Université de Montpellier 2,
161, rue Ada, 34392 Montpellier cedex 5, France
{dolques, falleri, huchard, nebut}@lirmm.fr
Abstract. Relational Concept Analysis (RCA) facilitates the discovery
of new abstractions in data descriptions including relations. A model
driven approach for RCA implementation makes possible to deal with
most input data (models) simply by configuring the transformation for
the chosen input data type (metamodel). Until now, we only applied
this approach to one-level models (mainly class models). In this paper
we study RCA applied to bi-levels models, which mix elements and meta-
elements (class-instance models, e.g. OWL models). We propose a model
hybridisation approach to tackle the encoding problems and we provide
a case study showing the results obtained on OWL models.
1 Introduction
Programs and models are easier to understand and maintain when they are or-
ganised using abstractions. Relational Concept Analysis (RCA) is one of the
existing approaches to automatically detect such abstractions. RCA is an exten-
sion of Formal Concept Analysis (FCA) taking into account the relations linking
the analysed entities.
To apply RCA, the analysed entities have first to be encoded into contexts
containing information on the attributes of the entities and on the relations
linking the entities. Then RCA is applied and builds concept lattices containing
the discovered entities, that are then decoded towards the initial language for
the entities.
A model-driven engineering (MDE) based approach has been proposed [1,2]
to provide a generic mecanism for the encoding and decoding part of the process,
that has just to be configured to be adapted to a given language. In this approach,
to apply RCA to a given model m, two inputs are needed (in addition to m): the
metamodel for m (that can be seen as the structural definition of the language in
which m is written), and the configuration making precise which meta-elements
of this metamodel have to be taken into account during the RCA process (for
example: names of elements, roles of associations, etc).
Until now, such an RCA-MDE process has been successfully applied to class
models. The contribution of this paper is to study its application to bi-level
c Radim Belohlavek, Sergei O. Kuznetsov (Eds.): CLA 2008, pp. 109–120,
! 104–115,
ISBN 978-80-244-2111-7,
978–80–244–2111–7,Palacký
PalackýUniversity,
University,Olomouc,
Olomouc,2008.
2008.
110 Xavier Dolques, Jean-Rémy Falleri, Marianne Huchard, Clémentine Nebut
models where entities and meta-entities co-exist [3]. Such models are frequently
found in cases when we want to represent in the same model a concept and an
instance of it, for example in UML instance diagrams [4], RDFS resources [5] or
ODM ontologies [6]. We focus in this paper on applying RCA-MDE to individuals
in the sense of description logics. The idea is thus to look for abstractions among
individuals, each individual being typed by a class. The main issue is to deal with
two levels of abstraction: the level of individuals (classically named M0) and the
one of classes (M1). The presence of two levels complexifies the application of the
RCA-MDE process, as we will show in this paper. After providing background
on our approach, we detail two ways to apply RCA-MDE on bi-level models: a
naive one, directly inspired from mono-level models, and a more elaborated one
giving more relevant results, and that is based on an automated hybridation of
the input model and metamodel. We explain how this process is implemented in
our RCA-MDE platform, and provide results on two real-world ontologies.
2 Background : Relational Concept Analysis and
description logics
Relational Concept Analysis (RCA) Relational Concept Analysis [7] is one of the
extensions of Formal Concept Analysis [8] that considers links between objects
in the concept construction. Connections can be made with other FCA-based
proposals for dealing with relational descriptions or complex structures including
[9,10,11,12] to mention just a few. RCA uses a natural representation of data in
the form of tables that constitute a relational context family. Some of these tables
represent objects of several categories described by binary attributes (formal
contexts) while the other tables represent relations between objects from the
categories (relational contexts). We illustrate RCA with an example including a
single formal context (Knature , see Fig.1) and two relational contexts, Reat and
Rlive , shown in Figures 3 and 4.
Thing Plant Place Animal
berry X
mountain X
sheep X
lichen X
wolf X
rabbit X
bear X
herb X
Fig. 1. Formal context
Knature
Fig. 2. Concept Lattice Lnature
A Model-driven Engineering Based RCA Process for Bi-level Models 111
Elements / Meta-elements: Application to Description Logics
berry sheep lichen rabbit herb mountain
berry berry
mountain mountain
sheep X sheep X
lichen lichen
wolf X X wolf X
rabbit X rabbit X
bear X X X bear X
herb herb
Fig. 3. Relational context Reat Fig. 4. Relational context Rlive
Definition 1 (Relational Context Family (RCF)). A Relational Context
Family R is a pair (K, R). K is a set of formal contexts Ki = (Oi , Ai , Ii ), R is
a set of relational contexts Rj = (Ok , Ol , Ij ) (Ok and Ol are the object sets of
the contexts Kk and Kl of K).
New abstractions emerge iterating the two following steps. The first step is
classical concept lattice construction. In second step, formal contexts are con-
catenated with relational contexts enhanced by concepts created in previous
lattice construction.
Initialisation step. Lattices are built at this step using FCA. For each formal
context Ki , a lattice L0i is created (in our example, it is shown in Fig. 2).
Step n+1. For each relational context Rj = (Ok , Ol , Ij ), an enhanced relational
context Rjs = (Ok , A, I) is created. A is the concept set of the lattice Lnl (created
at step n). In the case of Reat , we obtain Reatss
= (Onature , Lnature , I). I con-
tains the set of pairs (o, a) s.t. S(R(o), Extent(a)) is true, where S is a scaling
operator. We consider here two scaling operators: S∃ (R(o), Extent(a)), which is
true iff ∃x ∈ R(o), x ∈ Extent(a), and S∀∃ (R(o), Extent(a)), which is true iff
∀x ∈ R(o), x ∈ Extent(a) ∧ ∃x ∈ R(o), x ∈ Extent(a).
We give a first example using S∃ to compute Reat s
. Initialisation step allows
us to discover the abstraction represented by the concept C2 (plants). As we
have (berry) ∈ Reat (bear) with berry ∈ Extent(C2 ), (bear, C2 ) ∈ I. For similar
reasons, (rabbit, C2 ) ∈ I. This highlights the fact that bears and rabbits eat at
least one kind of plant.
Now we examine a computation based on the scaling operator S∀∃ . As
(sheep) ∈ Reat (bear) and sheep %∈ Extent(C2 ), now (bear, C2 ) %∈ I. Reversely,
since Reat (rabbit) = {herb} ⊆ Extent(C2 ), we still have (rabbit, C2 ) ∈ I. This
indicates that rabbits only eat plants, while bears do not only eat plants: but
also sheep.
Applying FCA to Kk ∪ {Rjs = (Ok , A, I)} creates new concepts that are
added to Lnk to obtain Ln+1 k . For example, still using the scaling operator S∀∃
on the concatenation of Knature , Reat s
and Rlive
s
(Fig. 5), we obtain the concept
112 Xavier Dolques, Jean-Rémy Falleri, Marianne Huchard, Clémentine Nebut
({sheep, rabbit}, {Animal, eat : C1, eat : C2, live : C1, live : C3}). This concept
represents objects that are animals, eat only plants and live only in places (here
mountain due to the very restricted example). As the process goes on, more and
more complex information on relational structuring emerges. The process stops
when lattices at step n are equivalent to those at step n − 1 i.e. when no new
concept appear.
s s
Knature Reat Rlive
Thing Plant Place Animal C1 C2 C3 C4 C5 C1 C2 C3 C4 C5
berry X
mountain X
sheep X X X X X
lichen X
wolf X X X X X
rabbit X X X X X
bear X X X X
herb X
Fig. 5. Context Knature concatenated with enhanced relational contexts Reat
s
and
s
Rlive .
Description logics Description logics [13] allow knowledge representation with
Concepts, Individuals and Roles. Concepts, included in the terminological box
(or TBox), are primitive ones (like P lant, Animal), constants (), ⊥) or defined
using several constructors, such as negation (¬), disjunction (+), or conjunc-
tion (,). Here we are especially interested in constructors composed with roles:
universal role quantification (∀R.C, where R is a role and C is a concept) and
existential quantification (∃R.C). FL− E is the description logic we will consider
in the paper. If eat is a role, the concept Herbivorous can be defined with ex-
pression Herbivorous := Animal , ∃eat.) , ∀eat.P lant, since an herbivorous
is an animal which eats at least one thing and which only eats plants. Asser-
tion box (or ABox) contains instanciations. An individual (for example herb) is
defined by its type (for example P lant(herb)), which is a concept of the TBox,
while a role is defined by a set of individual pairs like eat(rabbit, herb).
3 Adapting RCA-MDE to bi-level models
RCA in a model-driven engineering approach Lessons learned from previous
prototypes [14,15,16] highlighted the need to easily encode data from a large
range of models (UML class models in several UML versions, component models,
description logics, etc.) into relational context families as well as to parameterise
RCA application. The RCA-MDE approach proposes a generic solution to these
issues [1,2]. An overview is given in Figure 6.
A Model-driven Engineering Based RCA Process for Bi-level Models 113
Elements / Meta-elements: Application to Description Logics
!: conforms to
ref : refers to
input ref config model RCF CLF config model input
metamodel mm(m) config(mm(m)) metamodel metamodel config(mm(m)) metamodel mm(m)
! ! ! !
1 encoding 2 3 decoding
input model m RCF model RCA CLF model output model m'
Fig. 6. RCA-MDE approach
To apply RCA to a model m, one just need to provide the corresponding meta-
model mm(m) and the RCA configuration config(mm(m)) for this metamodel.
config(mm(m)) defines the meta-elements of mm(m) which are considered for
analysis. Converting the model into a relational context family is done in two
steps. In the first step, a formal context is created for each meta-class indicated
in config(mm(m)). Binary attributes are the meta-class attributes mentioned in
config(mm(m)). A specialization/generalization link can be specified for a given
meta-class. This link allows to compute the inherited relational attributes. In
the second step, a relational context is created for every meta-relation indicated
in config(mm(m)).
Until now, RCA-MDE has been applied to models owning entities of a single
level, i.e. that do not mix entities and meta-entities. In this paper, we show how
to apply RCA-MDE on bi-levels models. Such models can be found in models
representing instances like ODM [6] that allows to represent ontologies, or UML
instance diagrams [4]. We illustrate the approach with description logics : we
aim at refactoring models owning individuals based on classes. Those models are
composed of a TBox and an ABox (TAB models). We show in this section why
a naive adaption based on the one applied for mono-level models is surprisingly
not well-suited, and propose an original way to correctly apply it.
Naive adaptation, based on the mono-level modeling To apply RCA to a TAB
model, the first (naive) adaptation consists in providing to RCA-MDE a meta-
model where coexist: classes, indivuals, relations, and instances of relations, as
illustrated at the right of Figure 7. Note that we work with a simplified meta-
model of description logics. The model of animals is thus an instance of this
metamodel, an excerpt is given at the left of Figure 7, where we only see the
animals that live in the moutain.
We also need to provide a configuration model for this metamodel. All the
entities of the metamodel (Class, Individual, Instance of Relation and Relation)
correspond to a formal context. The inter-entity links give rise to relational con-
texts, and for each relational context, the scaling operator is chosen and defined
in the configuration model. We take into account the following associations:
114 Xavier Dolques, Jean-Rémy Falleri, Marianne Huchard, Clémentine Nebut
Input model
Place:Class
type
source
Mountain:Individual target Bear:Individual
target target
target
BLM:RelationInstance inputMM
type instance
<> Class * * Individual
SLM:RelationInstance source Sheep:Individual type source 1 1 target
relationType relationType
type Animal:Class is source of ! has for target "
Live:Relation relationType type * *
type Relation
relationType RLM:RelationInstance Relation *Type * Relation Instance
Rabbit:Individual
source
WLM:RelationInstance source
Wolf:Individual
Fig. 7. Naive adaptation for the model of animals.
berry mountain sheep lichen wolf rabbit bear herb eat live
ir0 X ir0 X
ir0 ir1 ir2 ir3 ir4 ir5 ir6 ir7 ir8 ir9 ir10
ir1 X ir1 X
berry
ir2 X ir2 X
mountain
ir3 X ir3 X
sheep X X
ir4 X ir4 X
lichen
ir5 X ir5 X
wolf X X X
ir6 X ir6 X
rabbit X X
ir7 X ir7 X
bear X X X X
ir8 X ir8 X
herb
ir9 X ir9 X
ir10 X ir10 X
Fig. 8. Relational contexts of relations is source of (lhs), has for target (center) and
relation type (rhs).
– type 1 linking Individual to Class. The associated scaling operator is S∃ . The
relational context Rtype will thus be created, associated to the S∃ operator;
– is source of linking Individual to Relation Instance (it leads to generate the
Rissourceof context). We chose here the S∀∃ operator;
– has for target linking Relation Instance to Individual (it leads to generate
the Rhasf ortarget context). We chose here the S∃ operator;
– relation type linking Relation Instance to Relation (it leads to generate the
Rtyperelation context). We chose here the S∃ operator.
We thus have a single formal context for all the instances of relations. The
relation context relation type represents the links between those instances of re-
lations and the relations (see Figure 8). Yet if abstractions can be found with this
configuration, others cannot, that could however be discovered applying RCA in
a classical way, i.e. filling the contexts without taking into account the way input
data are modeled. The problems arise when using a scaling operator different
from S∃ . For example, let us refer to animals linked to their habitation and their
diet. Using RCA, we hope obvious abstractions to appear with operator S∀∃ , e.g.
herbivorous (animals such that, whatever they eat, it is plant), carnivorous (an-
imals such that whatever they eat, it is animal) and omnivorous (animals eating
both vegetal and animal food). However, all the relation instances (links) are
1
type is in fact a role of this association.
A Model-driven Engineering Based RCA Process for Bi-level Models 115
Elements / Meta-elements: Application to Description Logics
represented by the same metaclass in the metamodel and they belong to a single
formal context. As a first consequence we cannot apply different scaling opera-
tors to the relations (e.g. S∀∃ for eat and S∃ for live). As a second consequence,
some concepts built by original RCA (on relational context family like in Section
2) cannot be found. While original RCA builds a concept including sheep and
rabbit (because all eat links end at herb which is included in C2 extent), naive
modeling of RCA-MDE cannot (because all links ends are not included in a non
trivial concept extent : eat links go towards herb while live links go towards
mountain).
The source of the problem comes from the following causes. First, our ap-
proach, due to a genericity matter, creates the formal contexts from the elements
of a metamodel. Second, we use a model with two levels of abstraction, and the
instanciation relation allowing to go from one level to the other is defined in
the metamodel by a simple association. In our case, it clearly appears that an
instanciation relation exists between the relations and the instances of relations,
but the relations do not belong to the metamodel, thus it is not possible to create
a formal context for each relation. We thus propose in the next section a more
complex yet more adequate solution.
Adaptation for bi-levels models: hybridisation of the input metamodel with the
input model We propose to promote a part of the model, i.e. to move the relations
in the metamodel, in the form of relation of model, and to transform the relation
relation type into an instanciation relation. We thus hybridise a part of the input
model with a part of the input metamodel, as illustrated in Figure 9. The input
model is then also modified as shown in the right of Figure 9. The hybridisation
transformation aims at deleting the reification of the relations in a model (by the
concept Instance of relation) since it is not relevant to look for new abstractions.
The configuration model follows the same idea as the transformation: we only
take into account two entities of the metamodel: Class and Individual, and the
following relations:
– type linking Individual to Class. We associate it the scaling operator S∃ . The
relational context Rtype will thus be created, associated to the operator S∃ ;
– live linking Individual to Individual, with a scaling operator (e.g. S∀∃ ).
– eat linking Individual to Individual, with a scaling operator (e.g. S∀∃ ).
This solution does not imply to modify the RCA-MDE process, we only
modify input models. Those modifications result in a relational context of each
relation of the input model (in our example: exactly the contexts of Figures
3 and 4). Reading the tables is easier, because the instances of relations are
represented by a table per relation, and this table owns the source and the
target of the instance of relation.
Hybridising the model has then for consequence to obtain back the model
elements leveling while still keeping the same information on the input model ;
and the relations of the input model that were semantically relations on instances
become actual relations on instances. The hybrid model with its metamodel is
then a mono-level model on which the RCA-MDE process can be applied in a
116 Xavier Dolques, Jean-Rémy Falleri, Marianne Huchard, Clémentine Nebut
inputMM
type instance
Class * * Individual
source 1 1 target
Hybridised input MM
is source of ! has for target "
M2 live
Relation * * type instance
Relation *
Type
* Relation Instance Class * *
Individual
eat
<> <>
Modèle
Input model
d'entrée Input model
M1 Animal:Class type
Live:Relation Eat:Relation Place:Class type type
type type Bear:Individual
(excerpt)
live
Mountain:Individual live
live live Sheep:Individual
Rabbit:Individual
Wolf:Individual
(excerpt)
version 1 version 2
Fig. 9. Hybridisation of the metamodel.
classical way. The new definitions of concepts in the context of the individuals
will depend on a single relation. In our example, we will be able to define a con-
cept to which sheep belongs and which gathers all the individuals that only eat
plants, independently from the other types of relations like live. This modeling
corresponds to what can be obtained with a classical application of RCA.
4 Platform and experimentations
Platform The platform implementing RCA-MDE uses the modeling framework
EMF [17]. It is based on the meta-modeling language Ecore to read models and
their metamodels.
To represent description logics models, we use the OWL language (Web On-
tology Language, [18]). OWL is intensively used in Web technologies as knowl-
edge representation language, and many modeling tools exist for OWL, as well
as many OWL models. Our metamodel is included, renaming the entities, in the
one proposed in the Eclipse plugin [19] that allows to handle OWL models with
EMF. In this way, a TAB model can easily be translated into an OWL model,
renaming Class into OWLClass, etc.
To adapt the RCA-MDE platform to TAB models, keeping in mind that we
want the process to remain generic (adaptable to other input data), we have to
define the hybridisation transformation of the OWL metamodel for a given TAB
model (see Figure 10), and a configuration making explicit which meta-elements
have to be taken into account by the RCA. The hybridisation transformation is
fully automated, it is written in Java and uses EMF to handle models. It takes
as input the OWL metamodel, a TAB model and the configuration model and
generates both the hybridised metamodel, the new TAB model conform to the
A Model-driven Engineering Based RCA Process for Bi-level Models 117
Elements / Meta-elements: Application to Description Logics
!: conforms to
ref : refers to
RCA-MDE
input input ref config model RCF CLF config model input
metamodel mm(m) hybridisation hybrid metamodel hmm(hm) config(hmm(hm)) metamodel metamodel config(hmm(hm)) metamodel hmm(hm)
! ! ! ! !
1 encoding 2 3 decoding
input hybrid model hm RCA CLF model
input model m RCF model output model m'
Fig. 10. Illustration of the metamodel hybridisation in RCA-MDE.
hybridised metamodel, and the corresponding configuration. As shown in Figure
9, the hybridisation transformation lists all the relations and puts them up a
level of abstraction higher, so that they appear in the hybridised metamodel.
This transformation only modifies the relations and the instances of relation.
The transformation also impacts the configuration model, since it refers to a
given metamodel. The metamodel being hybridised, the configuration must also
be hybridised. The obtained configuration can then be modified by the final user,
in particular for the choice of the scaling operators.
Concept_6
Concept_x !"#$%'(&))*+,-.-/-0+.&%-
type: Concept_0
1.#-.#
23#-.#
Concept_10
Concept_7
Concept_0 Concept_9 type: Concept_5
type: Concept_3
(forall)eat: Concept_6
type: Concept_4
berry (forall)live: Concept_6
lichen mountain (forall)live: Concept_9
herb
bear
Concept_11 Concept_12
Concept_1 Concept_3 Concept_4 Concept_5
(forall)eat: Concept_7 (forall)eat: Concept_10
nom: Thing nom: Vegetal nom: Place nom: Animal
(forall)eat: Concept_11
sheep
Thing Vegetal Place Animal
rabbit wolf
Concept_2 Concept_8
Fig. 11. Lattices obtained applying RCA-MDE on the example of animals. The class
lattice is on the lhs, the Individual lattice on the rhs.
Figure 11 shows, using Hasse diagrams, the lattices obtained applying RCA-
MDE on the example of animals. The lattice we focus on is the one obtained
from the context of the Individuals. We see that concepts have been created
118 Xavier Dolques, Jean-Rémy Falleri, Marianne Huchard, Clémentine Nebut
to group the elements of same type: Concept_7 groups the elements of type
vegetal, Concept_9 groups those of type place and Concept_10 groups those of
type animal. Concept_11 groups animals that eat only vegetals. Concept_12
groups the animals that eat only animals, in particular animals of Concept_11.
From the intent of the new concepts, we can infer in an automatic way a logical
formula defining them.
The platform resulting from this work allows us to analyse bi-level models
in an automatic way: as well as for the analysis of mono-level models, we just
need to configure the RCA with a configuration model, so we kept the generic
approach. Our experiments showed us that the configuration for bi-level models
is slightly more complex since it frequently handles several scaling operators.
Table 1. Models studied. The Ontology Model is about surface water and water quality
model , the Ontology Autos is about Automobiles and their equipment. We take into
account the number of Individuals, Classes, Object Properties and their instances we
called Links in this table. We compare the number of Concepts obtained using FCA
and RCA in the lattice from Individual Context.
Ontology name Individuals Classes Object Properties Links FCA concepts RCA concepts
Model2 114 20 8 273 31 65
Autos3 321 91 13 375 82 175
We have tested our approach of hybridisation on some real ontologies in OWL
format (Tab.1). We compare the result4 obtained using Formal Concept Analysis
(we take the results obtained after the first iteration of the RCA process) to those
obtained using Relational Concept Analysis. In the following we will concentrate
on the lattice from Individual context, as the lattice from the Class lattice cannot
produce new concepts (there is no relation in the metamodel with Class elements
as source).
On the Model Ontology, FCA would generate 31 concepts. Nearly each class is
transformed in one concept, except for 3 classes which have the same extent. Our
approach generated 55 concepts using a S∃ operator of scaling and 65 concepts
using a S∃ and a S∀∃ operator of scaling. From the concepts obtained by FCA,
7 of them have a more precise intent with RCA.
We note that concept intents here describe the presence of relation between
individuals more than a value of the relation. This is caused by the fact that a
lot of classes do not have subclasses.
The use of S∀∃ scaling in addition with S∃ scaling gives us a way to know
the most specialized type for the target of a relation. To deduce the type of a
relation target, you need to know the target type of all the instances of this
relation.
2
http://loki.cae.drexel.edu/˜wbs/ontology/model.htm
3
http://gaia.isti.cnr.it/˜straccia/Teaching/IS/2007/Exercises/autos.owl
4
all the lattices can be found at http://www.lirmm.fr/˜dolques/publications/data/cla08
A Model-driven Engineering Based RCA Process for Bi-level Models 119
Elements / Meta-elements: Application to Description Logics
The RCA approach applied on bi-level models produces a different type of
result from applied on mono-level. On bi-level models we take a set of elements,
and the process produces new subsets depending on the properties of the ele-
ments. On the examples we studied in OWL, the partitioning depends on the
type of the individuals, and the Object Property (name of relations in OWL
vocabulary) of which they are sources. For instance FCA can produce a con-
cept that groups the individuals of type ModelingSystem and that are linked by
the Object Property hasModel to another individual. RCA shows us that the
individual of this concept are all linked by the ObjectProperty hasModel to In-
dividuals of type Model which all have an Individual of type Organisation as a
developer (concept NMWithAv_Dev_Org_ModelDim).
This kind of result could help to complete under-specified ontologies in an
approach by-example, by showing which kind of data is missing in individual
description and by restricting the domain and range of an Object Property.
5 Conclusion
Until now, building abstractions using an RCA process and an MDE paradigm
has been applied to models with a single level of abstraction, i.e. models that
do not mix entities and meta-entities. In this paper, we have studied how to
use an RCA-MDE approach for bi-level models, where co-exist meta-entities
and their instances. We based our work on the example of description logics:
we focused on models mixing individuals and links between individuals with the
classes typing the individuals and the relations defining the links. We have shown
that a direct application of the approach does not give the expected results, and
proposed a more complex solution giving results similar to those obtained with
an application of RCA with a manual encoding of data. This solution is based
on the promotion of the instances of relations from the input model up to the
input metamodel.
In this paper, we worked with description logics with minimal expressivity;
in particular we do not take into account language elements existing in OWL
like the specialization relation that could be applied to classes, or the constraints
that could be added on the sources and targets of the relations. Future work will
consist in dealing with more complex description logics, as well as in integrating
the obtained results in the original model. We also plan to make the hybridisa-
tion generic instead of specific to our description logics metamodel, in order to
validate our approach with other kinds of bi-level models such as UML models
with classes and instances.
References
1. Arévalo, G., Falleri, J.R., Huchard, M., Nebut, C.: Building abstractions in class
models: Formal concept analysis in a model-driven approach. In: Proc. of the
MoDELS’06 conference. (2006) 513–527
2. Falleri, J.R., Huchard, M., Nebut, C., Arévalo, G.: Use of Model Driven Engi-
neering in Building Generic FCA/RCA Tools. In Diatta, J., Eklund, P., Liquière,
120 Xavier Dolques, Jean-Rémy Falleri, Marianne Huchard, Clémentine Nebut
M., eds.: Proc. of CLA’07: Fifth International Conference on Concept Lattices and
Their Applications. (2007) 225–236
3. Dolques, X., Falleri, J.R., Huchard, M., Nebut, C.: Adaptation d’un processus de
construction d’abstractions basé idm à des modèles bi-niveaux éléments / méta-
éléments : Application aux logiques de description. In: LMO Conference. (2008)
4. OMG: UML 2.0 superstructure. Technical report, Object Management Group
(2004)
5. Brickley, D., Guha, R.V.: RDF Vocabulary Description Language 1.0: RDF
Schema. Technical report, W3C (2004)
6. OMG: Ontology definition metamodel. Technical report, Object Management
Group (2007)
7. Huchard, M., Hacene, M.R., Roume, C., Valtchev, P.: Relational concept discovery
in structured datasets. Ann. Math. Artif. Intell. 49(1-4) (2007) 39–76
8. Ganter, B., Wille, R.: Formal Concept Analysis, Mathematical Foundations.
Springer, Berlin (1999)
9. Priss, U.: Classification of meronymy by methods of relational concept analysis. In:
Online Proceedings of the 1996 Midwest Artificial Intelligence Conf., Bloomington,
Indiana. (1996)
10. Prediger, S., Wille, R.: The lattice of concept graphs of a relationally scaled context.
In: Proc. of the 7th Intl. Conf. on Conceptual Structures (ICCS’99), Springer (1999)
401–414
11. Ganter, B., Kuznetsov, S.: Pattern structures and their projections. In Delugach,
H., Stumme, G., eds.: Conceptual Structures: Broadening the Base, Proc. of the
9th Intl. Conf. on Conceptual Structures (ICCS’01), Stanford, CA. Volume 2120
of LNCS., Springer (2001) 129–142
12. Ferré, S., Ridoux, O., Sigonneau, B.: Arbitrary relations in formal concept analysis
and logical information systems. In Dau, F., Mugnier, M.L., Stumme, G., eds.:
ICCS. Volume 3596 of Lecture Notes in Computer Science., Springer (2005) 166–
180
13. Baader, F., Nutt, W.: Basic description logics. In Baader, F., Calvanese, D.,
McGuinness, D., Nardi, D., Patel-Schneider, P.F., eds.: The Description Logic
Handbook: Theory, Implementation, and Applications. Cambridge University
Press (2003) 43–95
14. Valtchev, P., Grosser, D., Roume, C., Hacene, M.R.: Galicia: an open platform
for lattices. In B. Ganter, A.d.M., ed.: Using Conceptual Structures: Contributions
to ICCS’03, Aachen (DE), Shaker Verlag (2003) 241–254
15. Dao, M., Huchard, M., Hacene, M.R., Roume, C., Valtchev, P.: Towards Practical
Tools for Mining Abstractions in UML Models. In Manolopoulos, Y., Filipe, J.,
Constantopoulos, P., Cordeiro, J., eds.: ICEIS (3). (2006) 276–283
16. Seuring, P.: Design and implementation of a UML model refactoring tool. Mas-
ter’s thesis, Hasso-Plattner-Institute for Software Systems Engineering at the Uni-
versity of Postdam (2005) http://www.lirmm.fr/˜huchard/Documents/Papiers/
PhilippSeuringMasterThesis.pdf.
17. Budinsky, F., Grose, T., Steinberg, D., Ellersick, R., Merks, E., Brodsky, S.: Eclipse
Modeling Framework: a developer’s guide. Addison-Wesley Professional (2003)
18. McGuinness, D.L., van Harmelen, F.: OWL Web Ontology Language Overview.
Technical report, W3C (2004)
19. EODM: site du projet EODM, http://www.eclipse.org/modeling/mdt/?project=eodm