Storing and querying execution information for object-oriented programs
First Claim
1. A method for storing and accessing information about the execution of one or more object-oriented programs executing on a computer system, comprising the steps of:
- a. executing one or more object-oriented programs on a central processing unit, each program having one or more objects, each object being an instance of a class, and one or more of the objects communicating with one another during the execution;
b. collecting one or more events to create an event stream, the event stream representing the communications between objects;
c. extracting information from the event stream using an execution model;
d. storing zero or more communication entries in a dictionary, each communication entry comprising a representation of a communication to one or more objects, where communications are extracted by the execution model; and
e. accessing information about the objects during execution by one or more queries that cause a client program to perform dictionary search with parameters that satisfy the query.
1 Assignment
0 Petitions
Accused Products
Abstract
During the execution of an object-oriented program, an execution model extracts information from events in an event stream to create a dictionary of (stored) "communication records." These communication records represent communications to or between objects. A client program permits a user to query the records of the dictionary to access information and gain a better understanding of the program'"'"'s execution. Different dictionary structures for storing information can be used to represent the communication records for these communications. Moreover, in alternative preferred embodiments, the dictionary can be arranged in various hierarchical structures. By providing different dictionary structures, the invention is flexible enough to accommodate many types of user queries.
57 Citations
16 Claims
-
1. A method for storing and accessing information about the execution of one or more object-oriented programs executing on a computer system, comprising the steps of:
-
a. executing one or more object-oriented programs on a central processing unit, each program having one or more objects, each object being an instance of a class, and one or more of the objects communicating with one another during the execution; b. collecting one or more events to create an event stream, the event stream representing the communications between objects; c. extracting information from the event stream using an execution model; d. storing zero or more communication entries in a dictionary, each communication entry comprising a representation of a communication to one or more objects, where communications are extracted by the execution model; and e. accessing information about the objects during execution by one or more queries that cause a client program to perform dictionary search with parameters that satisfy the query.
-
-
2. A computer system for storing and accessing information about the execution of one or more object-oriented programs, comprising:
-
a. a central processing unit executing one or more object-oriented programs, each program having one or more objects, each object being an instance of a class, and one or more of the objects communicating with one another during the execution; b. an event collector that collects one or more events to create an event stream, the event stream representing the communications between objects; c. an execution model that extracts information from the event stream; d. a dictionary in the execution model having zero or more communication entries, each communication entry comprising a representation of a communication to one or more objects, where communications are extracted by the execution model; and e. one or more queries that access the execution model to determine information about the objects during execution, the information being presented to a user. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system for storing and accessing information about the execution of one or more object-oriented programs, comprising
a. a central processing unit means for executing one or more object-oriented programs, each program having one or more object means, each object means being an instance of a class, and one or more of the object means communicating with one another during the execution; -
b. an event collector means for collecting one or more events to create an event stream, the event stream representing the communications between object means; c. an execution model means for extracting information from the event stream; d. a dictionary means, in the execution model means, having zero or more communication entries, each communication entry comprising a representation of a communication to one or more object means, where communications are extracted by the execution model means; and c. one or more query means for accessing the execution model means to determine information about the object means during execution, the information being presented to a user.
-
-
16. A computer system for storing and accessing information about the execution of one or more object-oriented programs, comprising:
-
a. a central processing unit executing one or more object-oriented programs, each program having one or more objects, each object being an instance of a class, and one or more of the objects communicating with one another during the execution; b. a memory; and c. a dictionary data structure stored on the memory, the dictionary data structure having zero or more communication entries, each communication entry representing one of the communications between objects.
-
Specification