one of the first commercially successful expert systems application domain configuration of minicomputer systems selection of components arrangement of components into modules and cases approach data-driven, forward chaining consists of about 10,000 rules written in OPS5 results quality of solutions similar to or better than human experts roughly ten times faster (2 vs. 25 minutes) estimated savings $25 million/year System Configuration complexity tens or hundreds of components that can be arranged in a multitude of ways in theory, an exponential problem in practice many solutions ``don't make sense'', but there is still a substantial number of possibilities components important properties of individual components stored in a data base constraints[-2ex] functional constraints derived from the functions a component performs e.g. CPU, memory, I/O controller, disks, tapes non-functional constraints such as spatial arrangement, power consumption, Knowledge Representation configuration space constructed incrementally by adding more and more components the correctness of a solution often can only be assessed after it is fully configured subtasks are identified to make the overall configuration space more manageable component knowledge retrieved from the external data base as needed control knowledge rules that govern the sequence in which subtasks are performed constraint knowledge rules that describe properties of partial configurations Example Component partial description of RK611* disk controller RK611* Class: UniBus module Type: disk drive Supported: yes Priority Level: buffered NPR Transfer Rate: 212 . . . facts are retrieved from the data base and then stored in templates Example Rule Distribute-MB-Devices-3 If the most current active context is distributing Massbus devices there is a single port disk drive that has not been assigned to a Massbus there are no unassigned dual port disk drives the number of devices that each Massbus should support is known there is a Massbus that has been assigned at least one disk drive and that should support additional disk drives the type of cable needed to connect the disk drive to the previous device is known Then assign the disk drive to the Massbus rules incorporate expertise from configuration experts, assembly technicians, hardware designers, customer service, \ldots Configuration task and its subtasks check order; identify and correct omissions, errors configure CPU; arrange components in the CPU cabinet configure UniBus modules; put modules into boxes, and boxes into expansion cabinets configure panels; assign panels to cabinets and associate panels with modules generate floor plan; group components and devices determine cabling; select cable types and calculate distances between components this set of subtasks and its ordering is based on expert experience with manual configurations Reasoning data-driven (forward chaining) components are specified by the customer/sales person identify a configuration that combines the selected components into a functioning system pattern matching activates appropriate rules for particular situations execution control a substantial portion of the rules are used to determine what to do next groups of rules are arranged into subtasks Performance Evaluation notoriously difficult for expert systems evaluation criteria usually very difficult to define sometimes comparison with human experts is used empirical evaluation Does the system perform the task satisfactorily? Are the users/customers reasonably happy with it? benefits faster, fewer errors, better availability, preservation of knowledge, distribution of knowledge, \ldots often based on estimates Development of R1/XCON R1 prototype the initial prototype was developed by Carnegie Mellon University for DEC XCON commercial system used for the configuration of various minicomputer system families first VAX 11/780, then VAX 11/750, then other systems reimplementation more systematic approach to the description of control knowledge clean-up of the knowledge base performance improvements Extension of R1/XCON addition of new knowledge wider class of data additional computer system families new components refined subtasks more detailed descriptions of subtasks revised descriptions for performance or systematicity reasons extended task definition configuration of ``clusters'' (tightly interconnected multiple CPUs) related system XSEL tool for sales support Summary R1/XCON commercial success after initial reservations within the company, the system was fully accepted and integrated into the company's operation widely cited as one of the first commercial expert systems domain-specific control knowledge the availability of enough knowledge about what to do next was critical for the performance and eventual success of the system suitability of rule-based systems appropriate vehicle for the encoding of expert knowledge subject to a good selection of application domain and task