As the enabling technologies of autonomic computing continue to advance, it is imperative for researchers to exchange the details of their proposed techniques for designing, developing, and validating autonomic systems. Many of the software engineering issues related to building dependable autonomic systems can only be revealed by studying detailed designs and prototype implementations. In this paper we present a reusable object-oriented design for developing self-testable autonomic software. Our design aims to reduce the effort required to develop autonomic systems that are capable of runtime testing. Furthermore, we provide lowlevel implementation details of a case study, Autonomic Job Scheduler (AJS), developed using the proposed design. Categories and Subject Descriptors D.2.4 [Software Engineering]: Software/Program Verification-- validation, reliability; D.2.10 [Software Engineering]: Design--Object-Oriented Design Methods General Terms Verification, Reliability, Design. Keyword...
Tariq M. King, Alain E. Ramirez, Peter J. Clarke,