Top Banner
David Greaves - SENSORCOM08 - France. Using a .net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope Omitola, Daniel Gordon. University of Cambridge Computer Laboratory
20

David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

Dec 25, 2015

Download

Documents

Virgil Hall
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Using a .net Checkability Profile to Limit Interactions

between Embedded Controllers.

David Greaves, Atif AlviTope Omitola, Daniel Gordon.

University of CambridgeComputer Laboratory

Page 2: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

A Vision of Evolution for UbiComp

– A myriad of devices connected to the network.

– All devices are connected and share a common, all-pervasive, middleware.

– Devices contain controllable and controlling components.

Page 3: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Rules of the Domain• No rule should issue a command under the same circumstances where

another rule issues the counter-rule.

• Inlet and outlet valves must not both be open at once.

• Fire Alarm must mute all music sources.

• The front gates must always be remotely openable by some method or other.

Page 4: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Feature Interaction Detection

• Can we define a framework for code management in a UbiComp or Sensor/Actuator network that enables proof of safety and liveness ?

• We propose using a .net bytecode framework and evaluate its cost and flexibility.

Page 5: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Component Architecture

• We partition all devices and services in to– Pebbles (sensors, actuators, software processes)– Applications (heating control, burglar alarm, CD

player control...)

• Further, we partition application code so it contains no device drivers, dynamic storage, dynamic binding and uses simple network I/O to all pebbles.

Page 6: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

1. The following separate devices, each of which can be individually useful in a networked home:

Lets look at what a modern TV set contains:

A Device: A collection of Pebbles and a Canned App

2. A canned application that joins the components.

• RF Tuner

• Colour Display

• Ni-Cam Audio Decoder

• Power Amplifier

• Surround Sound Decoder

• IR Receiver

• Teletext Decoder

• MPEG Decoder

• Programming Memory

• Front Panel User Interface

Page 7: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Automated Directory Systems Work

• Devices register in an ad hoc database– eg. UPnP’s SSDP, INS and O2S Oxygen system

• Devices can be found by service offered– eg. A colour printer on floor 3 west.

• Retrieval by conjunction of predicates

(Few successful deployments.

Unexpected behaviours.

Load balancing/path finding unsupported.)

Page 8: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Controllers Vs The Controlled• API Reflection is now a Mature Technology

• It will be further deployed (?)– X-by-wire, Field Busses, Sensor Networks, CAN.– EDDL, XDDL, Embedded Systems

• Code Reflection has seen virtually no work!– i.e. how do devices describe their embedded

behaviour– and how is reactive behaviour between actuators

and sensors captured ?

Page 9: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Code Reflection• A device must expose the proactive behaviour

of its canned application(s)– Actual source code (constrained language)– Proof carrying actual source code– Summary of behaviour

– E.G. I will not send control messages when I am in standby mode.

– E.G. I am always off between 1:00 and 5:00.

• Device is banned from full operation within domain unless proof obligations are met.

Page 10: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

An Example .net CD player.

• We built a CD/DVD player according to our component architecture.

• The application code was implemented in a pair of .net code bundles.

• The bytecode can be read out by a domain controller and checked, along with the other participating applications in the domain, against the rules of the domain.

Page 11: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Page 12: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Pebbles ProjectGeneral

Flow

Page 13: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

CD/DVD Player Components

Page 14: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

CD/DVD Player Block Diagram

Page 15: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Software Costs

• Embedded devices have limited capabilities, especially RAM, but ROM is not so critical.

• XML parsing is expensive in RAM use.• We have implemented .net interpreter,

HTTP server and XML output all at 'reasonable' cost.

Page 16: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Page 17: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Heap and Stack Ram Use

Page 18: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Checkability Classes ?• We have imposed a checkability profile on the .net

bundles.• Current profile is finite-state and strictly limited in IO

libraries used.

• All participating applications in the domain must correspond to our profile.

• In the future, can define a richer class, based on linear integer programming, Presburg and so on.

Page 19: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

Conclusions

• Running a 'complex' software stack is not a real obstacle, but don't parse too much XML.

• Using .net bytecode in embedded systems can be fast and compact enough, otherwise reflect your behaviour in .net while executing something else.

• We need to explore incremental model checking.• We need to formally define our checkability class.

Page 20: David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.

David Greaves - SENSORCOM08 - France.

The End

[email protected]

• www.cl.cam.ac.uk/Research/SRG/HAN/Pebbles

• The Pebbles, AutoHAN and Oxygen O2S Teams