This talk will describe the design and implementation of PESTO, a graphical user interface being developed as part of the Garlic multimedia information system project at IBM Almaden. The talk will begin with a high-level overview of the Garlic project's goals and architecture. In a nutshell, Garlic provides an integrated, object-oriented view of data residing in a variety of database and non-database data repositories. Query access is provided to the data via an object-extended variant of SQL, and the Garlic query processor is responsible for farming out query processing subtasks to the various repositories based on their native search capabilities.
PESTO is an integrated user interface that supports browsing and querying of object-oriented databases. Like other object browsers, PESTO allows users to navigate in a hypertext-like fashion, following the relationships that exist among objects. In addition, PESTO allows users to formulate object queries through a unique, integrated query paradigm that presents querying as a natural extension of browsing; we call this query paradigm "query-in-place." PESTO's query facilities are quite powerful, including support for basic query operations such as simple selections, value-based joins, universal quantification, negation, and complex predicates. In addition, PESTO provides supports for object-oriented queries, including including path predicates (implicit joins), queries over nested sets, filtered sets, and method invocation. PESTO can be ported with relative ease to any object-oriented database system supporting a high-level query language, and its implementation is extensible in the sense that PESTO provides hooks that allow specialized predicate formation and display tools to be added to the system for important new data types (e.g., images or text).
(PESTO is joint work with Laura Haas and John Williams of IBM Almaden and Vivek Maganty of the University of Wisconsin-Madison.)