plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la...

45
PLATAFORMA WEB Y METODOLOGÍA PARA EL DESARROLLO DE SISTEMAS SENSIBLES AL CONTEXTO BASADA EN LA COLABORACIÓN ENTRE PROGRAMADORES Y EXPERTOS EN EL DOMINIO Candidato: David Martín del Canto Directores: Dr. Diego López de Ipiña y Dra. Aurkene Alzua Sorzabal Programa: Ingeniería Informática y Telecomunicación Deusto Bilbao, June 7 th 2013 Facultad de Ingeniería

Upload: damarcant

Post on 13-Jan-2015

145 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

PLATAFORMA WEB Y METODOLOGÍA PARA EL

DESARROLLO DE SISTEMAS SENSIBLES AL

CONTEXTO BASADA EN LA COLABORACIÓN ENTRE

PROGRAMADORES Y EXPERTOS EN EL DOMINIO

Candidato: David Martín del Canto

Directores: Dr. Diego López de Ipiña y Dra. Aurkene Alzua Sorzabal

Programa: Ingeniería Informática y Telecomunicación

Deusto – Bilbao, June 7th 2013

Facultad de Ingeniería

Page 2: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

2

Page 3: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

3

Page 4: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Introduction

• Ubiquitous computing is a reality

Mobile environment

More than four billion of mobile devices

An open window to information and services at any time and

place

Context is a key point for an optimal user experience

Context-Aware computing

A style of computing in which situational and environmental

information is used to anticipate immediate needs and

proactively offer enriched, situation-aware content (Gartner

Research)

4

Page 5: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Introduction: problem description

• The development of context-aware systems is

difficult

Technical challenges

Gathering of context data (distributed and heterogeneous)

Processing (context data model)

Management (inference->situations)

Adaptation to situations

Other challenges

Identification, definition and parameterization of situations

Dependent on the application domain

Manufacturing Tourism Health care … 5

Page 6: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Introduction: problem description

• Collaboration among domain experts and

programmers

Domain experts can better identify the situations that can be

relevant for the system to be developed

• To promote this collaboration

Toolkits

To 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

between domain experts and programmers

6

Page 7: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Introduction: hypothesis

It is possible to involve domain experts in the

development life-cycle of context-aware

systems in collaboration with programmers,

by providing software toolkits and

development methodologies adapted to

people that do not have programming skills

G1. Collaborative development methodology

G2. Context-aware software platform

7

Page 8: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

8

Page 9: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Theoretical framework: context

• Definitions

Surroundings (Brown, 1996; Chen and Kotz, 2000)

Task or activity of the user (Hull et al., 1997)

Information to characterize the situation of an entity

(Lieberman and Selker, 2000; Ye et al., 2011)

• The most referenced definition

“Context is any information that can be used to characterize the

situation of an entity.

An entity is a person, place, or object that is considered relevant

to the interaction between a user and an application, including

the user and application themselves” (Dey, 2001).

9

Page 10: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Theoretical framework: context

“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 (living

being, place, object) and adapt the system’s

behaviour to that situation”

10

Page 11: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Theoretical framework: situation

• Definitions

A situation is dependent on the context data and it can be

considered as an abstraction of it (Yau and Huang, 2006; Dey

2001)

“A situation is the state of the current and past

context data at a certain region in space and a

concrete interval in time”

11

Page 12: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Theoretical framework: context & situation

A1 A2 A3

S2 E3 (S0) => S4 (t3)

E2 => S3 (t2)

E1 => S1 (t1) High-level context

c1

c2

c3 c5

c6 c7 c8

c4 Low-level context

Cooking A cook is located in the kitchen, he is using a knife and it is time to have lunch

Space Dependent situation Time Entity

12

Page 13: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

13

Page 14: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: literature review

• Software development methodologies

General development methodologies

Waterfall, iterative, spiral (Green and DiCaterino, 1998).

Context Modelling Language (CML) (Henricksen and

Indulska, 2006)

Context-Oriented Programming (COP) (Hirschfeld et al.,

2008)

There are no specific development methodologies to

guide the implementation of context-aware systems

in collaboration with domain experts

14

Page 15: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: requirements

• Requirements for the development

methodology

Focused in the identification of situations (4W1H) (Oh

et al., 2006)

Which situation has to be identified?

Who can be in such situation?

Where can it be detected?

When can it be detected?

How can it be detected?

Collaborative methodology

Domain experts and programmers

15

Page 16: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development

• Collaborative development methodology

Five stages

Analysis

Configuration

Development

Validation

Maintenance

16

Page 17: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: analysis

17

Page 18: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: configuration

Context-aware toolkit

18

Page 19: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: development

Inputs

Context-aware toolkit

Outputs

Software/hardware

19

Page 20: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: validation

Inputs

Context-aware toolkit

Outputs

Software/hardware

20

Page 21: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Situation-Driven Development: maintenance

Inputs

Context-aware toolkit

Outputs

Software/hardware

21

Page 22: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

22

Page 23: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Context Cloud: literature review

• Requirements

1. Data model

2. Runtime configurations

3. Automatic context data management

4. Reasoning

5. Location

6. End-user development (EUD)

7. Visual programming

8. Web

23

Page 24: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Context Cloud: literature review

Data model Runtime

configurations

Automatic management

Reasoning Location EUD Visual

Programming Web

Context Toolkit Key-value

pairs

SOCAM Ontologies

CoBra Ontologies

JCAF Object

oriented

Semantic Space Toolkit

Ontologies

CASS Relational

CMF Ontologies

Hydrogen Object

oriented

DiaSuite Object

oriented

OPEN Ontologies

24

Page 25: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Context Cloud: architecture and functionalities

• Architecture and functionalities

