Other objects and advantages of the invention will become apparent to those skilled in the relevant art(s) upon reading the following detailed description of preferred embodiments, in conjunction with the accompanying drawings, in which like reference numerals have been used to designate like elements, and in which:
Thus, by using application development data to instantiate support information, the systems and methods, as disclosed herein, can ensure that all fault notification points encoded in applications by development engineers are documented and included in monitoring and support processes. In this way, support engineers can be alleviated from having to respond to end-users about notification points, for which they have no knowledge or documentation, and can also ensure that up-to-date triggering information is available for accurate determination of fault notification points. Exemplary embodiments can automatically generate meta data during the software application build process to improve subsequent monitoring and support processes. The explanation will be by way of exemplary embodiments to which the present invention is not limited.
Exemplary environment 100 includes means, such as meta data tool 110, for automatically detecting, during compilation of application source code, marked text strings describing fault notification points, extracting support information from each marked text string, and generating meta data linking the extracted support information with the corresponding fault notification points using unique identifiers. For example, in the embodiment of
Thus, the meta data tool 110 is configured as a recognizer tool for parsing out portions of source code, which are identified using a predetermined marking mechanism and which describe error messages, or fault notification points. Various, readily available, external tools can be configured to read source code comments (e.g., existing tools can be used to generate API documentation in HTML format from comments in the source code). An example of an external tool configured to read source code comments is described in U.S. Pat. No. 7,024,365, assigned to Hewlett-Packard Development Company, L.P. (Koff et al.), which is herein incorporated by reference in its entirety. The tool described in the '365 patent can extract marked localizable text strings of source code on which an internationalization tool can be run.
Similarly, the meta data tool 110 is configured to automatically extract support information from each marked text string in the source code describing fault notification points. The support information for each marked text string can include fault notification point text, such as the text of the error message that will be displayed to an end user when the fault notification point is triggered during run time. The support information can also include the context, or conditions, that produced the fault, as well as actions the end user can take to remedy the fault. An exemplary error message and exemplary support information, including context and remedy information, are shown below.
Further, the meta data tool 110 is configured to generate meta data 115 linking the extracted support information with the corresponding fault notification points using unique identifiers. For example, the meta data 115 can be used to express a relationship between a unique numerical identifier for a fault notification point (e.g., “123” for the example shown in
Exemplary environment 100 further includes means, such as support document tool 125, for creating support documents 145 based on the meta data 115. For example, support document tool 125 can be used to generate web-based support pages accessible by support engineers 120 and end users 135, if desired, via a communications network 150. Optionally, a search engine can be used in conjunction with the web-based support pages to facilitate the searching of the support documents for specific fault notification points. Further, in an exemplary implementation, the support document tool 125 can be configured to enable the support engineers 120 to augment the support pages 145 with additional support information after the documents have been created. For example, the support engineers 120 might identify common causes or configurations that are most likely to generate a specified error message. Additionally, they might find that there is a “work around” that prevents the error message, while not actually solving the original problem causing the fault. These causes, configurations, and work arounds found in the field can be used to augment the support documentation, which then becomes a growing body of knowledge related to the specific problem/fault.
In an exemplary implementation, environment 100 includes means, such as configuration file tool 130, for processing the meta data 115 to automatically generate trigger definitions specifying contexts that produce the fault notification points during run time of the application. For example, the trigger definitions can be implemented as configuration files that control a monitoring program, such as monitoring tool 140, which monitors the application for fault notification points during execution, or run time. In other words, the configuration files can specify when the monitoring tool 140 should detect that one of the notification points has arisen. In this way, the configuration file tool 130 can automatically create trigger definitions using the support knowledge base generated by the meta data tool 110, upon compilation of the source code, to eliminate the need for manual trigger definition creation by development engineers during product development.
In an exemplary implementation, environment 100 includes means, such as monitoring tool 140, for monitoring the application during run time to detect the fault notification points in accordance with the trigger definitions. For example, the monitoring tool 140 can be configured to alert the end users 135 when fault notification points occur so that the end users 135 can obtain support information to remedy the faults.
In another exemplary implementation, environment 100 includes means, such as support documents database 145, for providing support information corresponding to the detected fault notification points using support documents created based on the meta data 115 generated during compilation of application source code. In the embodiment of
In step 205, an application is monitored during run time to detect fault notification points in accordance with trigger definitions specifying contexts that produce the fault notification points. For example, the monitoring tool 140, shown in the embodiment of
In step 210, support information corresponding to the detected fault notification points is provided using support documents created based on meta data generated during compilation of application source code. In an exemplary embodiment, the meta data is generated by automatically detecting marked text strings in the application source code that describe the fault notification points and extracting support information from each marked text string that corresponds to the fault notification points. In another exemplary embodiment, the trigger definitions are automatically generated by processing the meta data. Optionally, in step 210, an XML file comprising the meta data can be generated.
For example, the support engineers 120, shown in the embodiment of
In an exemplary implementation, the meta data tool 110, shown in the embodiment of
In step 305, text strings are identified in application source code that describe fault notification points. The text strings can include support information pertaining to the fault notification points. For example, during development of the application source code, the development engineers 105, shown in the embodiment of
In step 310, the support information is automatically extracted from each identified text string during compilation of the application source code. For example, meta data tool 110, shown in the embodiment of
In step 315, meta data is generated linking the extracted support information with the corresponding fault notification points using unique identifiers. For example, meta data tool 110, shown in the embodiment of
In step 320 support documents are created based on the meta data. For example, support document tool 125, shown in
In one implementation, the method 300 includes step 325. In step 325, the meta data is processed to automatically generate trigger definitions specifying contexts that produce the fault notification points during run time. For example, configuration file tool 130, shown in the embodiment of
In one implementation, the method 300 includes step 330. In step 330, the application is monitored during run time to detect the fault notification points in accordance with the trigger definitions. For example, the monitoring tool 140, shown in
In one implementation, the method 300 includes step 335. In step 335, support information is provided corresponding to the detected fault notification points based on the support documents. For example, the support engineers 120, shown in embodiment of
The present invention has been described with reference to several exemplary embodiments, however, it will be readily apparent to persons of skill in the relevant art(s) that it is possible to embody the invention in specific forms other than those of the exemplary embodiments described above. This may be done without departing from the spirit of the invention. These exemplary embodiments are merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents which fall within the range of the claims are intended to be embraced therein.