SlideShare a Scribd company logo
1 of 30
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


                                                                                                             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
                                                            Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces




                                                                                                                                                   Context




2nd International Conference on Model & Data Engineering
                                       October, 3-5, 2012
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
                                                            Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces




                                                                                                                                                   Context




2nd International Conference on Model & Data Engineering
                                       October, 3-5, 2012
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


                                                                                                                                       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


                                                                                                     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


                                                                                                               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


                                                                                                  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


                                                                                              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


                                                                                       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


                                                                                       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


                                                                                       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


                                                                                       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


                                                                                       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


                                                                                                 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


                                                                                                  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


                                                                                       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


                                                                                                               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


                                                                                       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


                                                                                                        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


                                                                                       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


                                                                                                   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


                                                                                             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


                                                                                                          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


                                                                                                            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


                                                                                                                                  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
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

                                                                                       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

More Related Content

What's hot

3posters from i starshowcase v5 posters small -letter
3posters from i starshowcase v5 posters  small -letter3posters from i starshowcase v5 posters  small -letter
3posters from i starshowcase v5 posters small -letterEric Yu
 
07 communication
07 communication07 communication
07 communicationIrfan Khan
 
The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.Nareshkumar Kannathasan
 
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...IDES Editor
 
Itac benoit long deck final eng - feb 12 2013
Itac benoit long deck   final eng - feb 12 2013Itac benoit long deck   final eng - feb 12 2013
Itac benoit long deck final eng - feb 12 2013KBIZEAU
 
Uploaded file 130039511030956250
Uploaded file 130039511030956250Uploaded file 130039511030956250
Uploaded file 130039511030956250MAKAUT
 

What's hot (8)

3posters from i starshowcase v5 posters small -letter
3posters from i starshowcase v5 posters  small -letter3posters from i starshowcase v5 posters  small -letter
3posters from i starshowcase v5 posters small -letter
 
07 communication
07 communication07 communication
07 communication
 
The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.
 
V8.6 Brochure
V8.6 BrochureV8.6 Brochure
V8.6 Brochure
 
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
 
Itac benoit long deck final eng - feb 12 2013
Itac benoit long deck   final eng - feb 12 2013Itac benoit long deck   final eng - feb 12 2013
Itac benoit long deck final eng - feb 12 2013
 
Uploaded file 130039511030956250
Uploaded file 130039511030956250Uploaded file 130039511030956250
Uploaded file 130039511030956250
 
Dcis97
Dcis97Dcis97
Dcis97
 

Similar to MEDI'2012: Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces

SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...Applied Computing Group
 
Icalt2010 hoel hollins
Icalt2010 hoel hollinsIcalt2010 hoel hollins
Icalt2010 hoel hollinsTore Hoel
 
Semantic MDM systems design concept
Semantic MDM systems design conceptSemantic MDM systems design concept
Semantic MDM systems design conceptAndrey Andrichenko
 
Bio Hints V1
Bio Hints V1Bio Hints V1
Bio Hints V1c12774
 
Curation and Preservation of CAD Engineering Models in PLM
Curation and Preservation of CAD Engineering Models in PLMCuration and Preservation of CAD Engineering Models in PLM
Curation and Preservation of CAD Engineering Models in PLMManjulaPatel
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization Ivano Malavolta
 
MOSKitt UIM (short description)
MOSKitt UIM (short description)MOSKitt UIM (short description)
MOSKitt UIM (short description)Javier Muñoz
 
Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...Kun Le
 
IRJET - Virtual Mechanisms
IRJET - Virtual MechanismsIRJET - Virtual Mechanisms
IRJET - Virtual MechanismsIRJET Journal
 
Big Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureBig Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureOdinot Stanislas
 
A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...IRJET Journal
 
Ukd2008 18-9-08 andrea
Ukd2008 18-9-08 andreaUkd2008 18-9-08 andrea
Ukd2008 18-9-08 andreaAndrea Zaza
 
