Behavioral abstractions for debugging coordination-centric software designs
First Claim
1. A method for debugging a software system, the software system having a first and second software component and a first coordinator for implementing a predetermined coordination protocol, each of the first and second components connected to the coordinator by a respective pair of complimentary coordination interfaces, the method comprising:
- generating a record of software system events, each event record within the record of system events representing an inter-component control or dataflow interaction;
creating a behavioral template based on a predetermined behavior of the software system;
identifying an occurrence of the predetermined behavior within the record of software system events, based on the behavioral template.
2 Assignments
0 Petitions
Accused Products
Abstract
A behavioral abstraction is, in an abstract sense, a generalization of an event cluster. Behavioral abstraction is a technique where a predetermined behavioral sequence is automatically recognized by the simulator in a concurrent stream of system events. A behavioral sequence is at its most basic level a partial order of events. However, the events considered in a behavioral sequence are subject to configuration-based filtering and clustering. This allows a designer to create a model for a particular behavior and then set up a tool to find instances of the particular behavior in an execution trace. Behavior models are representations of partially ordered event sequences and can include events from several components.
104 Citations
30 Claims
-
1. A method for debugging a software system, the software system having a first and second software component and a first coordinator for implementing a predetermined coordination protocol, each of the first and second components connected to the coordinator by a respective pair of complimentary coordination interfaces, the method comprising:
-
generating a record of software system events, each event record within the record of system events representing an inter-component control or dataflow interaction;
creating a behavioral template based on a predetermined behavior of the software system;
identifying an occurrence of the predetermined behavior within the record of software system events, based on the behavioral template. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for transforming a visual prototype into a behavioral expressions comprising:
-
creating an event causality graph for the visual prototype removing any causally redundant edges in the event causality graph;
creating a cluster representing any concurrent nodes that progress forward together in time. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A behavioral analysis method for use with a space/time diagram comprising:
-
evaluating all system events from a record of system events one event at a time while maintaining causal relationships between system events; and
analyzing the evaluated system events in order to find a predetermined system behavior. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A software system design tool comprising:
-
a simulator for simulating an execution of the software system;
a template tool for creating a behavioral template based on a predetermined behavior of the software system;
a debugging tool for identifying an instance of the predetermined behavior of the software system from a simulated execution of the software system based on the behavioral template. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A software design tool for use in a coordination-centric design environment comprising:
an automaton that analyzes system events and determines causal relationships between system events in order to identify a predetermined system behavior. - View Dependent Claims (25, 26, 27, 28, 29, 30)
Specification