Leveraging Cognitive Support in SVG Applications from the Host COTS Product

Hausi A. Müller, Anke Weber, and Holger Kienle
Department of Computer Science
University of Victoria

Building software documentation systems using SVG [1] has many advantages. The ability to create live documents and to embed these documents into Commercial-of-the Shelf (COTS) products opens up new avenues in attacking the problem of keeping software documentation up-to-date and synchronized with the source code [2, 3, 4]. While it is tremendously beneficial to run an SVG graph visualization tool [5, 6] with the same behavior within a Web browser, a spreadsheet as well as a user’s manual, it is difficult to leverage the cognitive support afforded by the underlying COTS product from within the embedded SVG application. For example, using operations seamlessly from both MS Excel and from an embedded SVG visualization engine is difficult to accomplish. This problem is greatly exacerbated when dealing with multiple COTS products. The goal of the Adoption-Centric Reverse Engineering (ACRE) project at the University of Victoria is to improve the adoption of reverse engineering tools in industry by building tools, such as software visualization engines, on top of COTS products [7]. In many ways, SVG is an ideal platform for this project, but it also has some limitations. This paper outlines some of the challenges, approaches and experiences hosting SVG applications in COTS products when the goal is to use both generic COTS functions and custom SVG functions seamlessly for live software documentation.


[1] W3C Recommendation. Scalable Vector Graphics (SVG) 1.0 Specification, September 2001, http://www.w3.org/TR/SVG/
[2] Weber, A., Kienle, H., Müller, H. 2002."Live Documents with Contextual, Data-Driven Information Components," Proc. of SIGDOC 2002, Toronto, Canada, Oct. 20-23, 2002
[3] K. Wong, H.A. Müller, and M.A. Storey, "Structural Redocumentation: A Case Study," IEEE Software, pp. 46-54, January 1995.
[4] Kenny Wong, "The Reverse Engineering Notebook," Ph.D. Thesis, Department of Computer Science, University of Victoria, 1999.
[5] H. Kienle, A. Weber, H.A. Müller. "Leveraging SVG in the Rigi Reverse Engineering Tool," Proceedings SVG Open Developers Conference, Zürich, Switzerland, July 15-17, 2002.
[6] H.A. Müller and K. Klashinsky. "Rigi—A System for Programming–in–the–large," In Proceedings of the 10th IEEE International Conference on Software Engineering, pp. 80-86, 1988.
[7] ACRE Web site, http://www.acse.cs.uvic.ca/