Bhadale group of companies cross- discipline engineering catalogue
Bhadale group of companies cross- discipline engineering catalogueBhadale group of companies cross- discipline engineering catalogue
Bhadale group of companies cross- discipline engineering catalogueVijayananda Mohire
 
Writing Effective Use Cases
 Writing Effective Use Cases Writing Effective Use Cases
Writing Effective Use CasesHarsh Jegadeesan
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storagejccastrejon
 
Conférence Open Data par où commencer ? "How to achieve interoperability?" E....
Conférence Open Data par où commencer ? "How to achieve interoperability?" E....Conférence Open Data par où commencer ? "How to achieve interoperability?" E....
Conférence Open Data par où commencer ? "How to achieve interoperability?" E....Aline Custodio
 

Similar to MEDI'2012: Runtime Adaptation of Architectural Models: an approach for adapting User Interfaces (20)

SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
 
java
javajava
java
 
Why modeling matters ?
Why modeling matters ?Why modeling matters ?
Why modeling matters ?
 
Understanding Mda
Understanding MdaUnderstanding Mda
Understanding Mda
 
Icalt2010 hoel hollins
Icalt2010 hoel hollinsIcalt2010 hoel hollins
Icalt2010 hoel hollins
 
Semantic MDM systems design concept
Semantic MDM systems design conceptSemantic MDM systems design concept
Semantic MDM systems design concept
 
Bio Hints V1
Bio Hints V1Bio Hints V1
Bio Hints V1
 
Curation and Preservation of CAD Engineering Models in PLM
Curation and Preservation of CAD Engineering Models in PLMCuration and Preservation of CAD Engineering Models in PLM
Curation and Preservation of CAD Engineering Models in PLM
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
MOSKitt UIM (short description)
MOSKitt UIM (short description)MOSKitt UIM (short description)
MOSKitt UIM (short description)
 
Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...
 
IRJET - Virtual Mechanisms
IRJET - Virtual MechanismsIRJET - Virtual Mechanisms
IRJET - Virtual Mechanisms
 
Big Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the FutureBig Data Beyond Hadoop*: Research Directions for the Future
Big Data Beyond Hadoop*: Research Directions for the Future
 
A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...
 
Ukd2008 18-9-08 andrea
Ukd2008 18-9-08 andreaUkd2008 18-9-08 andrea
Ukd2008 18-9-08 andrea
 
Bhadale group of companies cross- discipline engineering catalogue
Bhadale group of companies cross- discipline engineering catalogueBhadale group of companies cross- discipline engineering catalogue
Bhadale group of companies cross- discipline engineering catalogue
 
Writing Effective Use Cases
 Writing Effective Use Cases Writing Effective Use Cases
Writing Effective Use Cases
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
 
Conférence Open Data par où commencer ? "How to achieve interoperability?" E....
Conférence Open Data par où commencer ? "How to achieve interoperability?" E....Conférence Open Data par où commencer ? "How to achieve interoperability?" E....
Conférence Open Data par où commencer ? "How to achieve interoperability?" E....
 

More from Applied Computing Group

Hand Posture Recognition with Standard Webcam for Natural Interaction
Hand Posture Recognition with Standard Webcam for Natural InteractionHand Posture Recognition with Standard Webcam for Natural Interaction
Hand Posture Recognition with Standard Webcam for Natural InteractionApplied Computing Group
 
A Web Services Infrastructure for the management of Mashup Interfaces
A Web Services Infrastructure for the management of Mashup InterfacesA Web Services Infrastructure for the management of Mashup Interfaces
A Web Services Infrastructure for the management of Mashup InterfacesApplied Computing Group
 
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...Applied Computing Group
 
Semantic Matching of Components at Run-Time in Distributed Environments
Semantic Matching of Components at Run-Time in Distributed EnvironmentsSemantic Matching of Components at Run-Time in Distributed Environments
Semantic Matching of Components at Run-Time in Distributed EnvironmentsApplied Computing Group
 
Embedding Widget-as-a-Service into Dynamic GUI
Embedding Widget-as-a-Service into Dynamic GUIEmbedding Widget-as-a-Service into Dynamic GUI
Embedding Widget-as-a-Service into Dynamic GUIApplied Computing Group
 
