Title: TOWARDS%20PRACTICAL%20TOOLS%20FOR%20MINING%20ABSTRACTIONS%20IN%20UML%20MODELS
1TOWARDS 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
2Outline
- Motivation
- Theoretical framework
- Formal Concept Analysis
- Relational Concept Analysis
- Practical issues
- Strategy for tools
- Experiments
- Conclusion / future works
3Outline
- Motivation
- Theoretical framework
- Formal Concept Analysis
- Relational Concept Analysis
- Practical issues
- Strategy for tools
- Experiments
- Conclusion / future works
4Motivation
- Mining abstractions in UML models
- model structuration
- readability
- reusability
- elements with higher abstraction level
- maintenability
- less duplicated elements
- Model integration
- common part identification
5Motivation An example
orderedBy
presents
Generalization of elements (classes,
associations, operations, attributes etc.)
6Motivation An example
orderedBy
presents
Generalization of elements (classes,
associations, operations, attributes etc.)
7Motivation An example
dealsWith
orderedBy
presents
Generalization of elements (classes,
associations, operations, attributes etc.)
8Motivation An example
dealsWith
orderedBy
presents
Generalization of elements (classes,
associations, operations, attributes etc.)
9Outline
- Motivation
- Theoretical framework
- Formal Concept Analysis
- Relational Concept Analysis
- Practical issues
- Experiments
- Strategy for tools
- Conclusion / future works
10Formal 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)
11Formal 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)
12Formal 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
13Formal 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
14Formal Concept Analysis
One attribute abstraction without class support
balance
specializes
15Relational Concept Analysis
- Towards exhaustive abstraction mining
- NB example restricted to classes/attributes
BankAccount balance
16Relational 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 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
17Relational 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
18Relational 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
19Relational 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
20Relational 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
21BA,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
22KProperty 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
23bba,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
24Kclass 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
25Extent 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
26bba,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
27Relational 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.
28Outline
- Motivation
- Theoretical framework
- Formal Concept Analysis
- Relational Concept Analysis
- Practical issues
- Strategy for tools
- Experiments
- Conclusion / future works
29Practical 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)
30Practical issues Tools
Galicia http//www.iro.umontreal.ca/galicia
Objecteering http//www.softeam.com
X
X
class diagram edition and visualization
tuning
RCA algorithms
31Experiments
- 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)
32Experiments
- 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
33Lessons 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
34Outline
- Motivation
- Theoretical issues
- Formal Concept Analysis
- Relational Concept Analysis
- Practical issues
- Strategy for tools
- Experiments
- Conclusion / future works
35Conclusion
- 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
36Current/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
37Current/Future work
- Natural Language processing
- In collaboration with researchers of the domain
- Expected results
- Better use data in models
- Naming constructed abstractions