Ambient Computational Environments Sprint Research Symposium March 8-9, 2000 Professor Gary J. Minden The University of Kansas Electrical Engineering and Computer Science This is a Road-Donkey • Carries all computer and communications devices with him • Deals with multiple network connections (is it a Hotel-9 or Hotel-8?) • Mentally reconciles multiple versions of tomorrow’s presentation • Spends more time making the computer/communication complex work, than working This is an ACE • Computational resources built-in • Authenticated and authorized access • Individual portals to computational workspaces • Use and command local resources Ambient Computational Environments Long-lived, widely accessible workspaces Computational resources are available throughout the environment via access ports Users co-opt local resources Secure and private Multi-modal interaction Speech, gesture, tactile ACE Technology • Robust, available, persistent state • Location independent processing, dynamic network services, agent services • Individual and environmental access ACE — Research Challenges Programming Environments Programming Languages Cooperative Task Negotiation Contextual Information Retrival Disambiguation Networking Architecture ACE — Programming Environments What is the division of functionality between a Personal Interaction Device (PID) and the ACE? How is context named/identified within the ACE? How does one use the PID to manipulate a potentially significantly larger surrounding environment? In a shared context with other owners/PIDs, how does one negotiate for screen space and objects? How do we build a user interface for PIDs that is comfortable with minimal training? How do we manage the potentially large number of active computations, resources, and environments with a modestly sized interface? ACE — Programming Languages What programming language abstractions are useful and necessary in an ACE? How do you determine your location within the ACE? How do you find and connect to other programming contexts? How do you name, index, and search for resources within an ACE? If we allow persistent Contexts, how do we update such Contexts over time? If we wish to upgrade part of the physical infrastructure, how do we "tell customers to leave the facility" and "close the door"? How do we account for system usages? ACE — Cooperative Task Negotiation How does one define collaboration workspaces? What functions are necessary for combining individual workspaces into collaborative workspaces? How do individuals establish independent views of shareable workspaces and environments? How do PIDs represent and communicate workspaces and negotiate? What are negotiable resources? How do Workspaces and Contexts describe themselves to be recognizable? How can I interrupt the execution of any program, pick up the intermediate state, and move it somewhere else to run? ACE — Contextual Information Retrival Support a wide range of search criteria, including timeliness, information quality, media, computational resources available. and location and time Infer the appropriate search criteria from the user's workspace Integrate multiple documentation formats for search and retrieval ACE — Disambiguation Resolution in Spoken Natural Language Understanding Resolution in Context of Robot Vision Resolution with Machine Learning Resolution in Deductive Reasoning and Planning Resolution with Memory Systems Resolution in Tactile Sensing and in Robotic Actuation ACE — Network Architecture Network Display Application Application API API API OS Today’s approach Keyboard OS ACE — Applications linked through Network connedtions ACE — Vision Pervasive Embedded Resources In buildings, people, vehicles Interconnected with dynamic network services Multiple, rich resource types - displays, computations, communications, information management, ... Long-lived, widely accessible workspaces Maintain distributed, available, consistent state Multiple location and information services Secure and private Active connections based on current context Disassociate process/task execution from physical location and network address Enables mobile and replicated tasks Implement tasks as services with multiple access mechanisms, e.g. network, video, sensor, actuator ACE — Key Technologies Human/Computer Interaction New techniques, new devices, new mobile communications Programming Languages and Systems High level abstractions, mobile and persistent tasks, longlived workspaces Resource recognition, task negotiation, co-opt local resources Contextual Information Management Disambiguation in multi-modal interaction ACE Personnel G. Minden (PI) A. Ambler (HCI, Programming languages and systems) F. Brown (AI systems) J. Evans (Networking and Computing Systems) C. Tsatsoulis (Expert Systems, agent systems, and case based reasoning) A. Agah (Robotic Systems) S. Gauch (Information Retrieval) D. Niehaus (Distributed Systems and Real-time) J. Miller (Graphics) J. Gauch (Video Information Systems) J. Grzymala-Busse (Learning Systems) T. Schreiber (Human Information Retrieval) S. Speer (Psycholinguistics) W. P. Alexander (System design) J. James (Distributed Systems) Ambient Computational Environments Information and Telecommunications Technology Center Electrical Engineering and Computer Science