Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

25
Variations sur … Treillis de Galois pour la classification de connaissances et la modélisation par objets Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber CEVH (ENGEES - ULP) et Orpailleur (LORIA Nancy)

description

Variations sur … Treillis de Galois pour la classification de connaissances et la modélisation par objets. Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber CEVH (ENGEES - ULP) et Orpailleur (LORIA Nancy). Plan. Introduction Treillis de Galois (notions de base) - PowerPoint PPT Presentation

Transcript of Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Page 1: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Variations sur … Treillis de Galois pour

la classification de connaissances et la modélisation

par objets

Marianne Huchard,LIRMM, CNRS et Université Montpellier 2

Florence Le BerCEVH (ENGEES - ULP) et Orpailleur (LORIA

Nancy)

Page 2: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

2

Plan

Introduction Treillis de Galois (notions de base) Analyse relationnelle de concepts

Application à l’ingénierie des modèles Généralisation de relations spatiales

Application aux SIG Conclusion et perspectives

Page 3: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

3

Introduction (du besoin de classer dans les AOO)

Représentation de connaissances Classification courante

une façon naturelle d'organiser les connaissances des mécanismes bien établis dans les systèmes de

représentation (RCO et LD)

Problématiques manipuler les propriétés des objets / concepts pour le

raisonnement et la résolution de problème relier le domaine terminologique et le domaine concret

(concepts/données) analyser les données à partir du modèle du domaine construire des modèles d'un domaine à partir de données

Page 4: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

4

Introduction (du besoin de classer dans les AOO)

Génie Logiciel Classifications courantes

Frameworks, Packages Relation de spécialisation/généralisation

Problématiques Regroupement d’entités Calcul de vues abstraites sur le logiciel Calcul de nouvelles généralisations

Un modèle théorique utile FCA/treillis de Galois

Page 5: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

5

Treillis de Galois/treillis de concepts

Barbut/Monjardet 1970

f1 f2 f3 f4 f5

C1 x

C2 x x

C3 x x x

C4 x x x

Concept

({C3,C4},{f1,f3})

Spécialisation

({C3,C4},{f1,f3})

({C2,C3,C4},{f3})

Extraction d’abstractions à partir d’un ensemble d’entités décrites par des caractéristiques

Contexte binaire

Page 6: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

6

f1 f2 f3 f4 f5

C1 x

C2 x x

C3 x x x

C4 x x x

({C4},{f1,f3,f5})

({C2,C3,C4},{f3})({C1,C3,C4},{f1})

({C2},{f2,f3})

({C3},{f1,f3,f4})

({C1,C2,C3,C4},{})

({C3,C4},{f1,f3})

({},{f1,f2,f3,f4,f5})

Treillis de Galois/treillis de concepts

(notions de base)

Treillis associé au contexte

Page 7: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

7

Analyse relationnelle de concepts

(RCA)

Extension de FCA pour prendre en compte des entités décrites par des relations avec d’autres entités

Collaboration avec France Télécom R&D : M. Dao UDM : P. Valtchev, M. Rouane Hacène LIRMM/UDM : C. Roume LIRMM : C. Nebut, J.R. Fallery

Page 8: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

name ownedAttribute

type

BasicAccount (BA) ‘BasicAccount’

{bba,o}

TeenagerAccount (TA) ‘TeenagerAccount’

{bta,mw}

BasicAccountHolder (BAH)

‘BasicAccountHolder’

{bal}

TeenagerClient (TC) ‘TeenagerClient’

{tal}

balance from BA (bba) ‘balance’

balance from TA (bta) ‘balance’

overdraft (o) ‘overdraft’

maxWithdrawal (mw) ‘maxWithdrawal’

bAccountList (bal) ‘bAccountList’

{BA}

tAccountList (tal) ‘tAccountList’

{TA}

Analyse relationnelle de concepts

Un contexte d’application : modèles conceptuels (UML)

TeenagerAccountbalance

maxWithdrawal

BasicAccountbalance

overdraft

BasicAccountHolder

bAccountList : BasicAccount[1.*]

TeenagerClient

tAccountList : TeenagerAccount[1.*]

7

Classes UML Modélisation naïve en FCA

Page 9: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

name

‘BasicAccount’

.

.

.

name

‘balance’

.

.

.

name

‘tAccountList’

ownedAttribute (oa)

bba

oa

bta

oa

o

oa

mw

oa

bal

oa

tal

type

BA

type

TA

BA X X X

TA X X

BAH

X

TC X

bba X

bta X

o

mw

bal X

tal X X

Analyse relationnelle de concepts

(scaling contexte binaire un seul concept)

8

Page 10: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Analyse relationnelle de concepts

(Basic FCA : maigre moisson d’abstractions)

TeenagerAccountbalance

maxWithdrawal

BasicAccountbalance

overdraftBasicAccountHolder

bAccountList : BasicAccount[1.*]

TeenagerClient

