SlideShare a Scribd company logo
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)
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
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
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.”
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>>
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
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
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
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
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
10
UI gadgets/widgets
1. Motivation
Web-based WIMP Interface
[Almendros & Iribarne, 2008]
Considerations:
1. Component-based UI.
2. COTS UI components.
3. WIMP simple interfaces
4. Web-based UI
“Component-based UI”
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]
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
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
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
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
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
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.
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.
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
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
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>>
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
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>>
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.”
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..*)
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
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”
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”
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
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
30
3. A Case Study
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
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 ]
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”
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”
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
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:
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
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
38
Appendix
Complementary
Slides
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
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
40
Appendix. Implementation Details
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
41
Appendix. Implementation Details
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
42
Appendix. Implementation Details
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
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
44
<imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldesaster”>
<role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”>
<task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”>
<taskUnit xsi:type="imm:TaskAction" name="InputData"/>
<taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”>
<choreography id="ch_p_2”>
<step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/>
<step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/>
<step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/>
<step xsi:type="imm:ControlStep" id="step_p_2_5” ... />
</choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/>
</taskUnit>
<taskUnit xsi:type="imm:SubTask" name="Evaluation”>
<choreography id="ch_p_3”> ... </choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/>
</taskUnit>
<choreography id="ch_p_1”>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/>
<step xsi:type="imm:ControlStep" id="step_p_1_6” ... />
<step xsi:type="imm:ControlStep" id="step_p_1_7” ... />
</choreography>
<infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/>
<infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/>
</task>
</role>
<role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role>
<role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role>
<group plays="//@role.0" name="Politic1" id="Group1”>
<actor plays="//@role.0" name="Politic1"/>
<actor plays="//@role.1" name="ExpertGIS1"/>
<actor plays="//@role.2" name="Evaluator1"/>
</group>
</imm:CooperativeModel>
Appendix. Implementation Details
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
45
<imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldisaster”>
<role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”>
<task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”>
<taskUnit xsi:type="imm:TaskAction" name="InputData"/>
<taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”>
<choreography id="ch_p_2”>
<step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/>
<step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/>
<step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/>
<step xsi:type="imm:ControlStep" id="step_p_2_5” ... />
</choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/>
</taskUnit>
<taskUnit xsi:type="imm:SubTask" name="Evaluation”>
<choreography id="ch_p_3”> ... </choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/>
</taskUnit>
<choreography id="ch_p_1”>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/>
<step xsi:type="imm:ControlStep" id="step_p_1_6” ... />
<step xsi:type="imm:ControlStep" id="step_p_1_7” ... />
</choreography>
<infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/>
<infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/>
</task>
</role>
<role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role>
<role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role>
<group plays="//@role.0" name="Politic1" id="Group1”>
<actor plays="//@role.0" name="Politic1"/>
<actor plays="//@role.1" name="ExpertGIS1"/>
<actor plays="//@role.2" name="Evaluator1"/>
</group>
</imm:CooperativeModel>
Appendix. Implementation Details
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
46
Appendix. Implementation Details
<imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldisaster”>
<role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”>
<task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”>
<taskUnit xsi:type="imm:TaskAction" name="InputData"/>
<taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”>
<choreography id="ch_p_2”>
<step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/>
<step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/>
<step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/>
<step xsi:type="imm:ControlStep" id="step_p_2_5” ... />
</choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/>
</taskUnit>
<taskUnit xsi:type="imm:SubTask" name="Evaluation”>
<choreography id="ch_p_3”> ... </choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/>
</taskUnit>
<choreography id="ch_p_1”>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/>
<step xsi:type="imm:ControlStep" id="step_p_1_6” ... />
<step xsi:type="imm:ControlStep" id="step_p_1_7” ... />
</choreography>
<infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/>
<infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/>
</task>
</role>
<role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role>
<role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role>
<group plays="//@role.0" name="Politic1" id="Group1”>
<actor plays="//@role.0" name="Politic1"/>
<actor plays="//@role.1" name="ExpertGIS1"/>
<actor plays="//@role.2" name="Evaluator1"/>
</group>
</imm:CooperativeModel>
APPLIED COMPUTING GROUP
UNIVERSITY OF ALMERIA (SPAIN)
ISDE’2010 – OTM Workshops
26th October 2010, Crete (Greece)
Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces
47
<imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldisaster”>
<role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”>
<task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”>
<taskUnit xsi:type="imm:TaskAction" name="InputData"/>
<taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”>
<choreography id="ch_p_2”>
<step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/>
<step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/>
<step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/>
<step xsi:type="imm:ControlStep" id="step_p_2_5” ... />
</choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/>
</taskUnit>
<taskUnit xsi:type="imm:SubTask" name="Evaluation”>
<choreography id="ch_p_3”> ... </choreography>
<taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/>
<taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/>
</taskUnit>
<choreography id="ch_p_1”>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/>
<step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... />
<step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/>
<step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/>
<step xsi:type="imm:ControlStep" id="step_p_1_6” ... />
<step xsi:type="imm:ControlStep" id="step_p_1_7” ... />
</choreography>
<infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/>
<infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/>
</task>
</role>
<role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role>
<role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role>
<group plays="//@role.0" name="Politic1" id="Group1”>
<actor plays="//@role.0" name="Politic1"/>
<actor plays="//@role.1" name="ExpertGIS1"/>
<actor plays="//@role.2" name="Evaluator1"/>
</group>
</imm:CooperativeModel>
1
2
3
4
5
6
7
Appendix. Implementation Details
1
2
3
4
5
6
7
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
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
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

