Secure, Reliable and Intelligent Data Collection from Sensors

34
March 2012 - Business Confidential - Bitreactive AS Anne Nevin, Ph.D. Bitreactive AS, Trondheim @nivenenna Secure, Reliable and Intelligent Data Collection from Sensors Episenteret, FFI Okt. 16, 2015 FFI/Internet of Things (IoT) / M2M

Transcript of Secure, Reliable and Intelligent Data Collection from Sensors

March 2012 - Business Confidential - Bitreactive AS

Anne Nevin, Ph.D.

Bitreactive AS, Trondheim

@nivenenna

Secure, Reliable and Intelligent Data Collection from Sensors

Episenteret, FFI Okt. 16, 2015

FFI/Internet of Things (IoT) / M2M

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Jone S. RasmussenGeneral Manager

M: +47 957 26 339E: [email protected]

www.bitreactive.com

Frank Alexander KraemerTechnology Manager

M: +47 959 28 555E: [email protected]

www.bitreactive.com

Anne NevinSales

M: +47 930 07 669E: [email protected]

www.bitreactive.com

Kathrin Winkler System Architect

M: +4747914350E: [email protected]

www.bitreactive.com

Ole BuddeSystem Architect

M: +47 406 32 522E: [email protected]

www.bitreactive.com

Linda Ariani GunawanSystem Architect

M: +47 463 92 572E: [email protected]

www.bitreactive.com

Alina IsaksenSystem Architect

M: +47 980 28 536E: [email protected]

www.bitreactive.com

■ Founded June 2011, spinoff from NTNU■ Delivers the software development tool Reactive Blocks which provides specific solutions

to the programming challenges of the IoT industry.■ Member of Eclipse Foundation, OSGi Alliance, M2M Alliance, Smartgrid senteret.

Bitreactive

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Cloud

IoT example architecture

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Cloud

Embedded/OP

Enterprise/web

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Cloud

Enterprise/web• responsive• reduce bandwidth• reduce latency• keep data secure• local logic• connectivity• configuration

Intelligentdevicegateway

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

A selection of gateways we have

tested. All of them can run Linux and a Java

VM.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Hardware

Operating System

JVM

A 1 A 2 A 3A 1

config changes

network

gateway

Gateways can execute IoT

applications. This can reduce latency,

reduce bandwidth, and keep data secure.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Hardware

Operating System

JVM

A 1 A 2 A 3A 1

life cycle

services

config changes

messages

network

hardware signalshardware changes

The challenge is that each application

needs to handle lots of events. And

concurrent, event-drivem programming

is difficult.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

That’s how a program looks like when we

just start coding, and concurrency is not handled correctly.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Let’s instead solve this problem by

cleaning up the mess, and put everything into boxes, a.k.a. building blocks.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

specting engineer to examine multiple classes to understand the workings ofthe application. By creating Unified Modeling Language (UML) models for

Figure 1.1: Dataflow in the TakeMeThere Application

some of the most common Android coupling elements, the goal is to enablerapid Android service development with the Arctis tool. The UML modelsdesigned in Arctis enables the engineer to follow the dataflow in the applica-tion, and understand the various consequences interactions and events havein an application. Fig. 1.2 depicts an excerpt from the same application as inFig. 1.1 developed in Arctis. Here, arrows and UML building blocks makesit easy for the engineer to follow the dataflow of the application.

The design of UML building blocks for coupling provides the model-drivenengineer with some challenges. Android applications are programmed byextending framework classes with certain restrictions regarding interaction

2

Reactive Blocks combines the simplicity of visual programming with the flexibility of manual coding. Software becomes a structured hierarchy of blocks

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

public void ledOn() {logInfo("Switching on LED");leds[0].setState(true);

}

public void ledOff() {logInfo("Switching off LED");leds[0].setState(false);

}

In Reactive Blocks, Java methods are the

smallest units of behavior. Here two

simple ones that turn an LED on and off.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

To let the LED blink, we just add a timer in between.

When an operation is called is determined graphically.

Its contents is still programmed.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

We can add some logic to let the LED blink

periodically.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

And make it into a building block

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

And combine these two blocks into a new building

block…

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGOCoAP Resource

ok

getResponse

init

failed

get

post

Config Listener

initConfig

start

updatedConfig

Kura CloudClient

readypublish

start

stop

waiting

stopped

failed

msgArrived

