Method for using a graphical debugging tool
First Claim
1. A computer-implemented method comprising:
- providing a graphical debugger that interfaces with;
a model view of a model being executed by an execution engine, where said model comprises a block that includes a plurality of block methods, where said block methods perform operations on behalf of said block when said block methods execute and said block is an owner of said block methods performed on behalf of said block, anda block method execution list view of block methods called during execution of said model, where said model view and block method execution list view are simultaneously displayed using a display device;
sending debug information from said execution engine to said graphical debugger, where said debug information is related to said execution of said model;
indicating an order of execution of at least a subset of said plurality of block methods for said block that are executed during said execution of said model, said indicating performed using said debug information;
sending, using said graphical debugger, information to said execution engine, said information for controlling said execution of said model;
outputting said debug information to a user by simultaneously displaying said model view and said block method execution list and visually indicating a currently executing method in said block method execution list view; and
altering said model view to visually indicate the owner of said currently executing method.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of exposing debugging information in a graphical modeling and execution environment is disclosed. The present invention allows a user to view debugging information in the same window as the graphical view of the model being executed. Debugging data is associated with relevant components of the model displayed in the graphical view. A separate execution list view shows the methods called during the execution of the block diagram in the current time step up until the current point in execution. User-set breakpoints and conditional breakpoints may be set in both the model view and the execution list view. Values may be obtained for all of the displayed methods. The debugging tool may be implemented by using it in conjunction with a graphical modeling and execution environment, such as a block diagram environment or state diagram environment.
105 Citations
71 Claims
-
1. A computer-implemented method comprising:
-
providing a graphical debugger that interfaces with; a model view of a model being executed by an execution engine, where said model comprises a block that includes a plurality of block methods, where said block methods perform operations on behalf of said block when said block methods execute and said block is an owner of said block methods performed on behalf of said block, and a block method execution list view of block methods called during execution of said model, where said model view and block method execution list view are simultaneously displayed using a display device; sending debug information from said execution engine to said graphical debugger, where said debug information is related to said execution of said model; indicating an order of execution of at least a subset of said plurality of block methods for said block that are executed during said execution of said model, said indicating performed using said debug information; sending, using said graphical debugger, information to said execution engine, said information for controlling said execution of said model; outputting said debug information to a user by simultaneously displaying said model view and said block method execution list and visually indicating a currently executing method in said block method execution list view; and altering said model view to visually indicate the owner of said currently executing method. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A medium for use in a modeling and execution environment on an electronic device, said medium holding executable instructions on the electronic device for performing an execution method, said method comprising the steps of:
-
providing a graphical debugger that interfaces with; a model view of a model being executed by an execution engine, where said model comprises a block that includes a plurality of block methods, where said block methods perform operations on behalf of said block when said block methods execute and said block is an owner of said block methods performed on behalf of said block, and a block method execution list view of block methods called during an execution of the model, where said model view and block method execution list view are simultaneously displayed using a display device; sending debug information from said execution engine to said graphical debugger, where said debug information is related to said execution of said model; indicating an order of execution of at least a subset of said plurality of block methods executed during the execution of said model, said indicating performed using said debug information; sending, using said graphical debugger, information to said execution engine, said information for controlling said execution of said model; outputting said debug information to a user by simultaneously displaying said model view and the block method execution list and visually indicating a currently executing method in said block execution list view; and altering said model view to visually indicate the owner of said currently executing method. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A computer-implemented method, comprising:
-
providing a computer-based modeling application that executes a model comprising blocks, each block having a sample time and including a plurality of block methods, where said block methods perform operations on behalf of the block when said block methods execute; determining whether the modeling application should execute the model in a single task simulation loop or a multi-task simulation loop, wherein said model is executed in said single task simulation loop if said model is a single rate system wherein said sample time for each of said blocks is the same and said model is executed in said multi-task simulation loop if said model is a multi-rate system wherein at least one sample time for at least one of said blocks is different from at least one sample time for another one of said blocks; executing said model using said single task simulation loop or said multi-task simulation loop; identifying a first block method operating in a first environment of said computer-based modeling application, where the first environment is one of a text-based environment, a time-based block diagram, a state based block diagram, or a data-flow diagram, where said identifying is performed, using debug information related to said execution of said model, by a graphical debugger that is interfaced with the first environment and the second environment while the computer-based model operates on behalf of a user; identifying, using said graphical debugger, a second block method operating in a second environment, where the second environment differs from the first environment; debugging the first block method and the second block method with said debugger; and generating, using said graphical debugger, output information for the user or for a destination, the output information identifying when the first block method or the second block method are operating, identifying an operation performed by the first block method or the second block method at a determined location in the first block method or the second block method, or identifying an error related to the first execution method or the second block method during execution of the computer-based model. - View Dependent Claims (51, 52, 53, 54, 55)
-
-
56. A computer-implemented method, comprising:
-
receiving information about a first block method and a second block method on behalf of a graphical model comprising blocks, each block in the graphical model including a plurality of block methods, said block methods performing operations on behalf of a corresponding bock when said block methods execute, and said corresponding block being an owner of said block methods performed on behalf of said corresponding block, where at least one of the blocks includes the first block method and at least one other block method or the second block method and the at least one other block method; identifying, using an execution engine, at least a portion of the first block method or the second block method when the first block method or the second block method are running, respectively; obtaining information about the running of the first block method or the second block method using the identifying; providing debugging information to a user via a display or providing debugging information to a destination device, the debugging information provided by a debugger that interfaces with the graphical model and a list of block methods called during simulation of the graphical model, where said graphical model and said list of block methods are simultaneously displayed using a display device, the debugging information identifying the first block method or the second block method and information about the first block method or the second block method, respectively; sending, using said debugger, information to said execution engine, said information for controlling said simulation of said graphical model; and altering a model view of said graphical model to visually indicate the owner of either the first block method or the second block method.
-
-
57. A computer-implemented method, comprising:
-
identifying a first root method comprising one or more child methods, the first root method related to a graphical modeling application; identifying a second root method related to the graphical modeling application, wherein the first root method and the second root method are related to one or more blocks in a model in the graphical modeling application, each block in said model including a plurality of block methods, said block methods performing operations on behalf of a corresponding block when said block methods execute, and said corresponding block being an owner of said block methods performed on behalf of said corresponding block; running the first root method and the second root method in a graphical debugger to obtain information about the operation of the first root method or the second root method, the graphical debugger interfaced with a method list of block methods called during simulation of a model in the graphical modeling application and a model view of said model in the graphical modeling application, where said model view and method list are simultaneously displayed using a display device and said simulation is carried out by an execution engine; sending, using said graphical debugger, information to said execution engine, said information for controlling said execution of said model; and displaying a debugging result to a destination, the debugging result comprising visual identifiers related to the owner of said first root method, the one or more child methods or the second root method, and the operation of the first Toot method, the one or more child methods or the second root method, error information about the first root method, the one or more child methods or the second root method, an execution result for the first root method, the one or more child methods or the second root method, or status information related to the first root method, the one or more child methods or the second root method.
-
-
58. A computer-implemented method for implementing a user interface for debugging a graphical model, the method comprising:
-
providing a computer-based modeling application that executes said graphical model, said graphical model comprising blocks, each block having a sample time and including a plurality of block methods, where said block methods perform operations on behalf of the block when said block methods execute; determining whether the modeling application should execute said graphical model in a single task simulation loop or a multi-task simulation loop, wherein said graphical model is executed in said single task simulation loop if said graphical model is a single rate system wherein said sample time for each of said blocks is the same and said graphical model is executed in said multi-task simulation loop if said model is a multi-rate system wherein at least one sample time for at least one of said blocks is different from at least one sample time for another one of said blocks; executing said graphical model using said single task simulation loop or said multi-task simulation loop; displaying a hierarchy comprising information about a first root method, one or more child methods related to the first root method, or a second root method, the hierarchy displaying information about the first root method, the one or more child methods, or the second root method in an arrangement representing a relationship among the first root method, the one or more child methods, or the second root method; and displaying an indicator on the hierarchy proximate to the first root method, the one or more child methods, or the second root method, the indicator denoting a status of the first root method, the one or more child methods, or the second root method, where the status indicates whether the first root method, the one or more child methods, or the second root method are operating according to determined parameters, the determination of whether the first root method, the one or more child methods, or the second root method are operating according to determined parameters made by a debugger that interfaces with a method list of block methods called during simulation of the graphical model and a model view of the graphical model. - View Dependent Claims (59, 60, 61, 62)
-
-
63. A method for debugging operation of a graphical icon, the method comprising:
-
providing a computer-based modeling application that executes said graphical icon, said graphical icon comprising blocks, each block having a sample time and including a plurality of block methods, where said block methods perform operations on behalf of the block when said block methods execute; determining whether the modeling application should execute the graphical icon in a single task simulation loop or a multi-task simulation loop, wherein said graphical icon is executed in said single task simulation loop if said graphical icon represents a single rate system wherein said sample time for each of said blocks is the same and said graphical icon is executed in said multi-task simulation loop if said graphical icon represents a multi-rate system wherein at least one sample time for at least one of said blocks is different from at least one sample time for another one of said blocks; executing said graphical icon using said single task simulation loop or said multi-task simulation loop; identifying a plurality of block methods for the graphical icon using a plurality of regions related to the graphical icon; displaying information about a first one of the plurality of block methods in a first one of the plurality of regions or information about a second one of the plurality of block methods in a second one of the plurality of regions; and associating the information in the first one of the plurality of regions or information in the second one of the plurality of regions with a graphical debugger to provide a user with debugging results for the first one of the plurality of block methods or the second one of the plurality of block methods, the debugging results allowing the user to identify desirable operations performed on behalf of the graphical icon or undesirable operations performed on behalf of the graphical icon, the graphical debugger interfacing with a view of the graphical icon and an execution methods list of block methods performed on behalf of the graphical icon. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70, 71)
-
Specification