CS 4330 PROJECT DESCRIPTION

ISVis Productization


 

ISVis

ISVis is a software tool developed to help designers better understand existing software systems. The ISVis home page can be found here.  Available at this site are binary and source distributions, a bug list, a user's guide, a tutorial, a Macromedia movie, a glossy brochure, a collection of technical papers, and a list of dependencies. ISVis has been released to the DARPA community. It is the purpose of this project to further productize ISVis for general public release.
 

Features

The following is an initial list of enhancements and adaptations for ISVis. The term feature will be used generically to describe them all.
  • Adaptations
  • Port to HP UNIX
  • Port to Solaris 2.7
  • Port to Windows NT
  • Port to GCC compiler
  • Replace RogueWave library with Standard Template Library plus persistence
  • Replace Motif dependency with fox/amulet/sltk, etc.
  • User Interface
  • Replace text entry area with dialog boxes
  • Improve overall usability
  • Explore use of tree view for component management
  • Add extra visualizations (e.g. static call graph)
  • Enhancements
  • Interface ISVis to Balboa
  • Add ability to model concurrent programs
  • Generalize instrumentation mechanism
  • Handle multiple event traces (union, intersection, difference)
  • Add more Message Sequence Chart features
  • General
  • Bug fixes
  • Scale ISVis to deal with larger event traces
  • Improve error trapping
  • Develop regression test suite
  • Provide ACME import
  • Process

    To deal with a program of this size, with this many features in a class this large requires an explicit but flexible process. The following is a list of possible process activities for this project.
  • Coordination
  • Status tracking and reporting
  • Scheduling
  • Resource allocation
  • Risk management
  • Coordination
  • Marketing
  • Requirements
  • Domain modeling
  • Functional
  • Non-functional
  • Goal hierarchy
  • Scenarios
  • Specification
  • APIs (Balboa, ACME, ACMEServer, Motif, RogueWave, static analyzer, instrumenter)
  • Design
  • Architecture
  • UML
  • Patterns
  • Frameworks
  • TMK
  • User interface
  • Testing
  • Usability
  • Regression
  • Unit
  • Acceptance
  • Integration
  • Scripting
  • Reliability
  • Implementation
  • Refactoring
  • Debugging
  • Inspections
  • Reverse engineering/program understanding
  • Style
  • Performance
  • Metrics
  • Source control
  • Installation
  • Documentation
  • JavaDoc equivalent?
  • Bug tracking
  • Release notes
  • Web page/SWICKI
  • Tutorial
  • Movie
  • Other
  • Feature primes
  • Module primes
  •  Tools

     The project requires the use of a variety of tools. The following is an initial list of candidates for consideration.
  • Commercial tools
  • Solaris C/C++ compiler and debugger
  • Rational Rose
  • Sniff++
  • Purify
  • xSuds
  • Simple objects
  • Panorama
  • Public tools
  • g++/egcs
  • SCCS/RCS/CVS
  • cflow
  • cxref
  • Exuberant ctags
  • MORALE tools
  • Dowser
  • ISVis
  • MORPH
  • ScenIC View
  • SAAMPad
  • REMORA
  • SIRRINE
  • VisEd
  • Research tools
  • Graphlet
  • VCG
  • RMTool
  • Gen++
  • Rigi
  • Waterloo