SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application...

34
38th Euromicro Conference on Software Engineering and Advanced Applications September, 5-8, 2012 An MDE approach for Runtime Monitoring and Adapting Component-based Systems 1 An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures 38th Euromicro Conference on Software Engineering and Advanced Applications (SEAA’2012) University of Almería Applied Computing Group Javier Criado , Luis Iribarne, Nicolás Padilla Applied Computing Group University of Almería Javier Troya, Antonio Vallecillo GISUM/Atenea Research Group University of Málaga University of Málaga GISUM/AteneaResearch Group

Transcript of SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application...

Page 1: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

1

An MDE approach for Runtime Monitoring and Adapting

Component-based Systems: Application to WIMP User Interface

Architectures

38th Euromicro Conference on Software Engineeringand Advanced Applications (SEAA’2012)

University of AlmeríaApplied Computing Group

Javier Criado, Luis Iribarne, Nicolás Padilla

Applied Computing GroupUniversity of Almería

Javier Troya, Antonio VallecilloGISUM/Atenea Research Group

University of Málaga

University of MálagaGISUM/AteneaResearch Group

Page 2: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

2

Index

• Context

• Our goal

• User Interface Adaptation– Adaptation Levels– Concrete Architectural Models– Observer Models– Concrete Model Transformation– Adaptation types

• Conclusions and future work

Page 3: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

3

Context

Page 4: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

4

Context

Page 5: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

5

Our goalMain Goal:

MDE-based methodology for adaptable User Interfaces

Solution:

1. Model-Driven Engineering (MDE) solution

2. Model Evolution (by considering UI as models)

3. Model Transformation & Trading services

Considerations:

4. Component-based user interfaces

5. COTS (commercial off-the-shelf) UI components

6. Simple interfaces made up of UI components

7. Web-based User Interfaces as supporting collaborative interaction

Page 6: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

6

Our goal

HEADER

MAP

QUERY 4

QUERY 2

QUERY 1

QUERY 3

Page 7: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

7

Our goal

T1 T2 T3 T4

C1

C2

C3

C4

C5

C6

C7

C8

C9C12

C10

C11

C13

C14

* Extensible to other component-based software models

Page 8: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

8

T1 T2 T3 T4

C1

C2

C3

C4

C5

C6

C7

C8

C9C12

C10

C11

C13

C14

(Starting model)

Our goal

T1 T2 T3 T4

C1

C2

C15

C6

C7

C8

C9C12

C10

C11

C13

C14

Replace C3, C4 and C5 by C15

T1 T2 T3 T4

C1

C2

C15

C6

C7

C9C12

C10

C11

C13

T1 T2 T3

C1

C2

C15

C6

C7

C9C12

C10

C11

C13

C16

Delete C8 and C14 Insert C16 and Delete T4

Page 9: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

9

User Interface Adaptation

Page 10: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

10

User Interface Adaptation

Page 11: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

11

User Interface Adaptation

Page 12: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

12

User Interface Adaptation

Page 13: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

13

User Interface Adaptation

Page 14: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

14

SemanticTrader

Page 15: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

15

User Interface Adaptation

Page 16: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

16

Concrete Architectural Models

Page 17: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

17

Concrete Architectural ModelsFinal User Interface

Concrete Architectural Model

Concrete Architectural Metamodel

Page 18: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

18

User Interface Adaptation

Page 19: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

19

Observer models

Page 20: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

20

Observer models

Page 21: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

21

User Interface Adaptation

Page 22: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

22

Concrete Model Transformation

- Modify an attribute

- Replace a component

- Delete a component

Operation Model

Page 23: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

23

Concrete Model Transformation

Page 24: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

24

ConcreteModelTransformation

Concrete Model TransformationATL rules XMI model (Resulting CAM)

XMI model (Resulting OBM)

Page 25: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

25

Adaptation types

- Modify an attribute of an existing component

- Replace a component

- Delete a component

- Perform a change in the abstract definition

ConcreteModelTransformation

Page 26: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

26

Adaptation types

- Modify an attribute of an existing component

- Replace a component

- Delete a component

- Perform a change in the abstract definition

ConcreteModelTransformation

Page 27: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

27

Adaptation types

- Modify an attribute of an existing component

- Replace a component

- Delete a component

- Perform a change in the abstract definition

ConcreteModelTransformation

Page 28: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

28

Adaptation types

- Modify an attribute of an existing component

- Replace a component

- Delete a component

- Perform a change in the abstract definition

AbstractModelTransformation

Trading

Page 29: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

29

AAMi AAMi+1AbstractModelTransformation

abstractcomponents

OBMi,j

Semantic Trader

concretecomponents

OBMi+1,j

Semantic Trader

CAMi,j

ConcreteModelTransf.

OBMi,j+1

CAMi,j+1

ConcreteModelTransf.

OBMi,j+2

CAMi,j+2 CAMi+1,j

UIComposer UIComposer UIComposer UIComposer

Abstract Level

Concrete Level

No calculate abstract def.

No calculate abstract def.

Calculate abstract def.

Page 30: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

30

Conclusions

• Adaptation schema of component-based systems at runtime based on the context observation

• Architectural models in two levels of abstraction:– AbstractArchitecturalModel (AAM): component types– ConcreteArchitecturalModel (CAM): concrete

components

• Trading process to regenerate the concrete definition of the architecture from the abstract definition.

• Observer Models to monitor the context and trigger the adaptation process

Page 31: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

31

Conclusions• Model Transformations to adapt the architectural models

– Abstract definition: AbstractModelTransformation– Concrete definition: ConcreteModelTransformation

Modify an attributeReplace a componentDelete a component

• Case study: Adaptation of component-based user interfaces at runtime (Major contribution of this work)

Page 32: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

32

Future work• Build a wide concrete component repository

• Update the SemanticTrader implementation with a heuristic

• Add traceability mechanisms

• Variability of architectural models

• Improve the performance of the approach and incorporate evaluation techniques

Page 33: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

33

Thank you very muchfor your attention!!

Questions??

Page 34: SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-based Systems: Application to WIMP User Interface Architectures

38th Euromicro Conference on Software Engineering and Advanced ApplicationsSeptember, 5-8, 2012

An

MD

E a

ppr

oa

ch fo

r R

un

time

Mon

itori

ng a

nd

Ad

ap

ting

Com

pon

en

t-ba

sed

Sys

tem

s

34

An MDE approach for Runtime Monitoring and Adapting

Component-based Systems: Application to WIMP User Interface

ArchitecturesJavier Criado, Luis Iribarne, Nicolás

PadillaApplied Computing Group

University of AlmeríaJavier Troya, Antonio Vallecillo

GISUM/Atenea Research GroupUniversity of Málaga

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)