A Context-Driven Programming Model for Pervasive Spaces Hen-I Yang, Jeffrey King, Sumi Helal, Erwin Jansen Pervasive Computing Lab, University of Florida.

Slides:



Advertisements
Similar presentations
Training to care for people with dementia Dementia Training Partner logo here Training support Skills development Competency Assessment Scholarships Education.
Advertisements

Peer-to-peer and agent-based computing Agent-Based Computing: tools, languages and case studies (Cont’d)
Putting Mobile Services into ContextDynamic Context-aware Personalisation for Smart Services S. Gallacher, E. Papadopoulou, N.K.Taylor, M.H.Williams Heriot-Watt.
Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Chapter 4 Quality Assurance in Context
1http://img.cs.man.ac.uk/stevens Interaction Models of Humans and Computers CS2352: Lecture 7 Robert Stevens
Chapter 12: Expert Systems Design Examples
Fasten the seat belt, here we Go. Home sweet home, where the lights along the corridor flicker.
Programming Models in Pervasive Spaces CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University of Florida, Gainesville,
A State-based Programming Model and System for Wireless Sensor Networks Reporter : Zhi-Yuan Yang 2010/5/24.
Polyscheme John Laird February 21, Major Observations Polyscheme is a FRAMEWORK not an architecture – Explicitly does not commit to specific primitives.
Analysis Concepts and Principle.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
COBOL for the 21 st Century Stern, Stern, Ley Chapter 1 INTRODUCTION TO STRUCTURED PROGRAM DESIGN IN COBOL.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
How Life Will Change With Smart Homes Yakovlev Artyom BCG account manager.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
Chapter 10 Architectural Design
Module 2: Schoolwide/Classroom Interventions
Overview of the Database Development Process
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Structured COBOL Programming, Stern & Stern, 9th edition
1 Chapter 16 Assistive Environments for Individuals with Special Needs.
Outline Introduction Methodhology Domains associated with teacher training in technology integration Domains, knowledges and teaching competencies for.
Business Analysis and Essential Competencies
An Integration Framework for Sensor Networks and Data Stream Management Systems.
Chapter 7. BEAT: the Behavior Expression Animation Toolkit
© 2007 Tom Beckman Features:  Are autonomous software entities that act as a user’s assistant to perform discrete tasks, simplifying or completely automating.
Source: Yuan Tao, Huawei Technologies WG: MAS Meeting: MAS17.
Ontology-based and Rule-based Policies: Toward a Hybrid Approach to Control Agents in Pervasive Environments The Semantic Web and Policy Workshop – ISWC.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
A Framework for the Reconfiguration of Ubicomp Systems Pau Giner, Carlos Cetina, Joan Fons, Vicente Pelechano.
Page 1 WWRF Briefing WG2-br2 · Kellerer/Arbanowski · · 03/2005 · WWRF13, Korea Stefan Arbanowski, Olaf Droegehorn, Wolfgang.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Wireless Sensor Network Wireless Sensor Network Based.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
IntelliDrive SM Vehicle Safety Communications Working Toward V2V Deployment John Harding July 20, 2010.
Extending context models for privacy in pervasive computing environments Jadwiga Indulska The School of Information Technology and Electrical Engineering,
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
The Atlas Sensor Platform Architecture - Part II CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University of Florida,
CprE 458/558: Real-Time Systems
 Problem Definition  Presented by Sushant and Alex Overview of the problem space Scenario Issues Example (plant care example) Discussion conclusion open.
