Monitoring and testing middleware based application software
First Claim
1. A method for on line monitoring the run-time behavior of middleware based, distributed application software, comprising:
- defining events capturing the run-time behavior of said distributed application software, said distributed application software having a plurality of distributed components running on a plurality of platforms, communication among said distributed components being enabled via middleware, said events being defined based on an abstraction of said distributed application software, said abstraction being provided by said middleware;
automatically generating, in response to said defined events, observation and validation code in said distributed application software, said observation and validation code being capable of generating traces of said defined events and sending said traces to an observer; and
sending, by said observation and validation code after detecting the occurrence of an event at run time of said distributed application software, a trace to said observer to report the occurrence of said detected event, wherein, said detected event being one of said defined events, and information, carried by said trace relating to said detected event, including the order of occurrence of said detected event and the location in said application software where said detected event occurs.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for on-line monitoring and testing the behavior of middleware based, distributed application software during run-time of such software is disclosed. In order to automatize the monitoring of the behavior of the application software, the monitoring method comprises: defining events capturing the behavior of the software execution, the events being based on an abstraction of the application software, the abstraction being provided by middleware; using code generating means and an instrumentation technique for automatically adding code to the implementation of the software code suitable for generating traces suitable to be sent to an observer, the information carried by the added code including information on the order of occurrence of the events and on the application software part location where each event occurs; and using a monitoring mechanism based on sending of trace reports to the observer, which ensures or takes into account the time order of the reported traces. In order to automatize testing of the behavior of the application software, the testing method comprises monitoring the behavior of the software during run-time thereof by the above mentioned method, and using a checking mechanism using the information monitored at runtime for checking whether the behavior is violating or has violated predefined properties or constraints.
188 Citations
16 Claims
-
1. A method for on line monitoring the run-time behavior of middleware based, distributed application software, comprising:
-
defining events capturing the run-time behavior of said distributed application software, said distributed application software having a plurality of distributed components running on a plurality of platforms, communication among said distributed components being enabled via middleware, said events being defined based on an abstraction of said distributed application software, said abstraction being provided by said middleware;
automatically generating, in response to said defined events, observation and validation code in said distributed application software, said observation and validation code being capable of generating traces of said defined events and sending said traces to an observer; and
sending, by said observation and validation code after detecting the occurrence of an event at run time of said distributed application software, a trace to said observer to report the occurrence of said detected event, wherein, said detected event being one of said defined events, and information, carried by said trace relating to said detected event, including the order of occurrence of said detected event and the location in said application software where said detected event occurs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
directly identifiable from said abstraction specified in terms of said middleware; and
defined using an interface definition language associated with said middleware.
-
-
6. The method according to claim 1, wherein said traces are asynchronously transmitted to said observer.
-
7. The method according to claim 1, wherein said traces sent to said observer are displayed by means of a graphical user interface, said traces being represented by a time line, a table or a graph.
-
8. The method according to claim 1, wherein said traces sent to said observer are stored for post-processing.
-
9. The method according to claim 1, wherein said order of the occurrence of said detected event reported to the observer is reconstructed according to one of a logical clock system, a synchronization protocol, and a distributed processing environment in which said distributed application software is executed.
-
10. A method for on-line testing the run-time behavior of middleware based, distributed application software, comprising:
-
monitoring the run-time behavior of said distributed application software by means of a method including;
defining events capturing the run-time behavior of said distributed application software, said distributed application software having a plurality of distributed components running on a plurality of platforms, communication among said distributed components being enabled via middleware, said events being defined based on an abstraction of said distributed application software, said abstraction being specified via said middleware, automatically generating, in response to said defined events, observation and validation code in said distributed application software, said observation and validation code being capable of generating traces of said defined events and sending said traces to an observer, and sending, by said observation and validation code after detecting the occurrence of an event at run time of said distributed application software, a trace to said observer to report the occurrence of said detected event, wherein, said detected event being one of said defined events, and information, carried by said trace relating to said detected event, including the order of occurrence of said detected event and the location in said application software where said detected event occurs; and
checking, by a checking mechanism, whether said run-time behavior observed through the occurrences of said defined events violates properties or constraints that are dynamically specified. - View Dependent Claims (11, 12, 13, 14, 15, 16)
being selected at run-time from said defined events so that the run-time behavior of said distributed application software is monitored through detecting the occurrence of said at least one defined event, or being either directly identifiable from said abstraction specified in terms of said middleware or defined using an interface definition language associated with said middleware.
-
-
12. The method according to claim 11, wherein said formal language allows the specification of temporal relations of said at least one defined event for the expression of properties.
-
13. The method according to claim 11, wherein said formal language allows the specification of relations between said at least one defined event of same or different types, said different types including application events, error events and breakpoints.
-
14. The method according to claim 11, wherein said formal language allows the specification of procedural dependencies.
-
15. The method according to claim 11, wherein said translation of properties is carried out automatically.
-
16. The method according to claim 11, wherein said expression of said properties are independent of the language used to implement any one of a single object, a set of objects, an entire system, a variable of an object, an interface, and a method.
Specification