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
This document describes a web platform and methodology for developing context-aware systems through collaboration between programmers and domain experts. It proposes a Situation-Driven Development methodology with 5 stages to guide the collaborative process. It also presents the Context Cloud platform, which was designed based on literature requirements to support automatic context management, reasoning, location detection, end-user development and visualization. An evaluation showed the methodology and platform facilitated involvement of domain experts and allowed situations to be configured without programmer intervention. The contributions enable context-aware system development by both technical and non-technical users.
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
Weitere ähnliche Inhalte
Ähnlich wie 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
National cybersecurity capacity building framework for countries in a transit...Mohamed Ben Naseir
Ähnlich wie 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 (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
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
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
Facultad de Ingeniería
Deusto – Bilbao, June 7th 2013
4. 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
5. 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
6. 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
7. 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
9. 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
10. 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
11. 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
12. Theoretical framework: context & situation
E2 => S3 (t2)
High-level context
E1 => S1 (t1)
E3 (S0) => S4 (t3)
S2
c1
c3
c4
Low-level context
c5
c6
c7
c8
c2
A1
A2
A3
Cooking
A cook is located in the kitchen, he is using a knife and it is time to have lunch
Entity
Space
Dependent situation
Time
12
14. 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
15. 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
23. Context Cloud: literature review
• Requirements
1.
2.
3.
4.
5.
6.
7.
8.
Data model
Runtime configurations
Automatic context data management
Reasoning
Location
End-user development (EUD)
Visual programming
Web
23
24. Context Cloud: literature review
Data model
Context Toolkit
Web
Relational
CMF
Visual
Programming
Ontologies
CASS
EUD
Object
oriented
Semantic Space
Toolkit
Location
Ontologies
JCAF
Reasoning
Ontologies
CoBra
Automatic
management
Key-value
pairs
SOCAM
Runtime
configurations
Ontologies
Hydrogen
DiaSuite
OPEN
Object
oriented
Object
oriented
Ontologies
24
25. Context Cloud: architecture and functionalities
Application
Management
Providers
Sources
Software / Hardware
Programmer
XML
Web Interface
POST
Context cloud
Knowledge
Base
Rule 1
Rule
Engine
A1
Rule 2
Context
Model DB
Mapping
Engine
C1
A2
GIS
Service
Active
Provider
Passive
Provider
POST
End-user Development
Web of Things Cloud computing
• Architecture and functionalities
XML
Domain Expert
GET
C2
Programmer
Programmer
25
29. 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
30. Evaluation: reasoning performance
• Results
1)
Time (ms)
Time (ms)
2)
Number of properties
Number of instances
3)
Time (ms)
Time (ms)
4)
1 second
Number of rules
Number of instances
30
31. 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
32. 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
33. 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
Gros
Bus Stop 2
Bus Stop 1
Visitor
33
34. 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
Disagree
2
3
4
5
6
Extremely
Quite
Slightly
Slightly
Quite
Extremely
Agree
34
35. Evaluation: user evaluation
Results: Perceived Ease of Use
Learning is easy (CC, SDD)
Easy to do what they want (CC)
Interaction is clear (CC)
Programmers
Domain experts
Participants
Skilful (CC)
Collaborative work (CC)
Collaborative work (SDD)
Easy to use (CC, SDD)
0%
20%
40%
60%
80%
100%
120%
35
36. Evaluation: user evaluation
Results: Perceived Usefulness
Develop faster (CC)
Performance, productivity, effectiveness (CC)
Useful for their jobs (CC)
Programmers
Useful to do a collaborative work (CC)
Participants
Useful to do a collaborative work (SDD)
SDD is useful to work with CC
SDD is useful to develop context-aware
systems
0%
20%
40%
60%
80%
100%
120%
36
37. Evaluation: user evaluation
Results: Behavioural Intention
Would recommend CC
Programmers
Domain experts
Would use CC
Participants
Would pay for CC
0%
20%
40%
60%
80%
100%
120%
37
38. 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
39. 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 contextaware 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
40. Evaluation: user evaluation
• Conclusions
G1. Collaborative development methodology (SDD)
G2. Context-aware software platform (CC)
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
40
42. 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
43. 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 contextaware toolkits
43
44. 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
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
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
Facultad de Ingeniería
Deusto – Bilbao, June 7th 2013