TOWARDS%20PRACTICAL%20TOOLS%20FOR%20MINING%20ABSTRACTIONS%20IN%20UML%20MODELS - PowerPoint PPT Presentation

About This Presentation
Title:

TOWARDS%20PRACTICAL%20TOOLS%20FOR%20MINING%20ABSTRACTIONS%20IN%20UML%20MODELS

Description:

Conclusion / future works. ICEIS 2006 23-27 may Paphos - Cyprus 3 ... Conclusion / future works. ICEIS 2006 23-27 may Paphos - Cyprus 10. Formal Concept Analysis ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 38
Provided by: huch2
Category:

less

Transcript and Presenter's Notes

Title: TOWARDS%20PRACTICAL%20TOOLS%20FOR%20MINING%20ABSTRACTIONS%20IN%20UML%20MODELS


1
TOWARDS PRACTICAL TOOLS FOR MINING ABSTRACTIONS
IN UML MODELS
  • Michel Dao Marianne Huchard
  • France Télécom RD LIRMM, Montpellier
  • M. Rouane Hacène, C. Roume, P. Valtchev
  • Université De Montréal

2
Outline
  • Motivation
  • Theoretical framework
  • Formal Concept Analysis
  • Relational Concept Analysis
  • Practical issues
  • Strategy for tools
  • Experiments
  • Conclusion / future works

3
Outline
  • Motivation
  • Theoretical framework
  • Formal Concept Analysis
  • Relational Concept Analysis
  • Practical issues
  • Strategy for tools
  • Experiments
  • Conclusion / future works

4
Motivation
  • Mining abstractions in UML models
  • model structuration
  • readability
  • reusability
  • elements with higher abstraction level
  • maintenability
  • less duplicated elements
  • Model integration
  • common part identification

5
Motivation An example

orderedBy



presents
Generalization of elements (classes,
associations, operations, attributes etc.)
6
Motivation An example

orderedBy



presents
Generalization of elements (classes,
associations, operations, attributes etc.)
7
Motivation An example
dealsWith



orderedBy



presents
Generalization of elements (classes,
associations, operations, attributes etc.)
8
Motivation An example
dealsWith



orderedBy



presents
Generalization of elements (classes,
associations, operations, attributes etc.)
9
Outline
  • Motivation
  • Theoretical framework
  • Formal Concept Analysis
  • Relational Concept Analysis
  • Practical issues
  • Experiments
  • Strategy for tools
  • Conclusion / future works

10
Formal Concept Analysis
  • Extract abstractions from a set of entities
    described by characteristics
  • Barbut Monjardet 1970 Ganter Wille 1999

