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

Slides:



Advertisements
Similar presentations
Chapter 2: Software Process
Advertisements

Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
David Greaves - Savoy Place, London, May Suppressing Ubicomp Skirmishes Dr David Greaves Lecturer University of Cambridge Computer Laboratory.
Control of the Home Network Pebbles for Autohan and Oxygen Dr David Greaves University of Cambridge Umar Saif : MIT LCS David Milward.
DORII: Training for Pilot Application Evaluation Paolo Gamba Matteo Lanati.
Sensor Network Platforms and Tools
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
1 CMI O2S/AUTOHAN OCT 04 Ubiquitous Computing in the AutoHAN/Oxygen Project The evolution of application software in the age of pervasive computing Dr.
Embedded Network Controller with Web Interface Bradley University Department of Electrical & Computer Engineering By: Ed Siok Advisor: Dr. Malinowski.
Dr David Greaves – University of Cambridge Computer Laboratory. Using Simple Pushlogic “Suppressing Ubicomp Skirmishes” David Greaves, Daniel Gordon, Atif.
Operating System - Overview Lecture 2. OPERATING SYSTEM STRUCTURES Main componants of an O/S Process Management Main Memory Management File Management.
Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p Framework Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Component and Deployment Diagrams
Embedded systems Lecture 25 February 2015.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Systems Software Operating Systems.
The Operating System. Operating Systems (F) What you need to know about –operating system as a program; –directory/folder.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Module 1: Introduction to C# Module 2: Variables and Data Types
Translate the following message:
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
9. Introduction to ArcObjects Most GIS analysis carried out within a GIS consists of a labor- intensive sequence of steps. Automating a GIS makes it possible.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
Section 4.2 AQA Computing A2 © Nelson Thornes 2009 Types of Operating System Unit 3 Section 4.1.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
The Guts. CPU CPU Socket The CPU is generally a 2 inch ceramic square with a silicon chip located inside. The chip usually about the size of a thumbnail.
Checkable Domain Management with Ontology and Rules Atif Alvi and David J. Greaves Computer Laboratory University of Cambridge, UK
© 2006 Cisco Systems, Inc. All rights reserved. Implementing Secure Converged Wide Area Networks (ISCW) Module 6: Cisco IOS Threat Defense Features.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Computer Architecture And Organization UNIT-II General System Architecture.
Processes Introduction to Operating Systems: Module 3.
Outline... ● Recap – What is my project about? ● The purpose of this project ● What I set out to do. ● What I actually did. ● Summary ● Questions.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2012.
Von Neumann Machines. 3 The Von Neumann Architecture Model for designing and building computers, based on the following three characteristics: 1)The.
An operating system (OS) is a collection of system programs that together control the operation of a computer system.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
PRISM: Platform for Remote Sensing using Smart phones {Tathagata Das, Venkata N. Padmanabhan, Ramachandran Ramjee, Asankhaya Sharma } - Microsoft Research.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Introduction to Operating Systems Concepts
Computer System Structures
Working with Client-Side Scripting
Technology Literacy Hardware.
Distribution and components
Drill Translate the following message:
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Application Development A Tutorial Driven Course
Chapter 5: Computer Systems Organization
Chapter 2: Operating-System Structures
Internet Protocols IP: Internet Protocol
Open Automation Software
Mark McKelvin EE249 Embedded System Design December 03, 2002
Outline Operating System Organization Operating System Examples
Chapter 2: Operating-System Structures
Presentation transcript:

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

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.

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.

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.

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.

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

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.)‏

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 ?

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.

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.

David Greaves - SENSORCOM08 - France.

Pebbles Project General Flow

David Greaves - SENSORCOM08 - France. CD/DVD Player Components

David Greaves - SENSORCOM08 - France. CD/DVD Player Block Diagram

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.

David Greaves - SENSORCOM08 - France.

Heap and Stack Ram Use

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.

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.

David Greaves - SENSORCOM08 - France. The End The Pebbles, AutoHAN and Oxygen O2S Teams