![]() |
|||
![]()
|
![]() |
![]() |
![]() |
Scheduling. ESRA is a shell for developing rule-based scheduling expert systems for solving resource allocation problems (Solotorevsky et al., 1994). The designer first describes the scheduling problem as a graph of a constraint satisfaction problem (CSP). The graph is then used to map the problem into a set of rules. ESRA was developed at Ben-Gurion University of the Negev, Beer-Sheva, Israel. FLES, Fuzzy Logic Expert Scheduler, is an interactive shop floor scheduler that is designed to produce detailed schedules for day-to-day production management (Turksen et al., 1993). The system can produce scheduling assignments over short- or long-term scheduling horizons, or simulate different plant capacity conditions to analyze their effects on future work plans. FLES was developed using Turbo C++ at University of Toronto, Ontario, Canada. OPTIMUM-AIV is a tool for developing expert systems for planning and scheduling of activities for spacecraft assembly, integration, and verification (AIV) (Arentoft et al., 1991). The system permits the user to form a customized plan to meet specific needs. It consists of a set of software functionalities for assistance in the initial specification of the AIV plan, in verification and generation of the plan, and schedules for the AIV activities. The system is implemented in LISP and was developed at the Computer Resources International, Denmark. PARR is a C-Based shell designed for scheduling problems (McLean et al., 1991). It was used for scheduling services of the Tracking and Data Relay Satellite System for the Earth Radiation Budget Satellite and the Explorer Platform. The shell offers both frame and rule representation techniques and a blackboard structure. It was developed at the Bendix Field Engineering Corp. PLANEX is a general purpose planning and scheduling system for the area of building construction (Zozaya-Gorostiza et al., 1989). It uses information on the components of the facility, coded in the industry standard numbering system MASTERFORMAT, to form project activities. The system was developed using KnowledgeCraft. RPMS, the Resource Planning and Scheduling System, is a general scheduler designed to assist the user in minimizing resource consumption such as time, manpower, and materials (Lipiatt and Waterman, 1985). The system was applied to the space shuttle reconfiguration process for the Johnson Space Center. It was developed by Ford Aerospace. SURE, Science User, Resource Expert, is a planning and scheduling tool that supports distributed planning and scheduling, based on resource allocation and optimization (Thalman and Sparn, 1990). SURE allows the user to plan instrument activities with respect to scientific goals while maximizing instrument activity with respect to available resources. It is a forward chaining rule-based system. The system was developed using the CLIPS/ADA expert system shell at the University of Colorado. Simulation. ORBIS, Object-oriented Rule Base Interactive System, is an expert system simulation shell designed to be used in a variety of simulation environments (Evans and Sanders, 1994). These include stand-alone interactive simulations, batch runs for collecting Monte Carlo statistics, and real-time, man-in-the-loop simulations. An ORBIS simulation is composed of two parts, the shell and the application. The shell contains a Simulation Engine, Rule Editor, Dictionary Editor, Object Editor, and Setup Editor, which together provide the basic toolkit for assembling a simulation. The application contains objects, data, algorithms, and rule sets specific to the simulation which serve to generate the desired behavior of the simulation. An important feature of the ORBIS simulation development software is that an expert system, implemented as rule sets, controls simulated objects. 4. CHOOSING A TOOLWith the large number of expert system development tools commercially available, it is often difficult to choose one for a given application. Fortunately, the subject has been a popular one in the published literature (Reichgelt and van Harmelen, 1986; Citrenbaum et al., 1987; Gevarter, 1987; Freedman, 1987; Press, 1989; Kim and Yoon, 1992; Chang et al., 1992; Rushinek, 1994; Plant and Salinas, 1994; Stylianou et al., 1995). In addition, and in the spirit of the technology as an aid to decision making, even expert systems have been developed to help the effort (Martin and Law, 1988; Daqing et al., 1994). The next several sections discuss the major shell features to consider when making a selection. The discussion is framed after the expert system architecture shown in Figure 1. We also review the findings of a survey of expert system designers who were asked to rate the importance of various shell features. 4.1. KNOWLEDGE BASEFrom a technical perspective, no other factor is more important when selecting a shell than its knowledge base coding facility. This facility defines how you can represent the knowledge (e.g., rules, frames, decision trees). It is also important, however, to consider other knowledge base utilities that may be available, such as inexact reasoning and procedural processing capabilities. Knowledge representation. Shells for building knowledge-based systems can be classified according to the way they represent knowledge. The most popular categories are: rule-based, frame-based, case examples for induction or CBR, and fuzzy logic. Some shells offer multiple ways of representing knowledge. Before a shell is selected, a study of the problem will usually indicate which shell category is appropriate. This acts as the first major filter when selecting a shell, leaving on-balance only those shells within a selected category to consider further. Inexact reasoning. One of the trademarks of expert system technology is the ability to solve problems involving uncertain or unknown information, and inexact knowledge. This requires that the expert system be equipped with some inexact reasoning mechanism, such as certainty factors (CF), the Shafer-Dempster method, and in rare occasions a Bayesian approach. Most of the small shells permit the use of CF values for encoding inexact rules and for entering inexact information. Some shells (ironically the larger ones) offer no inexact reasoning methods, and leave the task of developing a method in the hands of the designer -- possibly a very difficult task. Procedural processing capability. In some applications there is a need to write procedural code. Functions might be needed, or in a frame-based system, methods required to support message-passing. Most of the shells, with the exception of frame-based ones, provide limited procedural processing capability. Frame-based shells, particularly the larger ones, usually provide a rich environment for creating procedural code to support the knowledge processing activity.
|
![]() |
|
Use of this site is subject certain Terms & Conditions. Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details. |