1jkembel : April 24, 2003 : AUI Toolkits for Ubiquitous Computing, Context Awareness, and CSCW.

Slides:



Advertisements
Similar presentations
Enhancing Learning Experiences through Context-Aware Collaborative Services: Software Architecture and Prototype System Nikolaos Dimakis, Lazaros Polymenakos.
Advertisements

Context and Context- Aware Computing Omar Khan CS260, Fall 2006.
A component- and message-based architectural style for GUI software
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
Sensor Networking Research Team Context Aware Technology Jae Doo Huh
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.
Saul Greenberg Groupware Infrastructures Saul Greenberg Professor Department of Computer Science University of Calgary.
Think. Learn. Succeed. Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments Presented by: Ashirvad Naik April 20, 2010.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p Framework Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p.
Real-Time Systems and the Aware Home Anind K. Dey Ubiquitous Computing Future Computing Environments.
CSE5610 Intelligent Software Systems Semester 1 Enabling Intelligent Systems in Pervasive Computing.
ISIS Katrinebjerg i n t e r a c t i v e s p a c e s. n e t 1 Frank Allan Hansen, Representing Context in Hypermedia Data Models International.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported.
Course Instructor: Aisha Azeem
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
The chapter will address the following questions:
A Survey on Context-aware System Authors: Matthias Baldauf, Schahram Dustdar, and Florian Rosenberg Haifeng Xu Nov. 19, 2013.
An Intelligent Broker Architecture for Context-Aware Systems A PhD. Dissertation Proposal in Computer Science at the University of Maryland Baltimore County.
A Survey on Context-Aware Computing Center for E-Business Technology Seoul National University Seoul, Korea 이상근, 이동주, 강승석, Babar Tareen Intelligent Database.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Kaifei Chen, Siyuan He, Beidi Chen, John Kolb, Randy H. Katz, David E
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Chapter 1 Lecture 2 By :Jigar M Pandya WCMP 1. Architecture of Mobile Computing The three tier architecture contains the user interface or the presentation.
MOBILE GROUPWARE Jason Tsay Advanced User Interface Software - Spring 2013.
CPET 565 Mobile Computing Systems Context-Aware Computing (2) Lecture 11 Hongli Luo Indiana University-Purdue University Fort Wayne.
A Study of Context-Awareness - CASS, Hydrogen Context Team Summarized and Presented by Seungseok Kang.
A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications Adrian A. de Freitas Dey, Anind K., Gregory D.
A Survey on Programming Model Context Toolkit Gaia ETC (of Equator Project) Tentaculus.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
FOREWORD By: Howard Shrobe MIT CS & AI Laboratory
CPET 565 Mobile Computing Systems Context-Aware Computing Lecture 10 Hongli Luo Indiana University-Purdue University Fort Wayne.
Cerberus: A Context-Aware Security Scheme for Smart Spaces presented by L.X.Hung u-Security Research Group The First IEEE International Conference.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Usable Security – CS 6204 – Fall, 2009 – Dennis Kafura – Virginia Tech Principles of Context aware systems Presented by: Rajesh Gangam Usable Security.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
The Context Toolkit Aiding the development of Context-aware Application CHI’99 Written by Anind K. Dey Summarized by Gihyun Gong.
Semantic Gadgets Pervasive Computing Meets the Semantic Web Reza Zakeri Sharif University of Technology.
An Architecture to Support Context-Aware Applications
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Task 1.2 Context: definition and specification. Leuven, 14 oktober 2004 Outline Introduction Work method Context definition Context specification  Overview.
A Study of Context-Awareness: Gaia & SOCAM Presented by Dongjoo Lee IDS Lab., Seoul National University Gaia: A Middleware Infrastructure to.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
MDD approach for the Design of Context-Aware Applications.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
A Survey on Context-aware systems Matthias Baldauf and Schahram Dustdar, Technical University of Vienna Presented by Sunghwan Ihm
Architecture for Context-Aware Services in Gaia Anand Ranganathan.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
A Survey of Context-Aware Mobile Computing Research Guanling Chen and David Kotz Dartmouth Computer Science Technical Report, 2000.
Feb 12, ECET 581/CPET/ECET 499 Mobile Computing Technologies & Apps Context Aware Computing 3 of 3 Lecture 12 Paul I-Hai Lin, Professor Electrical.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
Dude, Where's My Car? And Other Questions in Context-Awareness Jason I. Hong James A. Landay Group for User Interface Research University of California.
C ONTEXT AWARE SMART PHONE YOGITHA N. & PREETHI G.D. 6 th SEM, B.E.(C.S.E) SIDDAGANGA INSTITUTE OF TECHNOLOGY TUMKUR
System Software for Ubiquitous Computing Pervasive Computing 2002 Tim Kindberg, Armando Fox 2003 년 11 월 26 일 박준호.
Building Distributed Educational Applications using P2P
Context-Aware Computing
Datamining : Refers to extracting or mining knowledge from large amounts of data Applications : Market Analysis Fraud Detection Customer Retention Production.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Class Announcements 1 week left until project presentations!
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
I/O Toolkits Scott Klemmer · 16 November 2006.
Design Yaodong Bi.
Presentation transcript:

