plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la...
DESCRIPTION
TRANSCRIPT
![Page 1: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/1.jpg)
PLATAFORMA WEB Y METODOLOGÍA PARA EL
DESARROLLO DE SISTEMAS SENSIBLES AL
CONTEXTO BASADA EN LA COLABORACIÓN ENTRE
PROGRAMADORES Y EXPERTOS EN EL DOMINIO
Candidato: David Martín del Canto
Directores: Dr. Diego López de Ipiña y Dra. Aurkene Alzua Sorzabal
Programa: Ingeniería Informática y Telecomunicación
Deusto – Bilbao, June 7th 2013
Facultad de Ingeniería
![Page 2: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/2.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
2
![Page 3: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/3.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
3
![Page 4: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/4.jpg)
Introduction
• Ubiquitous computing is a reality
Mobile environment
More than four billion of mobile devices
An open window to information and services at any time and
place
Context is a key point for an optimal user experience
Context-Aware computing
A style of computing in which situational and environmental
information is used to anticipate immediate needs and
proactively offer enriched, situation-aware content (Gartner
Research)
4
![Page 5: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/5.jpg)
Introduction: problem description
• The development of context-aware systems is
difficult
Technical challenges
Gathering of context data (distributed and heterogeneous)
Processing (context data model)
Management (inference->situations)
Adaptation to situations
Other challenges
Identification, definition and parameterization of situations
Dependent on the application domain
Manufacturing Tourism Health care … 5
![Page 6: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/6.jpg)
Introduction: problem description
• Collaboration among domain experts and
programmers
Domain experts can better identify the situations that can be
relevant for the system to be developed
• To promote this collaboration
Toolkits
To make easier the development of context-aware systems, even
for people that do not have programming skills
Development methodologies
To guide the development process, focused in the collaboration
between domain experts and programmers
6
![Page 7: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/7.jpg)
Introduction: hypothesis
It is possible to involve domain experts in the
development life-cycle of context-aware
systems in collaboration with programmers,
by providing software toolkits and
development methodologies adapted to
people that do not have programming skills
G1. Collaborative development methodology
G2. Context-aware software platform
7
![Page 8: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/8.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
8
![Page 9: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/9.jpg)
Theoretical framework: context
• Definitions
Surroundings (Brown, 1996; Chen and Kotz, 2000)
Task or activity of the user (Hull et al., 1997)
Information to characterize the situation of an entity
(Lieberman and Selker, 2000; Ye et al., 2011)
• The most referenced definition
“Context is any information that can be used to characterize the
situation of an entity.
An entity is a person, place, or object that is considered relevant
to the interaction between a user and an application, including
the user and application themselves” (Dey, 2001).
9
![Page 10: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/10.jpg)
Theoretical framework: context
“Context is any information that can be obtained
and processed by a hardware or a software system, in
order to identify the situation of an entity (living
being, place, object) and adapt the system’s
behaviour to that situation”
10
![Page 11: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/11.jpg)
Theoretical framework: situation
• Definitions
A situation is dependent on the context data and it can be
considered as an abstraction of it (Yau and Huang, 2006; Dey
2001)
“A situation is the state of the current and past
context data at a certain region in space and a
concrete interval in time”
11
![Page 12: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/12.jpg)
Theoretical framework: context & situation
A1 A2 A3
S2 E3 (S0) => S4 (t3)
E2 => S3 (t2)
E1 => S1 (t1) High-level context
c1
c2
c3 c5
c6 c7 c8
c4 Low-level context
Cooking A cook is located in the kitchen, he is using a knife and it is time to have lunch
Space Dependent situation Time Entity
12
![Page 13: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/13.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
13
![Page 14: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/14.jpg)
Situation-Driven Development: literature review
• Software development methodologies
General development methodologies
Waterfall, iterative, spiral (Green and DiCaterino, 1998).
Context Modelling Language (CML) (Henricksen and
Indulska, 2006)
Context-Oriented Programming (COP) (Hirschfeld et al.,
2008)
There are no specific development methodologies to
guide the implementation of context-aware systems
in collaboration with domain experts
14
![Page 15: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/15.jpg)
Situation-Driven Development: requirements
• Requirements for the development
methodology
Focused in the identification of situations (4W1H) (Oh
et al., 2006)
Which situation has to be identified?
Who can be in such situation?
Where can it be detected?
When can it be detected?
How can it be detected?
Collaborative methodology
Domain experts and programmers
15
![Page 16: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/16.jpg)
Situation-Driven Development
• Collaborative development methodology
Five stages
Analysis
Configuration
Development
Validation
Maintenance
16
![Page 17: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/17.jpg)
Situation-Driven Development: analysis
17
![Page 18: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/18.jpg)
Situation-Driven Development: configuration
Context-aware toolkit
18
![Page 19: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/19.jpg)
Situation-Driven Development: development
Inputs
Context-aware toolkit
Outputs
Software/hardware
19
![Page 20: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/20.jpg)
Situation-Driven Development: validation
Inputs
Context-aware toolkit
Outputs
Software/hardware
20
![Page 21: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/21.jpg)
Situation-Driven Development: maintenance
Inputs
Context-aware toolkit
Outputs
Software/hardware
21
![Page 22: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/22.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
22
![Page 23: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/23.jpg)
Context Cloud: literature review
• Requirements
1. Data model
2. Runtime configurations
3. Automatic context data management
4. Reasoning
5. Location
6. End-user development (EUD)
7. Visual programming
8. Web
23
![Page 24: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/24.jpg)
Context Cloud: literature review
Data model Runtime
configurations
Automatic management
Reasoning Location EUD Visual
Programming Web
Context Toolkit Key-value
pairs
SOCAM Ontologies
CoBra Ontologies
JCAF Object
oriented
Semantic Space Toolkit
Ontologies
CASS Relational
CMF Ontologies
Hydrogen Object
oriented
DiaSuite Object
oriented
OPEN Ontologies
24
![Page 25: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/25.jpg)
Context Cloud: architecture and functionalities
• Architecture and functionalities
Context
Model DB
POST GET
GIS
Service
Knowledge
Base
Software / Hardware Programmer
Programmer
Active
Provider Passive
Provider
Mapping
Engine
Ap
pli
ca
tio
n
Ma
na
gem
en
t P
rovid
ers
S
ou
rce
s
Rule
Engine
C2 C1
Domain Expert
Web Interface
Programmer
XML
Web
of
Th
ing
s
Clo
ud
co
mp
uti
ng
E
nd
-us
er D
evelo
pm
en
t
Rule 1
Rule 2 A2
A1
XML
POST Context cloud
25
![Page 26: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/26.jpg)
Context Cloud: demo
26
Donostia
![Page 27: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/27.jpg)
27
![Page 28: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/28.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
28
![Page 29: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/29.jpg)
Evaluation: reasoning performance
• Configurations
1) Number of context entity instances
{1,000, 5,000, 10,000, 15,000, 20,000}
2) Number of context entity properties
{1, 2, 3, 4, 5}
3) Number of rules
{100, 200, 300, 400, 500}
4) Number of entities used in the rule conditions
{1, 2}
• Reasoning time <= 1second
29
![Page 30: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/30.jpg)
Evaluation: reasoning performance
• Results
Tim
e (
ms
)
Number of instances
Tim
e (
ms
)
Number of properties
Tim
e (
ms
)
Number of rules
Tim
e (
ms
)
Number of instances
1) 2)
3) 4)
1 second
30
![Page 31: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/31.jpg)
Evaluation: reasoning performance
• Conclusions
Minimize
Number of rules
Number of instances
Number of entities
Maximize
Number of properties used in the rule conditions
RAM memory
31
![Page 32: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/32.jpg)
Evaluation: user evaluation
• Participants
Tourism Domain Experts (10) and Programmers (10)
Pairs composed by a Domain Expert and a Programmer
They were introduced to the methodology, to the platform and
to the experiment’s objectives
32
![Page 33: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/33.jpg)
Evaluation: user evaluation
• Procedure
Participants had to identify and detect four situations using the
methodology and the platform
Waiting for the bus
Situations were simulated using the Siafu Context Simulator
33
Visitor
Bus Stop 1
Bus Stop 2
Gros
![Page 34: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/34.jpg)
Evaluation: user evaluation
• Procedure
An external observer annotated:
The problems of the participants
The time spent in the configuration of situations
Participants had to fill out a questionnaire (TAM)
Perceived Ease of Use
Perceived Usefulness
Behavioural Intention
1 2 3 4 5 6
Extremely Quite Slightly Slightly Quite Extremely Agree Disagree
34
![Page 35: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/35.jpg)
Evaluation: user evaluation
0% 20% 40% 60% 80% 100% 120%
Easy to use (CC, SDD)
Collaborative work (SDD)
Collaborative work (CC)
Skilful (CC)
Interaction is clear (CC)
Easy to do what they want (CC)
Learning is easy (CC, SDD)
Results: Perceived Ease of Use
Participants
35
Programmers
Domain experts
![Page 36: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/36.jpg)
Evaluation: user evaluation
0% 20% 40% 60% 80% 100% 120%
SDD is useful to develop context-awaresystems
SDD is useful to work with CC
Useful to do a collaborative work (SDD)
Useful to do a collaborative work (CC)
Useful for their jobs (CC)
Performance, productivity, effectiveness (CC)
Develop faster (CC)
Results: Perceived Usefulness
Programmers
Participants
36
![Page 37: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/37.jpg)
Evaluation: user evaluation
0% 20% 40% 60% 80% 100% 120%
Would pay for CC
Would use CC
Would recommend CC
Results: Behavioural Intention
Participants
37
Domain experts
Programmers
![Page 38: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/38.jpg)
Evaluation: user evaluation
• Results of the observation
Analysis stage
The excel sheet promotes the discussion between domain
experts and programmers
Configuration stage
30% of the situations were fully configured by domain experts
with no intervention of programmers
Average time spent to finish the evaluation test
89 minutes
38
![Page 39: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/39.jpg)
Evaluation: user evaluation
• Conclusions
Situation-Driven Development methodology
It can be used to guide the development of context-aware systems.
It is suitable for non-technical users
It is useful to promote a collaborative work
Context Cloud platform
Learning how to use the platform can be difficult, specially for
domain experts, but users get more confident as they use it.
It is perceived as a useful platform in order to develop context-
aware systems.
It is suitable for non-technical users
It facilitates the collaborative development of context-aware
systems.
It is useful to promote a collaborative work
39
![Page 40: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/40.jpg)
Evaluation: user evaluation
• Conclusions
It is possible to involve domain experts in the
development life-cycle of context-aware
systems in collaboration with programmers,
by providing software toolkits and
development methodologies adapted to
people that do not have programming skills
G1. Collaborative development methodology (SDD)
G2. Context-aware software platform (CC)
40
![Page 41: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/41.jpg)
Outline Introduction
Theoretical framework
Situation-Driven Development methodology
Context Cloud platform
Evaluation
Conclusions
41
![Page 42: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/42.jpg)
Conclusions: contributions
1. Theoretical contribution
• Context
• Situation
2. Situation-Driven Development
methodology
3. Context Cloud platform
4. Involvement of domain experts in the
development process
42
![Page 43: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/43.jpg)
Conclusions: implications
• Data to be considered in context-aware
systems
• Complementary technologies and
scientific fields
• Involvement of domain experts in the
development process
• Design of methodologies and context-
aware toolkits
43
![Page 44: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/44.jpg)
Conclusions: future work
• Research on context theory
• Complementary reasoning algorithms
• Uncertainty in context-aware reasoning
• Quality of sensor data
• Automatic context data source discovery
• Automatic rule creation
• Development of context-aware systems by
domain experts
44
![Page 45: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio](https://reader033.vdocumento.com/reader033/viewer/2022051514/54b4f2be4a795994458b47c6/html5/thumbnails/45.jpg)
PLATAFORMA WEB Y METODOLOGÍA PARA EL
DESARROLLO DE SISTEMAS SENSIBLES AL
CONTEXTO BASADA EN LA COLABORACIÓN ENTRE
PROGRAMADORES Y EXPERTOS EN EL DOMINIO
Candidato: David Martín del Canto
Directores: Dr. Diego López de Ipiña y Dra. Aurkene Alzua Sorzabal
Programa: Ingeniería Informática y Telecomunicación
Deusto – Bilbao, June 7th 2013
Facultad de Ingeniería