MQTT Core

initOksubscribe

init

initFailed

publishOk

message

error

stopped

disconnected

unsubscribe

publish

stop

RPi GPIO Digital In

valuestop

init

initError

initOk

isLow

isHigh

stopped

read

initPS

playing

Modbus

initOkexecutedReadIn

init

initFailed

readDone

writeDone

readFailed

stopped

writeFailed

deviceId

executedWrite

stop

executeReadHold

registerId

close

stopped

Buffer Eager

outadd

start

stopped

emptynext

overflow

addAll

stop

abort

Some building block examples

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Generic Functionality■ Buffering■ Counters■ Flow Logic■ Session Utilities■ Iterator

Timers■ Timers■ Periodic Timers■ Watchdogs

Application Prototyping■ Java Swing■ Java FX■ Speech (Free TTS)■ Properties

Hardware Connections■ Modbus■ Serial I/O■ Raspberry Pi GPIO■ Berryclip for Raspberry Pi■ Gertboard for Raspberry Pi■ USB Camera

Files■ Files Utilities■ File I/O■ Properties

End-User Communication■ SMS: Twilio, Keyteq, Clickatell■ Email■ CMPP Client (Smack)

Communication■ HTTP/HTTPS■ MQTT■ CoAP■ JSON-RPC■ AMQP■ Network Monitoring■ OPC-UA

Data Collection Services■ Sierra Wireless AirVantage■ IBM IoT Foundation■ Eurotech ESF■ Xively■ Solair

Security■ Cryptography■ OAuth 2.0

Transformation of Data■ GSON■ XML Parsing (DOM4J)■ XSL Transformation

Eclipse Kura and OSGi■ Configuration Listener■ Cloud Client Handler■ Event Admin■ Service Tracker■ Termination■ Service Register

Location■ Geofence■ KML

Data Processing■ Video Recording■ Image Processing

Not just a tool but also a growing library of ready-to-use building blocks

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

App

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

CoAP Resource

ok

getResponse

init

failed

get

post

Config Listener

initConfig

start

updatedConfig

Kura CloudClient

readypublish

start

stop

waiting

stopped

failed

msgArrivedRPi GPIO Digital In

valuestop

init

initError

initOk

isLow

isHigh

stopped

read

initPS

CoAP Resource

ok

getResponse

init

failed

get

post

Config Listener

initConfig

start

updatedConfig

Kura CloudClient

readypublish

start

stop

waiting

stopped

failed

msgArrivedRPi GPIO Digital In

valuestop

init

initError

initOk

isLow

isHigh

stopped

read

initPS

Config Listener

initConfig

start

updatedConfig

Kura CloudClient

readypublish

start

stop

waiting

stopped

failed

msgArrivedRPi GPIO Digital In

valuestop

init

initError

initOk

isLow

isHigh

stopped

read

initPS

Config Listener

initConfig

start

updatedConfig

Kura CloudClient

readypublish

start

stop

waiting

stopped

failed

msgArrived

Config Listener

initConfig

start

updatedConfig

With Reactive Blocks, complexity does not increase as the application evolves over time.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Interfaces✔ Names✔ Types✘ Sequences✘ Timing

Traditional interfaces cover method names and types,

but do not help us with timing and sequences of

methods.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Therefore, a reactive block has a contract, that describes in which

sequence we can use its pins. Here a very simple

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

A more advance building blocks

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGOModel CheckingAutomatic

This enables a mathematical analysis

called “model checking”. And in Reactive Blocks, it

works automatically, without any extra effort.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Here the analysis finds if we abort a termination

sequence and hence do not reach the final state. Very

useful.

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Intruder Detection Demo: The camera takes pictures

and checks if there is a change in the image. If a

change is detected, it sends an SMS to notify there is an

intruder.

Picture of the intruder, SMS messages and image of the Kura console for remote configuration

Application on top level

Behavior of the Motion Detector building block

Behavior of the Notify via SMS building block

Behavior of the send Image via MQTT building block

INHOLD Corporate Identity Manual 7

X

X X

X/2

X/2

LOGO SCALE GUIDELINES

The logo must be surrounded with adequate clear space to ensuremaximum prominence and visual impact.

All scaling of the logo is to be proportional.

In case the logo needs to appear on a limited background, the minimum size allowed is not less than 15 mm.

min 15 mm

LOGO

Reactive Blocksbitreactive.com