1jkembel : April 24, 2003 : AUI Toolkits for Ubiquitous Computing, Context Awareness, and CSCW

2jkembel : April 24, 2003 : AUI Outline Groupware (CSCW) GROUPKIT ( Greenberg, Roseman 1992/9 ) Context-Aware Computing Context-Aware Toolkit ( Anind Dey, 2001 ) Ubiquitous Computing iStuff (Ballagas, CHI2003 ) Others ( Aura, Gaia, Oxygen, EasyLiving )

3jkembel : April 24, 2003 : AUI Common Issues Multi-device, multi-user interactions Beyond the desktop, beyond well-known GUI Central vs. distributed architectural approaches Early in development of toolkits Significant benefits for abstracting complexities from application developers

4jkembel : April 24, 2003 : AUI Groupware (CSCW)

5jkembel : April 24, 2003 : AUI Groupware Toolkits Build applications for synchronous and distributed computer-based conferencing More mature than Ubicomp and Context-Aware toolkits Similarities (concerns of distributed systems and communication, value of widget approach) Will only lightly address

6jkembel : April 24, 2003 : AUI Groupware Toolkits : Requirements Run-time architectures Groupware programming abstractions Groupware widgets Session managers [Greenberg, Roseman 1992, 9]

7jkembel : April 24, 2003 : AUI Groupware Toolkits : Requirements Run-time architectures automatically manage processes, interconnections, and communications Groupware programming abstractions Groupware widgets Session managers

8jkembel : April 24, 2003 : AUI Groupware Toolkits : Requirements Run-time architectures Groupware programming abstractions Used by a programmer to synchronize interaction events and the data model between processes as well as views across displays Groupware widgets Session managers

9jkembel : April 24, 2003 : AUI Groupware Toolkits : Requirements Run-time architectures Groupware programming abstractions Groupware widgets Let programmers add generic groupware constructs (single- user-like or unique to groupware) Session managers

10jkembel : April 24, 2003 : AUI Groupware Toolkits : Requirements Run-time architectures Groupware programming abstractions Groupware widgets Session managers Let end users create, join, leave, and manage meetings

11jkembel : April 24, 2003 : AUI Run-time Architectures : Options How synchronization occurs across multiple layers of state [Patterson 1995]

12jkembel : April 24, 2003 : AUI Groupware Widgets (redesign of single-user versions)

13jkembel : April 24, 2003 : AUI References Greenberg, S. and Roseman, M., Groupware Toolkits for Synchronous Work. In: Beaudouin-Lafon, M. (Ed.), Trends In CSCW'99, No. 7 in Trends in Software, John Wiley & Sons, New York, NY, USA, ch. 6, pp. 135– 168. Patterson, J. F., A taxonomy of architectures for synchronous groupware applications. SIGOIS Bulletin, ACM Press, April 1995, Vol. 15 #3, pp

14jkembel : April 24, 2003 : AUI Context-Aware Computing

15jkembel : April 24, 2003 : AUI Context-Aware Computing Introduction / Background Survey Highlights (Moran & Dourish, Chen & Kotz) Anind Dey’s Context-Aware Toolkit (Thesis)

16jkembel : April 24, 2003 : AUI Context-Awareness : Goal “Acquire and utilize information about the context of a device to provide services that are appropriate to the particular people, place, time, event, etc.” (Moran & Dourish, 2001) “Enhance the behavior of any application by informing it of the context of use.” (Dey, 2001)

