Abstracts - 2006
JustPlay: Automatic System Configuration
Justin Mazzola Paluska, Hubert Pham, Chris Terman & Steve Ward
The burgeoning of home electronics provides a nearly limitless variety of configuration and operational options: I can, say, use TIVO to capture a video which is then DIVX compressed and transferred to my laptop for viewing on an upcoming flight, while simultaneously listening to the XM satellite jazz channel and answering email using my 55-inch plasma display. But my coffee table is graced with eleven remote controls, I need a PC plus a growing library of software tools to manage the complexity of my electronic environment, and the simplest of configuration tasks routinely strain the limits of my Ph.D.-level computer expertise.
So what about Grandma?
Various "plug and play" technologies (such as UPNP or Apple's Bonjour) address the resource discovery issue, allowing consumer devices introduced into a home environment to be detected by a local computer system. But resource discovery is a tiny part of a much bigger problem; these schemes don't mitigate the need for PC software, user configuration expertise, or eleven remotes on the coffee table. Grandma, our token non-geek user, needs a humane user interface by which she can deploy her new toys; or, better, by which she can control policy for their automatic deployment.
The JustPlay project (whose name is intended to suggest a wireless descendent of plug-and-play) is aimed at developing a coherent system environment that provides a uniform, speech-based interface to an expanding universe of electronic resources that is both accessible to and customizable by non-technical consumers. We'd like to provide Grandma with a single, simple, speech-based, extensible interface to the universe of new electronic toys that she'll be immersed in during the next decade.
Our approach leverages several local technologies:
(1) the O2S goal-oriented scripting engine developed for scripting adaptive applications;
(2) The Galaxy speech-recognition system developed by the CSAIL Spoken Language Systems group; and
(3) O2S NPOPs, a lightweight portable software component system.
Our plan involves an inexpensive server which acts as the
hub to a wireless network. It adopts newly discovered devices and provides various servers, including the automatic configuration of available resources (devices) to meet user-specified goals.
Introduction of a new device into the JustPlay environment stimulates the automatic re-evaluation of current goals, and the potential revision of the active processes in place to satisfy those goals. For example, simply unpacking and deploying an improved speaker system might cause music currently being enjoyed to fade to the new speakers, without explicit user intervention.
The goals are specified by the user using natural language, and simple goal-based policies can be customized using natural language input (e.g., "to notify me of incoming email, play the Marseillaise on my cell phone").
Progress and Plans
The JustPlay project was initiated during 2005. Early concept demos have largely used off-the-shelf equipment, including client device prototypes built from consumer products enhanced with simple Linux-based processors implementing a client O2S interface.
Our current work includes efforts to prototype more cost-effective client interface hardware, using FPGAs comprising soft processor cores as well as selected client-specific interfaces (e.g., media decompression). While this work is driven by our interest in demonstrating a rich repertoire of JustPlay-compatible devices, its technical foci address the development environment: the construction of a toolkit and library support that makes the design and prototyping of new JustPlay devices easy. Aspects of this ongoing work touch on embedded OS design, hardware design tools, and architecture of processors for embedded applications, and wireless communications.
At a higher level, this project addresses the design and prototyping of potential standards for a natural language interface to an extensible range of devices and functions. Ongoing work at this level confronts challenging human interface problems (e.g., customization of configuration choices via nontechnical natural language) as well as system architecture issues (platform independence, local extensibility).
This project is funded by the Quanta Computer as part of the Quanta/CSAIL T-Party project.
 Umar Saif, Hubert Pham, Justin Mazzola Paluska, Jason Waterman, Chris Terman, and Steve Ward, A Case for Goal-oriented Programming Semantics. In System Support for Ubiquitous Computing Workshop at the Fifth Annual Conference on Ubiquitous Computing (UbiComp '03).
 Justin Mazzola Paluska, Hubert Pham, Umar Saif, Chris Terman, and Steve Ward, Reducing Configuration Overhead with Goal-oriented Programming. In Proceedings of the Fourth IEEE International Conference on Pervasive Computing and Computation Workshops (PerCom '06).