An interaction meta-model for cooperative component-based user interfaces
1. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
1
An Interaction Meta-model for
Cooperative Component-Based
User Interfaces
L. Iribarne(1), N. Padilla(1), J. Criado(1), C. Vicente-Chicote(2)
(2) Information Technology and Communications
Technical University of Cartagena, Spain
cristina.vicente@upct.es
(1) Applied Computing Group (TIC-211)
University of Almeria, Spain
{liribarne, npadilla, javi.criado}@ual.es
ISDE2010 – OTM Workshops 26 October 2010, Crete (Greece)
2. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
2
1. Motivation
2. Interaction Metamodel
3. Case Study
4. Future work
CONTENT
3. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
3
1. Motivation
2. Interaction Metamodel
3. Case Study
4. Future work
CONTENT
4. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
4
Knowledge Society
Collaborative
Information
Systems
<<require>>
social interaction
(WIS) Web-based Infomation System
1. Motivation
<<globalization>>
<<instance>>
User profiles
(decision-making)
CSCW
Subsystem Subsystem
Adaptable
user-interface
Adaptable
user-interface
<<social interaction>>
<<cooperate>>
<<interact>> <<interact>>
<<cooperate>>
“subsystems will probably require self-adaptable user interfaces.”
5. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
5
(WIS)
Environmental Management Information Systems (EMIS)
<<example>>
1. Motivation
SOLERES System “our implementation”
“There is a huge interaction
between groups of people for
environmental management.”
<<instance>>
Knowledge Society
Collaborative
Information
Systems
<<require>>
social interaction
<<globalization>>
Politicians,
Technicians,
Administrators,
…
<<roles>>
6. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
6
Environmental
Management
Information
System
Neural-Networks
Knowledge
Environmental Info
Ontologies
Cooperative Systems
Multi-Agents
Satellite Images
Cellular-Automata clasif.
Component-based systems
Trading agents
SOLERES
“application, integration and development of multidisciplinary works”
SOLERES Framework
1. Motivation
R&D (TIN2007-61497)
Spanish Ministry of Science and Innovation
7. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
7 SOLERES Project
Correlation
cartography
satellite
Env. map
CA-based Clasif.
Neural-Net
Agents,Trading,Ontologies
1. Motivation
User Interfaces
self-adapatable
8. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
8 SOLERES Project
Correlation?
cartography
satellite
Env. map
AC-based Clasif.
Neural-Net
Agents,Trading,Ontologies
1. Motivation
SCOPE OF THE WORK self-adapatable
9. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
9
Main Goal:
An MDE-based methodology for evolutive (adaptable) User Interfaces
Solution:
1. Model-Driven Engineering (MDE) solution.
2. Model Evolution (by considering UI as models).
3. Model transformation & Trading services.
Considerations:
1. Component-based user interfaces.
2. COTS (commercial off-the-shelf) UI components.
3. WIMP simple interfaces (Windows, Icons, Menus and Pointers).
4. Web-based User Interfaces as supporting of WCIS (at runtime).
1. Motivation
11. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
11
CUI1 CUI2 CUI3
CUI4 CUI5
CUI6
CUI7
“COTS-component” architecture
1. Motivation
“cotsget” component
COTS + get (widget/gadget-type)
Considerations:
1. Component-based UI.
2. COTS UI components.
3. WIMP simple interfaces
4. Web-based UI
<<has>>
CUIi
...
Functional
Interaction
Visual
Temporal
templates
Cotsget repositories
“public repositories generally managed by trading servicies.”
<<has>>
dependency-issues
COTSGETS
(commercial components)
[Iribarne et al., 2004]
12. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
12
CUI1 CUI2 CIU3
CUI4 CUI5
CUI6 CUI7
A B C
t
CUI1
CUI4
CUI6 CUI7
A B C
CUI8
2:Regeneration
1: Transformation
UIe
1: Transformation
2:Regeneration
CUI1 CUI9 CUI3
CUI4
A B C
cooperation &
interaction issues
1. Motivation
Goal: self-adaptable interfaces
“instances of the user interface when social interaction and cooperation issues occur.”
cooperation &
interaction issues
cooperation &
interaction issues
13. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
13
CUI1 CUI2 CUI3
CUI4 CUI5
CUI6 CUI7
A B C
CUI1 CUI9 CUI3
CUI4
A B C
t
mt
Model A Model B
Rmt
Trading
RT
Transformation
rules
Trading
RT
User interface A User interface B
Model Transformation
(MDE)
1. Motivation
Regeneration
Regeneration
M2M
Metamodel
“For our purposes, we consider
the user-interface as a model.”
I V
S
14. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
14
CUI1 CUI2 CUI3
CUI4 CUI5
CUI6 CUI7
A B C
CUI1 CUI9 CUI3
CUI4
A B C
t
mt
Model A Model B
Rmt
Trading
RT
Transformation
rules
Trading
RT
User interface A User interface B
Model Transformation
(MDE)
1. Motivation
Regeneration
Regeneration
M2M
Metamodel
“For our purposes, we consider
the user-interface as a model.”
Interaction +
I V
S
15. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
15
1. Motivation
2. Interaction Metamodel
3. Case Study
4. Future work
CONTENT
16. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
16
UIA UIB
2. Interaction Metamodel
“The methodology considers
interface evolution.”
Architectural Metamodel
Architectural Modeli
Architectural Metamodel
Architectural Modeli
17. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
17
Architectural Metamodel
Architectural Modeli
2. Interaction Metamodel
Architectural Metamodel
1
2 3
1. Structural metamodel:
composition dependencies
between components through
connection ports (i.e., provided
and required interfaces).
2. Visual metamodel: components
behaviour from a visual point
of view (open, close, show,
hide components, etc.) by
means of a state machine.
3. Interaction metamodel: models
the user-interaction behaviour,
and describes the structure of
interaction tasks that users may
complete in the system.
18. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
18
Architectural Metamodel
Architectural Modeli
2. Interaction Metamodel
Architectural Metamodel
1
2 3
1. Structural metamodel:
composition dependencies
between components through
connection ports (i.e., provided
and required interfaces).
2. Visual metamodel: components
behaviour from a visual point
of view (open, close, show,
hide components, etc.) by
means of a state machine.
3. Interaction metamodel: models
the user-interaction behaviour,
and describes the structure of
interaction tasks that users may
complete in the system.
19. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
19
2. Interaction Metamodel
Architectural Metamodel
Architectural Modeli
20. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
20
2. Interaction Metamodel
main concepts
Architectural Metamodel
Architectural Modeli
21. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
21
2. Interaction Metamodel
<<shared elements>>
Architectural Metamodel
Architectural Modeli
<<interconnection>>
22. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
22
2. Interaction Metamodel
Roles:
<<politician>>
<<technician>>
<<administrator>>
Group:
Actor:
Actor:
Actor:
Cotsget:
Cotsget:
Cotsget:
Architectural Metamodel
Architectural Modeli
23. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
23
2. Interaction Metamodel
Architectural Metamodel
Architectural Modeli
<<atomic task>>
24. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
24
AND
OR
complexsimple
2. Interaction Metamodel
“A choreography describes the
protocol, or the sequence in which
the tasks must be executed.”
Activity-diagram
Architectural Metamodel
Architectural Modeli
“To facilitate the modelling,
concepts have been collected
in an ‘enumeration-class’ in
the MM.”
25. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
25
2. Interaction Metamodel
Activity-Diagram
r1
r2
r3
r1
r2
In order to complete the semantical closure of the
interaction metamodel:
r3
…
Architectural Metamodel
Architectural Modeli
incoming (1)
outgoing (2..*)
26. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
26
1. Motivation
2. Interaction Metamodel
3. Case Study
4. Future work
CONTENT
27. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
27
3. A Case Study
Scenario: EMIS cooperative task for decision-making on natural disasters.
<<politician>>
<<GISexpert>>
<<evaluator>>
UI1
UI2
UI3
Analyzes land areas in order
to classify types of soil,
affected area, etc.
Carries out an economic
study from that information
provided by the GIS expert.
Wishes to carry out a
particular assessment of a
natural disaster.
Cooperative task
requesting information
“Environmental study”
“Economic study”
28. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
28
3. A Case Study“cooperative-interaction diagram (model)”
“adapted activity-diagram notation”
29. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
29
3. A Case Study
Metamodel
Model
30. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
30
3. A Case Study
31. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
31
3. A Case Study
<<InitialStep>>
<<FinalStep>>
Main coreographies
32. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
32
3. A Case Study
<<InitialStep>>
<<FinalStep>>
#1/3
#3/3
#6/3#7/3
#5/1
#4/1
#2/1
<<simple>> <<complex>>
1 2 3
[ #n/n = #step/replaced-by ]
33. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
33
3. A Case Study
#1/3
#3/3
#6/3#7/3
#4.2/2
#5/1
#4/1
#2/1
#4.1/3
#4.3/1
#4.4/1
#4.5/3
#5.2/2
#5.1/3
#5.3/1
#5.4/1
#5.5/3
<<simple>> <<complex>>
1 2 3
[ #n/n = #step/replaced-by ]
“a similar behaviour (step #4) occurs in step #5”
34. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
34
3. A Case Study
#1/3
#2/1
#3/1
#4/1
#5/3
<<simple>> <<complex>>
1 2 3
“both expert and evaluator have also their own choreography”
#1/3
#2/1
#3/1
#4/1
#5/3
[ #n/n = #step/replaced-by ]
Environmental
study
Economic
study
“a similar behaviour has the choreography associated to the evaluator rol”
35. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
35
1. Motivation
2. Interaction Metamodel
3. Case Study
4. Future work
CONTENT
36. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
36
a) Automated co-evolution of models [Cicchetti et al., 2008]
b) Metamodel adaptation techniques [Wachsmuth, 2007]
c) Model Evolution concepts [Blair et al., 2009]
4. Future Work
Future Work:
1. GUI tool (Eclipse GMF) to draw new scenarios (models).
2. Simulation tool (to reproduce events and interactions; groups/UI).
3. Variability (chage-detection) of Interaction Metamodel:
37. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
37
An Interaction Meta-model for
Cooperative Component-Based
User Interfaces
L. Iribarne, N. Padilla, J. Criado and C. Vicente-Chicote
ISDE2010 – OTM Workshops 26 October 2010, Crete (Greece)
More info: http://www.ual.es/acg/soleres
Contact: luis.iribarne@ual.es Thanks !!
SOLERES R&D Project
TIN2007-61497
Applied Computing Group
Ref. TIC-211
Engineering Higher
Polytechnic School
University of Almeria
Campus, Spain
Spanish Ministry of
Science and Innovation
38. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
38
Appendix
Complementary
Slides
39. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
39
Implementation Framework (MDE)
Eclipse Modeling Project, EMP, http://www.eclipse.org/modeling/
EMF (Eclipse Modeling Framework), “.ecore” diagrams
http://www.eclipse.org/modeling/emf/
ATL (Atlas Transformation Language)
http://www.eclipse.org/m2m/atl/
OCL (Object Constraint Language), OMG
GMF (Graphical Modeling Framework)
http://www.eclipse.org/modeling/gmp/
Visual Paradigm SDE for Eclipse, http://www.visual-paradigm.com/
UML scenarios as models of the metamodel
Appendix. Implementation Details
40. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
40
Appendix. Implementation Details
41. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
41
Appendix. Implementation Details
42. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
42
Appendix. Implementation Details
43. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
43
Metamodel
Model
<<Graphical View>> <<Object View>>
<<Views>>
“metamodel-checkings” “model transformation”
Appendix. Implementation Details
48. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
48
Appendix. Implementation Details
An example of a COTGET-based user interface
Structural model view
49. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
49
CUI1 CUI2 CUI3
CUI4 CUI5
CUI6 CUI7
A B C
CUI1 CUI9 CUI3
CUI4
A B C
t
mt
Model A Model B
Rmt
Trading
RT
Transformation
rules
Trading
RT
User interface A User interface B
Model Transformation
(MDE)
Regeneration
Regeneration
M2M
Metamodel
Intelligent Model-Transformation
a) Deterministic transformation
b) Hybrid transformation
c) Intelligent transformation
I V
S
Appendix. Implementation Details
50. APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
50
repository
Push model
trader
Pull model
(bots or search engines)
ServiceFetcher
export
import
“Trader Federation”
“Trader Interfaces”
“Trader Structure”
“Trader Invocations”
Appendix. Implementation DetailsTRADING SERVICE
OMG-ODP
Trading