More Related Content

DOC
EDAIM 110 juni 08
PDF
ORGANIC USER INTERFACES: FRAMEWORK, INTERACTION MODEL AND DESIGN GUIDELINES
PDF
Portfolio: Abhigyan Singh
KEY
Doing A Small-Scale Diachronic Twitter User Study
PDF
chapter_03_5e.pdf
PDF
Meetup 11 here&amp;now_megatriscomp design methodpartii_v0.2
PDF
COMP 4026 - Lecture1 introduction
PDF
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
EDAIM 110 juni 08
ORGANIC USER INTERFACES: FRAMEWORK, INTERACTION MODEL AND DESIGN GUIDELINES
Portfolio: Abhigyan Singh
Doing A Small-Scale Diachronic Twitter User Study
chapter_03_5e.pdf
Meetup 11 here&amp;now_megatriscomp design methodpartii_v0.2
COMP 4026 - Lecture1 introduction
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...

Similar to An interaction meta-model for cooperative component-based user interfaces (20)

PPTX
User interface software tools past present and future
PDF
A Web Services Infrastructure for the management of Mashup Interfaces
PDF
SOLERES-HCI. Modelling a human-computer interaction framework for open EMS
PDF
Introduction to Interaction Design
PPTX
ICRA: Intelligent Platform for Collaboration and Interaction
PDF
2015-11-11 research seminar
PPTX
INTERACTION AND INTERFACES MODEL OF THE INTERACTION
DOCX
A INTER, ,CTIOW DESIGN I beyond human-computer interacti.docx
PPTX
HCI.pptx
PPTX
Interaction Design Roadmap
PDF
The Resonant Interface Hci Foundations For Interaction Design 1st Edition Ste...
PDF
COMP 4026 - Lecture 1
PPTX
Unit-5.pptx Adhoc sensor networks notes unit 5
PDF
An interactive form-based mobile software system with a sample application in...
PPT
CS8079 Human Computer Interaction
PDF
A Uniform Specification Of Mixed Reality Interface Components
PPT
Summ11 useinterx
PDF
Semantic Matching of Components at Run-Time in Distributed Environments
PDF
Interaction design _beyond_human_computer_interaction
PDF
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
User interface software tools past present and future
A Web Services Infrastructure for the management of Mashup Interfaces
SOLERES-HCI. Modelling a human-computer interaction framework for open EMS
Introduction to Interaction Design
ICRA: Intelligent Platform for Collaboration and Interaction
2015-11-11 research seminar
INTERACTION AND INTERFACES MODEL OF THE INTERACTION
A INTER, ,CTIOW DESIGN I beyond human-computer interacti.docx
HCI.pptx
Interaction Design Roadmap
The Resonant Interface Hci Foundations For Interaction Design 1st Edition Ste...
COMP 4026 - Lecture 1
Unit-5.pptx Adhoc sensor networks notes unit 5
An interactive form-based mobile software system with a sample application in...
CS8079 Human Computer Interaction
A Uniform Specification Of Mixed Reality Interface Components
Summ11 useinterx
Semantic Matching of Components at Run-Time in Distributed Environments
Interaction design _beyond_human_computer_interaction
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
Ad

More from Applied Computing Group (20)

