Fasten the seat belt, here we Go. Home sweet home, where the lights along the corridor flicker.

Slides:



Advertisements
Similar presentations
Improving Learning Object Description Mechanisms to Support an Integrated Framework for Ubiquitous Learning Scenarios María Felisa Verdejo Carlos Celorrio.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Putting Mobile Services into ContextDynamic Context-aware Personalisation for Smart Services S. Gallacher, E. Papadopoulou, N.K.Taylor, M.H.Williams Heriot-Watt.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Introduction to Cyber Physical Systems Yuping Dong Sep. 21, 2009.
Component-Based Software Engineering Oxygen Paul Krause.
OASIS Reference Model for Service Oriented Architecture 1.0
Programming Models in Pervasive Spaces CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University of Florida, Gainesville,
Object-Oriented Analysis and Design
ICT 1 “Putting Context in Context: The Role and Design of Context Management in a Mobility and Adaptation Enabling Middleware” Marius Mikalsen Research.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
An Approach for Configuring Ontology- based Application Context Model Chung-Seong Hong, Hyun Kim, Hyoung-Sun Kim Electronics and Telecommunication Research.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
What is Software Architecture?
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
MVC pattern and implementation in java
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
An Introduction to Software Architecture
Introduction to MDA (Model Driven Architecture) CYT.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
CSE 219 Computer Science III Program Design Principles.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Introduction to Software Engineering Lecture 1.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Networked Embedded and Control Systems WP ICT Call 2 Objective ICT ICT National Contact Points Mercè Griera i Fisa Brussels, 23 May 2007.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
An Architecture to Support Context-Aware Applications
The Gator Tech Smart House: A Programmable Pervasive Space Real/Research Application In Pervasive Computing Lee Hae Dong, ICU CSE.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
A Context-Driven Programming Model for Pervasive Spaces Hen-I Yang, Jeffrey King, Sumi Helal, Erwin Jansen Pervasive Computing Lab, University of Florida.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Smart Home Technologies
Semantic Web in Context Broker Architecture Presented by Harry Chen, Tim Finin, Anupan Joshi At PerCom ‘04 Summarized by Sungchan Park
Virtual Machine Abstractions for Nomadic Pervasive Computing (NPC) Environment Presented by: Hen-I Yang, Nov. 29, 2006.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Prague, 19 – 22 April 2006 OneStopGov 4 th Eastern European e-Gov Days 2006 A life-event oriented framework and platform for one-stop government: The OneStopGov.
Safety-Oriented Programming Model Pervasive Computing Systems are Intimate The failure and unreliability can result in strong feeling of betrayal and frustration.
UML (Unified Modeling Language)
Towards a framework for architectural design decision support
Component and Deployment Diagrams
Analysis models and design models
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 5 Architectural Design.
Design Yaodong Bi.
Software Development Process Using UML Recap
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Fasten the seat belt, here we Go

Home sweet home, where the lights along the corridor flicker

3500°F !! The 3500 ° F Incinerator for the Charcoal Grill

The Duel Between Stew and IceCube Hey, Who Turns Off The Light?

Attention! Time for Roll Call!

Does Your Smart House Know Better?

A Safety-Oriented Programming Model for Pervasive Computing Systems Pervasive & Mobile Computing Lab Hen-I Yang April 21, 2007

Characteristics of Pervasive Computing Systems Interaction with Physical World Highly Personalized/Customized Dynamicity Open Diversity/Heterogeneity Complexity and Scalability Issue Predication on Human Intention Multiple Modalities in Interface

Proposed New Model Safety Vs. Expressiveness

Interrupt & Exception Handling Memory access violation Y = X/0 Divided by 0 Interrupt Fire Alarm Impermissible Context Out of Op Range Exception

The Four Elements

Elements in Pervasive Computing Environment Sensor Actuator Service Applications User Space System Support Devices Services Users Space

Element 1: Device Sensors, actuators and other smart appliances are the I/O devices that serve as the bridge between the physical world and the pervasive computing systems. Source of data and/or sink of commands Accurate description of devices is the key, it defines how to interact with these devices

