1. A method in a data processing system for managing a program, the method comprising: monitoring operation of the program; comparing an observed operation of the program with an expected operation of the program to form a comparison; determining whether an error has occurred based on the comparison; responsive to an occurrence of the error, obtaining a solution for the error; and implementing the solution when the solution is obtained.