PDF
Hand Posture Recognition with Standard Webcam for Natural Interaction
PDF
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
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...
PPSX
MEDI'2012: Runtime Adaptation of Architectural Models: an approach for adapti...
PPSX
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
PPSX
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
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
Hand Posture Recognition with Standard Webcam for Natural Interaction
Evolving Mashup Interfaces using a Distributed Machine Learning and Model Tra...
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...
MEDI'2012: Runtime Adaptation of Architectural Models: an approach for adapti...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
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
Ad

Recently uploaded (20)

PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Lesson notes of climatology university.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Classroom Observation Tools for Teachers
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
A systematic review of self-coping strategies used by university students to ...
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Chinmaya Tiranga quiz Grand Finale.pdf
O7-L3 Supply Chain Operations - ICLT Program
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Pharma ospi slides which help in ospi learning
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Lesson notes of climatology university.
Module 4: Burden of Disease Tutorial Slides S2 2025
VCE English Exam - Section C Student Revision Booklet
STATICS OF THE RIGID BODIES Hibbelers.pdf
Microbial diseases, their pathogenesis and prophylaxis
2.FourierTransform-ShortQuestionswithAnswers.pdf
Yogi Goddess Pres Conference Studio Updates
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
human mycosis Human fungal infections are called human mycosis..pptx
Classroom Observation Tools for Teachers
Abdominal Access Techniques with Prof. Dr. R K Mishra
A systematic review of self-coping strategies used by university students to ...
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
3rd Neelam Sanjeevareddy Memorial Lecture.pdf

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
  • 10. APPLIED COMPUTING GROUP UNIVERSITY OF ALMERIA (SPAIN) ISDE’2010 – OTM Workshops 26th October 2010, Crete (Greece) Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces 10 UI gadgets/widgets 1. Motivation Web-based WIMP Interface [Almendros & Iribarne, 2008] Considerations: 1. Component-based UI. 2. COTS UI components. 3. WIMP simple interfaces 4. Web-based UI “Component-based UI”
  • 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
  • 44. APPLIED COMPUTING GROUP UNIVERSITY OF ALMERIA (SPAIN) ISDE’2010 – OTM Workshops 26th October 2010, Crete (Greece) Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces 44 <imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldesaster”> <role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”> <task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”> <taskUnit xsi:type="imm:TaskAction" name="InputData"/> <taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”> <choreography id="ch_p_2”> <step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/> <step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/> <step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/> <step xsi:type="imm:ControlStep" id="step_p_2_5” ... /> </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/> </taskUnit> <taskUnit xsi:type="imm:SubTask" name="Evaluation”> <choreography id="ch_p_3”> ... </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/> </taskUnit> <choreography id="ch_p_1”> <step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/> <step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/> <step xsi:type="imm:ControlStep" id="step_p_1_6” ... /> <step xsi:type="imm:ControlStep" id="step_p_1_7” ... /> </choreography> <infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/> <infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/> </task> </role> <role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role> <role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role> <group plays="//@role.0" name="Politic1" id="Group1”> <actor plays="//@role.0" name="Politic1"/> <actor plays="//@role.1" name="ExpertGIS1"/> <actor plays="//@role.2" name="Evaluator1"/> </group> </imm:CooperativeModel> Appendix. Implementation Details
  • 45. APPLIED COMPUTING GROUP UNIVERSITY OF ALMERIA (SPAIN) ISDE’2010 – OTM Workshops 26th October 2010, Crete (Greece) Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces 45 <imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldisaster”> <role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”> <task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”> <taskUnit xsi:type="imm:TaskAction" name="InputData"/> <taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”> <choreography id="ch_p_2”> <step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/> <step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/> <step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/> <step xsi:type="imm:ControlStep" id="step_p_2_5” ... /> </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/> </taskUnit> <taskUnit xsi:type="imm:SubTask" name="Evaluation”> <choreography id="ch_p_3”> ... </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/> </taskUnit> <choreography id="ch_p_1”> <step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/> <step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/> <step xsi:type="imm:ControlStep" id="step_p_1_6” ... /> <step xsi:type="imm:ControlStep" id="step_p_1_7” ... /> </choreography> <infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/> <infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/> </task> </role> <role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role> <role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role> <group plays="//@role.0" name="Politic1" id="Group1”> <actor plays="//@role.0" name="Politic1"/> <actor plays="//@role.1" name="ExpertGIS1"/> <actor plays="//@role.2" name="Evaluator1"/> </group> </imm:CooperativeModel> Appendix. Implementation Details
  • 46. APPLIED COMPUTING GROUP UNIVERSITY OF ALMERIA (SPAIN) ISDE’2010 – OTM Workshops 26th October 2010, Crete (Greece) Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces 46 Appendix. Implementation Details <imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldisaster”> <role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”> <task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”> <taskUnit xsi:type="imm:TaskAction" name="InputData"/> <taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”> <choreography id="ch_p_2”> <step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/> <step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/> <step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/> <step xsi:type="imm:ControlStep" id="step_p_2_5” ... /> </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/> </taskUnit> <taskUnit xsi:type="imm:SubTask" name="Evaluation”> <choreography id="ch_p_3”> ... </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/> </taskUnit> <choreography id="ch_p_1”> <step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/> <step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/> <step xsi:type="imm:ControlStep" id="step_p_1_6” ... /> <step xsi:type="imm:ControlStep" id="step_p_1_7” ... /> </choreography> <infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/> <infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/> </task> </role> <role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role> <role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role> <group plays="//@role.0" name="Politic1" id="Group1”> <actor plays="//@role.0" name="Politic1"/> <actor plays="//@role.1" name="ExpertGIS1"/> <actor plays="//@role.2" name="Evaluator1"/> </group> </imm:CooperativeModel>
  • 47. APPLIED COMPUTING GROUP UNIVERSITY OF ALMERIA (SPAIN) ISDE’2010 – OTM Workshops 26th October 2010, Crete (Greece) Aninteractionmeta-modelforcooperativecomponent-baseduserinterfaces 47 <imm:InteractionModel xmlns:imm="http://imm/1.0" xsi:schemaLocation=“.../imm.ecore" name=”naturaldisaster”> <role isPlayed="//@group.0 //@group.0/@actor.0" name="Politic”> <task xsi:type="imm:CooperativeTask" name="DamageEvaluationP”> <taskUnit xsi:type="imm:TaskAction" name="InputData"/> <taskUnit xsi:type="imm:SubTask" name="GeographicAnalysis”> <choreography id="ch_p_2”> <step xsi:type="imm:ControlStep" controlFlow=”.../@step.1" id="step_p_2_1"/> <step xsi:type="imm:TaskStep" controlFlow=”.../@step.2" id="step_p_2_2" task="//@role.1/@task.0"/> <step xsi:type="imm:TaskUnitStep" controlFlow=” .../@step.3" id="step_p_2_3” ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_2_4" taskUnit=".../@subTaskUnit.1"/> <step xsi:type="imm:ControlStep" id="step_p_2_5” ... /> </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=”.../@infoObject.0" name="SendAnalysisData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=”..." name="ReceiveAnalysisInformation"/> </taskUnit> <taskUnit xsi:type="imm:SubTask" name="Evaluation”> <choreography id="ch_p_3”> ... </choreography> <taskUnit xsi:type="imm:TaskAction" objectFlow=“.../@infoObject.1" name="SendEvaluationData"/> <taskUnit xsi:type="imm:TaskAction" objectFlow=".../@infoObject.3" name="ReceiveEvaluationReport"/> </taskUnit> <choreography id="ch_p_1”> <step xsi:type="imm:ControlStep" controlFlow=".../@step.1" id="step_p_1_1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_2" taskUnit=".../@taskUnit.0"/> <step xsi:type="imm:ControlStep" controlFlow=".../@step.4" ... /> <step xsi:type="imm:TaskUnitStep" id="step_p_1_4" taskUnit=".../@taskUnit.1"/> <step xsi:type="imm:TaskUnitStep" id="step_p_1_5" taskUnit=".../@taskUnit.2"/> <step xsi:type="imm:ControlStep" id="step_p_1_6” ... /> <step xsi:type="imm:ControlStep" id="step_p_1_7” ... /> </choreography> <infoExchangeObject name="AnalysisData"/> <infoExchangeObject name="AnalysisInformation"/> <infoExchangeObject name="EvaluationData"/> <infoExchangeObject name="EvaluationReport"/> </task> </role> <role isPlayed="//@group.0/@actor.1" name="ExpertGIS”> ... </role> <role isPlayed="//@group.0/@actor.2" name="Evaluator”> ... </role> <group plays="//@role.0" name="Politic1" id="Group1”> <actor plays="//@role.0" name="Politic1"/> <actor plays="//@role.1" name="ExpertGIS1"/> <actor plays="//@role.2" name="Evaluator1"/> </group> </imm:CooperativeModel> 1 2 3 4 5 6 7 Appendix. Implementation Details 1 2 3 4 5 6 7
  • 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