An apparatus, system, and method are provided for developing failure
prediction software for a storage system. The present invention allows a
user to edit and revise a failure prediction algorithm that includes
fuzzy logic rules. The failure prediction algorithm is generated in a
human readable format and uses terms and operators familiar to experts in
the field of storage systems. In addition, the present invention
generates the machine-readable code necessary to implement or test a
draft failure prediction algorithm. If the results of the failure
prediction algorithm are unsatisfactory, the user may revise the failure
prediction algorithm and re-run the tests until the results correspond to
expected results. In addition, the present invention includes a
performance monitor, processor, and determination module. The performance
monitor gathers performance data for a storage system. The processor
executes the failure prediction algorithm on the performance data to
produce a result. The determination module selectively forecasts failure
of one or more components of the storage system in response to the
result.