Variations sur Treillis de Galois pour la classification

  • Slides: 25
Download presentation
Variations sur … Treillis de Galois pour la classification de connaissances et la modélisation

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) RIA's 2006 20 & 21 mars 2006

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

Plan Introduction n Treillis de Galois (notions de base) n Analyse relationnelle de concepts n n n Généralisation de relations spatiales n n Application à l’ingénierie des modèles Application aux SIG Conclusion et perspectives RIA's 2006 20 & 21 mars 2006 2

Introduction (du besoin de classer dans les AOO) n Représentation de connaissances n Classification

Introduction (du besoin de classer dans les AOO) n Représentation de connaissances n Classification courante n n n 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 n n 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 RIA's 2006 20 & 21 mars 2006 3

Introduction (du besoin de classer dans les AOO) n Génie Logiciel n Classifications courantes

Introduction (du besoin de classer dans les AOO) n Génie Logiciel n Classifications courantes n n n Problématiques n n Frameworks, Packages Relation de spécialisation/généralisation Regroupement d’entités Calcul de vues abstraites sur le logiciel Calcul de nouvelles généralisations Un modèle théorique utile n FCA/treillis de Galois RIA's 2006 20 & 21 mars 2006 4

Treillis de Galois/treillis de concepts Barbut/Monjardet 1970 n Extraction d’abstractions à partir d’un ensemble

Treillis de Galois/treillis de concepts Barbut/Monjardet 1970 n Extraction d’abstractions à partir d’un ensemble d’entités décrites par des caractéristiques f 1 C 1 f 2 f 3 x x f 4 f 5 x C 2 C 3 x x C 4 x x Concept ({C 3, C 4}, {f 1, f 3}) Spécialisation ({C 2, C 3, C 4}, {f 3}) x x Contexte binaire RIA's 2006 20 & 21 mars 2006 ({C 3, C 4}, {f 1, f 3}) 5

