Towards automatic monitoring of component-based software systems

  • Authors:
  • Mohammad Zulkernine;Rudolph Seviora

  • Affiliations:
  • School of Computing, Queen's University, Kingston, Ont., Canada K7L 3N6 and Bell Canada Software Reliability Laboratory, Department of Electrical and Computer Engineering, University of Waterloo, ...;Bell Canada Software Reliability Laboratory, Department of Electrical and Computer Engineering, University of Waterloo, 200 University Avenue West, Waterloo, Ont., Canada N2L 3G1

  • Venue:
  • Journal of Systems and Software - Special issue: Automated component-based software engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The quality of software components is very important for the overall service quality of the component-based software systems. Several factors make exhaustive testing of components very difficult. Furthermore, the behavioral correctness of each independently produced component does not guarantee the behavioral correctness of the composed software system. Experience shows that there are faults in components which elude the testing effort and do not surface until the system is operating. In this paper, a specification-based software monitor is presented which can be used for detecting certain kinds of errors and failures of a component as well as the whole system while the system is operating. The behavior of each component is assumed to be specified in a formalism based on communicating finite state machines with addressing variables, and inter-component communications are achieved via asynchronous message passing. The monitor passively observes the external input/output and receives partial state information of the target system or component. These are used to interpret the specification. The approach is compositional as it achieves global monitoring by analyzing the behavior of the components of a system individually, and then combining the results obtained from the independent component analyses. The paper describes the architecture and operations of the monitor and includes illustrative examples. Techniques for dealing with non-determinism and concurrency issues in monitoring a concurrent component-based system are also discussed.