Download CS501 VOTE: Visual Object Tracing Engine

Transcript
System Architecture
Preprocessor
Substitution
Engine
LogFile
C++
LogParser
Renderer
Configuration
Interpreter
As highlighted in the first project proposal, the software architecture of VOTE consists of five
subsystems. The above diagram depicts the subsystems and their high-level interconnections.
1.
Preprocessor and Substitution Engine: This collects the names of all the methods declared in a
class. We use the regular expression functionality of Tcl in our approach to parse method
declarations. To do this we call the Tcl Interpreter within our C/C++ code. The preprocessor
also parses and replaces the method declaration line, inserting an AutoLog object declaration
immediately afterward in the body of the routine.
2.
Configuration Interpreter: Sets up the configurations of the tool so that it "knows" how to
rebuild the project and run it. This is done through a GUI dialog box, where the user is asked
for the commands to accomplish this. We also require the command to run the project,
because the log file is produced at run time.
3.
Log File: A log-file format has been defined. This log-file is written to by AutoLog objects as
the system executes.
4.
Log File Parser: This parser reads in the log-file and synthesizes the log-file information into
a series of events. This information is made available to the MSC renderer through a simple
iterator interface.
5.
Rendering Engine: The rendering engine queries the log-file parser for event information and
draws with the canvas widget of Tcl/Tk.
6.
In addition, our system has a GUI subsystem.
In the following sections we offer a detailed introduction to each of the modules presented above. For each
section, we offer some architecture diagrams, class diagrams, and flow diagrams. The interfaces supported
of key classes are also introduced.
5