Modeling of Device Service oriented architecture Can be interpreted on the fly, or created and compiled prior Type: (Sensor/Actuator/Both) Domain of data: e.g. Temperature, Luminance, Device Internal Data Schema: XML Document Type Declaration Including, but not limited to maximum and minimum values, resolution of data, unit of data Interface Methods: Methods available to be invoked externally Physical Medium Description: Description of the Interface/ Conduit/Channel that is to be used Interaction Protocol Description: Support for Poll or Push methods, maximum frequency of data exchange Other Support Information: e.g. Vendor and other contact/support information

Safety Measure for Device Automatically appended exception handling routine Device Safety: Avoid conflicting directives and unsafe/unacceptable operations, similar to Electric Breaker Regulate the incoming commands and detect abnormal command/access pattern Using maximum and minimum values to filter or red-flag abnormal values

Element 2: Service The core active member of pervasive computing system More complicated than the usual software in desktop because of the heterogeneity and dynamicity Service/Application Service Lifecycle management is crucial Implemented Aligned (Target Setup, possibly using user preferences) Binded (to devices or other services) Context input as conditions Logics/Actions/Behaviors Change of Preference Change of Binding Change of Conditions Priority Level

Active Active Contexts Modeling of Services Terminated Aligned Binded User Preference Service Behavior 1 Service Behavior 2 Service Behavior n …. Service Binded Service Registry Services Programmed Services Devices Active Context Change Event Service/Device Change Event User Preference Change Event Impermissible Context Event

Safety Measure for Service Service Safety: Whenever device safety, user safety or space safety is violated, the exception handler will suspend or terminate all relevant services Services have to properly Binded and Aligned before become eligible for execution. The existence of Terminated state ensure each service has a Hand Break that can be activated when needed Throughout execution, services subscribe to relevant active contexts, and suspend or terminate when impermissible contexts become active Service is as safe as the safety feature of the language used to implement it, but the safety measure reduce the risk of damage caused by services

Element 3: User In every single pervasive computing system, even those aiming at automation without human interventions, the ultimate goal: to achieve and fulfill functionality defined by users’ desires and intentions. There will be no need for the existence of any system if there was nothing users want to achieve. Integral part of pervasive computing system, as their behaviors or mere existence inadvertently affect the system

Modeling of User Digital representation: User Profile Static profile Describes users’ relevant attributes and preferences Used to setup the goal of the service and applications Critical for customization and users’ intention prediction E.g. special assistance needed, or the preferred room and water temperature settings, or even users’ calendar Dynamic profile Data gathered by the system about the user Updated by the system Treated as contexts in the system E.g. the current location of the user, the blood pressure and glucose level attained by medical sensors

Safety Measure for User 1 st and 2 nd Laws of Robotics A robot may not injure a human being or, through inaction, allow a human being to come to harm. A robot must obey orders given it by human beings except where such orders would conflict with the First Law User Safety 1: Smart space should monitor users’ status and activate emergency measure should users appear to be in danger [using the mechanism for Space Safety] User Safety 2: Smart space should function to serve users’ preference and obey users’ order [using the mechanism for service safety] Humans need to be locked up so they cannot commit crime to harm other humans

Element 4: Space Most models do not consider space itself as a critical element of pervasive computing system Influence the decision making (context) Big pictures on the effects of service and applications Big pictures for user apprehension and visualization Provide critical perspective when there are resource sharing

Modeling of Space Independent Context Manager and Context Graph Contexts defined using standardized ontology Categorization of preferred, transitional and impermissible contexts Visualization in a summary-in-a-glance view on overall context of the space Hot Indoor Warm Indoor Cold Indoor Overcooked Steak Cooked Steak Raw Steak Murky air Clean air Context Potential Transitions Preferred Context Impermissible Context Blown fuse Medium power draw Low power draw

Safety Measure for Space Space Safety Monitor: Whenever impermissible context is detected, the space safety monitor will invoke exception handling routine, similar to interrupt/signal capture In the worst case where there is no exception handling available, a prompt would be send to the user or the emergency contact person, so human actions can take place to handle the situation

Recap Enforce Safety at Each h/w and s/w Entity in the intelligent environment Device Safety Enforcer Service Signal Handling Vector Respect Users’ Wishes, and Constantly Look After Them Look at the Big Picture, and make sure the interactions among users and entities are not harmful

