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

Post on 13-Jan-2015

146 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

2

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

3

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

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

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

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

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

8

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

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

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

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

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

13

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

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

Situation-Driven Development

• Collaborative development methodology

Five stages

Analysis

Configuration

Development

Validation

Maintenance

16

Situation-Driven Development: analysis

17

Situation-Driven Development: configuration

Context-aware toolkit

18

Situation-Driven Development: development

Inputs

Context-aware toolkit

Outputs

Software/hardware

19

Situation-Driven Development: validation

Inputs

Context-aware toolkit

Outputs

Software/hardware

20

Situation-Driven Development: maintenance

Inputs

Context-aware toolkit

Outputs

Software/hardware

21

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

22

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

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

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

Context Cloud: demo

26

Donostia

27

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

28

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

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

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

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

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

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

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

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

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

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

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

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

Outline Introduction

Theoretical framework

Situation-Driven Development methodology

Context Cloud platform

Evaluation

Conclusions

41

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

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

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

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

top related