SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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
 
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
 

Semelhante a 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
 
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
 
Application Layout Control
Application Layout ControlApplication Layout Control
Application Layout Control
 
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
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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.