Prior Endeavors

ATLAS Middleware

IDE: Atlas Plug-in for Eclipse

What does Atlas plug-in do? Browse Available Entities and Services Provide Information on OSGi bundles Design by Selection Semi-automatic Environment Setup Integrate seamlessly with all the nice features and assistance provided by Eclipse Deploy New Bundles Back to Smart Space

Context-Driven Model Reactive Programming Model Ontology Based context graph Categorize contexts into desirable, transitional and impermissible context Find the actions required to take us from currently active contexts to preferred contexts, and activate special measures when impermissible contexts are active

Hybrid Model

Epilogue

Past, Present and Future Past Establish safety-oriented programming model Implement IDE to support basic OSGi bundle authoring Present Implementation of the new safety framework with safety enforcer into both the ATLAS Middleware and the IDE support Future Evaluating the safety feature of the intelligent environment created based on this framework

Conclusion Pervasive Computing Systems are Intimate The failure and unreliability can result in strong feeling of betrayal and frustration Intelligent Environment Affects Numerous Aspects of the Daily Life Ensure Safety of the System by Ensuring Safety of All Entities and the Environment as a Whole Safety Enforcement is accomplished by the collaboration at both implementation/ compilation time as well as runtime.

Thank You

Design Philosophy Safety Feature: Each individual device has a device breaker to monitor abnormal access pattern and invalid values The smart space as a whole guarded by context manager Orthogonal Elements: Simplify the design, implementation and maintenance of the heterogeneous and dynamic system Dual text/object approach: Text based implementation allows common, configurable services to be created without coding and maximum portability; Object embodies more complicated or less-common logic to be created for specific services

The Path Forward Analysis of Pervasive Computing Systems and elements of them Design programming model and necessary abstractions to simplify design and implementation Focuses on safety features to protect users, devices and the smart space as a whole

Modeling of Services Programmed Service Aligned Service Binded Service User Preference Service Registry Services Devices Active Contexts Service Behavior 1 Service Behavior 2 Service Behavior n …. Active Context Change Event Service/Device Change Event User Preference Change Event Service Binded

Pervasive Computing “The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.” -- Mark Weiser “The creation of environments saturated with computing and communication yet gracefully integrated with human users” -- Pervasive Magazine, Inauguration Issue “Embedding computation into the environment and everyday objects to enable people to interact with information- processing devices more naturally and casually than they currently do, and in whatever location or circumstance they find themselves.” Other alternative terms: Ubiquitous computing, calm technology, things that think, everyware -- Wikipedia

Goals of Proposed Programming Model Safe Service Oriented Architecture (SOA) Open Configurable/Customizable Orthogonal Description Easily Programmable

Background

ATLAS Architecture Applications Intelligent Environment (e.g. Smart Home) ATLAS Sensor/Actuator Technology Programming Tool

ATLAS Sensor Platform The basic building block for programmable pervasive spaces. Atlas provides physical nodes for connecting various heterogeneous devices, a system for translating those devices into software services, a system for maintaining a library of device services and their interfaces, and a runtime environment for accessing services and composing applications.

Middleware Atlas Developer APIContext Manager Originally designed and implemented for Context- Driven Model Implemented using ontology software and inference engine Parts of implementation concerning impermissible contexts and their emergency handling routines are retained and modified Visualization will be added to provide quick snapshot view MethodClass/InterfaceDescription receivedDataAtlasClientData handler called by service bundle when data arrives addPropertyAtlasServiceAdd a property pair (key, value) to be associated with this service removeProp erty AtlasServiceRemove a property associated with this service getPropertie s AtlasServiceGet all properties associated with this service sendComma nd AtlasServiceSend control commands (used by service associated with an actuator) getDataAtlasServicePull data from sensor associated with this service SubscribeAtlasServiceRequest data stream from sensor UnsubscribeAtlasServiceHalt data stream from sensor isSubscriberAtlasServiceCheck if application is receiving data stream from particular sensor dataHandlerAtlasService Data handler called by middleware when data arrives for particular service. Must be implemented by device service developer.