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.

Slides:



Advertisements
Similar presentations
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
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.
SelfCon Foil no 1 Dynamic component systems 1. SelfCon Foil no 2 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
Application architectures
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
INFO 355Week #61 Systems Analysis II Essentials of design INFO 355 Glenn Booker.
Securing Legacy Software SoBeNet User group meeting 25/06/2004.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
Chapter 1- Introduction
David Greaves - SENSORCOM08 - France. Using a.net Checkability Profile to Limit Interactions between Embedded Controllers. David Greaves, Atif Alvi Tope.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Bacon A Penetration and Auditing Framework Hernan Gips
How to connect non IP devices into the UPnP™v1 fabric Vijay Dhingra Director of Standards Echelon Corp.
An Introduction to Software Architecture
DISTRIBUTED COMPUTING
Fundamentals of Database Chapter 7 Database Technologies.
1 Tongji University Rong Chen 3/1/2005 OS Research Trends and Elastos Overview.
Chapter 1 소프트웨어의 본질 The Nature of Software 임현승 강원대학교
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
ABone Architecture and Operation ABCd — ABone Control Daemon Server for remote EE management On-demand EE initiation and termination Automatic EE restart.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
SQL Based Knowledge Representation And Knowledge Editor UMAIR ABDULLAH AFTAB AHMED MOHAMMAD JAMIL SAWAR (Presented by Lei Jiang)
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
2N Net Audio system.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
CS223: Software Engineering
Computer System Structures
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
The Role of Reflection in Next Generation Middleware
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Lecture 1: Multi-tier Architecture Overview
An Introduction to Software Architecture
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
#01 Client/Server Computing
Presentation transcript:

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 David Greaves, University of Cambridge Computer Laboratory Steve Ward, Umar Saif MIT CSAIL

2 CMI O2S/AUTOHAN OCT 04 Ubiquitous Computing Raises new challenges for: 1. Operating Systems - Power control and security - Secure code loading and life-cycle management 2. Middleware - Interoperability over multiple generations - Asynchronous eventing replacing RPC 3. High-level languages - More flexible type systems - Dynamic module loading and reflective binding 4. Application development environments...

3 CMI O2S/AUTOHAN OCT 04 Pervasive Computing Environments: A world of new applications... PC models: Shrink-wrapped applications – static resource requirements Installation headaches Openness barriers Web-based models: Least common denominator web UI Platform/language dependencies Distributed application models: Developer hell! State inconsistencies, remote failures, reliability nightmares Holy Grail: Modularity, extensibility, evolvability Simple application logic Automatic adaptation to resources Platform, language independent UI-independent application logic

4 CMI O2S/AUTOHAN OCT 04 The AutoHAN Approach. Automatic configuration of the Home Area Network Control of the home or other closed domain/environment (e.g. spacecraft) An XML ontology for the home rooms, people and devices Logic programming for real-time control Automatic detection of feature interaction Federation of domains now being investigated Five or six people at each site. O2S (Oxygen) Approach is complementary, currently some differences, but using shared set of pebbles.

5 CMI O2S/AUTOHAN OCT 04 The AutoHAN Approach, continued. I. “Applications” split apart from the components (“Pebbles”) they use An app may be as simple as a list of times to control a light or as complex as a TiVo Applications perform real-time and programmed control, but do not deal directly with streaming media Apps operate via a planner and are directly coded in logic programming or else describe their behaviour with logical predicates III. Components (“Pebbles”) Devices with no autonomous behaviour Use UPnP or similar “Reflexive” technology “Circuit” view of component assembly A pebble may be a pushbutton or a speech recogniser. II. Techniques Existing solutions to planning problems

6 CMI O2S/AUTOHAN OCT 04 Demo Environment: The Active Home Tuner Display Device Sounder Device Application Execution Platform Media Store Home Network

7 CMI O2S/AUTOHAN OCT 04 Application Scripting and Execution We envisage four sources of applications: 1. Base function of device. 2. Built-in ROM code works when neighbours find themselves on the same network. 3. Programs loaded from elsewhere but written by experts. 4. Rule programs that are written by users. Application scripting projects so far include 1 Media cubes tangible programming interface 2 IOTA ML-like XML manipulation language 3 CEL event language rule based controller 4 Python “goals/techniques” class library (MIT) 5 Real-Time Predicate Calculus (or Sequent/Horn style).

8 CMI O2S/AUTOHAN OCT 04 Prototype IR Cubes

9 CMI O2S/AUTOHAN OCT 04 A cube “modifies” the IR beam VCR Universal Remote Controller Tomorrow cube

10 CMI O2S/AUTOHAN OCT 04 IR controller with Voice Input Remote Controller with microphone When I press THIS BUTTON I want THIS CD PLAYER to play THE CD IN IT NOW. DECT basestation Voice Recogniser soft device Events to RBS CD Player

11 CMI O2S/AUTOHAN OCT 04 Goals and Rules Examples Create a video call to Peter. When Lulu comes home, play Thriller on all loudspeakers downstairs. 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.

12 CMI O2S/AUTOHAN OCT 04 Goal/Technique wide-area applications “Connect me To Steve” Goal-oriented Software Architecture: Achieving goals by pursuit of sub-goals Standardized GOALS as commodities TeleConference(Victor, Steve) Victor Distributed database of TECHNIQUES Steve Audio Video Room? H21? Phone?

13 CMI O2S/AUTOHAN OCT 04 Real-time logic programming We store all running apps (or info about them) as pure logic rules in our Rule-Based Controller. This: 1. Understands detailed behaviour of local code in current domain 2. Understands constraints and obligations of applications running in neighbouring domains. 3. Prevents loading of inconsistent applications and implements priority and policies in the form of further rules. 4. Accepts non-rule code converted to rule form for import. Real-time logic programming allows seamless integration or real-time control, programming and consistency checking.

14 CMI O2S/AUTOHAN OCT 04 Rule-Based Controller Development Rules can be checked, composed and executed. Checking in advance spots potential conflicts, Composing from separate sources is just logical AND Rule execution in the style of Prolog makes things happen. Develop methodologies for rule representation, rule insertion, action explanation, feature interaction detection, prior solution reuse, rule priorities. Develop compiler for imperative code to extract rule behaviour T his allows existing apps to be inserted into the rulebase and executed on the RBC engine Or it allows meta information about existing apps to be created

15 CMI O2S/AUTOHAN OCT 04 RBC Controller On A Stick Baseline: A single controller for each home All apps are stored in rule script form on the controller All apps are executed by one engine (RBS) All I/O is via XML RPC or UPnP over the network Registry Application Scripts in a “rulebase” Execution Platform Platform OS and Network I/O Ethernet etc API Applications

16 CMI O2S/AUTOHAN OCT 04 AutoHAN AppScript Rehydration Running Application Scripts RBS Engine Core Imperative command VM GENA Subscription Arbiter DHAN registery lookup Application Loader Automatic Checker GENA network events HTTP Binder or Re-hydrator

17 CMI O2S/AUTOHAN OCT 04 Current Status A wide variety of hardware and software Pebbles have been constructed A number of experimental execution engines have been tested Architecture details are currently being redesigned again with a closer integration of MIT techniques and Cambridge formal logic and to better support federation of RBCs. We hope to build a high performance Rule-Based Controller to the new architecture within six months and test under artificial load.

The End