Design patterns for software health monitoring
16 June 2005
The benefits of monitoring the internal health of complex systems are recognized in mature engineering disciplines. Such monitoring helps maintain the operational reliability and availability of the system. Recently, research has begun to address the notion of health of complex software systems and its monitoring. This paper outlines a three-layer software health monitoring architecture and presents a collection of design patterns for the bottom two layers of the architecture. The patterns can be implemented with aspect-oriented technologies, which increase system modularity and facilitates retrofitting of monitoring capability onto existing systems. The application of the patterns to a control program of a small telephone exchange is described and the results of its general assessment are summarized.