ES/KERNEL2, the new version of the current best-selling tool, is geared to the development of large-scale applications (Hitachi Ltd. undated brochure). It gives the application developers choice in the use of reasoning methods: rule-based reasoning, object-oriented reasoning, and assumption-based reasoning can all be used within a single expert system. Associated with each reasoning method is a knowledge representation scheme best suited to it. For example, for object-oriented reasoning, knowledge is represented as frames, slots, and methods (see Figure 3.5). ES/KERNEL2 also provides some advanced capabilities such as ATMS (Assumption-based Truth Maintenance System) and case-based reasoning (under development). Fuzzy logic has been available in ES/KERNEL and will be a part of ES/KERNEL2.
Figure 3.5. ES/KERNEL2, A Tool For Building Multi-Layered, Cooperative Expert Systems
For large-scale tasks, many expert systems can be connected to perform multi-layered cooperative reasoning. The tool provides a means, in the form of a blackboard data structure, for one expert system to communicate with another. The cooperating expert systems form what are called super expert systems which in turn can cooperate with each other to solve still larger problems.
The reasoning control and knowledge representation components shown in Figure 3.5 sit within a sophisticated development environment (Figure 3.6). The development environment follows the general structure of ES tools, as shown in Figure 3.1.
Seminal characteristics of ES/KERNEL2 include:
Figure 3.6. ES/KERNEL2 Development Environment
(Source: Hitachi Ltd. undated brochure)
One objective of the ES/KERNEL environment is ease of use. For example, knowledge can be expressed in English or Japanese. If the user wants to know language specifications or grammar while editing, an explanation of a particular term and usage examples can be displayed. Reportedly, more than 50 percent of an ES developer's time is spent developing the end-user graphic interface. ES/KERNEL2 provides a variety of graphic templates and edit functions for the development of the interface.
Another objective is efficiency. A translator converts knowledge into an easy-to-process intermediate language during development, and for the production version a compiler converts the developed knowledge into a format executable at high speed. An extended RETE algorithm matches rules and objects to speed up production system inference. Other features, such as incremental compilation and knowledge partitioning, also save development time.