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

PDF
Spm2
PPTX
Model-Based Visual Software Specification
PPSX
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
PDF
Mit2008 IQIS Proceedings Sharma Overturf
PDF
NCOIC SCOPE Executive Overview
PDF
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
PPT
On the Composition and Reuse of Viewpoints
PDF
Data Management In Cellular Networks Using Activity Mining
Spm2
Model-Based Visual Software Specification
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
Mit2008 IQIS Proceedings Sharma Overturf
NCOIC SCOPE Executive Overview
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
On the Composition and Reuse of Viewpoints
Data Management In Cellular Networks Using Activity Mining

What's hot (8)

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

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

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

More from Applied Computing Group (20)

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