Brought to you by EarthWeb
IT Library Logo

Click Here!
Click Here!

Search the site:
 
EXPERT SEARCH -----
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games

EarthWeb Direct EarthWeb Direct Fatbrain Auctions Support Source Answers

EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info

Previous Table of Contents Next


2.2. FOUNDATION OF OBJECT-ORIENTED EXPERT SYSTEMS

In recent years, the AI community has shown increasing interest in object-oriented programming (OOP). For instance, a number of extensions have been made to conventional AI languages (PROLOG, LISP) to integrate object-oriented concepts. Such interest reflects a belief that the OOP can play an important role in the task of designing large expert systems.

Some expert system applications have dealt with hybrid representations, focusing on synergies and possible conflicts between OOP and traditional rule-based representation. Such hybrid representation systems can supplement the limited power of production rules with objects, which capture declarative knowledge in a hierarchy. Consequently, the V&V techniques that have been developed for rule bases have been adapted to deal with the kind of anomalies inherent in such hybrid systems.

In this section we provide a formulation of anomalies in hybrid systems that combine objects and rules. We define an object-oriented expert system (OOES) as a non-flat expert system that performs its reasoning (rules, pattern matching, making inferences) in a framework of structured classes of objects (the pattern matching is performed on objects). Such a formulation -- not an easy task as the traditional formulation of the anomalies described in the previous section -- specific to rule-based knowledge representation, which greatly restricts applicability. A better approach is to perform anomaly detection at the level of a conceptual model of the KB, rather than at the implementation level.

The conceptual model underlying our approach is derived from the KADS model of expertise (Wielinga et al., 1992) and has been described previously (Vermesan, 1996). Inferences are the principal building blocks of the model, as they are in general for KADS expertise models. The inference layer of the model describes the possible inferences that can be drawn on the basis of the domain knowledge. An inference is a declarative definition of the directional relationship between input knowledge roles and output knowledge roles. Knowledge roles are the knowledge elements on which inferences operate. In an OOES, knowledge roles are in fact objects, and in our graphical notation they are represented three-dimensionally. We have deliberately changed the graphical notation of the KADS knowledge roles to highlight the fact that knowledge roles are complex objects, embedding procedural knowledge, and among which there exist subtyping relationships. Some definitions are needed before proceeding further.

Terminological element A terminological element is a sort.
Terminology A terminology consists of terminological elements and a
subtyping relation between them. The subtyping relation is denoted by .
Knowledge role A knowledge role is a pair (r : type) where r is a variable
with the sort type.
A sequence of roles is denoted . Input roles are denoted by , output roles by .
Inference step An inference step is a predicate having as arguments the
variables corresponding to the connecting roles. The predicate specifies the input/output relation of the inference step:

where are the input roles and are the output roles of the inference.
Inference structure An inference structure I is a set of inference steps:

where , are the input and output roles, respectively, of inference
si([right arrow i]i;[right arrow o]i. The roles in [right arrow i]i;[right arrow o]i and may overlap for distinct i and j, in which case si([right arrow i]i;[right arrow o]i, and sj([right arrow i]j;[right arrow o]j are connected.
It is important to notice is that although inference steps are defined in terms of
terminologies, they do not operate directly on sorts, but on instantiations of these sorts. An instance of an inference step is obtained by carrying a substitution of variables in the knowledge roles. An inference can be seen as a set of instances of inference steps. The definition of the inference structure is declarative and not procedural, as it expresses data dependencies among inference steps but does not specify any control flow.
Producers The producers P of a knowledge role r in an inference structure
I, denoted by P(r), are the inferences in I that have the role as an output.


Previous Table of Contents Next

footer nav
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.