PerPos: A Translucent Positioning Middleware Supporting Adaptation of Internal Positioning Processes

August 19, 2017 | Autor: Mikkel Kjærgaard | Categoría: Energy Consumption, Location-Awareness, Middleware
Share Embed


Descripción

AARHUS UNIVERSITY

PerPos: A Translucent Positioning Middleware Supporting Adaptation of Internal Positioning Processes Jakob Langdal, Kari R. Schougaard, Mikkel B. Kjærgaard, and Thomas Toftkjær

pRÆSEN TATION

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Overview physical position

Middleware

Appl

x,y,z sensor digital position

x',y',z '

x'',y'',z'' abstracted position

for all clients in zone { ...

› PerPos: Middleware for positioning

2

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Overview

?

run physical position

Middleware

Appl

x,y,z sensor digital position

x',y',z '

x'',y'',z'' abstracted position

for all clients in zone { ...

› PerPos: Middleware for positioning

3

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Overview

?

run physical position

Middleware

Appl

x,y,z sensor digital position

x',y',z '

x'',y'',z'' abstracted position

for all clients in zone { ...

› PerPos: Middleware for positioning › Middleware support of seamful development: ›  Imperfections in the digital representation of the physical ›  Details abstracted away in the middleware

4

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Overview

!

run physical position

Middleware

Appl

sensor

x,y,z sensor digital position

x',y',z '

x'',y'',z'' abstracted position

for all clients in zone { ...

› PerPos: Middleware for positioning › Middleware support of seamful development: ›  Imperfections in the digital representation of the physical ›  Details abstracted away in the middleware

› Translucent middleware aiming for this support ›  Model of ongoing processing ›  Support of inspection and adaptation based on this model

5

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

PerPos: Middleware for Pervasive Positioning › Concrete middleware is developed for positioning › Positions are an important context source in ubiquitous and pervasive computing Raw data (local coordinate system)

Positions (RoomID)

Middleware WiFisensor

WiFi

Resolver Fusion

GPS

GPS Raw Data (Strings)

Parser

Application

Interpretor

Measurements (NMEA measurements)

Positions (WGS84)

Positions (WGS84)

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Defining the Problem Area: Seams

Host A

Unstable connection

Host B

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Defining the Problem Area: Seams

Host A

Unstable connection

Host B

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Defining the Problem Area: Seams › Seams occur where system parts connect imperfectly ›  Technological limitations ›  Sensor inaccuracies

›  Software imposed limitations ›  Traditional bugs and errors ›  Abstractions used for information hiding

Host A

Unstable connection

Host B

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Defining the Problem Area: Seams › Seams occur where system parts connect imperfectly ›  Technological limitations ›  Sensor inaccuracies

›  Software imposed limitations ›  Traditional bugs and errors ›  Abstractions used for information hiding

Host A

Unstable connection

›  Hide the problem using coping tactics ›  Resent ›  Find alternative route ›  Etc…

Host B

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Defining the Problem Area: Seams › Seams occur where system parts connect imperfectly ›  Technological limitations ›  Sensor inaccuracies

›  Software imposed limitations ›  Traditional bugs and errors ›  Abstractions used for information hiding

Host A

Unstable connection

›  Hide the problem using coping tactics ›  Resent ›  Find alternative route ›  Etc…

Host B

›  Propagate the problem to developer or user

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Seams are Visible at Application Level › Systems that interact with the physical world can never be perfect ›  Breakdowns will occur ›  Quality parameters will be visible at the application level

› The system may behave differently than expected ›  Quirks in sensors or special circumstances may not be expected from the application developer

› Middleware should support developers in discovering what causes the unexpected behavior ›  Middleware should make the seams available 12

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Seams in Positioning Domain: Example 1 WiFi

GPS

› Inspect the middleware to find out why positions are more inaccurate for a short while after entering a building?

13

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Seams in Positioning Domain: Example 1 WiFi

GPS

› Inspect the middleware to find out why positions are more inaccurate for a short while after entering a building? › Make GPS specific detail available at a higher level 14

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Seams in Positioning Domain: Example 1 WiFi

GPS

› Inspect the middleware to find out why positions are more inaccurate for a short while after entering a building? › Make GPS specific detail available at a higher level › Adapt position processing component to filter on the basis of this detail

15

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Seams in Positioning Domain: Example 2 › An application depending on GPS positions ›  The accuracy of the GPS positions is not high enough ›  We want to take advantage of knowledge of the location and the movements specific for the application. ›  Add a component for probabilistic tracking ›  Add a positioning component without changing high-level API ›  Access low level details ›  Make details available at a later stage in the positioning process

16

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Seams in Positioning Domain: Example 2 › An application depending on GPS positions ›  The accuracy of the GPS positions is not high enough ›  We want to take advantage of knowledge of the location and the movements specific for the application. ›  Add a component for probabilistic tracking ›  Add a positioning component without changing high-level API ›  Access low level details ›  Make details available at a later stage in the positioning process

› In the domain of ubiquitous and pervasive computing there is always some tweaking

›  Exploiting specific details of a technology ›  Customizing the application for the specific deployment 17

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

PerPos: A translucent middleware › Challenge: middleware support of seamful development › Solution: translucent middleware ›  Expose a model of the running middleware ›  Letting the bones show (Evans 2004)

18

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

PerPos: A translucent middleware › Challenge: middleware support of seamful development › Solution: translucent middleware ›  Expose a model of the running middleware ›  Letting the bones show (Evans 2004) !

› Focus: enabling the application developers

run physical position

Middleware

Appl

sensor

x,y,z sensor digital position

x',y',z '

x'',y'',z'' abstracted position

for all clients in zone { ...

19

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency › Transparency ›  Hide complexity ›  Shield developer aiming for ease of use

› Openness ›  Instead of making an “intelligent” user interface ›  Empower the application developer

› Translucency ›  Combine transparency and insight

20

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos › Model-based reification of the dynamics of the middleware: a processing graph › The model is the basis for inspection and adaptation Raw data (local coordinate system)

Positions (RoomID)

Middleware WiFisensor

WiFi

Resolver Fusion

GPS

GPS Raw Data (Strings)

Parser

Application

Interpretor

Measurements (NMEA measurements)

Positions (WGS84)

Positions (WGS84)

21

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos › Model-based reification of the dynamics of the middleware: a processing graph › The model is the basis for inspection and adaptation Sensor seams ›  Inaccuracies ›  Errors

Raw data (local coordinate system)

Positions (RoomID)

Middleware WiFisensor

WiFi

Resolver Fusion

GPS

GPS Raw Data (Strings)

Parser

Application

Interpretor

Measurements (NMEA measurements)

Positions (WGS84)

Positions (WGS84)

22

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos › Model-based reification of the dynamics of the middleware: a processing graph › The model is the basis for inspection Abstraction of and adaptation Sensor seams ›  Inaccuracies ›  Errors

low-level concepts

Raw data (local coordinate system)

Positions (RoomID)

Middleware WiFisensor

WiFi

Resolver Fusion

GPS

GPS Raw Data (Strings)

Parser

Application

Interpretor

Measurements (NMEA measurements)

Positions (WGS84)

Positions (WGS84)

23

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos – more details › Abstract views of the positioning process

Application

WiFi GPS

Parser

Reification

Base system

Resolver Interpreter

Particle Filter

re

ctu tru S ess ayer c o L Pr

24

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos – more details › Abstract views of the positioning process

WiFi

Channel Channel

GPS WiFi

Resolver

Reification GPS

Parser

Reification

Base system

Interpreter

l ne

Particle Filter

Particle Filter

an Ch

ne

Application

re

l

Application

n ha C s ces ayer o r L P

ctu tru S ess ayer c o L Pr

25

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos – more details › Abstract views of the positioning process

le rtic Pa lter Fi

WiFi

Room ID

GPS

Reification

Channel Channel

GPS WiFi

Resolver

Reification GPS

Parser

Reification

Base system

Interpreter

ing n o i sit r Po Laye

Position Likelihood

WiFi

on

siti Po

Particle Filter

Particle Filter

el nn a Ch

ne

Application

re

l

Application

n ha C s ces ayer o r L P

ctu tru S ess ayer c o L Pr

26

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Translucency in PerPos – more details › Abstract views of the positioning process › Allow access to details in a designed manner Room ID le rtic Pa lter Fi

WiFi

›  Understand process ›  Solve problems GPS

Reification

Channel Channel

GPS WiFi

Resolver

Reification GPS

Parser

Reification

Base system

Interpreter

ing n o i sit r Po Laye

Position Likelihood

WiFi

on

siti Po

Particle Filter

Particle Filter

el nn a Ch

ne

Application

re

l

Application

n ha C s ces ayer o r L P

ctu tru S ess ayer c o L Pr

27

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Comparison to Generic Reification Middleware

Sensor Sensor Sensor Sensor Sensor Sensor Sensor Sensor Sensor Resource Resource Resource

Sensing

Meta-Space Processing Fusion Processing Fusion Processing Fusion Processing Processing Processing Processing Processing Processing

Position Processing

Sensor

Processing

Sensor

Processing

Sensor

Processing

Fusion

Activity Activity Activity Location Location Location

High-level Activity Location

Resource Awareness

28

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Comparison to Generic Reification Middleware

Sensor Sensor Sensor Sensor Sensor Sensor Sensor Sensor Sensor Resource Resource Resource

Sensing

Meta-Space Processing Fusion Processing Fusion Processing Fusion Processing Processing Processing Processing Processing Processing

Position Processing

Sensor

Processing

Sensor

Processing

Sensor

Processing

Resource Awareness

Fusion

Activity Activity Activity Location Location Location

Middleware Meta-Model

High-level

Sensing

Position Processing

Activity

Sensor

Processing

Location

Sensor

Processing

Sensor

Processing

Fusion

High-level Activity Location

Resource Awareness

› Domain specific reification to one meta model ›  Retaining the design intended by the middleware developer ›  A good abstraction makes the system more understandable 29

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process structure layer › Inspect the processing › Reconfigure the processing components

Application

WiFi GPS

Parser

Resolver Interpreter

Particle Filter

ure

uct Str ess ayer c o L Pr

30

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process structure layer › Inspect the processing › Reconfigure the processing components

Application

WiFi GPS

Parser

Resolver Interpreter

Particle Filter

ure

uct Str ess ayer c o L Pr

Input

Component

Output

31

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process structure layer › Inspect the processing › Reconfigure the processing components › Adapt a processing component › Define a “Feature” › Interception + add data › New interfaces Provided Feature Application

WiFi GPS

Parser

Resolver Interpreter

Particle Filter

ure

uct Str ess ayer c o L Pr

Feature Data

Feature Input

Component

Output

32

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process channel layer › Inspect the source–to-sink flow

Application

WiFi GPS

Channel Channel

l ne

Particle Filter

an Ch

ha sC ces ayer o r L P

el

nn

33

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process channel layer › Inspect the source–to-sink flow › Adaptation Channel

Application

WiFi GPS

Channel Channel

l ne

Particle Filter

an Ch

ha sC ces ayer o r L P

el

nn

Input

Output Component

...

Component

Component

34

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process channel layer › Inspect the source–to-sink flow › Adaptation Channel

Provided Feature

Feature Feature Feature Application

WiFi GPS

Channel Channel

l ne

Particle Filter

an Ch

ha sC ces ayer o r L P

el

nn

Input

Output Component

...

Component

Component

35

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Process channel layer › Inspect the source–to-sink flow › Adaptation Channel

Provided Feature

Feature Feature Feature Application

WiFi GPS

l ne

Channel

Particle Filter

Channel

an Ch

ha sC ces ayer o r L P

el

nn

Input

Output Component

...

Component

Component

› Time keeping functionality L2

Interpreter

L1

Parser

L0

GPS

WGS841, 1, 1-2 NMEA1, 1, 1-2

String1, 1, N/A

Time

String2, 2, N/A

NMEA2, 2, 3-5

String3, 3, N/A

String4, 4, N/A

String5, 5, N/A

36

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Positioning Layer

le rtic Pa ter Fil

WiFi

Room ID

GPS

Position Likelihood

Po

on

siti

ing on siti r Po Laye

› Transparent use of positions › Use of custom made interfaces from channel features

37

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding Probability-Based Data Refinement

Particle Filter

GPS

GPS

Parser

Interpreter

Particle Filter

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding Probability-Based Data Refinement

Particle Filter

GPS

HDOP GPS

Parser

Interpreter

parser.produce(nmeaSenctence.HDOP)

Particle Filter

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding Probability-Based Data Refinement apply(dataTree) { // Method is part of Channel Feature specification for component,nmeaSentence : dataTree.getData(NEMASentence.class){ hdopFeature = component.getFeature(HDOP.class) hdop = hdopFeature.getHDOP() hdopList.add(hdop) } } getLikelihood(particle){ // Method is defined in custom interface Likelihood return complexCalculation(hdopList, particle) }

Likelihood GPS

HDOP GPS

Parser

Interpreter

parser.produce(nmeaSenctence.HDOP)

Particle Filter

Particle Filter

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding Probability-Based Data Refinement apply(dataTree) { // Method is part of Channel Feature specification for component,nmeaSentence : dataTree.getData(NEMASentence.class){ hdopFeature = component.getFeature(HDOP.class) hdop = hdopFeature.getHDOP() hdopList.add(hdop) } } getLikelihood(particle){ // Method is defined in custom interface Likelihood return complexCalculation(hdopList, particle) }

GPS GPS GPS

GPS GPS GPS

Likelihood

HDOP HDOP Parser Parser Parser

Interpreter Interpreter Interpreter

parser.produce(nmeaSenctence.HDOP) parser.produce(nmeaSenctence.HDOP)

Particle Particle Particle Filter Filter Filter

Particle Particle Particle Filter Filter Filter

consume(inputChannel, position) { likelihoodFeature = inputChannel.getFeature (position, Likelihood.class) for each particle { likelihood = likelihoodFeature.getLikelihood(particle) particle.updateProbability(likelihood) } }

4

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding power conservation strategy

Mobile Device GPS

Sensor Wrapper

Parser

Interpreter

Application

42

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding power conservation strategy

Settings Mobile Device GPS

Power Strategy Sensor Wrapper

Parser

Interpreter

Application

43

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Adding power conservation strategy

EnTracked Settings

EnTracked

Settings Mobile Device GPS

Power Strategy Sensor Wrapper

Positions

Parser

Interpreter

Application

44

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Summary › PerPos a translucent positioning middleware ›  Based on a domain specific reification of the base system

› PerPos supports developers in working with seams ›  Positioning process is modeled ›  High-level and low-level interactions with positioning process ›  Allow adaptation of what “high-level” means

› Questions? › Acknowledgements !

!" $"',*-&$./&01-*'!!!!!!!!!!!!!!!!!!!!!!!! ""#$%&!%'()*#&(+*+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

45

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Summary › PerPos a translucent positioning middleware ›  Based on a domain specific reification of the base system

› PerPos supports developers in working with seams ›  Positioning process is modeled ›  High-level and low-level interactions with positioning process ›  Allow adaptation of what “high-level” means

› Questions? › Acknowledgements !

!" $"',*-&$./&01-*'!!!!!!!!!!!!!!!!!!!!!!!! ""#$%&!%'()*#&(+*+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

46

AARHUS UNIVERSITY

Kari Rye Schougaard Postdoc

Summary › PerPos a translucent positioning middleware ›  Based on a domain specific reification of the base system

› PerPos supports developers in working with seams ›  Positioning process is modeled ›  High-level and low-level interactions with positioning process ›  Allow adaptation of what “high-level” means

› Questions? › Acknowledgements !

!" $"',*-&$./&01-*'!!!!!!!!!!!!!!!!!!!!!!!! ""#$%&!%'()*#&(+*+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

47

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.