Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

38
AUTOMATED DEPLOYMENT OF DATA COLLECTION POLICIES OVER HETEROGENEOUS SHARED SENSING INFRASTRUCTURES APSEC’16, HAMILTON, NZ, 9/12/16 CYRIL CECCHINEL, SÉBASTIEN MOSSER, PHILIPPE COLLET 1

Transcript of Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

Page 1: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

AUTOMATED DEPLOYMENT OF DATA COLLECTION POLICIES OVER HETEROGENEOUS SHARED SENSING INFRASTRUCTURES

APSEC’16, HAMILTON, NZ, 9/12/16CYRIL CECCHINEL, SÉBASTIEN MOSSER, PHILIPPE COLLET

1

Page 2: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

TRADITIONAL SOFTWARE DEVELOPMENT

REQUIREMENTS

Software Engineer

IMPLEMENTS

2

Page 3: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

IOT DEVELOPMENT

REQUIREMENTS

Software Engineer

IMPLEMENTS

SENSOR NETWORKS CONFIGURED AT THE HARDWARE LEVEL LOW-LEVEL PROGRAMMING LANGUAGES

TEDIOUS AND ERROR-PRONE ACTIVITIES

3

≠ IOT ENGINEER

Page 4: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

AD-HOC NETWORKS

Fire prevention

Heatwave alert

Temperature map

...

Temperature sensorsacross Europe

AD-HOC NETWORKS

DATASET ISOLATEDNO SHARING DIFFICULT TO (RE-)USE

4

Page 5: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

« The most obvious drawback of the current WSNs is that they are domain-specific and task-oriented, tailored for particular applications with little or no possibility of reusing them for newer applications »

« This strategy leads to redundant deployments when new applications are contemplated »

Khan, I., Belqasmi, F., Glitho, R., Crespi, N., Morrow, M., & Polakos, P. (2015). Wireless Sensor Network Virtualization: A Survey.

SOFTWARE DEVELOPMENT FOR THE IOT 5

Page 6: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

CONTRIBUTION

▸ A toolchain that supports:

▸ High-level data collection policies

▸ Platforms and network representations

▸ Composition and deployment over heterogeneous sensing infrastructures

6

FULLY AUTOMATED APPROACH

Page 7: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

REQUIREMENTS

▸ Separation of concerns

▸ Automatic tailoring of policies

▸ Automatic projection of policies

▸ Automatic sharing

7

Page 8: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

REQUIREMENTS

▸ Separation of concerns

▸ Automatic tailoring of policies

▸ Automatic projection of policies

▸ Automatic sharing

8

Page 9: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

9

DATA COLLECTION POLICY

Software engineer WSN expert

INFRASTRUCTURE MODEL

TOOLCHAIN

SOURCE CODESOURCE CODE SOURCE CODE

Page 10: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

RIGHT CONCERNS FOR THE RIGHT PERSON

DATA COLLECTION POLICY

10

Must be abstracted enough to let the software engineer focused on her business activities

« a set of operations performed on data to convert them into knowledge » [1]

[1] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami. Internet of things (iot): A vision, architectural elements, and future directions. Future Generation Computer Systems, 29(7), 2013.

«  a sequence of activities performed in a

business that produces a result of observable

value to an individual actor of the business » [2]

Software engineer

[2] K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature- Oriented Domain Analysis (FODA). Technical Report CMU/SEI-90-TR-21, 1990.

Page 11: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

RIGHT CONCERNS FOR THE RIGHT PERSON 11

DATA COLLECTION POLICY

▸ A domain-specific language to define Data Collection Policies

▸ Sensor/Collectors declaration

▸ Business concepts definition

▸ Data-flows definition

Software engineer

Page 12: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

RIGHT CONCERNS FOR THE RIGHT PERSON

INFRASTRUCTURE MODEL

12

Three models to describe the sensing infrastructure

‣ Platform variability model

‣ Network topology model

‣ Deployment strategy modelARD_1_443

ARD_2_443

RP_443_XBEE Remote

DOOR_443

PRESENCE_443

WINDOW_443AC_443

TEMP_443

XBee

XBee

WAN

WSN experts

Page 13: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

DATA COLLECTION POLICY

DEVICES MODEL

NETWORK TOPOLOGY

DEPLOYMENT STRATEGY

SEPARATION OF CONCERNS

13

Page 14: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

DATA COLLECTION POLICY

DEVICES MODEL

NETWORK TOPOLOGY

DEPLOYMENT STRATEGY

deploy( , ) =

SOURCE CODE PLATFORM #1

SOURCE CODE PLATFORM #2

SOURCE CODE PLATFORM #N

14

Page 15: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

REQUIREMENTS

▸ Separation of concerns

▸ Automatic tailoring of policies

▸ Automatic projection of policies

▸ Automatic sharing

15

Page 16: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

DATA COLLECTION POLICY

Platform-independent

SUB DATA COLLECTION POLICY

#1

SUB DATA COLLECTION POLICY

#2

SUB DATA COLLECTION POLICY

#N

Platform #1 specific

Platform #2 specific

Platform #N specific

Build platform specific data collection policies from a platform independent policy

Page 17: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

Decomposition

Two operators defined at the data collection policy layer:

reqreturns the subset of sensors needed for

the realization of the concept req( CONCEPT 𝛂 ) = { S2 ; S3 }

isDeployablecheck if a concept is deployable on a

