« PrécédentContinuer »
United States Patent  [li] Patent Number: 4,591,983
Bennett et al.  Date of Patent: May 27,1986
 HIERARCHICAL KNOWLEDGE SYSTEM
 Inventors: James S. Bennett; Jay S. Lark, both of Palo Alto, Calif.
 Assignee: Teknowledge, Inc., Palo Alto, Calif.
 Appl. No.: 628,817
 Filed: Jul. 9, 1984
 Int. CI* G06F 15/24
 U.S. CI 364/403; 364/468;
364/478; 235/385; 29/703
 Field of Search 364/400-401,
364/403, 468^69, 478, 513, 518; 209/1-2, 546, 552; 235/385; 29/33 K, 33 R, 400 R, 400 M, 428-431, 469, 564, 568, 700-703, 711
 References Cited
U.S. PATENT DOCUMENTS
4,203,204 5/1980 Murphy 29/703
4,310,964 1/1982 Murphy 29/469
4,332,012 5/1982 Sekine et al 364/468
4,472,783 9/1984 Johnstone et al 364/478 X
4,484,289 11/1984 Hemond 364/478
4,504,919 3/1985 Fujii et al 364/478
4,509,123 4/1985 Vereen 364/403 X
James Bennett et al., "SACON: A Knowledge-Based Consultant for Structured Analysis," Stanford University Rep. STAN-CS-78-688 (Sep. 1978). Bennett & Engelmore, "SACON: A Knowledge-Based Consultant for Structured Analysis," Proc of the Sixth Int Joint Conf. on Artificial Intelligence, Tokyo (Aug. 20-23, 1979) pp. 47-49.
John McDermott, "Rl: A Rule-Based Configurer of Computer Systems," Carnegie-Mellon Univ., Rep. CMU-CS-80-119 (Apr. 1980).
W. van Melle et al., The Emycin Manual, Stanford University, Rep. STAN-CS-81-855 (Oct. 1981). Barr & Feigenbaum (eds.), The Handbook of Artificial
Intelligence, William Kaufmann, Inc. (1982) vol. II, pp. 79-86, 150-154, vol. Ill, pp. 515-530, 541-556.
Primary Examiner—Gary V. Harkcom
Attorney, Agent, or Firm—Leydig, Voit & Mayer
A knowledge system has a hierarchical knowledge base comprising a functional decomposition of a set of elements into subsets over a plurality of hierarchical levels, a plurality of predefined functions or conditions of the elements within the subsets of a plurality of the hierarchical levels, and a predefined set of operations to perform on a user-defined set of elements responsive to the functional knowledge base. Preferably, the knowledge base is defined declaratively by assigning parent sets to offspring subsets to define the hierarchy, by indicating the conditions of the subsets which satisfy the- predefined functions and by writing task blocks in an imperative language defining the sequence of operations to perform on the user-defined set of elements. Preferably the operations include matching, configuring and expanding the user-defined set of elements into the defined subsets of individual elements and evaluating the predefined functions, and the operations are executed recursively. In a specific embodiment the elements are available components for a system or item of manufacture, and the subsets of elements are sub-assemblies or functionally related components. The predefined functions define condition-action constraints to insure that the sub-assemblies have compatible components. Such a knowledge system has general applicability, is easy to maintain and incrementally modify, has transparent representation of the functional decomposition and the configuration operations, and provides explanation for an assessment of the configuration.
70 Claims, 13 Drawing Figures