[Next] [Previous] [Up] [Top]

4.1 KNOWLEDGE-BASED EVALUATION FOR DESIGN

4.1.8 OBJECT-ORIENTATION

Object-oriented data structures may be viewed as self-sustaining in that they include methods by which they intercommunicate and which may be invoked independently of explicit program flow. Within the artificial intelligence literature, such methods are known as "demons". Demons exist within the object and may be invoked when an object or property slot is entered, modified, or exited. For example, the Sybase RDBMS can attach demons known as "triggers" to its columns or fields, primarily to ensure data integrity across tables when a change in a local value must be accompanied by a change a remote value.

Nexpert Object supplies an "Order of Sources" demon and an "If Change" demon for its property slots, calling these attachments "metaslots" [Neuron 88]. The "Order of Sources" are a list of methods that are to be invoked when the program enters a property slot in search for a value. These methods are invoked sequentially until a proper value has been found for the slot or until the list is exhausted.

The "If Change" demon is a list of methods to be invoked when the value of the slot has been modified. For example, PIMES invokes a fill of values from a database merely by filling in the name of the material identification in the "mat_id" slot. The "If Change" metaslot of mat_id contains a method to retrieve all values from the materials specification database from the record whose key matches the mat_id.

Rather than be concerned with the inferencing mechanism one may concentrate on the objects themselves. The objects must be self contained in that they are responsible for getting their own information and supplying their own calculations. The majority of calculations are determined within the Order of Sources metaslot. If a value is not present, the Order of Sources method acquires a value from another object's slot, initializes with a default value, makes calculations based on slots within the same object, or calls upon a hypothesis to be evaluated (which often invokes a mass load of values into objects.)

[Next] [Previous] [Up] [Top]