given platform

CONCEPT 𝛂

isDeployable

17

Page 18: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

An operator defined at the network topology layer:

reachreturns the subset of sensors reachable

from a given platform

reach( ) = {S1 ; S2 ; S3 }platform #1

18Decomposition

Page 19: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

An operator defined at the deployment strategy layer:

placeFor a set of platforms, return the platform

that maximize the strategy’s objectives

place( ) = P1CONCEPT 𝛂 , {P1;P2;P3}

19Decomposition

Page 20: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

For each concept c, find platforms p satisfying the property:

req(c) ⊂ reach(p) ∧ isDeployable(c, p)

CONCEPT 𝛂

CONCEPT 𝛽

CONCEPT 𝜔

{platform #1, platform #3, platform #4}

{platform #2, platform #4}

{platform #3}

20

If no platform satisfies the property, an error is returned to the software engineer

Decomposition

Page 21: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

Use the place operator to select the appropriate target platform among the available candidates

CONCEPT 𝛂

CONCEPT 𝛽

CONCEPT 𝜔

{platform #1, platform #3, platform #4}

{platform #2, platform #4}

{platform #3}

place( ,

,place(

place( , ) = platform #3

) = platform #4

) = platform #1

21Decomposition

Page 22: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

Web

Routing

on each platform not involved in the

process

AUTOMATIC TAILORING OF POLICIES

AUTOMATIC PROJECTION OF POLICIES

22Decomposition

Page 23: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

WHAT IF A POLICY HAS ALREADY BEEN DEPLOYED ON THE TARGETED PLATFORM ?

Page 24: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

SOFTWARE DEVELOPMENT FOR THE IOT

REQUIREMENTS

▸ Separation of concerns

▸ Automatic tailoring of policies

▸ Automatic projection of policies

▸ Automatic sharing

24

Page 25: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

CompositionAn operator defined at the platform-specific data collection policy layer:

+ compose two policies together

+ =

Extension of the graph series composition

25

Page 26: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

DATA COLLECTION POLICY

Platform-independent

SUB DATA COLLECTION POLICY

#1

SUB DATA COLLECTION POLICY

#2

Platform #1 specific

Platform #2 specific

OTHER DATA COLLECTION

POLICY #1

OTHER DATA COLLECTION

POLICY #2

+

+

AUTOMATIC COMPOSITION

26Composition

Page 27: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

OVERVIEW

TOOLCHAIN IN ONE SLIDE

27

WSN experts

Infrastructure model

Global policy

Sub-Policy(Platform 1)

Sub-Policy(Platform 2)

Sub-Policy(Platform n)…

Global policy(Platform 1)

Global policy(Platform 2)

Global policy(Platform n)

Code (Platform 1) Code (Platform 2)

define

Software engineers

Decomposition

Composition Composition Composition

Generation

Deploymentstrategy

Other sub-policies

(platform 1)

Other sub-policies

(platform 2)

Other sub-policies

(platform n)

Network topology

Platform features descriptions

compose

compose

Code (Platform n)

pilots

pilots

withwithwithwithwith

pilots

compose

define

Page 28: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

[ASSESSMENT]

Page 29: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

Data collEction POlicies for Sensing InfrasTructures

Open-source toolchain available on Githubhttps://github.com/ace-design/DEPOSIT

DEPOSIT

Page 30: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

ASSESSMENT

DATA COLLECTION POLICY

30

▸ As a software engineer, I would like to receive AC data if the door and the window are opened for office 443 to monitor the energy loss

Page 31: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

31 SMARTCAMPUS SMARTCAMPUS.GITHUB. IO

Page 32: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

ASSESSMENT

VALIDATION CRITERIA

32

▸ Separation of concerns:

Design using only business concepts

Deployment without a-priori knowledge

▸ Automatic tailoring of policies

Generated code should call the right libraries

▸ Automatic projection of policies

Concepts are projected on the appropriate platform

Ready-to-flash code

Page 33: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

ASSESSMENT

USING THE TOOLCHAIN

We consider 15 minutes as the required time for a network expert to write and enact the code for a given office without using any aspect of the toolchain

33

Page 34: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

ASSESSMENT

USING THE TOOLCHAIN

34

▸ Automatic sharing

Successful deployment of multiple applications

App #1: Air conditioning warning

App #2: Fahrenheit converter

App #3: Parking space occupancy

100 OFFICES

250 PARKING SPACES

BLANK INFRASTRUCTURE

ONE BORDER-ROUTER

Page 35: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

ASSESSMENT

USING THE TOOLCHAIN

35

Deployment of App #1 - no composition triggered

Deployment of App #2 - 101 compositions triggered

Deployment of App #3 - 1 composition triggered

Page 36: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

[PERSPECTIVES]

36

Page 37: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

PERSPECTIVES

SO WHAT’S NEXT?

▸ Integrate energy saving concerns in the results of the toolchain

▸ Assess the toolchain with external software engineers

37

Page 38: Automated deployment of data collection policies over heterogeneous shared sensing infrastructures

AUTOMATED DEPLOYMENT OF DATA COLLECTION POLICIES OVER HETEROGENEOUS SHARED SENSING INFRASTRUCTURES

APSEC’16, HAMILTON, NZ, 9/12/16CYRIL CECCHINEL, SÉBASTIEN MOSSER, PHILIPPE COLLET

THANK YOU