Networked Embedded Software: Introduction Luca Mottola Politecnico di Milano, Italy and SICS Swedish ICT ( home.deib.polimi.it/mottola )
Who am I?
What’s the course about?
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
Applications
Example #1
Tunnel Lighting • Light intensity in tunnels currently set regardless of environment conditions • Problems: energy waste, safety hazard Environment Entry Transition Internal Exit stop distance
Problem Light Environment Entry Transition Internal Exit External sensor: does not consider inside conditions Pre-set: does not follow environment changes Sensors inside and outside : capture actual environmental conditions, reducing energy and increasing safety, by respecting the legislated light levels
Devices
Feedback Loop SCADA external WSN PLC veil luminance gateways sensor feedback commands data loop WSN lamps
Software • Sensor devices – custom routing protocol – sensing & tasking – reprogramming support • PLC – control loop
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
Example #2
Application • “Domus dei putti danzanti” in Aquileia (Italy) “Putto” • How to obtain accurate digital maps of the site?
Autonomous Drones • Formidable “sensor carriers” • Control where and when to sense • Aerial photogrammetry – active sensing subject to spatio/temporal constraints
Devices Vertical camera • Cortex A7 • Embedded Linux MSP430/CC2420 custom board
Software • Drones – image processing – navigation – distributed coordination • Base station – distributed coordination – storage
Deployment Experience • Orthophotos within 3.3% of LIDAR ground-level measurements • Half an hour of drone operation instead of two grad students full-time • Not as easy as it sounds … – drones require maintenance !
Many names …
… 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 – …
Want to build software …
What’s so hard?
Models and Reality “All models are wrong , but some are useful.” --G. Box
Models in Software
Example: Single-threaded Code implementation { command result_t StdControl.init() { call Leds.init(); return SUCCESS; } Will two devices starting at the same time keep command result_t StdControl.start() { blinking simultaneously? return call Timer.start(1000) ; } command result_t StdControl.stop() { return call Timer.stop(); } event result_t Timer.fired() { call Leds.redToggle(); return SUCCESS; } }
(non-)Determinism
Models Again … • Huge gap between models and reality Implementations become “models” of computations too!
This Course
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
Material • This week: lectures – objective: provide context and primary examples – slides available online • Next week: research papers – reviewed, presented, and discussed • No textbook
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
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
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
Recommend
More recommend