A Component-based User Interface Approach for Smart TV
A Component-based User Interface Approach for Smart TVA Component-based User Interface Approach for Smart TV
A Component-based User Interface Approach for Smart TVApplied Computing Group
 
AMAD-ATL: A tool for dynamically composing new model transformations at runtime
AMAD-ATL: A tool for dynamically composing new model transformations at runtimeAMAD-ATL: A tool for dynamically composing new model transformations at runtime
AMAD-ATL: A tool for dynamically composing new model transformations at runtimeApplied Computing Group
 
AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...
AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...
AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...Applied Computing Group
 
AMAD-ATL (poster): A tool for dynamically composing new model transformations...
AMAD-ATL (poster): A tool for dynamically composing new model transformations...AMAD-ATL (poster): A tool for dynamically composing new model transformations...
AMAD-ATL (poster): A tool for dynamically composing new model transformations...Applied Computing Group
 
Resolving Platform Specific Models at runtime using an MDE-based Trading appr...
Resolving Platform Specific Models at runtime using an MDE-based Trading appr...Resolving Platform Specific Models at runtime using an MDE-based Trading appr...
Resolving Platform Specific Models at runtime using an MDE-based Trading appr...Applied Computing Group
 
Information Retrieval Using an Ontological Web-Trading Model
Information Retrieval Using an Ontological Web-Trading ModelInformation Retrieval Using an Ontological Web-Trading Model
Information Retrieval Using an Ontological Web-Trading ModelApplied Computing Group
 
Model Transformations to adapt Component-based GUIs using an ATL-based tool
Model Transformations to adapt Component-based GUIs using an ATL-based toolModel Transformations to adapt Component-based GUIs using an ATL-based tool
Model Transformations to adapt Component-based GUIs using an ATL-based toolApplied Computing Group
 
A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...
A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...
A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...Applied Computing Group
 
An ontology-driven case study for the knowledge representation of management ...
An ontology-driven case study for the knowledge representation of management ...An ontology-driven case study for the knowledge representation of management ...
An ontology-driven case study for the knowledge representation of management ...Applied Computing Group
 
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...Applied Computing Group
 
A Trading-Based Knowledge Representation Metamodel for Management Information...
A Trading-Based Knowledge Representation Metamodel for Management Information...A Trading-Based Knowledge Representation Metamodel for Management Information...
A Trading-Based Knowledge Representation Metamodel for Management Information...Applied Computing Group
 
Adaptive Transformation Pattern for chitectural Models Architectural Models
Adaptive Transformation Pattern for chitectural Models Architectural ModelsAdaptive Transformation Pattern for chitectural Models Architectural Models
Adaptive Transformation Pattern for chitectural Models Architectural ModelsApplied Computing Group
 
Adapting Component-based User Interfaces at Runtime using Observers
Adapting Component-based User Interfaces at Runtime using ObserversAdapting Component-based User Interfaces at Runtime using Observers
Adapting Component-based User Interfaces at Runtime using ObserversApplied Computing Group
 
A Model-Driven Approach to Graphical User Interface Runtime Adaptation
A Model-Driven Approach to Graphical User Interface Runtime AdaptationA Model-Driven Approach to Graphical User Interface Runtime Adaptation
A Model-Driven Approach to Graphical User Interface Runtime AdaptationApplied Computing Group
 
Modelling an Environmental Knowledge-Representation System
Modelling an Environmental Knowledge-Representation SystemModelling an Environmental Knowledge-Representation System
Modelling an Environmental Knowledge-Representation SystemApplied Computing Group
 

More from Applied Computing Group (20)

Hand Posture Recognition with Standard Webcam for Natural Interaction
Hand Posture Recognition with Standard Webcam for Natural InteractionHand Posture Recognition with Standard Webcam for Natural Interaction
Hand Posture Recognition with Standard Webcam for Natural Interaction
 