Context in Ubiquitous Computing. Context sensing.
Chap#11 What is User Support?
Ontology Mapping in Pervasive Computing Environment C.Y. Kong, C.L. Wang, F.C.M. Lau The University of Hong Kong.
1 Service Sharing with Trust in Pervasive Environment: Now it’s Time to Break the Jinx Sheikh I. Ahamed, Munirul M. Haque and Nilothpal Talukder Ubicomp.
The Gator Tech Smart House: A Programmable Pervasive Space Real/Research Application In Pervasive Computing Lee Hae Dong, ICU CSE.
User and Task Analysis © Ed Green Penn State University Penn State University All Rights Reserved All Rights Reserved 12/5/2015User and Task Analysis 1.
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
An Ontology-based Approach to Context Modeling and Reasoning in Pervasive Computing Dejene Ejigu, Marian Scuturici, Lionel Brunie Laboratoire INSA de Lyon,
What are Smart Sensors/Actuators ? Sensor/Actuator either senses environment or activates motors, solenoids. –Motion detectors and light level sensors.
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Stefan Arbanowski, FOKUS Wolfgang Kellerer, DoCoMo Euro-Labs WWRF13, Jeju, Korea, Feb.
Understanding Naturally Conveyed Explanations of Device Behavior Michael Oltmans and Randall Davis MIT Artificial Intelligence Lab.
Virtual Machine Abstractions for Nomadic Pervasive Computing (NPC) Environment Presented by: Hen-I Yang, Nov. 29, 2006.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Safety-Oriented Programming Model Pervasive Computing Systems are Intimate The failure and unreliability can result in strong feeling of betrayal and frustration.
1 Design and evaluation methods: Objectives n Design life cycle: HF input and neglect n Levels of system design: Going beyond the interface n Sources of.
Talal H. Noor, Quan Z. Sheng, Lina Yao,
Welcome to M301 P2 Software Systems & their Development
COGNITIVE APPROACH TO ROBOT SPATIAL MAPPING
Web Ontology Language for Service (OWL-S)
11/15/2018 Drug Side Effects Data Representation and Full Spectrum Inferencing using Knowledge Graphs in Intelligent Telehealth Presented on Student-Faculty.
Chapter 10 – Software Testing
Chapter 11 user support.
Reasons To Study Programming Languages
Software Development Process Using UML Recap
Presentation transcript:

A Context-Driven Programming Model for Pervasive Spaces Hen-I Yang, Jeffrey King, Sumi Helal, Erwin Jansen Pervasive Computing Lab, University of Florida

The Need for Programming Model Development with ad-hoc strategy in integrated environment is not scalable Adjustment and adoption are not straight forward without programming model, which reduce configurability and usability Cost of deployment is high without proper programming model, preventing mass real-world deployments Proper programming model can incorporate and enforce critical features such as security, privacy and safety

Problem with Existing Models Prone to conflict, not effective in detecting or handling of conflicting instructions from multiple services Lack the capability of proving a real-time, at-a-glance “ big-picture ” of overall state Lack of the concept of emergency handling routine

The Objectives Define a new formal framework for contexts Create an ontology based context-driven programming model –Resolve problems discussed in the previous slide Design a programming procedure to assist in programming a pervasive computing space

The Promise of the Context-Driven Model A formal, in-depth understanding of contexts in pervasive computing Capable of evaluating potential actions based on currently active context Capable of detecting conflicting directives Capable of avoiding and handling dangerous emergency situations

Scenario Matilda is 85-year old, living alone in a free- standing smart home, and has mild dementia. The services in the smart house provides cognitive assistance. Matilda sears a rib eye steak on the stovetop for dinner and generates a lot of smoke as it cooks. The smoke clouds up the kitchen, and soon sensors detect that the air quality in the house is degrading. The services in the smart house alert her to the dangers, cue her for response, or even resolve the problems automatically. The development of these cognitive assistance services using our context-driven programming model is described.

Sensor Definition: Sensor A sensor is a function that produces an output at a given time within the universe U in a particular domain D. f i j : U  D i Example The air quality can be monitored using a Smoke Detector Sensor, represented in our model as the function:

Actuator Definition: Intentional Effect of Actuator An intentional effect of an actuator a is the set of states that possibly can arise due to invocation of that actuator: g a : U  2 U Example “ Open Window ” can take us proactively from the Murky Air to Clean Air context, so the intentional effect is described in our model as: : Murky air  Clean air

Context: Taxonomy and Interpretation Definition: Taxonomy Context descriptions in language L are formed using the following syntax rule, given C and D are two contexts: C, D  AC | ⊤ | ⊥ | ¬ C | C ⊓ D | C ⊔ D where AC denotes an atomic context. Definition: Interpretation Function We define the interpretation I as follows: AC I ⊆ U ⊤ I = U ⊥ I = ∅ ( ¬ C) I = U – C I (C ⊓ D) I = C I ∩ D I (C ⊔ D) I = C I ∪ D I Definition: Context Relations Inclusion and equality are defined as follows: Inclusion: C ⊑ D, interpreted by C I ⊆ D I Equality: C ≡ D, interpreted by C I = D I.

Context: Taxonomy and Interpretation (Cont) Example Taxonomy: Warm Indoor, Cold Indoor and Hot Indoor are temperature related atomic contexts. Interpretation: Indoor temperature reading: 18°C - 25°C: Warm Indoor < 18°C:Cold Indoor > 25°C:Hot Indoor

Active Context Definition: Active Context The active context of the space R: U  2 C is: R = {C | u I ∈ C I i} Example If the current temperature reading from the indoor thermometer is 24°C then Warm Indoor is the current active context

