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