A Web Services Infrastructure for the management of Mashup Interfaces
A Web Services Infrastructure for the management of Mashup InterfacesA Web Services Infrastructure for the management of Mashup Interfaces
A Web Services Infrastructure for the management of Mashup Interfaces
 
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
 
Semantic Matching of Components at Run-Time in Distributed Environments
Semantic Matching of Components at Run-Time in Distributed EnvironmentsSemantic Matching of Components at Run-Time in Distributed Environments
Semantic Matching of Components at Run-Time in Distributed Environments
 
Embedding Widget-as-a-Service into Dynamic GUI
Embedding Widget-as-a-Service into Dynamic GUIEmbedding Widget-as-a-Service into Dynamic GUI
Embedding Widget-as-a-Service into Dynamic GUI
 
A Component-based User Interface Approach for Smart TV
A Component-based User Interface Approach for Smart TVA Component-based User Interface Approach for Smart TV
A Component-based User Interface Approach for Smart TV
 
AMAD-ATL: A tool for dynamically composing new model transformations at runtime
AMAD-ATL: A tool for dynamically composing new model transformations at runtimeAMAD-ATL: A tool for dynamically composing new model transformations at runtime
AMAD-ATL: A tool for dynamically composing new model transformations at runtime
 
AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...
AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...
AMAD-ATL (elevator pitch): A tool for dynamically composing new model transfo...
 
AMAD-ATL (poster): A tool for dynamically composing new model transformations...
AMAD-ATL (poster): A tool for dynamically composing new model transformations...AMAD-ATL (poster): A tool for dynamically composing new model transformations...
AMAD-ATL (poster): A tool for dynamically composing new model transformations...
 
Resolving Platform Specific Models at runtime using an MDE-based Trading appr...
Resolving Platform Specific Models at runtime using an MDE-based Trading appr...Resolving Platform Specific Models at runtime using an MDE-based Trading appr...
Resolving Platform Specific Models at runtime using an MDE-based Trading appr...
 
Information Retrieval Using an Ontological Web-Trading Model
Information Retrieval Using an Ontological Web-Trading ModelInformation Retrieval Using an Ontological Web-Trading Model
Information Retrieval Using an Ontological Web-Trading Model
 
Model Transformations to adapt Component-based GUIs using an ATL-based tool
Model Transformations to adapt Component-based GUIs using an ATL-based toolModel Transformations to adapt Component-based GUIs using an ATL-based tool
Model Transformations to adapt Component-based GUIs using an ATL-based tool
 
A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...
A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...
A Model-Driven Approach for Deploying Trading-Based Knowledge Representation ...
 
An ontology-driven case study for the knowledge representation of management ...
An ontology-driven case study for the knowledge representation of management ...An ontology-driven case study for the knowledge representation of management ...
An ontology-driven case study for the knowledge representation of management ...
 
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
 
A Trading-Based Knowledge Representation Metamodel for Management Information...
A Trading-Based Knowledge Representation Metamodel for Management Information...A Trading-Based Knowledge Representation Metamodel for Management Information...
A Trading-Based Knowledge Representation Metamodel for Management Information...
 
Adaptive Transformation Pattern for chitectural Models Architectural Models
Adaptive Transformation Pattern for chitectural Models Architectural ModelsAdaptive Transformation Pattern for chitectural Models Architectural Models
Adaptive Transformation Pattern for chitectural Models Architectural Models
 
Adapting Component-based User Interfaces at Runtime using Observers
Adapting Component-based User Interfaces at Runtime using ObserversAdapting Component-based User Interfaces at Runtime using Observers
Adapting Component-based User Interfaces at Runtime using Observers
 
A Model-Driven Approach to Graphical User Interface Runtime Adaptation
A Model-Driven Approach to Graphical User Interface Runtime AdaptationA Model-Driven Approach to Graphical User Interface Runtime Adaptation
A Model-Driven Approach to Graphical User Interface Runtime Adaptation
 
Modelling an Environmental Knowledge-Representation System
Modelling an Environmental Knowledge-Representation SystemModelling an Environmental Knowledge-Representation System
Modelling an Environmental Knowledge-Representation System
 

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