MEDI'2012: Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
1. 1
Runtime Adaptation of Architectural
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Models: an approach for adapting User
Interfaces
Diego Rodríguez-Gracia, Javier Cristina Vicente-Chicote
Criado, Luis Iribarne, Nicolás Padilla Dpt. of Information
Applied Computing Group Communication Technologies
University of Almería, Spain Technical University of Cartagena, Spain
Applied Computing Group
2nd International Conference in Model & Data Engineering (MEDI’2012)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
2. 2
Outline
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
• Context
• Our goal
• User Interface Adaptation
– Model Transformation Pattern
– Adaptive Model Transformation
– Transformation Rules
– Rule Selection
– Rule Selection Log
– Rule Transformation
• Conclusions and future work
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
3. 3
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Context
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
4. 4
Context
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Evaluator
Politician Expert GIS
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
5. 5
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Context
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
6. 6
Our goal
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Adaptation of User Interfaces at runtime
- UIs are described by means of architectural models that contain the
specification of user interface components
- Architectural Models can vary at runtime due to changes in the context (user
interaction, a temporal event, etc)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
7. 7
Our goal
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Adaptation of User Interfaces at runtime
- UIs are described by means of architectural models that contain the
specification of user interface components
- Architectural Models can vary at runtime due to changes in the context (user
interaction, a temporal event, etc.)
Initial User Interface Adapted User Interface
GUI GUI
Email Chat Email Chat VideoLQ
VideoHQ Audio BlackBoard FileSharing
Audio
Initial Architectural Model Adapted Architectural Model
Email Chat
Email Chat Adaptation
Process Audio VideoLQ
Audio VideoHQ
BlackBoard FileSharing
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
8. 8
Our goal
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Meta-metamodel
Metamodel A Metamodel B
Metamodel T
Model A Model T Model B
rules
A PRIORI
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
9. 9
Our goal
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Architectural
Metamodel
Architectural M2M Architectural M2M Architectural
Model A Model B Model C
rules rules
Adaptive
Transformation
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
10. 10
User Interface Adaptation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Adaptation of architectural models
- @Runtime
- Using M2M transformations
- Transformations are also adapted at runtime.
Model Transformations not prepared a priori
M2M is dynamically composed from a rule model
Architectural Metamodel
Initial Adapted
Architectural Model Architectural Model
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
11. 11
User Interface Adaptation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Build a pattern/template for modeling our adaptation schema
- Build a Rule Repository
- Design a Rule Selection process as an M2M
• This selection process can generate different rule subsets
- Design a Rule Selection Log process as an M2M
• This process updates the repository with selection information
- Develop a Rule Transformation process as an M2T
• This process generates the model transformation
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
12. 12
Model Transformation Pattern
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Model the structure and composition of our transformation
schema elements
- Possibility of changing our adaptation schema
- Elements:
• TransformationSchema
• Metamodel
• Model
• Transformations:
M2M
M2T
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
13. 13
Adaptive Model Transformation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
<<metamodel>>
conforms_to RMM conforms_to
conforms_to
<<model>>
1: source 9: source
RRM
(repository)
3: source 11: source
4: target 12: target
state i <<transformation>> state i+1
3:source <<transformation>>
RuleSelectionLog 11:source
RuleSelectionLog
(M2M) (M2M)
<<transformation>> 2:target <<transformation>>
<<model>> 10:target <<model>>
RuleSelection RuleSelection
RMi RMi+1
(M2M) (M2M) 1 – Rule Selection
5:source 13:source
<<transformation>> <<transformation>>
2 – Rule Selection Log
RuleTransformation RuleTransformation
(M2T) (M2T)
3 – Rule Transformation
1:source 6:target 9:source 14:target
<<model>>
<<transformation>>
ModelTransformationi
<<model>>
<<transformation>>
ModelTransformationi+1
4 – Model Transformation
AMi (M2M) AMi+1 (M2M)
7:source 8:target 15:source
conforms_to <<metamodel>> conforms_to
AMM
1º Rule Selection: is obtained as an instance of the M2M concept
Input: the repository model (RRM) and the initial architectural model (AMi)
Output: the selected rules model (RMi)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
14. 14
Adaptive Model Transformation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
<<metamodel>>
conforms_to RMM conforms_to
conforms_to
<<model>>
1: source 9: source
RRM
(repository)
3: source 11: source
4: target 12: target
state i <<transformation>> state i+1
3:source <<transformation>>
RuleSelectionLog 11:source
RuleSelectionLog
(M2M) (M2M)
<<transformation>> 2:target <<transformation>>
<<model>> 10:target <<model>>
RuleSelection RuleSelection
RMi RMi+1
(M2M) (M2M) 1 – Rule Selection
5:source 13:source
<<transformation>> <<transformation>>
2 – Rule Selection Log
RuleTransformation RuleTransformation
(M2T) (M2T)
3 – Rule Transformation
1:source 6:target 9:source 14:target
<<model>>
<<transformation>>
ModelTransformationi
<<model>>
<<transformation>>
ModelTransformationi+1
4 – Model Transformation
AMi (M2M) AMi+1 (M2M)
7:source 8:target 15:source
conforms_to <<metamodel>> conforms_to
AMM
2º Rule Selection Log: is obtained as an instance of the M2M concept
Input: the selected rules model (RMi) and the rule repository model (RRM)
Output: the updated rule repository model (RRM)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
15. 15
Adaptive Model Transformation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
<<metamodel>>
conforms_to RMM conforms_to
conforms_to
<<model>>
1: source 9: source
RRM
(repository)
3: source 11: source
4: target 12: target
state i <<transformation>> state i+1
3:source <<transformation>>
RuleSelectionLog 11:source
RuleSelectionLog
(M2M) (M2M)
<<transformation>> 2:target <<transformation>>
<<model>> 10:target <<model>>
RuleSelection RuleSelection
RMi RMi+1
(M2M) (M2M) 1 – Rule Selection
5:source 13:source
<<transformation>> <<transformation>>
2 – Rule Selection Log
RuleTransformation RuleTransformation
(M2T) (M2T)
3 – Rule Transformation
1:source 6:target 9:source 14:target
<<model>>
<<transformation>>
ModelTransformationi
<<model>>
<<transformation>>
ModelTransformationi+1
4 – Model Transformation
AMi (M2M) AMi+1 (M2M)
7:source 8:target 15:source
conforms_to <<metamodel>> conforms_to
AMM
3º Rule Transformation: is obtained as an instance of the M2T concept
Input: the selected rules model (RMi)
Output: the transformation for architectural model (ModelTransformationi)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
16. 16
Adaptive Model Transformation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
<<metamodel>>
conforms_to RMM conforms_to
updated by selection
conforms_to
<<model>>
process
1: source 9: source
RRM
(repository)
3: source 11: source
4: target 12: target
state i <<transformation>> state i+1
3:source <<transformation>>
RuleSelectionLog 11:source
RuleSelectionLog
(M2M) (M2M)
<<transformation>> 2:target <<transformation>>
<<model>> 10:target <<model>>
RuleSelection RuleSelection
RMi RMi+1
(M2M) (M2M) 1 – Rule Selection
5:source 13:source
<<transformation>> <<transformation>>
2 – Rule Selection Log
RuleTransformation RuleTransformation
(M2T) (M2T)
3 – Rule Transformation
1:source 6:target 9:source 14:target
<<model>>
<<transformation>>
ModelTransformationi
<<model>>
<<transformation>>
ModelTransformationi+1
4 – Model Transformation
AMi (M2M) AMi+1 (M2M)
7:source 8:target 15:source
conforms_to <<metamodel>> conforms_to
AMM
4º Model Transformation: is an instance of the M2M concept
Input: the initial architectural model (AMi)
Output: the new architectural model (AMi+1)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
17. 17
Transformation Rules
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Metamodel for transformation rules
- Rule Repository Model (RRM)
- Selected rules model (RMi)
- Rule attributes:
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
18. 18
Transformation Rules
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
- Metamodel for transformation rules
- Rule Repository Model (RRM)
- Selected rules model (RMi)
- Rule attributes:
rule_name: unique; identifies the rule
purpose: indicates the purpose of the rule
is_priority: boolean; if its value is true, the rule must be selected.
weight: the selection process uses this attribute to select the rules
run_counter: number of times the purpose of the rule matches adaptation purposes
selection_counter: number of times the rule has been selected
ratio: frequency of using a transformation rule
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
19. 19
Rule Selection
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Instance of the M2M concept
The process starts when the system
detects that it is necessary an adaptation
Input: Architectural Model (AMi), Rule
Repository Model (RRM)
Output: Selected Rules Model (RMi)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
20. 20
Rule Selection
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Example:
We have an Architectural Model (AMi) where Launcher.purposes = [
‘DeleteVideo’, ‘InsertVideoLowQ’, ‘InsertBlackBoard’, ‘InsertFileSharing’ ].
Rule Repository
Model (RRM):
Selected Rules Model
(RMi) is generated:
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
21. 21
Rule Selection Log
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Instance of the M2M concept
The process starts after RuleSelection
Input: Selected Rules Model (RMi), Rule
Repository Model (RRM)
Output: Updated Rule Repository Model
(RRM)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
22. 22
Rule Selection Log
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Example:
Selected Rules
Model (RMi):
Updated Rule
Repository
Model (RRM):
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
23. 23
Rule Transformation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Instance of the M2T concept
The process starts after
RuleSelectionLog
Input:
- Selected Rules Model (RMi)
Output:
- Architectural model transformation
(ModelTransformationi)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
24. 24
Rule Transformation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Selected Rules
Model (RMi)
RuleTransformation (JET) ModelTransformation (ATL)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
25. 25
User Interface Adaptation
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Initial User Interface Adapted User Interface
GUI GUI
Email Chat Email Chat VideoLQ
VideoHQ Audio BlackBoard FileSharing
Audio
Initial Architectural Model Adapted Architectural Model
Email Chat
Email Chat Adaptation
Process Audio VideoLQ
Audio VideoHQ
BlackBoard FileSharing
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
26. 26
Conclusions
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
• Adaptive transformation for architectural models at runtime
• Transformation pattern/template for adaptation schema
• Adaptation schema is also changeable and adaptable
• High degree of adaptability
• All adaptation elements are based on MDE
• Models (architectures, rule repository, selected rules)
• M2M (RuleSelection, RuleSelectionLog, ModelTransformation)
• M2T (RuleTransformation)
• Case study:
Adaptation of component-based user interfaces at runtime
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
27. 27
Future work
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
• Higher degree of adaptability
• Add to selection logic: use frequency of rules, rule weight
management policies, etc.
• RuleTransformation process
Replace M2T transformation (JET)
by HOT (Higher Order Transformation)
• Editing tool for building:
Adaptation rules
Architectural models
• Automate the context processing by using M2M transformations
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
28. 28
Future work NEW PHASE
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
<<metamodel>> decision-making
conforms_to RMM conforms_to
source
conforms_to target
<<model>>
1: source 9: source
RRM
(repository)
3: source 11: source
4: target 12: target
<<transformation>> <<transformation>>
3:source 11:source
RuleSelectionLog RuleSelectionLog
(M2M) (M2M)
<<transformation>> <<transformation>>
2: target <<model>> 10: target <<model>>
RuleSelection RuleSelection
RMi RMi+1
(M2M) (M2M)
state i 5: source 13: source
state i+1
<<transformation>> <<transformation>>
RuleTransformation RuleTransformation
(M2T) (M2T)
1: source 6: target 9: source 14: target
<<transformation>> <<transformation>>
<<model>> <<model>>
ModelTransformationi ModelTransformationi+1
AMi AMi+1
7: source (M2M) (M2M)
8: target 15:source
conforms_to <<metamodel>> conforms_to
AMM
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
29. 29
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Thank you very much
for your attention!!
Questions??
2nd International Conference on Model & Data Engineering
October, 3-5, 2012
30. 30
Runtime Adaptation of Architectural
Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces
Models: an approach for adapting
User Interfaces
Diego Rodríguez-Gracia, Javier Criado,
Luis Iribarne, Nicolás Padilla
Applied Computing Group, University of Almería, Spain
Cristina Vicente-Chicote
Department of Information Communication Technologies
Technical University of Cartagena, Spain
Una Metodología para la Recuperación y Explotación
de Información Medioambiental (TIN2010-15588)
Desarrollo de un Agente Web Inteligente de
Información Medioambiental (TIC-6114)
2nd International Conference on Model & Data Engineering
October, 3-5, 2012