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

30
SITUATION-DRIVEN DEVELOPMENT : A METHODOLOGY FOR THE DEVELOPMENT OF CONTEXT-AWARE SYSTEMS David Martín 1 , Diego López de Ipiña 2 , Carlos Lamsfus 1 and Aurkene Alzua 1 1 2

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

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 Context-

Aware 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,

in order to identify the situation of an entity

and adapt the system’s behaviour to that situation”.

{sleeping, at home, …} {living being, place, object}

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”.

Going out on

a rainy day

Bus stop Hotel room

Waiting for

the bus

•Outline

•Motivation

•Related work

•Theoretical framework •Context Cloud

•Situation-Driven Development

•Conclusions

Context Cloud

Waiting for

the bus

Going out on

a rainy day Warm place

CONTEXT CLOUD

Bus stop Hotel room Beach

Domain expert

Programmer

Programmer

CONTEXT-AWARE

SYSTEM

End user

Context Cloud

• A web platform for the collaborative development of

Context-Aware Systems

Domain expert

Programmer

• 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

CONTEXT CLOUD

Domain expert

Programmer

Active

Provider

Passive

Provider Rule1 Rule 2

Room

Working

Sleeping

Walking

Providers

GET

POST

Weather service Smartphone

Programmer

XML

Bus stop

CONTEXT-AWARE

SYSTEM Programmer

End user

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!! [email protected] http://vimeo.com/contextcloud

www.tourgune.org