SlideShare a Scribd company logo
SITUATION-DRIVEN DEVELOPMENT:
A METHODOLOGY FOR THE DEVELOPMENT
OF CONTEXT-AWARE SYSTEMS
David Martín1, Diego López de Ipiña2, Carlos Lamsfus1 and Aurkene
Alzua1

1

2
• Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud

• Situation-Driven Development
• Conclusions
• Outline
• Motivation

• Related work
• Theoretical framework
• Context Cloud

• Situation-Driven Development
• Conclusions
Motivation

How can we personalize information and services to
people’s needs in mobile environments?
Motivation

CONTEXT!!
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

…
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
• Outline
• Motivation
• Related work

• Theoretical framework
• Context Cloud

• Situation-Driven Development
• Conclusions
Related work
• Software development toolkits

• Drawbacks
• User’s mobility not supported - Geographic Information System (GIS)
• Hardly extensible
• Low-level APIs for skilled programmers
Related work
• Development methodologies

• Drawbacks
• General development methodologies
• Designed for programmers
• Outline
• Motivation
• Related work
• Theoretical framework

• Context Cloud

• Situation-Driven Development
• Conclusions
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”.
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
• Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud

• Situation-Driven Development
• Conclusions
Context Cloud
End user

CONTEXT-AWARE
SYSTEM

Waiting for
the bus

Going out on
a rainy day

Programmer

Warm place

Programmer

CONTEXT CLOUD

Domain expert

Bus stop

Hotel room

Beach
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
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
Context Cloud: screenshots
Context Cloud: screenshots
• Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud
• Situation-Driven Development
• Conclusions
Situation-Driven Development
• Analysis
Situation-Driven Development
• Configuration
Situation-Driven Development
• Development

Situation
information

CONTEXT CLOUD

Inputs

Outputs
Situation-Driven Development
• Development
• Outline
• Motivation
• Related work
• Theoretical framework
• Context Cloud
• Situation-Driven Development
• Conclusions
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
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.
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.
Conclusions
• Future work
• Alternative algorithms to complement the situations
detection.
• Redesign of the user interface.
Thank You!!
davidmartin@tourgune.org
http://vimeo.com/contextcloud
www.tourgune.org

More Related Content

Similar to Situation driven development: a methodology for the development of context-aware systems

Foundations for a Platform to Develop Context-Aware Systems by Domain Experts
Foundations for a Platform to Develop Context-Aware Systems by Domain ExpertsFoundations for a Platform to Develop Context-Aware Systems by Domain Experts
Foundations for a Platform to Develop Context-Aware Systems by Domain Experts
damarcant
 
Perception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and PresentationPerception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and Presentation
Supun Dissanayake
 
Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...
Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...
Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...
damarcant
 
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
Ilkay Altintas, Ph.D.
 
Application Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireApplication Virtualization, University of New Hampshire
Application Virtualization, University of New Hampshire
Tony Austwick
 
Artificial Intelligence Presentation
Artificial Intelligence PresentationArtificial Intelligence Presentation
Artificial Intelligence Presentation
Malik Ghulam Murtza
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout Control
Teamstudio
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
Howard Greenberg
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
Utrecht University
 
Planning for the Cloud
Planning for the CloudPlanning for the Cloud
Planning for the Cloud
Hostway|HOSTING
 
Managing Enterprise Data Science 201904
Managing Enterprise Data Science 201904Managing Enterprise Data Science 201904
Managing Enterprise Data Science 201904
Mark Tabladillo
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh Architecture
Databricks
 
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
confluent
 
Incident response in Cloud
Incident response in CloudIncident response in Cloud
Incident response in Cloud
Vandana Verma
 
Grid computing
Grid computingGrid computing
Grid computing
Chanchal Sachdeva
 
unit 1 big data.pptx
unit 1 big data.pptxunit 1 big data.pptx
unit 1 big data.pptx
MohammedShahid562503
 
