CA Labs and NSERC CRD Project
“Logging, Monitoring and Diagnosis Systems for Enterprise Software Applications”
Kostas Kontogiannis, U. Waterloo / NTUA
John Mylopoulos, U. Trento
Hausi Muller, U. Victoria
Kenny Wong, U. Alberta
To support more business initiatives than ever before, companies integrate diverse sets of applications into mission-critical enterprise systems. The scale and complexity of these systems creates unprecedented development, configuration, support, and management challenges. Even with the best intentions during system development, unforeseen problems may still occur in an integrated production system. To obtain a successful running system that achieves defined quality goals, such as availability and performance, the timely detection and resolution of failures is needed. Thus, effective diagnosis capabilities in application software, systematic and preventative practices in the support organization, and incremental migration toward self-healing systems are essential and strategic objectives. The goal of this research is to investigate concepts, methods, techniques, technologies, and tools to assess, evaluate, and evolve the logging and diagnosis capabilities of enterprise management applications. Our project focuses on the logging and diagnosis capabilities and failure scenarios of selected CA Inc. applications. To extract the required information to assess these capabilities, we will develop methods and tools based on our extensive experience in software reverse engineering (e.g., is there sufficient information collected in logs to diagnose a specific potential problem). To evolve the diagnosis capabilities of existing applications, we will develop techniques based on our software migration expertise (e.g., incremental insertion of sensory and diagnosis capabilities). To improve failure detection and recovery, we will explore techniques based on our autonomic computing experience to inject self-managing capabilities (i.e., monitoring and self-healing) and automate selected logging and diagnosis processes (e.g., sense the environment of the enterprise application and verify that the initialization and configuration parameters of the application are still valid).