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:
- The MediaDoc task modeling and question answering shell,
- The Diagen diagram/animation generator and PESCE presentation engine,
- Web server software necessary to run the system,
- Code analysis tools,
- Text Extraction tools for incorporating legacy documents into
MediaDoc,
- Example documented systems, including documentation on MediaDoc
itself.
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
-
Erdem, A., Johnson, W.L., Marsella, S.
User and Task Tailored Software Explanations,
(compressed version),
submitted to the Automated Software Engineering Journal
- A. Erdem, W.L. Johnson, and S. Marsella, Task
Oriented Software Understanding, to appear in Proceedings of
the Automated Software Engineering Conference.
Participants
Stacy
Marsella
Lewis Johnson
Rogelio Adobbati

Ali Erdem
Chon Yi