a web platform and a methodology to promote a collaborative development of context-aware systems

29
A WEB PLATFORM AND A METHODOLOGY TO PROMOTE A COLLABORATIVE DEVELOPMENT OF CONTEXT-AWARE SYSTEMS David Martín, Carlos Lamsfus, Aurkene Alzua, Diego López-de-Ipiña [email protected]

Upload: damarcant

Post on 12-Jul-2015

81 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: A web platform and a methodology to promote a collaborative development of context-aware systems

A WEB PLATFORM AND A METHODOLOGY TO

PROMOTE A COLLABORATIVE DEVELOPMENT

OF CONTEXT-AWARE SYSTEMS

David Martín, Carlos Lamsfus, Aurkene Alzua, Diego López-de-Ipiña

[email protected]

Page 2: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline •Motivation

•Related work

•Theoretical framework

•Context Cloud

•Situation-Driven Development

•Conclusions

Page 3: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline •Motivation

•Related work

•Theoretical framework

•Context Cloud

•Situation-Driven Development

•Conclusions

Page 4: A web platform and a methodology to promote a collaborative development of context-aware systems

Motivation

How can we personalize information and services to

people’s needs in mobile environments?

Page 5: A web platform and a methodology to promote a collaborative development of context-aware systems

Motivation

CONTEXT!!

Page 6: A web platform and a methodology to promote a collaborative development of context-aware systems

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 …

Page 7: A web platform and a methodology to promote a collaborative development of context-aware systems

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

Page 8: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline

•Motivation •Related work

•Theoretical framework

•Context Cloud

•Situation-Driven Development

•Conclusions

Page 9: A web platform and a methodology to promote a collaborative development of context-aware systems

Related work

• Software development toolkits

• Drawbacks • User’s mobility not supported - Geographic Information System (GIS)

• Hardly extensible

• Low-level APIs for skilled programmers

Page 10: A web platform and a methodology to promote a collaborative development of context-aware systems

Related work

• Development methodologies

• Drawbacks • General development methodologies

• Designed for programmers

Page 11: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline

•Motivation

•Related work •Theoretical framework

•Context Cloud

•Situation-Driven Development

•Conclusions

Page 12: A web platform and a methodology to promote a collaborative development of context-aware systems

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}

Page 13: A web platform and a methodology to promote a collaborative development of context-aware systems

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

Page 14: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline

•Motivation

•Related work

•Theoretical framework •Context Cloud

•Situation-Driven Development

•Conclusions

Page 15: A web platform and a methodology to promote a collaborative development of context-aware systems

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

Page 16: A web platform and a methodology to promote a collaborative development of context-aware systems

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

Page 17: A web platform and a methodology to promote a collaborative development of context-aware systems

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

Page 18: A web platform and a methodology to promote a collaborative development of context-aware systems

Context Cloud: screenshots

Page 19: A web platform and a methodology to promote a collaborative development of context-aware systems

Context Cloud: screenshots

Page 20: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline

•Motivation

•Related work

•Theoretical framework

•Context Cloud •Situation-Driven Development

•Conclusions

Page 21: A web platform and a methodology to promote a collaborative development of context-aware systems

Situation-Driven Development

• Analysis

Page 22: A web platform and a methodology to promote a collaborative development of context-aware systems

Situation-Driven Development

• Configuration

Page 23: A web platform and a methodology to promote a collaborative development of context-aware systems

Situation-Driven Development

• Development

Situation

information

CONTEXT CLOUD

Inputs

Outputs

Page 24: A web platform and a methodology to promote a collaborative development of context-aware systems

Situation-Driven Development

• Development

Page 25: A web platform and a methodology to promote a collaborative development of context-aware systems

•Outline

•Motivation

•Related work

•Theoretical framework

•Context Cloud

•Situation-Driven Development •Conclusions

Page 26: A web platform and a methodology to promote a collaborative development of context-aware systems

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

Page 27: A web platform and a methodology to promote a collaborative development of context-aware systems

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.

Page 28: A web platform and a methodology to promote a collaborative development of context-aware systems

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.

Page 29: A web platform and a methodology to promote a collaborative development of context-aware systems

Thank You!! [email protected] http://vimeo.com/contextcloud

www.tourgune.org