Evolution diagrams for debugging distributed embedded software applications
First Claim
1. A method for debugging a distributed software system that includes first and second components and a coordinator that implements a desired interaction between the first and second components;
- each component and the said coordinator including coordination interfaces that expose events, and the debugging method comprising the steps of;
creating an event record in response to each exposed event that occurs during an execution of the distributed software system, each event record including identification of a component that generated the event and a local time stamp;
accumulating the event records into an event database; and
then displaying an evolution diagram for use by a developer in debugging the distributed software system, the evolution diagram including a graphical representation of at least a selected portion of the event database.
3 Assignments
0 Petitions
Accused Products
Abstract
Software development methods and tools are described to generate visual representations of a system'"'"'s behavior over time, called “evolution diagrams,” to aid in debugging concurrent software systems. The diagrams take advantage of the exposure provided by coordination interfaces to present more complete views of system executions, explicitly showing events, message traffic between components, etc. The display is presented at a user-selectable hierarchical level of the system design, thus enabling a programmer to work at a design layer where the problem or its effect is easily recognized.
109 Citations
30 Claims
-
1. A method for debugging a distributed software system that includes first and second components and a coordinator that implements a desired interaction between the first and second components;
- each component and the said coordinator including coordination interfaces that expose events, and the debugging method comprising the steps of;
creating an event record in response to each exposed event that occurs during an execution of the distributed software system, each event record including identification of a component that generated the event and a local time stamp;
accumulating the event records into an event database; and
thendisplaying an evolution diagram for use by a developer in debugging the distributed software system, the evolution diagram including a graphical representation of at least a selected portion of the event database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- each component and the said coordinator including coordination interfaces that expose events, and the debugging method comprising the steps of;
-
10. A visual display for use by a developer in debugging a distributed or concurrent software system, the visual display comprising an evolution diagram responsive to a predetermined set of event records generated during an execution of the subject software system;
- each event record reflecting a corresponding software system event.
- View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
20. A method for debugging a distributed, hierarchical software system that includes a plurality of design levels, each design level comprising two or more components and a coordinator that implements desired interaction between the said components;
- each component and the coordinators with which it interacts including respective complementary coordination interfaces that expose events, and the debugging method comprising the steps of;
creating an event record in response to each exposed event that occurs during an execution of the distributed software system, each event record including identification of a component that generated the event and a local time stamp;
accumulating the event records into an event database;
partially ordering the event database based on the time stamps; and
thendisplaying an evolution diagram for use by a developer in debugging the distributed software system, the evolution diagram including a graphical representation of at least a selected portion of the event database. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
- each component and the coordinators with which it interacts including respective complementary coordination interfaces that expose events, and the debugging method comprising the steps of;
Specification