CS&E logo University of Washington Department of Computer Science & Engineering
 Tiramisu
  CSE Home   AI Home  About CSE    Search    Contact Info 

Project faculty
 Alon Halevy
 Dan Weld
Project students
 Corin Anderson
   

Tiramisu

Overview

The state-of-the-art in web-site design and management systems requires that an entire web site be built with only one tool. The web-site management system dictates the content creation tool and often even dictates the intermediate form in which the web site is stored (ie, some sites may be "published" as HTML only as a final step -- until publication, the site remains in an intermediate database). There are a number of problems with this state-of-the-art: no one content creation tool will satisfy all the needs of the designer -- there will always be a need to use some other content authoring tool; the content creation tool dictated by the system may not be the one preferred by the web site designer -- there is no support for alternative authoring tools; existing web sites that are built with legacy authoring tools cannot easily be converted to the newer web-site management systems. The solution to these problems is obvious: build a web-site management system that supports many content creation tools. However, the devil is in the details; there are subtleties in building such a system. These subtleties and their solutions are exactly the key innovations in TIRAMISU.

TIRAMISU addresses the issue of multiple content authoring tools by delineating an API through which such tools can interface to TIRAMISU. TIRAMISU then becomes a _manager_ of the content authoring (or "implementation") tools. TIRAMISU allows the web-site designer to structure the site at a high-level, manipulating content and hypertext links as nodes and arcs in a graph. Each content node is annotated with the implementation tool that will be used to render the page. The actual data to appear on each page and link is specified by a _query_ over some back-end database that stores the data to be presented at the site. A figure is perhaps most revealing of this idea:

This figure shows the content (white boxes) including the implementation tool (listed above the box) and data query (the data() :- part), and the links (blue arcs).

The key innovations of TIRAMISU are the API for implementation tools and the algorithms for converting the high-level site schema into forms understandable by the implementation tools. In forming the API, a balance must be struck with supporting a wide range of implementation tools (ie, the API must be simple) and being useful (ie, the API will have some required functionality). The algorithms for converting the site schema into actual implementation tool inputs varies for each tool, but are very similar to each other. Primarily, there is a need to ensure that all the URLs for all the content match up, even when two or more different implementation tools are used to build the site.

The code base for TIRAMISU is written in Java, conforming to JDK 1.2 and using the Swing interface library. Although TIRAMISU uses the rudimentary database functionality of Strudel to serve as the mediated database, TIRAMISU may easily be modified to use a different database back-end (the data source API is very simple and clean in TIRAMISU). TIRAMISU runs well on even modest Pentium-based machines, such as a 200MHz Pentium Pro.

Publications


CSE logo Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Corin Anderson]