Concept
f1 f2 f3 f4 f5
C1 x
C2 x x
C3 x x x
C4 x x x
(C3,C4,f1,f3)
Specialization
(C2,C3,C4,f3)
Binary Context
(C3,C4,f1,f3)
11
Formal Concept Analysis
Concept lattice
Binary Context
(C1,C2,C3,C4,)
(C2,C3,C4,f3)
(C1,C3,C4,f1)
(C3,C4,f1,f3)
(C2,f2,f3)
f1 f2 f3 f4 f5
C1 x
C2 x x
C3 x x x
C4 x x x
(C4,f1,f3,f5)
(C3,f1,f3,f4)
(,f1,f2,f3,f4,f5)
12
Formal Concept Analysis
Naive modeling with FCA
UML classes
name owned Attribute type
BasicAccount (BA) BasicAccount bba,o
TeenagerAccount (TA) Teenager Account bta,mw
BasicAccountHolder (BAH) BasicAccountHolder bal
TeenagerClient (TC) Teenager Client tal
balance from BA (bba) balance
balance from TA (bta) balance
overdraft (o) overdraft
maxWithdrawal (mw) max Withdrawal
bAccountList (bal) bAccountList BA
tAccountList (tal) tAccountList TA
13
Formal Concept Analysis
scaling binary context
only one concept
name Basic Account . . . name balance . . . name tAccount List owned Attribute (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
14
Formal Concept Analysis
One attribute abstraction without class support
balance
specializes
15
Relational Concept Analysis
  • Towards exhaustive abstraction mining
  • NB example restricted to classes/attributes

BankAccount balance
16
Relational Concept Analysis
  • Formalization

Kclass name Basic Account name Teenager Account name BasicAccount Holder name Teenager Client
BA X
TA X
BAH X
TC X
Owned Attribute bba bta o mw bal tal
BA X X
TA X X
BAH X
TC X
KProperty name balance name tAccount List
bba X
bta X
o ..
mw ..
bal ..
tal 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,ownedAttribute
type BA TA
bba
bta
o
mw
bal X
tal X
17
Relational Concept Analysis
  • Iterative lattice construction

Property lattice
KProperty name balance name tAccount List
bba X
bta X
o ..
mw ..
bal ..
tal X
Kclass name Basic Account name Teenager Account name BasicAccount Holder name Teenager Client
BA X
TA X
BAH X
TC X
type C1 C2
bba
bta
o
mw
bal X
tal X
Owned Attribute Ca Cb Cc Cd Ce Cf
BA X X
TA X X
BAH X
TC X
Class lattice
18
Relational Concept Analysis
KProperty name balance name tAccount List
bba X
bta X
o ..
mw ..
bal ..
tal X
type BA TA
bba
bta
o
mw
bal X
tal X
Property lattice
bba,bta,o,mw,bal,tal
Extent Intent
Cbbabta
Cbal
Ctal
Co
Cmw
bal namebAccountList typeBA
bba,bta namebalance
mw namemaxWithdrawal
tal nametAccountList typeTA
o nameoverdraft
name., type
19
Relational Concept Analysis
bba,bta,o,mw,bal,tal
Extent Intent
Relational Scaling (BA,bba) ?OwnedAttribute1
et bba ? Extent(Cbbabta) (BA,Cbbabta)
?OwnedAttribute2
Cbbabta
Ctal
Cbal
Co
Cmw
bba,bta namebalance
bal namebAccountList typeBA
mw namemaxWithdrawal
tal nametAccountList typeTA
o nameoverdraft
name., type
Kclass name Basic Account name Teenager Account name BasicAccount Holder name Teenager Client
BA X
TA X
BAH X
TC X
Owned Attribute Cbbabta Co Cmw Cbal Ctal
BA X X
TA X X
BAH X
TC X
20
Relational Concept Analysis
Kclass name Basic Account name Teenager Account name BasicAccount Holder name Teenager Client
BA X
TA X
BAH X
TC X
Owned Attribute Cbbabta Co Cmw Cbal Ctal
BA X X
TA X X
BAH X
TC X
BA,TA,BAH,TC
Extent Intent
CBATA
BA,TA ownedAttributeCbbabta
CTC
CBA
CBAH
CTA
BAH nameBasicAcHolder ownedAttributeCbal
BA nameBasicAccount ownedAttributeCbbabta,Co
TA nameTeenagerAccount ownedAttributeCbbabta,C
mw
TC nameTeenAccount ownedAttributeCtal
name., ownedAttribute
21
BA,TA,BAH,TC
Extent Intent
CBATA
BA,TA ownedAttributeCbbabta
CTC
CBA
CBAH
CTA
BAH nameBasicAcHolder ownedAttributeCbal
BA nameBasicAccount ownedAttributeCbbabta,Co
TA nameTeenagerAccount ownedAttributeCbbabta,C
mw
TC nameTeenAccount ownedAttributeCtal
name., ownedAttribute
KProperty name balance name tAccount List
bba X
bta X
o ..
mw ..
bal ..
tal X
type CBA CTA CBATA
bba
bta
o
mw
bal X X
tal X X
22
KProperty name balance name tAccount List
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
Extent Intent
Cbaltal
bal,tal type CBATA
Cbbabta
Ctal
Cbal
Co
Cmw
bal namebAccountList typeCBA,CBATA
bba,bta namebalance
mw namemaxWithdrawal
tal nametAccountList typeCBA,CBATA
o nameoverdraft
name., type
23
bba,bta,o,mw,bal,tal
Extent Intent
Cbaltal
bal,tal typeCBATA
Cbbabta
Ctal
Cbal
Co
Cmw
bba,bta namebalance
bal namebAccountList typeCBA,CBATA
mw namemaxWithdrawal
tal nametAccountList typeCBA,CBATA
o nameoverdraft
name., type
Kclass name Basic Account name Teenager Account name BasicAccount Holder name Teenager Client
BA X
TA X
BAH X
TC X
Owned Attribute Cbbabta Co Cmw Cbal Ctal Cbaltal
BA X X
TA X X
BAH X X
TC X X
24
Kclass name Basic Account name Teenager Account name BasicAccount Holder name Teenager Client
BA X
TA X
BAH X
TC X
Owned Attribute Cbbabta Co Cmw Cbal Ctal Cbaltal
BA X X
TA X X
BAH X X
TC X X
Extent Intent
BA,TA,BAH,TC
CBATA
CBAHTC
BAH,TC ownedAttributeCbaltal
BA,TA ownedAttributeCbbabta
CBA
CTA
CBAH
BA nameBasicAccount ownedAttributeCbbabta,Co
TA nameTeenagerAccount ownedAttributeCbbabta,C
mw
BAH nameBasicAcHolder ownedAttributeCbal,
Cbaltal
CTC
TC nameTeenAccount ownedAttributeCtal, Cbaltal
name., ownedAttribute
25
Extent Intent
BA,TA,BAH,TC
CBATA
CBAHTC
BAH,TC ownedAttributeCbaltal
BA,TA ownedAttributeCbbabta
CBA
CTA
CBAH
BAH nameBasicAcHolder ownedAttributeCbal,
Cbaltal
BA nameBasicAccount ownedAttributeCbbabta,Co
TA nameTeenagerAccount ownedAttributeCbbabta,C
mw
CTC
TC nameTeenAccount ownedAttributeCtal, Cbaltal
BankAccount balance
BankClient accountListBankAccount
26
bba,bta,o,mw,bal,tal
Extent Intent
Cbaltal
bal,tal typeCBATA
Ctal
Cbal
Cbbabta
Co
Cmw
bal namebAccountList typeCBA,CBATA
bba,bta namebalance
mw namemaxWithdrawal
tal nametAccountList typeCBA,CBATA
o nameoverdraft
BankAccount balance
27
Relational Concept Analysis
  • A normal form for models
  • Well characterized
  • Preservation of initial data (UML elements)
  • Exhaustive discovery of abstractions for all UML
    elements
  • Well-formed specialization/generalization links
    between UML elements
  • Minimal number of constructed abstractions
  • NB. The whole method includes also association
    ends, operations, etc.

28
Outline
  • Motivation
  • Theoretical framework
  • Formal Concept Analysis
  • Relational Concept Analysis
  • Practical issues
  • Strategy for tools
  • Experiments
  • Conclusion / future works

29
Practical issues - Framework
  • Research project supported by RNTL
  • french department for research
  • call for contribution in software engineering
  • Partners
  • France Télécom RD
  • LIRMM
  • Softeam (CASE tool Objecteering)

30
Practical issues Tools
Galicia http//www.iro.umontreal.ca/galicia
Objecteering http//www.softeam.com











X



















X








class diagram edition and visualization
tuning
RCA algorithms
31
Experiments
  • France Télécom Projects
  • Part of the general Information System
  • 57 classes
  • Intranet
  • 1220 classes in 2 sub-systems
  • User data organization
  • 22 classes in a common model M
  • 208613 classes in specific models from several
    departments (derived from M)

32
Experiments
  • Focus on
  • Part of the general Information System
  • input
  • 57 classes, 8 subpackages
  • output
  • 110 classes, no merged classes
  • 9 associations, 59 properties
  • 212 specialization/generalization links

33
Lessons learned and tool extension
  • Hand-made Analysis by designers
  • 62 useful classes among 110 new classes
  • Many small classes (with 1 or 2 own properties)
  • Issues
  • User interface for controlling the process
  • Traceability
  • Unrelevant abstractions (e.g. att. with type
    String)
  • Name semantics, conflicts, synonymy, hyperonymy,
    etc.
  • Proposal of new tools in Objecteering

34
Outline
  • Motivation
  • Theoretical issues
  • Formal Concept Analysis
  • Relational Concept Analysis
  • Practical issues
  • Strategy for tools
  • Experiments
  • Conclusion / future works

35
Conclusion
  • A theoretical framework for exhaustive
    abstraction discovery in models
  • A normal form for UML models
  • Practical feasability demonstrated in
    Objecteering Galicia tools
  • Tested on France Télécom models
  • Remaining limits
  • Traceability not really achieved
  • Name semantics
  • Fine-tuning and generalization of the method

36
Current/Future work
  • Model Engineering Approach
  • Explicit used metamodels
  • Declarative transformation rules
  • Definition of the process as a set of
    well-described small transformations
  • EclipseKermeta tools under development
  • Expected results
  • Traceability
  • Generalization of the method to any imput/output
    meta-models, E/A, OWL, etc.
  • fine-tuning the process

37
Current/Future work
  • Natural Language processing
  • In collaboration with researchers of the domain
  • Expected results
  • Better use data in models
  • Naming constructed abstractions
Write a Comment
User Comments (0)
About PowerShow.com