6. Motivation
• The development of context-aware systems is difficult
• Technical challenges
• Context data has to be…
• Obtained (distributed, heterogeneous)
• Processed (data model)
• Managed (inference->situations)
• The system has to be adapted to the identified situation
• Definition of situations
• Which are the relevant situations?
• Where is the needed context information?
• Which are the desired behaviors of the system?
Dependent on the application domain
Manufacturing
Tourism
Health care
…
7. Motivation
• We need…
• The collaboration among Domain Experts and
Programmers in the development process. They can better
identify the situations of users that can be relevant for the
system to be developed.
• Toolkits that can make easier the development of ContextAware Systems, even for people that do not have
programming skills
• Development methodologies to guide the development
process, focused in the collaboration among Domain Experts
and Programmers
8. • Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud
• Situation-Driven Development
• Conclusions
9. Related work
• Software development toolkits
• Drawbacks
• User’s mobility not supported - Geographic Information System (GIS)
• Hardly extensible
• Low-level APIs for skilled programmers
10. Related work
• Development methodologies
• Drawbacks
• General development methodologies
• Designed for programmers
11. • Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud
• Situation-Driven Development
• Conclusions
12. Theoretical framework
• Context is…
“… any information that can be obtained and
processed by a hardware or a software system,
{sleeping, at home, …} {living being, place, object}
in order to identify the situation of an entity
and adapt the system’s behaviour to that situation”.
13. Theoretical framework
• A situation is…
… the state of a subset of the available context
information at a certain region in space and at a
concrete interval in time”.
Waiting for
the bus
Bus stop
Going out on
a rainy day
Hotel room
14. • Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud
• Situation-Driven Development
• Conclusions
16. Context Cloud
• A web platform for the collaborative development of
Context-Aware Systems
Programmer
Domain expert
• Technical overview of the system
• Implementation of the final service using
the generated outputs to adapt the
behavior of the system
• Knowledge about the application domain
• Situations
17. Context Cloud: functionalities
End user
CONTEXT-AWARE
SYSTEM
Programmer
Walking
Working
Sleeping
Room
CONTEXT CLOUD
Programmer
Bus stop
Active
Provider
Passive
Provider
Providers
Rule1
GET
Rule 2
XML
POST
Programmer
Weather service
Smartphone
Domain expert
25. • Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud
• Situation-Driven Development
• Conclusions
26. Conclusions
• Context Cloud
• Improvements over existing approaches
•
•
•
•
Free data model based on entities
Support for mobility (GIS)
Extensible at runtime (rules, data model, sources,…)
Web development environment (involvement of DE)
• Situation-Driven Development
• Improvements over existing approaches
• A methodology specifically designed for the development
of context-aware systems
• Promotes the collaboration between domain experts and
programmers
27. Conclusions
• Evaluation
• Carried out in pairs composed by a Domain Expert and
a Programmer.
• The participants (12) were given a document where four
different situations were described.
• They had to use the methodology and configure the
platform to detect the situations.
• After the evaluation, they had to fill out a questionnaire.
28. Conclusions
• Evaluation
• Some results
• 91.7% find that learning how to use the platform and the methodology is
•
•
•
•
•
easy.
91.7% state that using Context Cloud would enable them to develop
context-aware systems more quickly and easier.
83.3% find that Context Cloud eases the collaborative work.
83.3% of the non-programmers state that it would be easy for them to
become skilful at using the platform.
100% state that the methodology is useful to work with Context Cloud
and to do a collaborative work.
91.7% of the participants would recommend other users to use the
platform.
29. Conclusions
• Future work
• Alternative algorithms to complement the situations
detection.
• Redesign of the user interface.