250 likes | 391 Views
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)
E N D
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) • Analyse relationnelle de concepts • Application à l’ingénierie des modèles • Généralisation de relations spatiales • Application aux SIG • Conclusion et perspectives RIA's 2006 20 & 21 mars 2006
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 RIA's 2006 20 & 21 mars 2006
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 RIA's 2006 20 & 21 mars 2006
Extraction d’abstractions à partir d’un ensemble d’entités décrites par des caractéristiques Treillis de Galois/treillis de conceptsBarbut/Monjardet 1970 Concept ({C3,C4},{f1,f3}) Spécialisation ({C2,C3,C4},{f3}) Contexte binaire ({C3,C4},{f1,f3}) RIA's 2006 20 & 21 mars 2006
Treillis de Galois/treillis de concepts(notions de base) ({C1,C2,C3,C4},{}) ({C1,C3,C4},{f1}) ({C2,C3,C4},{f3}) ({C3,C4},{f1,f3}) ({C2},{f2,f3}) ({C4},{f1,f3,f5}) ({C3},{f1,f3,f4}) ({},{f1,f2,f3,f4,f5}) Treillis associé au contexte RIA's 2006 20 & 21 mars 2006
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 RIA's 2006 20 & 21 mars 2006
BasicAccount balance overdraft TeenagerAccount balance maxWithdrawal BasicAccountHolder bAccountList : BasicAccount[1.*] TeenagerClient tAccountList : TeenagerAccount[1.*] Analyse relationnelle de conceptsUn contexte d’application : modèles conceptuels (UML) Modélisation naïve en FCA Classes UML 7
Analyse relationnelle de concepts(scaling contexte binaire un seul concept) 8
BasicAccount balance overdraft TeenagerAccount balance maxWithdrawal BasicAccountHolder bAccountList : BasicAccount[1.*] TeenagerClient tAccountList : TeenagerAccount[1.*] Analyse relationnelle de concepts(Basic FCA : maigre moisson d’abstractions) Une abstraction d’attribut … balance specializes 9
BankClient accountList:BankAccount BasicAccount overdraft TeenagerAccount maxWithdrawal BasicAccountHolder bAccountList : BasicAccount[1.*] TeenagerClient tAccountList : TeenagerAccount[1.*] Analyse relationnelle de concepts(RCA : recueil de meilleures abstractions) BankAccount balance 10
Analyse relationnelle de concepts(Formalisation) Relational Context Family (RCF) (K,R) Kensemble de contextes K = {Kclass,Kproperty} Rensemble de relations entre entités des contextes R= {type,ownedAttribute} 11
Analyse relationnelle de concepts(Construction itérative de treillis) Treillis des classes Treillis des propriétés 12
Analyse relationnelle de concepts bba,bta,o,mw,bal,tal Extent Intent Cbbabta Ctal Cbal Co Cmw bal name=‘bAccountList’ type=BA bba,bta name=‘balance’ tal name=‘tAccountList’ type=TA mw name=‘maxWithdrawal’ o name=‘overdraft’ name=…., type=… 13
Analyse relationnelle de concepts bba,bta,o,mw,bal,tal Extent Intent Scaling « relationnel » (BA,bba) OwnedAttribute1 et bba Extent(Cbbabta) (BA,Cbbabta)OwnedAttribute2 Cbbabta Ctal Cbal Co Cmw bal name=‘bAccountList’ type=BA bba,bta name=‘balance’ tal name=‘tAccountList’ type=TA mw name=‘maxWithdrawal’ o name=‘overdraft’ name=…., type=… 14
Extent Intent BA,TA,BAH,TC CBATA BA,TA ownedAttribute=Cbbabta CTC CBA CBAH CTA BAH name=‘BasicAcHolder’ ownedAttribute=Cbal TC name=‘TeenAccount’ ownedAttribute=Ctal BA name=‘BasicAccount’ ownedAttribute=Cbbabta,Co TA name=‘TeenagerAccount’ ownedAttribute=Cbbabta,Cmw name=…., ownedAttribute=… 15
Extent Intent BA,TA,BAH,TC CBATA BA,TA ownedAttribute=Cbbabta CTC CBA CBAH CTA BAH name=‘BasicAcHolder’ ownedAttribute=Cbal TC name=‘TeenAccount’ ownedAttribute=Ctal BA name=‘BasicAccount’ ownedAttribute=Cbbabta,Co TA name=‘TeenagerAccount’ ownedAttribute=Cbbabta,Cmw name=…., ownedAttribute=… 16
bba,bta,o,mw,bal,tal Extent Intent Cbaltal bal,tal type= CBATA Cbbabta Ctal Cbal Co Cmw bal name=‘bAccountList’ type=CBA,CBATA bba,bta name=‘balance’ tal name=‘tAccountList’ type=CBA,CBATA mw name=‘maxWithdrawal’ o name=‘overdraft’ name=…., type=… 17
bba,bta,o,mw,bal,tal Extent Intent Cbaltal bal,tal type=CBATA Cbbabta Ctal Cbal Co Cmw bal name=‘bAccountList’ type=CBA,CBATA bba,bta name=‘balance’ tal name=‘tAccountList’ type=CBA,CBATA mw name=‘maxWithdrawal’ o name=‘overdraft’ name=…., type=… 18
Extent Intent BA,TA,BAH,TC CBATA CBAHTC BAH,TC ownedAttribute=Cbaltal BA,TA ownedAttribute=Cbbabta CBA CTA CBAH BAH name=‘BasicAcHolder’ ownedAttribute=Cbal, Cbaltal BA name=‘BasicAccount’ ownedAttribute=Cbbabta,Co TA name=‘TeenagerAccount’ ownedAttribute=Cbbabta,Cmw CTC TC name=‘TeenAccount’ ownedAttribute=Ctal, Cbaltal name=…., ownedAttribute=… 19
BankClient accountList:BankAccount BasicAccount overdraft TeenagerAccount maxWithdrawal BasicAccountHolder bAccountList : BasicAccount[1.*] TeenagerClient tAccountList : TeenagerAccount[1.*] Extent Intent BA,TA,BAH,TC CBATA CBAHTC BAH,TC ownedAttribute=Cbaltal BA,TA ownedAttribute=Cbbabta CBA CTA CBAH BAH name=‘BasicAcHolder’ ownedAttribute=Cbal, Cbaltal BA name=‘BasicAccount’ ownedAttribute=Cbbabta,Co TA name=‘TeenagerAccount’ ownedAttribute=Cbbabta,Cmw CTC TC name=‘TeenAccount’ ownedAttribute=Ctal, Cbaltal BankAccount balance
BankClient accountList:BankAccount BasicAccount overdraft TeenagerAccount maxWithdrawal BasicAccountHolder bAccountList : BasicAccount[1.*] TeenagerClient tAccountList : TeenagerAccount[1.*] bba,bta,o,mw,bal,tal Extent Intent Cbaltal bal,tal type=CBATA Cbbabta Ctal Cbal Co Cmw bal name=‘bAccountList’ type=CBA,CBATA bba,bta name=‘balance’ tal name=‘tAccountList’ type=CBA,CBATA mw name=‘maxWithdrawal’ o name=‘overdraft’ BankAccount balance
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.) RIA's 2006 20 & 21 mars 2006
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 RIA's 2006 20 & 21 mars 2006
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 … RIA's 2006 20 & 21 mars 2006