Treillis de Galois/treillis de concepts (notions de base) ({C 1, C 2, C 3,

Treillis de Galois/treillis de concepts (notions de base) ({C 1, C 2, C 3, C 4}, {}) ({C 1, C 3, C 4}, {f 1}) ({C 2, C 3, C 4}, {f 3}) ({C 3, C 4}, {f 1, f 3}) f 1 C 1 f 2 f 3 x x f 4 f 5 x C 2 C 3 x x C 4 x x ({C 2}, {f 2, f 3}) ({C 4}, {f 1, f 3, f 5}) ({C 3}, {f 1, f 3, f 4}) ({}, {f 1, f 2, f 3, f 4, f 5}) x Treillis associé au contexte x RIA's 2006 20 & 21 mars 2006 6

Analyse relationnelle de concepts (RCA) Extension de FCA pour prendre en compte des entités

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 n Collaboration avec n n n 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 RIA's 2006 20 & 21 mars 2006 7

Analyse relationnelle de concepts Un contexte d’application : modèles conceptuels (UML) Modélisation naïve en

Analyse relationnelle de concepts Un contexte d’application : modèles conceptuels (UML) Modélisation naïve en FCA Classes UML Basic. Account balance overdraft name owned Attribute ‘Basic. Account’ {bba, o} ‘Teenager Account’ {bta, mw} ‘Basic. Account Holder’ {bal} Teenager. Client (TC) ‘Teenager Client’ {tal} balance from BA (bba) ‘balance’ balance from TA (bta) ‘balance’ Basic. Account (BA) Teenager. Account (TA) Teenager. Account balance max. Withdrawal Basic. Account. Holder b. Account. List : Basic. Account[1. *] Basic. Account. Holder (BAH) overdraft (o) max. Withdrawal (mw) Teenager. Client t. Account. List : Teenager. Account[1. *] type ‘overdraft’ ‘max Withdrawal’ b. Account. List (bal) ‘b. Account. List’ {BA} t. Account. List (tal) ‘t. Account. List’ {TA} RIA's 2006 20 & 21 mars 2006 87

Analyse relationnelle de concepts (scaling name ‘Basic Account’ BA contexte binaire . . .

Analyse relationnelle de concepts (scaling name ‘Basic Account’ BA contexte binaire . . . name ‘balance’ . . . name ‘t. Account List’ un seul concept) owned Attribute (oa) oa oa oa type bba bta o mw bal tal BA TA X X BAH X X TC X bba X bta X o mw bal tal X X RIA's 2006 20 & 21 mars 2006 X 98

Analyse relationnelle de concepts (Basic FCA : maigre moisson d’abstractions) Une abstraction d’attribut …

Analyse relationnelle de concepts (Basic FCA : maigre moisson d’abstractions) Une abstraction d’attribut … balance Basic. Account balance overdraft specializes Basic. Account. Holder b. Account. List : Basic. Account[1. *] Teenager. Account balance max. Withdrawal Teenager. Client t. Account. List : Teenager. Account[1. *] RIA's 2006 20 & 21 mars 2006 10 9

Analyse relationnelle de concepts (RCA : recueil de meilleures abstractions) Bank. Account Bank. Client

Analyse relationnelle de concepts (RCA : recueil de meilleures abstractions) Bank. Account Bank. Client balance account. List: Bank. Account Basic. Account. Holder overdraft b. Account. List : Basic. Account[1. *] Teenager. Account max. Withdrawal Teenager. Client t. Account. List : Teenager. Account[1. *] RIA's 2006 20 & 21 mars 2006 11 10

Analyse relationnelle de concepts (Formalisation) Kclass BA name ‘Basic Account’ name ‘Teenager Account’ name

Analyse relationnelle de concepts (Formalisation) Kclass BA name ‘Basic Account’ name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager Client’ Owned Attribut e X TA X BAH X TC X Relational Context Family (RCF) (K, R) K ensemble de contextes K = {Kclass, Kproperty} R ensemble de relations entre entités des contextes R = {type, owned. Attribute} KProperty BA bba bta X TA o mw … ‘balance’ TC name ‘t. Account List’ X X type bba X bba bta X bta o . . o mw . . mw bal . . bal tal RIA's 2006 20 & 21 mars 2006 tal X X BAH name bal X X BA TA X tal X 12 11

Analyse relationnelle de concepts (Construction itérative de treillis) Treillis des classes Kclass BA name

Analyse relationnelle de concepts (Construction itérative de treillis) Treillis des classes Kclass BA name ‘Basic Account’ name ‘Teenager Account’ X TA name ‘Basic. Account Holder’ Owned Attribute X BA BAH TAX TC BAH KProperty name ‘balance’ bba X bta X … X Cc Cd Ce Cf X X X C 1 C 2 bba o . . mw . . bal . . tal TC name ‘t. Account List’ type name ‘Teenager Client’ Ca Cb bta o mw bal X tal X X Treillis des propriétés RIA's 2006 20 & 21 mars 2006 13 12

Analyse relationnelle de concepts KProperty name ‘balance’ … name ‘t. Account List’ type bba

Analyse relationnelle de concepts KProperty name ‘balance’ … name ‘t. Account List’ type bba X bba bta X bta o . . o mw . . mw bal . . bal tal TA X tal X BA X bba, bta, o, mw, bal, tal Extent Intent bba, bta Cbbabta name=‘balance’ o Co name=‘overdraft’ Ctal Cbal Cmw bal tal name=‘b. Account. List’ name=‘t. Account. List’ name=‘max. Withdrawal’ mw type=BA name=…. , type=… RIA's 2006 20 & 21 mars 2006 type=TA 14 13

Analyse relationnelle de concepts bba, bta Cbbabta name=‘balance’ bba, bta, o, mw, bal, tal

Analyse relationnelle de concepts bba, bta Cbbabta name=‘balance’ bba, bta, o, mw, bal, tal Extent Intent « relationnel » Scaling Co o name=‘overdraft’ Ctal Cbal C mw bal tal mw (BA, bba) Owned. Attribute 1 name=‘b. Account. List’ name=‘t. Account. List’ name=‘max. Withdrawal’ et bba Extent(Cbbabta) type=BA type=TA name=…. , type=… (BA, Cbbabta) Owned. Attribute 2 Kclass BA TA BAH TC name ‘Basic Account’ name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager Client’ X X Owned Attribute BA X TA X BAH X X Cbbabta Co Cmw Cbal X X X TC RIA's 2006 20 & 21 mars 2006 Ctal X 15 14

Kclass name ‘Basic Account’ BA name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager

Kclass name ‘Basic Account’ BA name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager Client’ X TA X BAH Owned Attribute BA X TC X Cmw Cbal X X TC BA, TA, BAH, TC Ctal X BAH X CBATA Cbbabta Co X Extent Intent BA, TA owned. Attribute=Cbbabta CBA BA name=‘Basic. Account’ owned. Attribute=Cbbabta, Co CTA TA name=‘Teenager. Account’ owned. Attribute=Cbbabta, Cmw BAH CBAH name=‘Basic. Ac. Holder’ owned. Attribute=Cbal name=…. , RIA's 2006 20 owned. Attribute=… & 21 mars 2006 TC CTC name=‘Teen. Account’ owned. Attribute=Ctal 16 15

BA, TA, BAH, TC CBATA Extent Intent BA, TA owned. Attribute=Cbbabta CBA CTA BA

BA, TA, BAH, TC CBATA Extent Intent BA, TA owned. Attribute=Cbbabta CBA CTA BA name=‘Basic. Account’ owned. Attribute=Cbbabta, Co BAH TA CBAH name=‘Basic. Ac. Holder’ owned. Attribute=Cbal name=‘Teenager. Account’ owned. Attribute=Cbbabta, Cmw TC name=‘Teen. Account’ owned. Attribute=Ctal name=…. , owned. Attribute=… KProperty name ‘balance’ … name ‘t. Account List’ type bba X bba bta X bta o . . o mw . . mw bal . . bal tal CBA CTA X tal X X RIA's 2006 20 & 21 mars 2006 CBATA X X CTC 17 16

KProperty name ‘balance’ … name ‘t. Account List’ type bba X bba bta X

KProperty name ‘balance’ … name ‘t. Account List’ type bba X bba bta X bta o . . o mw . . mw bal . . bal tal X CBA CTA CBATA X tal X X X bba, bta, o, mw, bal, tal Extent Intent bal, tal Cbaltal type= CBATA bba, bta Cbbabta name=‘balance’ o Co name=‘overdraft’ Ctal Cbal C mw bal tal mw name=‘b. Account. List’ name=‘t. Account. List’ name=‘max. Withdrawal’ type=CBA, CBATA type=… RIA'sname=…. , 2006 20 & 21 mars 2006 18 17

bba, bta, o, mw, bal, tal Extent Intent Cbaltal bal, tal type=CBATA bba, bta

bba, bta, o, mw, bal, tal Extent Intent Cbaltal bal, tal type=CBATA bba, bta Cbbabta name=‘balance’ Co o name=‘overdraft’ Ctal Cbal C mw bal tal mw name=‘b. Account. List’ name=‘t. Account. List’ name=‘max. Withdrawal’ type=CBA, CBATA name=…. , type=… Kclass BA TA BAH TC name ‘Basic Account’ name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager Client’ X X X Owned Attribute BA X TA X BAH X Cbbabta Co TC RIA's 2006 20 & 21 mars 2006 Cmw Cbal Ctal Cbaltal X X X 19 18 X

Kclass BA name ‘Basic Account’ name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager

Kclass BA name ‘Basic Account’ name ‘Teenager Account’ name ‘Basic. Account Holder’ name ‘Teenager Client’ X TA X BAH Owned Attribute BA X TC X X X Extent Intent owned. Attribute=Cbaltal name=‘Basic. Account’ name=‘Teenager. Account’ owned. Attribute=Cbbabta, Co owned. Attribute=Cbbabta, Cmw X X owned. Attribute=Cbbabta TA Cbalta X BAH, TC CTA Ctal X BA, TA BA Cbal TC BA, TA, BAH, TC CBA Cmw BAH X CBATA Cbbabta Co BAH CBAH name=‘Basic. Ac. Holder’ owned. Attribute=Cbal, Cbaltal name=…. , owned. Attribute=… RIA's 2006 20 & 21 mars 2006 CBAHTC TC CTC name=‘Teen. Account’ owned. Attribute=Ctal, Cbaltal 20 19

BA, TA, BAH, TC CBATA CBA Extent Intent BA, TA BAH, TC owned. Attribute=Cbbabta

BA, TA, BAH, TC CBATA CBA Extent Intent BA, TA BAH, TC owned. Attribute=Cbbabta owned. Attribute=Cbaltal CTA BA TA name=‘Basic. Account’ name=‘Teenager. Account’ owned. Attribute=Cbbabta, Co owned. Attribute=Cbbabta, Cmw Bank. Account balance Basic. Account CBAHTC BAH CBAH name=‘Basic. Ac. Holder’ owned. Attribute=Cbal, Cbaltal TC CTC name=‘Teen. Account’ owned. Attribute=Ctal, Cbaltal Bank. Client account. List: Bank. Account Basic. Account. Holder overdraft b. Account. List : Basic. Account[1. *] Teenager. Account Teenager. Client RIA's 2006 20 & 21 mars 2006 t. Account. List : Teenager. Account[1. *] 21 max. Withdrawal

bba, bta, o, mw, bal, tal Extent Intent Cbaltal bal, tal type=CBATA bba, bta

bba, bta, o, mw, bal, tal Extent Intent Cbaltal bal, tal type=CBATA bba, bta Cbbabta name=‘balance’ Co o name=‘overdraft’ Ctal Cbal C mw bal tal mw name=‘b. Account. List’ name=‘t. Account. List’ name=‘max. Withdrawal’ type=CBA, CBATA Bank. Account balance Basic. Account Bank. Client account. List: Bank. Account Basic. Account. Holder overdraft b. Account. List : Basic. Account[1. *] Teenager. Account Teenager. Client RIA's 2006 20 & 21 mars 2006 t. Account. List : Teenager. Account[1. * 22 max. Withdrawal

Analyse relationnelle de concepts n Méthode générique dans la plateforme Galicia n http: //www.

Analyse relationnelle de concepts n Méthode générique dans la plateforme Galicia n http: //www. iro. umontreal. ca/~galicia Implémentation dans l’atelier Objecteering (pour UML) n Se généralise à toutes les entités UML (associations, opérations, etc. ) n RIA's 2006 20 & 21 mars 2006 23

Analyse relationnelle de concepts n Une expérience de généralisation sur des modèles France Télécom

Analyse relationnelle de concepts n Une expérience de généralisation sur des modèles France Télécom R&D n Projet RNTL MACAO n n n 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 n n Simplification des modèles Découvertes d’incohérences RIA's 2006 20 & 21 mars 2006 24

Analyse relationnelle de concepts n Perspectives théoriques n n définition analytique, efficacité, nombre d’itérations

Analyse relationnelle de concepts n Perspectives théoriques n n définition analytique, efficacité, nombre d’itérations Perspectives applicatives n n paramétrage, traçabilité, visualisation et manipulation des résultats logique de description, autres langages de représentation … RIA's 2006 20 & 21 mars 2006 25