tAccountList : TeenagerAccount[1.*]

balance

specializes

Une abstraction d’attribut …

9

Page 11: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Analyse relationnelle de concepts

(RCA : recueil de meilleures abstractions)

TeenagerAccount

maxWithdrawal

BasicAccount

overdraft

BasicAccountHolder

bAccountList : BasicAccount[1.*]

TeenagerClient

tAccountList : TeenagerAccount[1.*]

BankAccount

balance

BankClient

accountList:BankAccount

10

Page 12: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Analyse relationnelle de concepts

(Formalisation)

Relational Context Family (RCF)(K,R)

K ensemble de contextesK = {Kclass,Kproperty}

R ensemble de relations entre entités des contextes

R = {type,ownedAttribute}

OwnedAttribute

bba

bta

o mw

bal tal

BA X X

TA X X

BAH X

TC X

Kclass

name‘BasicAccount’

name‘TeenagerAccount’

name‘BasicAccou

ntHolder’

name‘TeenagerClient’

BA X

TA X

BAH X

TC X

KProperty

name‘balance’

… name‘tAccou

ntList’

bba X

bta X

o ..

mw ..

bal ..

tal X

type

BA TA

bba

bta

o

mw

bal X

tal X11

Page 13: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Analyse relationnelle de concepts

(Construction itérative de treillis)

Kclass

name‘BasicAccount’

name‘TeenagerAccount’

name‘BasicAccoun

tHolder’

name‘TeenagerClient’

BA X

TA X

BAH X

TC X

KProperty

name‘balance’

… name‘tAccount

List’

bba X

bta X

o ..

mw ..

bal ..

tal X

type C1 C2

bba

bta

o

mw

bal X

tal X

OwnedAttribute

Ca Cb Cc Cd Ce Cf

BA X X

TA X X

BAH X

TC X

Treillis des classes

Treillis des propriétés

12

Page 14: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Analyse relationnelle de concepts

KProperty

name‘balance’

… name‘tAccou

ntList’

bba X

bta X

o ..

mw ..

bal ..

tal X

type

BA TA

bba

bta

o

mw

bal X

tal X

bba,bta,o,mw,bal,tal

name=…., type=…

bba,btaname=‘balance’

ExtentIntent

oname=‘overdraft’

mwname=‘maxWithdrawal’

balname=‘bAccountList’type=BA

talname=‘tAccountList’type=TA

Cbbabta Co CmwCbal Ctal

13

Page 15: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

Analyse relationnelle de concepts

OwnedAttribute

Cbbabta

Co Cmw

Cbal Ctal

BA X X

TA X X

BAH X

TC X

Kclass

name‘BasicAccount’

name‘TeenagerAccount’

name‘BasicAccou

ntHolder’

name‘TeenagerClient’

BA X

TA X

BAH X

TC X

bba,bta,o,mw,bal,tal

name=…., type=…

bba,btaname=‘balance’

ExtentIntent

oname=‘overdraft’

mwname=‘maxWithdrawal’

balname=‘bAccountList’type=BA

talname=‘tAccountList’type=TA

Cbbabta Co CmwCbal Ctal

14

Scaling « relationnel »

(BA,bba) OwnedAttribute1

et bba Extent(Cbbabta)

(BA,Cbbabta) OwnedAttribute2

Page 16: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

OwnedAttribute

Cbbabta

Co Cmw

Cbal Ctal

BA X X

TA X X

BAH X

TC X

Kclass

name‘BasicAccount’

name‘TeenagerAccount’

name‘BasicAccou

ntHolder’

name‘TeenagerClient’

BA X

TA X

BAH X

TC X

BA,TA,BAH,TC

name=…., ownedAttribute=…

BAname=‘BasicAccount’

ownedAttribute=Cbbabta,Co

ExtentIntent

TAname=‘TeenagerAccount’

ownedAttribute=Cbbabta,Cmw

BAHname=‘BasicAcHolder’ownedAttribute=Cbal

TCname=‘TeenAccount’ownedAttribute=Ctal

CBA CTA CBAH CTC

BA,TAownedAttribute=Cbbabta

CBATA

15

Page 17: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

KProperty

name‘balance’

… name‘tAccou

ntList’

bba X

bta X

o ..

mw ..

bal ..

tal X

type

CBA CTA CBATA

bba

bta

o

mw

bal X X

tal X X

BA,TA,BAH,TC

name=…., ownedAttribute=…

BAname=‘BasicAccount’

ownedAttribute=Cbbabta,Co

ExtentIntent

TAname=‘TeenagerAccount’

ownedAttribute=Cbbabta,Cmw

BAHname=‘BasicAcHolder’ownedAttribute=Cbal

TCname=‘TeenAccount’ownedAttribute=Ctal

CBA CTA CBAH CTC

BA,TAownedAttribute=Cbbabta

CBATA

16

Page 18: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

bal,taltype= CBATA

KProperty

name‘balance’

… name‘tAccou