17jkembel : April 24, 2003 : AUI Background Researchers at Olivetti Research and PARC pioneered Context-Aware Computing (’92, ’93) …under the vision of “Ubiquitous Computing” (a.k.a. pervasive, invisible computing) Many definitions of the term “context”

18jkembel : April 24, 2003 : AUI Definition : Context Shilit [94]* Schmidt [99] Dey [99] Chen, Kotz (survey) [00] 3 Categories of context: Computing context (connectivity, bandwidth, resources) User context (profile, location, nearby people) Physical context (lighting, noise, traffic, temperature) * First to define the term “context-aware”

19jkembel : April 24, 2003 : AUI Definition : Context Shilit [94] Schmidt [99] Dey [99] Chen, Kotz (survey) [00] “…knowledge about the user’s and IT device’s state, including surroundings, situation, and to a less extend, location” Enumerations vs. definitions. User’s or applications environment?

20jkembel : April 24, 2003 : AUI Definition : Context Shilit [94] Schmidt [99] Dey [99, 01] Chen, Kotz (survey) [00] “…any information that can be used to characterize the situation of entities (person, place, object) that are considered relevant to the interaction between a user and an application, including the user and the application themselves.”

21jkembel : April 24, 2003 : AUI Definition : Context Shilit [94] Schmidt [99] Dey [99] Chen, Kotz (survey) [00] “…the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user”

22jkembel : April 24, 2003 : AUI Types of Context Primary (low-level) Location, time, nearby objects, network bandwidth, orientation, light, tilt, vibration, sound, temperature… Complex (high-level) “current activity”, complex social situations (e.g., in a meeting, giving a presentation) Context History Context Properties E.g., Rate of change (user location vs. printer location)

23jkembel : April 24, 2003 : AUI Collection of Context Explicit : manual acquisition of context data from user(s) Implicit : automatic collection of context data from sensors (ideal)

24jkembel : April 24, 2003 : AUI Use of Context ( Chen & Kotz ) Active : application automatically adapts to discovered context by changing the application’s behavior (phone ring) Passive : application presents the new/updated context to a user or makes the context persistent for the user to retrieve later (in/out)

25jkembel : April 24, 2003 : AUI Use of Context ( Dey ) : Context-Aware Applications Support Presentation of information and services to a user E.g., nearby printers, car on map Automatic execution of a service E.g., car navigation that reroutes on missed turn, ring-changing cell phone Tagging of context to information for later retrieval E.g., informal meeting notes collected during a meeting

26jkembel : April 24, 2003 : AUI Other Issues Modeling context information (everyone uses different approached = no interoperability) Location model ( symbolic, geometric, hybrid) Data structures ( key-value pairs, tagged encoding, object- oriented model, logic-based facts/rules) System infrastructure Centralized vs. distributed architecture Security & Privacy Accuracy, secrecy

27jkembel : April 24, 2003 : AUI Comments Few contexts other than location have been used in actual applications Context history is believed to be useful, but is rarely used Reliance on user(s) explicitly providing context information proves obtrusive / inconvenient (Chen & Kotz)

28jkembel : April 24, 2003 : AUI Dey’s Context-Aware Toolkit Definition and classification of context Introduce a conceptual framework for context- aware application development Present a toolkit for context-aware research

29jkembel : April 24, 2003 : AUI Context : Entities & Categories Places : regions of geographical space (rooms, offices, buildings, streets) People : individuals or groups (co-located or distributed) Things : physical objects, software artifacts

30jkembel : April 24, 2003 : AUI Context : Entities & Categories Identity : ability to assign a unique identifier to an entity Location : position, orientation, elevation, spatial relationships (co-location, proximity, containment) Status (or activity) : intrinsic characteristics of an entity that can be sensed (temp, tiredness, attending a meeting) Time : timestamp, time span, order of events

31jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Context interpretation, Transparent, distributed, communications, Constant availability of context acquisition, Cotext storage, and Resource discovery

32jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Abstract context acquisition from application development As UI toolkit widgets / interactors handle input Context interpretation, Transparent, distributed, communications, Constant availability of context acquisition, Cotext storage, and Resource discovery

33jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Context interpretation, E.g., App only interested in high-level context (meeting start) May require multiple layers of interpretation first Transparent, distributed, communications, Constant availability of context acquisition, Cotext storage, and Resource discovery

34jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Context interpretation, Transparent, distributed, communications, Context from multiple, distributed, networked sources Distributed communication transparent to sensors & apps Constant availability of context acquisition, Cotext storage, and Resource discovery

35jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Context interpretation, Transparent, distributed, communications, Constant availability of context acquisition, Components that acquire context must execute independently (from apps that use them) – unlike GUI components Cotext storage, and Resource discovery

36jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Context interpretation, Transparent, distributed, communications, Constant availability of context acquisition, Context storage, Context history can be used to establish trends and predict use Collect context data even without currently interested apps Resource discovery

37jkembel : April 24, 2003 : AUI Framework Requirements Separation of concerns, Context interpretation, Transparent, distributed, communications, Constant availability of context acquisition, Cotext storage, and Resource discovery A mechanism is required to help applications find and communicate with a sensor (sensor’s interface)

38jkembel : April 24, 2003 : AUI Framework Components (Toolkit) Meet the requirements : Context widgets Interpreters Aggregators Services Discoverers

39jkembel : April 24, 2003 : AUI Components : Context widgets Hide the complexity of the actual sensors from the application(s) Abstract context information to suit the expected needs of applications (e.g., filters detail) Provide customizable and reusable building blocks of context sensing (like GUI widgets) More detail on request : type of sensor, resolution and accuracy, how data is acquired Query/poll & notify/callback mechanisms

40jkembel : April 24, 2003 : AUI Components : Interpreters Transform context information by raising its level of abstraction Take information from one or more context sources and produce a new piece of context information All interpreters have a common interface E.g., people in room + calendar data = meeting

41jkembel : April 24, 2003 : AUI Components : Aggregators Gather logically related information and make it available within a single “repository” (software component) Related information : about entities (people, places, objects) Applications only need to communicate with a single source for related information Similar capabilities as a widget (query/notify)

42jkembel : April 24, 2003 : AUI Components : Services The analog to the context widget widget = input, service = output Responsible for controlling/changing state information in the environment (actuators) Execute actions on behalf of applications E.g., turn on light

43jkembel : April 24, 2003 : AUI Components : Discoverers Maintain registry of capabilities (components) in the framework Applications use discoverers to find particular components White pages lookup (by name, identity) Yellow pages lookup (by attributes, service type)

44jkembel : April 24, 2003 : AUI Component Relationships

45jkembel : April 24, 2003 : AUI Toolkit Details Developed in Java (instances of widgets and apps in C++, Frontier, VB, Python) Simple distributed infrastructure uses peer-to- peer communications Communication mechanism based on HTTP and XML encoded messages (support wide range of devices) Each component (widget, aggregator, interpreter, discoverer) implemented as a single process

46jkembel : April 24, 2003 : AUI Class Heirarchy Distributed communications ability encapsulated in BaseObject

47jkembel : April 24, 2003 : AUI Application : Active Badge

48jkembel : April 24, 2003 : AUI References Moran, T.P. and Dourish, P., editors, Special Issue on Context-Aware Computing, Human-Computer Interaction. 16 (2-4), pp (Introduction) Dey, A.K., Abowd, G.D., and Salber, D., A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications, Human-Computer Interaction. 16 (2-4), Guanling Chen and David Kotz, "A Survey of Context- Aware Mobile Computing Research". Dartmouth Computer Science Technical Report TR

49jkembel : April 24, 2003 : AUI Ubiquitous Computing

50jkembel : April 24, 2003 : AUI Stanford’s iStuff Toolkit Introduction and goals Architecture (pieces, events, mapping) Existing device components (I/O)

51jkembel : April 24, 2003 : AUI iStuff : Introduction Part of Stanford’s iRoom Project, presented at CHI2003 Toolkit designed to support user interface prototyping in ubicomp environments Domain : explicit interaction with room-sized environment (various displays, inputs, outputs) Goal : allow multiple, co-located users to fluidly interact with any of the displays and applications

52jkembel : April 24, 2003 : AUI Desktop and “Post-desktop” Desktop One user, One set of hardware, Single point of focus Post-desktop Multiple displays Multiple input devices Multiple systems Multiple applications Multiple concurrent users Contribution : flexible event and event-mapping model for this context

