David Greaves - Savoy Place, London, May 2005. Suppressing Ubicomp Skirmishes Dr David Greaves Lecturer University of Cambridge Computer Laboratory.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Control of the Home Network Pebbles for Autohan and Oxygen Dr David Greaves University of Cambridge Umar Saif : MIT LCS David Milward.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Database Architectures and the Web
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
Service Oriented Architectures in Heterogeneous Environments
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.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Technical Architectures
Dr David Greaves – University of Cambridge Computer Laboratory. Using Simple Pushlogic “Suppressing Ubicomp Skirmishes” David Greaves, Daniel Gordon, Atif.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Application architectures
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Chapter 1: An Overview of Computers and Programming Languages
Ch 12 Distributed Systems Architectures
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Chapter 8: Network Operating Systems and Windows Server 2003-Based Networking Network+ Guide to Networks Third Edition.
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.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
INTRODUCTION TO WEB DATABASE PROGRAMMING
David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
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.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Topics Introduction Hardware and Software How Computers Store Data
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Input Devices.  Identify audio and video input devices  List the function of the respective devices.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Lecture 15 Introduction to Web Services Web Service Applications.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Computer Emergency Notification System (CENS)
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Checkable Domain Management with Ontology and Rules Atif Alvi and David J. Greaves Computer Laboratory University of Cambridge, UK
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
INTERNET. Objectives Explain the origin of the Internet and describe how the Internet works. Explain the difference between the World Wide Web and the.
XML and Web Services (II/2546)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Processing Hardware, Software. Hardware Hardware Processing is performed by a computer ’ s central processing unit and is measured by the clock speed.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
.NET Mobile Application Development XML Web Services.
Design and Development of a Space Weather Web Service Vern Raben Raben Systems Inc.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM.
CT101: Computing Systems Introduction to Operating Systems.
Introduction to Operating Systems Concepts
File System Implementation
Chapter 1: An Overview of Computers and Programming Languages
Database Architectures and the Web
#01 Client/Server Computing
Northbound API Dan Shmidt | January 2017
Tiers vs. Layers.
Topics Introduction Hardware and Software How Computers Store Data
#01 Client/Server Computing
Presentation transcript:

David Greaves - Savoy Place, London, May Suppressing Ubicomp Skirmishes Dr David Greaves Lecturer University of Cambridge Computer Laboratory and Chief Scientist Tenison EDA

David Greaves - Savoy Place, London, May A Vision of Evolution for UbiComp 1.A myriad of devices connected to the network. 2.All devices are connected and share a common, all-pervasive, middleware. 3.Mixed reality interaction is the norm.

David Greaves - Savoy Place, London, May  1. The following separate devices, each of which can be individually useful in a networked home: Let’s 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 - Savoy Place, London, May Device API Evolution 1. Early, wire protocol RPC APIs:  Sun RPC, CORBA, HAVI, MOSTNET 2.Evolvable XML APIs with Reflection:  UPnP, (SNMP), XMLRPC, SOAP, WSDL 3.Self-Assembling Directory Services  UPnP, LDAP, SCP, SSDP, INS, … 4.Namespaces and Ontologies  OWL, OWL-S, DAML, RDF 5.Code Reflection

David Greaves - Savoy Place, London, May Binary Wire Coding First generation RPC uses binary coding –eg. Sun RPC, Java RMI and Corba Any change in the shared header file makes interoperation impossible. Is this good for long-lifetime components ? Client Server RPC Header

David Greaves - Savoy Place, London, May XML Wire Coding Current Generation uses XML Coding –eg. SOAP, XMLRPC, Semantic Web ASCII English is Human Readable. New fields are not fatal. Client Server RPC NAMESPACE=HOMEAPI/OVENS DEVICE=SMALL_OVENGRILL LIGHT=ON/OFF OVEN=HI/MID/LOW/OFF GRILL=LEFT/RIGHT/BOTH/OFF OVEN MID OVEN OFF FUSE BLOWN

David Greaves - Savoy Place, London, May Automated Directories Devices register in an ad hoc database –eg. UPnP’s SSDP and our own 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 - Savoy Place, London, May Ontology Mapping Orange Jam Living-Room Front-Door-Bell StartUP Marmalade Lounge FrontDoorBell SwitchOn Ontologies can be nested: Claret isa RedWine isa Wine isa Drink isa Food Ontology Web Language Service (OWL-S) Ontologies can be mapped:

David Greaves - Savoy Place, London, May Asynchronous Eventing Asynchronous notification of events Publish/Subscribe or broadcast over LAN Does not block source if destination is dead or slow. Advanced federation and relaying architectures exist.

David Greaves - Savoy Place, London, May 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! –Canned Applications –Self-hydrating applications –User scripting

David Greaves - Savoy Place, London, May 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 unless proof obligations are met.

David Greaves - Savoy Place, London, May User Scripting Record both Simpson’s shows tonight and charge to Pam’s pay-per-view account. Create a video call to Peter of best quality. Whenever the doorbell is pressed during darkness turn on the porch light for 10 minutes. Whenever Lulu comes home, play introduction to Thriller on all loudspeakers downstairs.

David Greaves - Savoy Place, London, May Rules of the Domain No rule should issue a command under the same circumstances where another rule issues the counter-rule. Jonny is not allowed to spend more than 2 pounds per day on pay-per- listen. Fire Alarm must mute all music sources. The front gates must always be remotely openable by some method or other.

David Greaves - Savoy Place, London, May MultiView/Tangible Scripting A cube ‘modifies’ an IR controller ray. Multiple Views with Inspectors/Editors must be supported for each script. –eg. Voice, Text, Tangible, Gesture. VCR Universal Remote Controller Tomorrow cube

David Greaves - Savoy Place, London, May An Approach: Push Logic All applications and rules are held in Push Logic. The world is made of disjoint ‘Domains’ that devices and rules enter and leave. Devices and rules enter on a first-come basis and so take priority over subsequent disagreeing arrivals Push Logic rules can be model-checked in tens of milliseconds on embedded processors.

David Greaves - Savoy Place, London, May Push Logic Semantics Every application is encoded as/converted to a list of state transition rules. Rules are re-hydrated to use only static bindings. Every time of day mentioned is a partition, forming disjoint temporal extents. All rules of behaviour are expressed to safety or liveness form. A symbolic model checker finds conflicts and satisfaction. All rules are interpreted in Herbrand form so as to tolerate arbitrary state space growth.

David Greaves - Savoy Place, London, May Progress So Far A large number of Pebbles created Shared codebase with MIT Oxygen Various experiments in multi-view script manipulation Four or five declarative programming approaches implemented.

David Greaves - Savoy Place, London, May Research Challenges Can embedded RAM afford XML protocols ? Can embedded processors run the model-check phase efficiently ? How much application code can easily be ported to a formal-proof- amenable form ? –eg. Can we implement a full TiVo PVR ? How to modify conventional APIs to hold less state (eg. Posix Sockets) ? How to merge domains on the fly ? –eg. Two sets of train carriages become a single train.

David Greaves - Savoy Place, London, May Conclusions Still vast divides between –ESL/SystemC hardware modelling –Micro-controllers programmed in assembler –X-by-wire and safety critical –Sensor networks –Workstation middleware Now no fundamental obstacle to closing this divide.

David Greaves - Savoy Place, London, May The End The Pebbles, AutoHAN and Oxygen O2S Teams