Why we got to Docker
Why we got to DockerWhy we got to Docker
Why we got to Docker
allingeek
 
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
confluent
 
Neo4j + Process Tempo present Plan Your Cloud Migration with Confidence
Neo4j + Process Tempo present Plan Your Cloud Migration with ConfidenceNeo4j + Process Tempo present Plan Your Cloud Migration with Confidence
Neo4j + Process Tempo present Plan Your Cloud Migration with Confidence
Neo4j
 
Rack Cluster Deployment for SDSC Supercomputer
Rack Cluster Deployment for SDSC SupercomputerRack Cluster Deployment for SDSC Supercomputer
Rack Cluster Deployment for SDSC Supercomputer
Rebekah Rodriguez
 

Similar to Situation driven development: a methodology for the development of context-aware systems (20)

Foundations for a Platform to Develop Context-Aware Systems by Domain Experts
Foundations for a Platform to Develop Context-Aware Systems by Domain ExpertsFoundations for a Platform to Develop Context-Aware Systems by Domain Experts
Foundations for a Platform to Develop Context-Aware Systems by Domain Experts
 
Perception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and PresentationPerception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and Presentation
 
Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...
Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...
Plataforma web y metodología para el desarrollo de sistemas sensibles al cont...
 
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
A Maturing Role of Workflows in the Presence of Heterogenous Computing Archit...
 
Application Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireApplication Virtualization, University of New Hampshire
Application Virtualization, University of New Hampshire
 
Artificial Intelligence Presentation
Artificial Intelligence PresentationArtificial Intelligence Presentation
Artificial Intelligence Presentation
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout Control
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Planning for the Cloud
Planning for the CloudPlanning for the Cloud
Planning for the Cloud
 
Managing Enterprise Data Science 201904
Managing Enterprise Data Science 201904Managing Enterprise Data Science 201904
Managing Enterprise Data Science 201904
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh Architecture
 
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
 
Incident response in Cloud
Incident response in CloudIncident response in Cloud
Incident response in Cloud
 
Grid computing
Grid computingGrid computing
Grid computing
 
unit 1 big data.pptx
unit 1 big data.pptxunit 1 big data.pptx
unit 1 big data.pptx
 
Why we got to Docker
Why we got to DockerWhy we got to Docker
Why we got to Docker
 
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
 
Neo4j + Process Tempo present Plan Your Cloud Migration with Confidence
Neo4j + Process Tempo present Plan Your Cloud Migration with ConfidenceNeo4j + Process Tempo present Plan Your Cloud Migration with Confidence
Neo4j + Process Tempo present Plan Your Cloud Migration with Confidence
 
Rack Cluster Deployment for SDSC Supercomputer
Rack Cluster Deployment for SDSC SupercomputerRack Cluster Deployment for SDSC Supercomputer
Rack Cluster Deployment for SDSC Supercomputer
 

Recently uploaded

QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 

Recently uploaded (20)

QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 

Situation driven development: a methodology for the development of context-aware systems

  • 1. SITUATION-DRIVEN DEVELOPMENT: A METHODOLOGY FOR THE DEVELOPMENT OF CONTEXT-AWARE SYSTEMS David Martín1, Diego López de Ipiña2, Carlos Lamsfus1 and Aurkene Alzua1 1 2
  • 2. • Outline • Motivation • Related work • Theoretical framework • Context Cloud • Situation-Driven Development • Conclusions
  • 3. • Outline • Motivation • Related work • Theoretical framework • Context Cloud • Situation-Driven Development • Conclusions
  • 4. Motivation How can we personalize information and services to people’s needs in mobile environments?
  • 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
  • 15. Context Cloud End user CONTEXT-AWARE SYSTEM Waiting for the bus Going out on a rainy day Programmer Warm place Programmer CONTEXT CLOUD Domain expert Bus stop Hotel room Beach
  • 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
  • 20. • Outline • Motivation • Related work • Theoretical framework • Context Cloud • Situation-Driven Development • Conclusions
  • 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.