ntList’

bba X

bta X

o ..

mw ..

bal ..

tal X

type

CBA CTA CBATA

bba

bta

o

mw

bal X X

tal X X

bba,bta,o,mw,bal,tal

name=…., type=…

bba,btaname=‘balance’

ExtentIntent

oname=‘overdraft’

mwname=‘maxWithdrawal’

balname=‘bAccountList’type=CBA,CBATA

talname=‘tAccountList’

type=CBA,CBATA

Cbbabta Co Cmw Cbal Ctal

Cbaltal

17

Page 19: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

OwnedAttribute

Cbbabta

Co Cmw

Cbal Ctal Cbaltal

BA X X

TA X X

BAH X X

TC X X

Kclass

name‘BasicAccount’

name‘TeenagerAccount’

name‘BasicAccou

ntHolder’

name‘TeenagerClient’

BA X

TA X

BAH X

TC X

bba,bta,o,mw,bal,tal

name=…., type=…

bba,btaname=‘balance’

ExtentIntent

oname=‘overdraft’

mwname=‘maxWithdrawal’

balname=‘bAccountList’type=CBA,CBATA

talname=‘tAccountList’

type=CBA,CBATA

Cbbabta Co Cmw Cbal Ctal

bal,taltype=CBATA

Cbaltal

18

Page 20: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

OwnedAttribute

Cbbabta

Co Cmw

Cbal Ctal Cbaltal

BA X X

TA X X

BAH X X

TC X X

Kclass

name‘BasicAccount’

name‘TeenagerAccount’

name‘BasicAccou

ntHolder’

name‘TeenagerClient’

BA X

TA X

BAH X

TC X

BA,TA,BAH,TC

name=…., ownedAttribute=…

BAname=‘BasicAccount’

ownedAttribute=Cbbabta,Co

ExtentIntent

TAname=‘TeenagerAccount’

ownedAttribute=Cbbabta,Cmw

BAHname=‘BasicAcHolder’ownedAttribute=Cbal, Cbaltal TC

name=‘TeenAccount’ownedAttribute=Ctal, Cbaltal

CBA CTA CBAH

CTC

BA,TAownedAttribute=Cbbabta

CBATA

BAH,TCownedAttribute=Cbaltal

CBAHTC

19

Page 21: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

BA,TA,BAH,TC

BAname=‘BasicAccount’

ownedAttribute=Cbbabta,Co

ExtentIntent

TAname=‘TeenagerAccount’

ownedAttribute=Cbbabta,Cmw

BAHname=‘BasicAcHolder’ownedAttribute=Cbal, Cbaltal TC

name=‘TeenAccount’ownedAttribute=Ctal, Cbaltal

CBA CTA CBAH

CTC

BA,TAownedAttribute=Cbbabta

CBATA

BAH,TCownedAttribute=Cbaltal

CBAHTC

TeenagerAccount

maxWithdrawal

BasicAccount

overdraft

BasicAccountHolder

bAccountList : BasicAccount[1.*]

TeenagerClient

tAccountList : TeenagerAccount[1.*]

BankAccount

balanceBankClient

accountList:BankAccount

Page 22: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

bba,bta,o,mw,bal,tal

bba,btaname=‘balance’

ExtentIntent

oname=‘overdraft’

mwname=‘maxWithdrawal’

balname=‘bAccountList’type=CBA,CBATA

talname=‘tAccountList’

type=CBA,CBATA

Cbbabta Co Cmw Cbal Ctal

bal,taltype=CBATA

Cbaltal

TeenagerAccount

maxWithdrawal

BasicAccount

overdraft

BasicAccountHolder

bAccountList : BasicAccount[1.*]

TeenagerClient

tAccountList : TeenagerAccount[1.*]

BankAccount

balanceBankClient

accountList:BankAccount

Page 23: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

23

Analyse relationnelle de concepts

Méthode générique dans la plateforme Galicia http://www.iro.umontreal.ca/~galicia

Implémentation dans l’atelier Objecteering (pour UML)

Se généralise à toutes les entités UML (associations, opérations, etc.)

Page 24: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

24

Analyse relationnelle de concepts

Une expérience de généralisation sur des modèles France Télécom R&D Projet RNTL MACAO

http://www.lirmm.fr/~macao 3 modèles ~ 40 à 60 classes ~ millier d’éléments Obtention d’une forme « normale » Génération ~ un peu plus d’un millier d’éléments UML Analyse « artisanale » avec les concepteurs des modèles

d’origine Simplification des modèles Découvertes d’incohérences

Page 25: Marianne Huchard, LIRMM, CNRS et Université Montpellier 2 Florence Le Ber

RIA's 2006 20 & 21 mars 2006

25

Analyse relationnelle de concepts

Perspectives théoriques définition analytique, efficacité,

nombre d’itérations Perspectives applicatives

paramétrage, traçabilité, visualisation et manipulation des résultats

logique de description, autres langages de représentation …