The MediaDoc Project


Highlights

Overview

Rapid evolution of software requires rapid understanding of software. At USC's Information Sciences Institute we have been studying the process that people go through when they are trying to understand software, and have developed a tool called MediaDoc that generates software explanations to support this understanding process. MediaDoc produces explanations that combine text, graphics and animation to give people a clear picture even of very complex systems.

MediaDoc takes the place of conventional static documentation, by providing engineers with the information that they need in a form that is easy to understand. With MediaDoc, even engineers that are new to a project can quickly find useful answers to their questions, speeding their evolution into project experts.

How MediaDoc Works

Explanation on demand: In the MediaDoc project, we view the process of explaining software as a series of software inquiry-explanation cycles with MediaDoc providing explanations on demand to an engineer’s inquiries. Explanations are generated based on profiles of the user’s tasks and expertise. The user can pose a series of queries either by directly entering a query or by interacting with MediaDoc via the Task Model interface. MediaDoc either generates an explanation that directly answers the query, or reformulates the query as a new subtask.

Multimedia Explanations: Answers to queries are generated from a library of dynamic templates that combine text and graphics. These templates are authored in MediaDoc's presentation authoring language, and may include sections that are automatically generated from code analysis tools and behavior traces. Interactive diagrams and animations can be generated on the fly by the PESCE presentation engine and displayed by the Diagen diagram generator.

Interfacing to Legacy Projects: We are continually investigating ways of automating more of the explanation generation process. Recent work includes text extraction tools as well as interfaces to external data repositories, e.g., through Modus Operandi's Catalyst. Web-based standards: MediaDoc presentations use a Web browser and Java clients, and are served using a Web server. The client software is compatible with a variety of different hardware and software configurations.

Available Tools

MediaDoc system integrates several software packages: These tools give you what to need to start building software explanation systems customized to your needs. Code analysis for Ada is provided via Reasoning System's Software Refinery tool. The MediaDoc shell lets you define new tasks and queries, and define how responses to queries are to be generated. Responses can be a mix of hypertext and diagrams/animations specified in our MAP diagram specification language. A tool for interactively visualizing Java code execution, called Junior, is also available.

Publications

Related Research

Participants

Stacy Marsella


Lewis Johnson


Rogelio Adobbati


Ali Erdem

Chon Yi