53jkembel : April 24, 2003 : AUI Applied Concepts Abstracting device input away from application- level code, (Meyers, 1990 : Garnet) Hierarchical event structures can provide higher-grain code reuse, and Abstracting low-level events to application-level events (Meyers and Kosbie, CHI’96) Addition of run-time retargetable event flow

54jkembel : April 24, 2003 : AUI iStuff Architecture Summary Toolkit designed on top of iROS (a TCP- and Java-based middleware that allows multiple machines and applications to exchange information) iROS supports communication through the “Event Heap” (central server) Standard machines and operating systems Dynamically configurable intermediary simplifies mapping of devices/interactions to applications

55jkembel : April 24, 2003 : AUI iStuff Architecture Diagram Lightweight wireless input/output devices (buttons, sliders, wands, speakers, mics) + Software proxies for each deviceComponents (device + proxy) can be dynamically mapped to different applications with the “Patch-Panel” Patch Panel does not sit between proxies and apps (non-destructive mapping) Synchronous communication based on iROS events

56jkembel : April 24, 2003 : AUI iStuff : Components Wireless Device + host machine + transciever + software proxy Generates events to (or extracts from) the Event Heap

57jkembel : April 24, 2003 : AUI Component Classification Matrix Suggests research opportunities for new device types

58jkembel : April 24, 2003 : AUI iStuff : Event Communication Event is a message that contains a type and an optional number of fields (key-value pairs) Extends the notion of an event queue to an entire interactive room (multiple machines, users) iROS implementation (mostly Java) is available Open Source

59jkembel : April 24, 2003 : AUI iStuff : Patch Panel Non-destructively translates events from one type to another (supports arithmetic expressions) Developers encouraged to use their own abstract event types and use the Patch Panel to map to specific component events Run-time retargetability (by events) allows dynamic change of “focus” (I/O) and mappings (e.g., iButton : light on > light off) Also have web-based GUI access to Patch Panel

60jkembel : April 24, 2003 : AUI References Ballagas, R., Ringel, M., Stone, M., Borchers, J.. iStuff: A Physical User Interface Toolkit for Ubiquitous Computing Environments. CHI

61jkembel : April 24, 2003 : AUI Other Systems

62jkembel : April 24, 2003 : AUI Other Systems Aura (CMU) Gaia (UIUC) Oxygen (MIT) EasyLiving (MSFT)

63jkembel : April 24, 2003 : AUI Aura (CMU) Target : pervasive computing environments (wireless, wearables, smart spaces, reduced human attention) Not a toolkit, but a research effort around themes (umbrella project with research thrusts) Proactivity (layers anticipate requests) and self- tuning (layers adjust their performance)

64jkembel : April 24, 2003 : AUI Aura… Broadly rethink system design (hardware, networking, middleware applications, user tasks) Task-driven computing, energy-aware adaptation, intelligent networking, speech, nomadic data access, UI adaptability…

65jkembel : April 24, 2003 : AUI Gaia (UIUC) Goal : design and implement a middleware operating system that manages the resources contained in an Active Space Gaia brings the functionality of an operating system to physical spaces (e.g., events, signals, file system, security, processes, process groups…) Research exploration, not a toolkit

66jkembel : April 24, 2003 : AUI Oxygen (MIT) Pervasive human-centered computing (as available as oxygen) Collection of projects (technologies : device, network, system, perceptual, user) E.g., H21 Handheld, Cricket location system (indoor GPS), Intentional Naming System (resource discovery based on function), adaptive software architecture, speech/multi-modal technologies, Haystack, Semantic Web…

67jkembel : April 24, 2003 : AUI EasyLiving (MSFT Vision Group) Developing a prototype architecture and technologies for building intelligent environments Computer vision for person-tracking and visual user interaction. Multiple sensor modalities combined. Use of a geometric model of the world to provide context. Automatic or semi-automatic sensor calibration and model building. Fine-grained events and adaptation of the user interface. Device-independent communication and data protocols. Ability to extend the system in many ways.

68jkembel : April 24, 2003 : AUI Conclusions Input as common challenge (context as input, distributed, multiple inputs) Implicit (context) and explicit (iStuff) input Many lessons from GUI toolkits (esp. abstraction) apply New challenges (complex, distributed, flexible architectures, less control, ambiguity)

69jkembel : April 24, 2003 : AUI