Apparatus for and method of displaying running of modeled system designs
First Claim
1. A method of animating a system having parallel processes for the purpose of debugging the system, the system being modeled as a hierarchical collection of directed process execution graphs, said graphs representing sub-models of the system and having collections of nodes and arcs, and the parallel processes as transactions, the nodes indicating manipulation of physical or logic resources or other process steps in a transaction'"'"'s life, and the arcs indicating paths along which transactions may flow from one node to another;
- the method comprising the steps of;
(a) executing a computer process having parallel execution threads representing parallel processes in a system;
(b) selecting one of the execution threads for animation of preselected events during the execution thread, the execution thread being represented by a transaction in a model of the system, the model including one or more hierarchial directed process execution graphs representing one or more sub-models of the system;
(c) animating the selected execution thread on a user'"'"'s display screen by displaying a graph in which the transaction is located, moving a symbol on the displayed graph representing the single transaction along arcs connecting nodes to which the transaction flows, and terminating animation of the selected execution thread when the transaction is blocked by the occurrence of a predefined event;
(d) displaying user-defined inspection data on said user'"'"'s display screen, wherein said inspection data comprises user-selected program operating parameters from user-selected nodes; and
(e) selecting a next transaction representing another of the parallel execution threads for animation and animating the next transaction until it blocks.
11 Assignments
0 Petitions
Accused Products
Abstract
A graphical, interactive debugger for a computer-based discrete-event simulation model of systems having parallel processes includes a run-time graphic user interface module in which predefined events of the executing simulation model are animated, and a run-time interface simulator module for controlling execution of the simulation model based on commands from the graphical user interface. The model and the animation are based on hierarchical directed process execution graphs in which a transaction represents one of several processes executing in parallel within the system modeled with the graphs. One transaction at a time is shown moving between nodes in one of the graphs. The animation follows the transaction as it moves between sub-models represented by each graph, switching to other graphs as needed. Once the transaction is blocked, the next transaction is displayed in context of the appropriate graph and followed until it is blocked. The screen on which animation is presented is divided into two areas. One provides the animation, the other displays the text of trace messages generated by the executing simulation model and on which the animation is based. The animation may be selectively limited to user-specified events, transactions or sub-models, providing detailed probing of the model for purposes of debugging.
120 Citations
7 Claims
-
1. A method of animating a system having parallel processes for the purpose of debugging the system, the system being modeled as a hierarchical collection of directed process execution graphs, said graphs representing sub-models of the system and having collections of nodes and arcs, and the parallel processes as transactions, the nodes indicating manipulation of physical or logic resources or other process steps in a transaction'"'"'s life, and the arcs indicating paths along which transactions may flow from one node to another;
- the method comprising the steps of;
(a) executing a computer process having parallel execution threads representing parallel processes in a system; (b) selecting one of the execution threads for animation of preselected events during the execution thread, the execution thread being represented by a transaction in a model of the system, the model including one or more hierarchial directed process execution graphs representing one or more sub-models of the system; (c) animating the selected execution thread on a user'"'"'s display screen by displaying a graph in which the transaction is located, moving a symbol on the displayed graph representing the single transaction along arcs connecting nodes to which the transaction flows, and terminating animation of the selected execution thread when the transaction is blocked by the occurrence of a predefined event; (d) displaying user-defined inspection data on said user'"'"'s display screen, wherein said inspection data comprises user-selected program operating parameters from user-selected nodes; and (e) selecting a next transaction representing another of the parallel execution threads for animation and animating the next transaction until it blocks. - View Dependent Claims (2, 3, 4)
- the method comprising the steps of;
-
5. A discrete event simulator having a graphical debugging interface, the simulator having multiple execution threads in which only one thread is executed at a time, through one or more events, until an occurrence of a blocking event;
- the simulator being used to model systems having parallel processes, wherein the processes are modeled by transactions, with each transaction corresponding to one executing thread in the simulator, and the system is modeled with one or more hierarchical directed process execution graphs with nodes representing manipulation of resources or process step during a transaction'"'"'s life and arcs representing paths transactions take between nodes;
the simulator comprising;(a) means for carrying out a discrete event simulation process having multiple parallel transactions by execution of one transaction at a time until the transaction is blocked by an occurrence of a blocking event, the means for carrying out the discrete event simulation process including means for generating a stream of trace messages, the trace messages describing occurrences of preselected events during execution of a first transaction and a switching of the discrete event simulation process to a next transaction upon occurrence of a blocking event to the first transaction, wherein the means for carrying out a discrete event simulation includes means for controlling an execution of and changing a state of and displaying the state of the simulation process in response to commands received from a graphical user interface means; and (b) said graphical user interface means which is responsive to a flow of trace messages having; (1) a user viewing screen; (2) means for selecting one hierarchical directed process execution graph based on a trace message and causing to be displayed on the viewing screen a directed process execution graph in which events associated with an executing transaction take place; (3) means for sequentially animating with a symbol movement of an executing first transaction between nodes of the displayed graph in response to the trace messages; and (4) means for receiving commands from a user input and providing the commands to the means for carrying out a discrete event simulation, wherein the means for carrying out a discrete event simulation includes means for controlling the execution of and changing the state of and displaying the state of the simulation process in response to commands received from the graphical user interface. - View Dependent Claims (6, 7)
- the simulator being used to model systems having parallel processes, wherein the processes are modeled by transactions, with each transaction corresponding to one executing thread in the simulator, and the system is modeled with one or more hierarchical directed process execution graphs with nodes representing manipulation of resources or process step during a transaction'"'"'s life and arcs representing paths transactions take between nodes;
Specification