Action Definition: Statement Sequence Given a set of actuators A, a statement sequence S, also known as a sequence of actions, is defined as follows: S ::= ↑ a i | ↓ a i | S 1 ; S 2 Where ↑ a i turns actuator a i ∈ A on, ↓ a i turns actuator a i off, and the symbol ‘ ; ’ is used to indicate that we first perform statement S 1 and after which we execute the remaining statement S 2. Example The statement S::= ↑ vent; ↓ stove depicts the sequence of action in which the vent is turned on first, and then the stove is turned off

User and Intention Definition: User A user can be denoted by a tuple B ::= Where T and I are the taxonomy accompanied by the interpretation of the user, D represents the specify desired contexts specified by user, X denotes extremely undesirable impermissible contexts, and I : C  S be a mapping from context to statements that shows possible intentions to transit away from context C. Definition: Active and Passive Intentions Assume current active context is represented by R the following transitions defined the activeness and passiveness of intentions: Active Intention ( I a ): Passive Intention ( I p ):

Programmable Pervasive Space Definition: Programmable Pervasive Space A programmable pervasive space can be denoted by a tuple consisting of: P ::= Where B is the representation of the user, R the currently active context, S the statements we are currently processing and 2 A the set of actuators currently active.

(De)Activation and Environmental Effect Definition: Context Change  where R(f (u ’ ) ≠ R(f (u)) Definition: Activation and Deactivation of Actuators The contexts of a space can be changed by activating or deactivating actuators within the space. These actions can be described as below: Activation:  Deactivation:  If the set of active contexts has changed, we obtain the intentions from the user and execute the desired sequence of actions. Definition: Environmental Effect  where f (u) ≠ f (u ’ )

Programming Procedure Design the Context Graph: –Decide what the domains of interest are, and what the contexts of interest within these domains are. –Heavily influenced by availability of the sensors, the services planned, and the users' belief and desires. Interpret Sensor Readings: –Define interpretation functions from ranges or enumerated possible reading values from various sensors to atomic contexts appearing in the context graph. Describe Intended Behaviors: –Describe intended behaviors in terms of action statements associated with each context in the context graph, so that smart space knows which actuators to manipulate when various contexts become active.

How does it work? Murky air Clean air Open windowTurn on stoveTurn on vent ContextIntentional EffectPreferred ContextImpermissible Context Blown fuse Medium power draw Low power draw Turn on stove Turn on heater Turn on oven Turn on vent Turn on stove Turn on heater Turn on oven Turn on vent Overcooked Steak Turn on stove Cooked Steak Raw Steak Warm Indoor Open window Hot Indoor Cold Indoor Open window Turn on A/C Turn on heater 1. Design the Context Graph2. Interpret Sensor Readings 3. Describe Intended Behaviors Temp > 25°C 25°C ≥ Temp ≥ 18°C 18°C > Temp Internal Temp > 59°C 49°C > Internal Temp 59°C ≥ Internal Temp ≥ 49°C Concentration ≥ 200 ppm/min Concentration < 200 ppm/min PowerDraw > 300 W PowerDraw < 70 W 300 W ≥ PowerDraw ≥ 70 W

Capabilities of Context-Driven Programming Model Evaluating Potential Actions Detecting Conflicting Directives Avoidance and Handling of Impermissible Contexts Air Quality Control: S1 = { ↑ stove} Cooking: S2 = { ↓ stove} until R=cooked steak S::= ↑ heater; ↑ vent; ↑ oven Conflict!  Notify User R = blown fuse Emergency Handling Routine for “ blown fuse ” : prevent ↑ oven and notify user

Conclusion Existing programming models for pervasive computing only focus on individual goals and lose sight of the overall picture, leading to conflicts and erroneous behaviors. Our proposed context-driven programming model uses contexts as the primary building blocks. –Build the context graph that captures all possible states of interest in the smart space. –Contexts are marked as desirable, transitional, or impermissible. –Programmers define the intentional effects of actuators in terms of transitions from one context to another. –The system identifies active contexts from sensor readings and choosing actions toward more desirable contexts.

Conclusion [cont] The benefits of context-driven programming model –Improved coordination using explicitly defined context-based behaviors –Enhanced safety guarantees and real-time, at-a-glance snapshots of the space ’ s status. –Allowed for detecting conflicting devices at compile time, –Better capable of evaluating multiple potential action plans. –Easier to change services based on users ’ varying preferences. –Capable to detect conflicting or dangerous behaviors at runtime. –Allows for programmers to define impermissible contexts (extremely danger that must be avoided) and providing the support at runtime to avoid and handle them. The formalization of the model and the provided scenario demonstrate the practicality of this model.

Thank You