Context

Model DB

POST GET

GIS

Service

Knowledge

Base

Software / Hardware Programmer

Programmer

Active

Provider Passive

Provider

Mapping

Engine

Ap

pli

ca

tio

n

Ma

na

gem

en

t P

rovid

ers

S

ou

rce

s

Rule

Engine

C2 C1

Domain Expert

Web Interface

Programmer

XML

Web

of

Th

ing

s

Clo

ud

co

mp

uti

ng

E

nd

-us

er D

evelo

pm

en

t

Rule 1

Rule 2 A2

A1

XML

POST Context cloud

25

Page 26: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Context Cloud: demo

26

Donostia

Page 27: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

27

Page 28: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

28

Page 29: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: reasoning performance

• Configurations

1) Number of context entity instances

{1,000, 5,000, 10,000, 15,000, 20,000}

2) Number of context entity properties

{1, 2, 3, 4, 5}

3) Number of rules

{100, 200, 300, 400, 500}

4) Number of entities used in the rule conditions

{1, 2}

• Reasoning time <= 1second

29

Page 30: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: reasoning performance

• Results

Tim

e (

ms

)

Number of instances

Tim

e (

ms

)

Number of properties

Tim

e (

ms

)

Number of rules

Tim

e (

ms

)

Number of instances

1) 2)

3) 4)

1 second

30

Page 31: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: reasoning performance

• Conclusions

Minimize

Number of rules

Number of instances

Number of entities

Maximize

Number of properties used in the rule conditions

RAM memory

31

Page 32: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

• Participants

Tourism Domain Experts (10) and Programmers (10)

Pairs composed by a Domain Expert and a Programmer

They were introduced to the methodology, to the platform and

to the experiment’s objectives

32

Page 33: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

• Procedure

Participants had to identify and detect four situations using the

methodology and the platform

Waiting for the bus

Situations were simulated using the Siafu Context Simulator

33

Visitor

Bus Stop 1

Bus Stop 2

Gros

Page 34: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

• Procedure

An external observer annotated:

The problems of the participants

The time spent in the configuration of situations

Participants had to fill out a questionnaire (TAM)

Perceived Ease of Use

Perceived Usefulness

Behavioural Intention

1 2 3 4 5 6

Extremely Quite Slightly Slightly Quite Extremely Agree Disagree

34

Page 35: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

0% 20% 40% 60% 80% 100% 120%

Easy to use (CC, SDD)

Collaborative work (SDD)

Collaborative work (CC)

Skilful (CC)

Interaction is clear (CC)

Easy to do what they want (CC)

Learning is easy (CC, SDD)

Results: Perceived Ease of Use

Participants

35

Programmers

Domain experts

Page 36: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

0% 20% 40% 60% 80% 100% 120%

SDD is useful to develop context-awaresystems

SDD is useful to work with CC

Useful to do a collaborative work (SDD)

Useful to do a collaborative work (CC)

Useful for their jobs (CC)

Performance, productivity, effectiveness (CC)

Develop faster (CC)

Results: Perceived Usefulness

Programmers

Participants

36

Page 37: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

0% 20% 40% 60% 80% 100% 120%

Would pay for CC

Would use CC

Would recommend CC

Results: Behavioural Intention

Participants

37

Domain experts

Programmers

Page 38: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

• Results of the observation

Analysis stage

The excel sheet promotes the discussion between domain

experts and programmers

Configuration stage

30% of the situations were fully configured by domain experts

with no intervention of programmers

Average time spent to finish the evaluation test

89 minutes

38

Page 39: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

• Conclusions

Situation-Driven Development methodology

It can be used to guide the development of context-aware systems.

It is suitable for non-technical users

It is useful to promote a collaborative work

Context Cloud platform

Learning how to use the platform can be difficult, specially for

domain experts, but users get more confident as they use it.

It is perceived as a useful platform in order to develop context-

aware systems.

It is suitable for non-technical users

It facilitates the collaborative development of context-aware

systems.

It is useful to promote a collaborative work

39

Page 40: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Evaluation: user evaluation

• Conclusions

It is possible to involve domain experts in the

development life-cycle of context-aware

systems in collaboration with programmers,

by providing software toolkits and

development methodologies adapted to

people that do not have programming skills

G1. Collaborative development methodology (SDD)

G2. Context-aware software platform (CC)

40

Page 41: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

41

Page 42: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Conclusions: contributions

1. Theoretical contribution

• Context

• Situation

2. Situation-Driven Development

methodology

3. Context Cloud platform

4. Involvement of domain experts in the

development process

42

Page 43: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Conclusions: implications

• Data to be considered in context-aware

systems

• Complementary technologies and

scientific fields

• Involvement of domain experts in the

development process

• Design of methodologies and context-

aware toolkits

43

Page 44: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

Conclusions: future work

• Research on context theory

• Complementary reasoning algorithms

• Uncertainty in context-aware reasoning

• Quality of sensor data

• Automatic context data source discovery

• Automatic rule creation

• Development of context-aware systems by

domain experts

44

Page 45: Plataforma web y metodología para el desarrollo de sistemas sensibles al contexto basada en la colaboración entre programadores y expertos en el dominio

PLATAFORMA WEB Y METODOLOGÍA PARA EL

DESARROLLO DE SISTEMAS SENSIBLES AL

CONTEXTO BASADA EN LA COLABORACIÓN ENTRE

PROGRAMADORES Y EXPERTOS EN EL DOMINIO

Candidato: David Martín del Canto

Directores: Dr. Diego López de Ipiña y Dra. Aurkene Alzua Sorzabal

Programa: Ingeniería Informática y Telecomunicación

Deusto – Bilbao, June 7th 2013

Facultad de Ingeniería