An Expert System 10 for providing diagnostics to a data communications network 5. Alarms from a Network Manager 24 are received and queued by an Event Manager 117 and then filtered by an Alarm Filter 118 to remove redundant alarms. Alarms which are ready for processing are then posted to a queue referred to as a Bulletin Board 120. A Controller 112 determines which one of the posted goals has the highest priority by considering a priority number associated with the goal plus a time of arrival of the goal. An Inference Engine 122 uses information from an Expert Information Structure 111 to solve the highest priority goal by a process called instantiation. The process of solving the goal may be interrupted by a pause or suspension in order to perform tests under the direction of a Network Test Manager 124 or retrieve other information during which time other goals may be processed. Expert information is entered using a user friendly User Interface 104 which reduces need for the participation of a Knowledge Engineer. Configuration information about the network is maintained in a Network Structure Knowledge Base 109 by a Network Configuration Module 108. The Expert System 10 may operate in any of three modes: manual, wherein tests must be approved by or directed by an operator; automatic, where the tests are run automatically without operator intervention; and semiautomatic, where operator approval is required for certain tests such as interruptive tests and other tests such as non-interruptive tests may proceed without operator intervention.