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


Figure 4 shows the functional decomposition tree for the diagnosis and treatment task.

Having identified the high-level steps and their decomposition into substeps, these have to be studied in depth to ensure that they are error free, that is, that the decomposition is consistent: nothing is missing (i.e., it is complete) and nothing is over (i.e., it is efficient).

Finally, the input sequence, the inference and/or reasoning mode, and the output sequences to be performed by the ES within each low-level substep have to be ascertained. That is, after having divided the task into modular steps, the steps contained in the leaves of the functional breakdown tree or net nodes have to be defined: the lowest level steps still not subdivided. The step definition should specify:

  • The purpose of the step.
  • The conditions in which the expert executes the step; in other words, state the information that must be available for use before the step is taken. Here, it is important to consider, for instance, whether another step has to have been executed beforehand or whether a given attribute must have a given value for the step at hand to be started. In the malaria example, a blood sample is only taken if it is likely to be necessary, specifying whether a full analysis is required or it is sufficient to measure the amount of particular chemical or biological components.
  • The input actions and data and sequence, reasoning mode, and output actions to be executed in the step. Here, we have to describe how to start the step, whether information should be requested from the user and/or an attribute value located in the user file, etc., and the input source must also be identified.

Then, we have to describe the reasoning carried out in this step. This basically involves defining inferences made about or involving the step. If a particular attribute is to be inferred, the inference made and the inferred attribute must be defined for later consideration.

Finally, we have to establish what to do with the outputs obtained in each step. In this respect, the outputs may be merely informative or form part of another, higher level step, etc. In this case, it is important to check that their location and use is correct. For example, after having studied all the child nodes of a parent node in a functional decomposition tree, check that the necessary information, for instance, the child node information, will be available for use at the start of the parent step. This involves the following activities for each low-level substep:

  • For each input action, determine its source. The most common are: users, experts, databases, operation results, and documents.
  • For each output action, its use and destination, that is, specify whether it is part of a higher level step or whether it is terminal. In this case, its most common destinations are: printer, screen, memory, etc.
  • Write the procedural step definition document. This document summarizes the above points, stating all the characteristics of each step from the lowest to the highest level.

Finally, we need to check that the collection of lowest level steps captures each expert action. Otherwise, the omitted steps have to be added.

It is important to think up a standard format for the ES step definitions. This should include additional information that will be useful in future activities: design, implementation, and checking. For example, leave a space in the definition for the names of the corresponding knowledge base inputs, for references to other sources of information, and for implementation and checking.

An example will clarify what was discussed above. Let us go back to the malaria case and consider the step: Treatment, a low level step appearing on the far right of the functional decomposition tree shown in Figure 4, whose purpose is to cure the patient, while inconveniencing him/her as little as possible. So, the first thing we need is the diagnosis of the disease. Then, we establish first the inputs, composed of (a) a list of medicines to treat the illness (output in a previous substep and retrieved from a database) and (b) patient allergies (specified by the user), and then the reasoning: (a) if the patient is not allergic to any of the proposed medicines, then the treatment will be composed of the proposed medicines (this involves tactical and strategic knowledge); (b) if the patient is allergic to one of the medicines, then infer the proposed medicines attribute (to search for other equivalent drugs), and finally, the output, that is, the treatment, the medicines to be taken by the patient (output on screen and to memory) to be able to use the determine_daily_amount attribute in the next step.

When these tasks have been identified, specifying whether external routines or database have to be accessed, whether the task is executed once or several times, and describing the inputs needed to achieve the goals, it is now possible to start the document containing strategic knowledge.

Having identified and structured the strategic knowledge, the acquired knowledge is analyzed to determine tactical knowledge, which basically consists of inferences and reasoning modes, and associated uncertainties concerning their implementation. The expert's tactical knowledge specifies how the ES can routinely use known facts and current hypotheses on the case to get new facts and hypotheses in both deterministic situations and conditions of uncertainty. So, the knowledge has to be analyzed within the context of the task to be executed by the system, and we need to understand how the ES will use this knowledge. This analysis should produce detailed definitions of each reasoning step to be executed by the ES. An inference step may indicate that the ES should infer a specific attribute or should use a specific attribute to infer new information. Then, we have to define the individual reasoning steps that should summarize the overall structure of the ES inferences that will be considered later. These steps are as follows: Obtaining conclusions, reactions to new information, description of inference structure, and checking.


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.