Networked Embedded Software: Introduction Luca Mottola Politecnico - - PowerPoint PPT Presentation

networked embedded software
SMART_READER_LITE
LIVE PREVIEW

Networked Embedded Software: Introduction Luca Mottola Politecnico - - PowerPoint PPT Presentation

Networked Embedded Software: Introduction Luca Mottola Politecnico di Milano, Italy and SICS Swedish ICT ( home.deib.polimi.it/mottola ) Who am I? Whats the course about? Networked Embedded Software Software that powers networked embedded


slide-1
SLIDE 1

Networked Embedded Software: Introduction

Luca Mottola Politecnico di Milano, Italy and SICS Swedish ICT (home.deib.polimi.it/mottola)

slide-2
SLIDE 2

Who am I?

slide-3
SLIDE 3
slide-4
SLIDE 4

What’s the course about?

slide-5
SLIDE 5

Networked Embedded Software

  • Software that powers

networked embedded systems

  • Networked: multiple interconnected

devices, no single process

  • Embedded: dedicated to one function,

no general purpose computing

  • System: part of a bigger machine meant

to achieve one specific task

  • Key aspect: immersed in and interacting

with the physical world

slide-6
SLIDE 6

Applications

slide-7
SLIDE 7

Example #1

slide-8
SLIDE 8

stop distance Environment Entry Transition Internal Exit

Tunnel Lighting

  • Light intensity in tunnels currently set

regardless of environment conditions

  • Problems: energy waste, safety hazard
slide-9
SLIDE 9

Problem

Environment Entry Transition Internal Exit Light

Pre-set: does not follow environment changes External sensor: does not consider inside conditions Sensors inside and outside: capture actual environmental conditions, reducing energy and increasing safety, by respecting the legislated light levels

slide-10
SLIDE 10

Devices

slide-11
SLIDE 11

Feedback Loop

external veil luminance sensor PLC lamps SCADA WSN WSN gateways

feedback loop

data commands

slide-12
SLIDE 12

Software

  • Sensor devices

– custom routing protocol – sensing & tasking – reprogramming support

  • PLC

– control loop

slide-13
SLIDE 13

Deployment

  • Riva del Garda, Italy

– 630m, 2 pipes ~28K vehicles/day

  • 82 light sensors
  • 0.9% error to

reference

  • 28% energy saving
  • 1+ year lifetime
slide-14
SLIDE 14

Example #2

slide-15
SLIDE 15

Application

  • “Domus dei putti danzanti”

in Aquileia (Italy)

  • How to obtain accurate

digital maps of the site?

“Putto”

slide-16
SLIDE 16

Autonomous Drones

  • Formidable

“sensor carriers”

  • Control where

and when to sense

  • Aerial

photogrammetry

– active sensing subject to spatio/temporal constraints

slide-17
SLIDE 17

Devices

MSP430/CC2420 custom board Vertical camera

  • Cortex A7
  • Embedded Linux
slide-18
SLIDE 18

Software

  • Drones

– image processing – navigation – distributed coordination

  • Base station

– distributed coordination – storage

slide-19
SLIDE 19
slide-20
SLIDE 20

Deployment Experience

  • Orthophotos within 3.3% of LIDAR

ground-level measurements

  • Half an hour of drone
  • peration instead of

two grad students full-time

  • Not as easy as

it sounds…

– drones require maintenance!

slide-21
SLIDE 21

Many names…

slide-22
SLIDE 22

…for the Same Thing?

  • Cyberphysical Systems (CPS),

Swarm Robotics, Drone Sensor Networks, Internet of Things (IoT), Wireless Sensor Networks (WSN), ….

  • Emphasis on different aspects

– CPS: distributed control and coordination – IoT: Internet integration – WSN: low-power sensing – …

slide-23
SLIDE 23

Want to build software…

slide-24
SLIDE 24

What’s so hard?

slide-25
SLIDE 25

Models and Reality “All models are wrong, but some are useful.”

  • -G. Box
slide-26
SLIDE 26

Models in Software

slide-27
SLIDE 27

Example: Single-threaded Code

implementation { command result_t StdControl.init() { call Leds.init(); return SUCCESS; } command result_t StdControl.start() { return call Timer.start(1000) ; } command result_t StdControl.stop() { return call Timer.stop(); } event result_t Timer.fired() { call Leds.redToggle(); return SUCCESS; } } Will two devices starting at the same time keep blinking simultaneously?

slide-28
SLIDE 28

(non-)Determinism

slide-29
SLIDE 29

Models Again…

Implementations become “models” of computations too!

  • Huge gap between

models and reality

slide-30
SLIDE 30

This Course

slide-31
SLIDE 31

Overview

  • Learn about models, abstractions,

techniques, and tools to develop networked embedded software

  • Main aspects

– applications and requirements – design and modeling – programming and middleware – dependability and fault-tolerance – validation and verification – interoperability

slide-32
SLIDE 32

Material

  • This week: lectures

– objective: provide context and primary examples – slides available online

  • Next week: research papers

– reviewed, presented, and discussed

  • No textbook
slide-33
SLIDE 33

Coursework

  • Mock conference

– you’ll need to upload (short) reviews

  • Presentation to the class

– max 25 minutes/15 slides each – will provide a template

  • One “champion” and one “detractor”

– 3 minutes each

  • Oxford-style debate
slide-34
SLIDE 34

How?

  • HotCRP at www.neslab.it/hotcrp

– create an account – check submitted papers – choose four that you would like to present – enter review preferences for all

  • Send e-mail to

luca.mottola@polimi.it

– ordered list of four preferences – first-come first-served – will reply with the assigned paper

slide-35
SLIDE 35

Evaluation

  • Paper presentations and discussions [70%]

– include when you act as “champion/detractor”

  • Active participation [30%]

– in class, …

  • Should you want to improve

the grade, other options available