The ACRE SVG Visualization Engine (ASVE)
Jon Pipitone,
University of Toronto, Canada
Holger Kienle, University of Victoria, Canada
Contents
What is ASVE?
- A graph visualization engine for exploring
and annotating software artifacts
- Built exclusively with SVG and ECMAScrip
- Embeddable into "host" applications
such as Web browsers and office tools (e.g. PowerPoint,
Excel, Word)
- A live document component
- A client for the ACRE Persistence Engine
Why SVG?
Scalable Vector Graphics (SVG) is an XML grammar for Web graphics
from the W3C. Advantages of SVG over other image formats are:
- infinite zooming with crisp edges (i.e.,
no "jaggies")
- embeddable in office applications, web
pages, and XML documents
- (open source) viewers for common platforms
- XML-based format that is non-proprietary,
human-readable, and searchable
- wide selection of tools available to edit
and transform (XSLT, XQuery, etc.)
- small file sizes for high resolution graphics
easy manipulation through standard APIs, such as the
DOM API
What makes ASVE a good ACRE tool?
- Embeddable
Since ASVE is built using pure SVG it can easily be embedded into project
documentation: PowerPoint for presentations, HTML pages for on-line browsing,
Word documents for hard-copy documentation, and XML documents for further
post-processing.
- Live and Interoperable
ASVE can act as a lightweight, platform independent client of the ACRE Persistance
Engine. Regardless of the "hosting" application, ASVE can alway
connect to its data in the ACSE repository.
- Rich Knowledge Store
With ASVE, a single file encapsulates a snapshot of a Rigi reverse engineering
view along with all the graph manipulation functionality needed for further
exploration (see "ASVE Architecture"
ASVE Architecture
ASVE in Internet Explorer
The illustration below shows a Rigi view (a call-graph of a ray-tracer
application) in ASVE. Here, ASVE is "hosted" by your browser.
You can can filter, rearrange, layout, annotate, display attributes,
and change the visual characteristics of nodes and arcs in order to
better understand the architecture of the software system. Let's go
and explore the system.
|