The Softbot Approach to OS Interfaces

  • Authors:
  • Oren Etzioni;Henry M. Levy;Richard B. Segal;Chandramohan A. Thekkath

  • Affiliations:
  • -;-;-;-

  • Venue:
  • IEEE Software
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern, menu-based interfaces make it easier for naive users to issue basic requests, but they do not reduce the difficulty of specifying more sophisticated queries or operations. Sophisticated requests will always require users to combine or customize system-provided primitives -- such as commands or menu operations -- in an ad hoc way because command-language and interface designers cannot anticipate every possible user need. We present a new, goal-oriented approach to the operating-system command interface. A goal-oriented interface lets a user specify what to accomplish, leaving the decision of how to accomplish it to the system. This idea is widely accepted in the functional- and logic-programming communities, but current operating-system interfaces do not support it. In typical modern operating systems, primitives are not available for many common user requests. Currently, the user must write a script or program that composes existing commands. Our approach obviates the need for any programming by the user. We have designed and implemented software robots called softbots: agents that perform high-level tasks on the user's behalf. Softbots use a database that describes the available system primitives. This database describes each primitive in terms of its input, its output, and any conditions that must be met for the primitive to be used. Given a user-specified goal, the softbot constructs a sequence of primitives and invokes them to accomplish that goal, making decisions along the way based on intermediate results and existing conditions. The softbot chooses the most effective means of accomplishing a particular task, relying on commands or information the user may not know.