A computer application that can carry out the same problem-solving functions as a human expert in a particular area, for example, financial forecasts or medical diagnostics. Human expert knowledge in the area is collected and used as a base, with rules for solving relevant problems. The system is designed by studying how human experts make decisions and translating their methods into the software. The application may be interactive, such that the user is asked to clarify the problem.