KR100266928B1 - 병렬처리 정성추론시스템 - Google Patents

병렬처리 정성추론시스템 Download PDF

Info

Publication number
KR100266928B1
KR100266928B1 KR1019930704070A KR930704070A KR100266928B1 KR 100266928 B1 KR100266928 B1 KR 100266928B1 KR 1019930704070 A KR1019930704070 A KR 1019930704070A KR 930704070 A KR930704070 A KR 930704070A KR 100266928 B1 KR100266928 B1 KR 100266928B1
Authority
KR
South Korea
Prior art keywords
hypothesis
server
data element
processor
test
Prior art date
Application number
KR1019930704070A
Other languages
English (en)
Other versions
KR940701563A (ko
Inventor
토마스피.해밀톤
Original Assignee
레비스 스테픈 이
유나이티드 테크놀로지스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 레비스 스테픈 이, 유나이티드 테크놀로지스 코포레이션 filed Critical 레비스 스테픈 이
Publication of KR940701563A publication Critical patent/KR940701563A/ko
Application granted granted Critical
Publication of KR100266928B1 publication Critical patent/KR100266928B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

병렬 처리 정성 추론 시스템(parallel processing qualitative system)(320)은 제어 프로세서(322) 및 다수의 서버 프로세서(server processor)(323-325)를 사용하여 다수의 가설(hypothess)을 동시에 평가한다. 제어 프로세서(322)는 가설 및 사용자 관찰 결과를 서버 프로세서(323-325)에 제공하고, 서버 프로세서(323-325)는 평가된 가설들을 제어 프로세서(322)에 반환한다. 서버 프로세서(323-325)는 부분적으로 평가된 가설을 반환하기 위해 소정의 시간이 경과된 후에 차단될 수 있다.

Description

[발명의 명칭]
병렬 처리 정성 추론 시스템
[기술분야]
본 발명은 컴퓨터 소프트웨어에 관한 것으로, 특히 인공 지능 컴퓨터 소프트웨어(artificial intelligence computer software)에 관한 것이다.
[배경기술]
기계 고장(machine failure)의 징후(symptom)는 다수의 다른 해석(alternative explanations)을 나타내는 경우가 많다. 몇몇 다른 해석을 배제하기 위해 보다 더 상세하게 기계를 관찰하는 것은 비용이 저렴하고 효율적이며 시간 소비가 적다. 기계를 반복적으로 관찰하고 기계 고장의 잠재적 원인을 배제시키는 프로세서(process)를 "고장 분리(failure isolation)"라 칭한다.
고장분리는 고장트리(fault tree) 즉, 고장 분리의 반복 관찰/제거단계를 나타내는 흐름도등에 의해 매뉴얼적으로 실행될 수 있다. 고장 트리의 각각의 엘리먼트는 사용자가 특정하게 관찰할 것을 요구한다. 각각의 엘리먼트로부터의 확장(extending)은 다수의 브랜치 경로(aplurality of branch paths)이고, 이들 각각의 브랜치 경로는 고장 트리의 상이한 부분까지 연장한다. 사용자는 현재의 엘리먼트에 의해 요구된 관찰 결과에 입각하여 특정한 브랜치 경로를 추적한다. 프로세서의 어떤 포인트에서, 사용자는 확장하는 브랜치가 없는 요소에 도달하는데, 이것은 고장난 구성 요소들의 그룹(group) 또는 특정 구성 요소를 나타낸다.
매우 크고 복잡한 기계의 경우, 고장 트리는 다수의 페이지(page)에 대해 실행될 수 있고 또한 다중 볼륨(multiple volume)에 대해 실행될 수 있어 고장 트리가 상이하게 트래버스(trarerse)하게 한다. 한가지 해결책은 고장 트리로부터의 정보를 포함하는 프로그램, 룰-베이스드 고장 분리 시스템(rule-based failure isolation system)을 갖는 컴퓨터를 사용하는 것이다. 컴퓨터는 사용자가 관찰한 결과를 입력한다.
그러나, 고장 트리 및 롤-베이스드 고장 분리 시스템의 경우, 사용자가 직면하는 모든 가능한 고장 모드(failure mode)는 생성시 결정되어야 한다. 이것은 기계일 경우에는 어렵지 않을 수도 있지만 더욱 복잡한 기계의 경우 불가능하거나 매우 비실용적일 수 있다. 고장 트리 디자이너(fault tree desinger) 또는 룰-베이스드 고장 분리 시스템 프로그래머가 기계의 몇몇 고장 모드들을 생략하는 것은 흔한 일이다. 이러한 생략(omission)은 방대한 태스크(task)로 인한 부주의 때문이거나 실질적으로 제한되는 크기를 유지하기 위해 의도적으로 결정된다.
고장 트리 또는 룰-베이스드 고장 분리 시스템이 생각할 수 있는 모든 고장을 분리하지 못하는 문제점에 대한 해결책은 Davis, Randall "Diagnostic Reasoning Based on Structure and Behavior", Artificial Intelligence, 24(1984), 347-410에 개시되어 있다. 데이비스(Davis)는 컴퓨터가 다수의 기계 모뎀들을 발생시키는 "제한 서스펜션(constraint suspension)"이라 불리우는 고장 분리 수법을 제안하였다. 각 모델들은 고장난 상이한 구성요소 또는 고장난 구성 요소들의 그룹을 가정한다. 사용자가 관찰한 것과 가장 밀접한 모델은 고장난 구성요소들의 그룹 또는 구성 요소를 나타낸다.
제한 서스펜션 기법의 결점은 많은 아날로그 양을 갖는 복잡한 기계들의 모델링이 매우 많은 프로세서가 요구되고 시스템을 실행하는데 많은 시간이 소요된다. 이와 같은 문제를 해결하는 방안은 "HELIX: A Helicopter Diagnostic System Based On qualitative Physics", Hamilton, Thomas P., International Journal of Artificial Intelligence in Engineering, vol. 3, No. 3 July, 1988, pp 141-150에 개시되어 있다. 해밀톤(Hamilton)은 아날로그 양이 유한한 값들의 세트를 취할 수 있는 변수들로 표현되는 모델링 기법인 정성 물리학(qualitative physiscs)에 의한 커플링 제한 서스펜션(coupling constraint suspension)을 제안한다. 각각의 유한한 정성적 값들은 상이한 범위의 아날로그 양을 나타낸다. 그러나, 해밀톤의 논문은 본 기술분야에 통상의 지식을 가진자가 제조할 수 있고 또한 정성 물리 고장 분리 시스템(qualitative physics failure isolation system)을 사용할 수 있을 정도로 상세하지 않다.
[발명의 개시]
본 발명의 목적은 효과적인 정성 추론 시스템(efficient qualitative reasoning system)을 제공하는 것이다.
본 발명에 따르면, 제어 프로세서는 다수의 정성 추론 가설(qualitative reasoning hypothesis)을 동시에 평가(evaluate)하기 위해 다수의 상호접속된 서버 프로세서(server processor)와 상호접속된다.
본 발명의 상기한 목적 및 다른 목적, 특징 및 장점들은 첨부된 도면을 참조하여 실시예를 상세히 설명하므로써 명백하게 이해될 것이다.
[도면의 간단한 설명]
제1도는 휴대용 메인터넌스 에이드(Portable Maintenance Aid: PMA)의 사시도.
제2도는 사용자 프롬프트 스크린(user prompt screen)을 도시한 도면.
제3도는 고장 분리 소프트웨어의 전체 동작을 도시한 흐름도.
제4도는 정성 추론 시스템 소프트웨어의 동작을 도시한 데이타 흐름도.
제5도는 정성 추론 시스템 소프트웨어에 의해 사용된 데이타 구조를 도시한 도면.
제6도는 정성 추론 시스템 소프트웨어에서 가설 테스터의 동작을 도시한 데이타 흐름도.
제7도는 정성 추론 시스템 소프트웨어에서 상태 발생기의 동작을 도시한 데이타 흐름도.
제8도는 상태 발생기의 제한 프로피게이터의 단계를 도시한 흐름도.
제9도는 상태 발생기의 코어 예측기의 동작을 도시한 흐름도.
제10도는 정성 추론 시스템 소프트웨어에서 가설 발생기의 동작을 도시한 데이타 흐름도.
제11도는 정성 추론 시스템 소프트웨어에서 지능 테스트 선택의 동작을 도시한 데이타 흐름도.
제12도는 모델 빌더를 도시한 데이타 흐름도.
제13도는 병렬 처리 정성 추론 시스템을 도시한 도면.
[본 발명을 구현하는 최적의 모드]
제 1 도를 참조하면, PMA(30)는 디스플레이(32), 키보드(34) 및 처리장치(processing unit)(36)를 갖는다. PMA(30)는 뉴욕 베쓰페이지 소재의 Grumman Electronic System Division사 제품인 휴대용 컴퓨터(즉, #A31U18031-3)이다. 디스플레이(32)는 7 × 9 인치 LCD(액정 디스플레이)이다. 키보드(34)는 QWERTY 키보드이다. 처리장치(36)는 캘리포니아 마운틴 뷰 소재의 Sun Microsystems사 제품인 Sparcstation 1E 회로 보드를 내장한다.
PMA(30)는 헬리콥터 전자 기계식 시스템(helicopter electro-mechanical system) 등의 기계의 고장을 분리하는데 사용된다. 코먼 리스프(Common Lisp)에 기록되는 고장 분리 소프트웨어는 처리장치(36)내에 위치된 하드 디스크(도시되지 않음)에 저장된다. 이와 같은 소프트웨어는 PMA(30)가 사용자와 상호 작용(interact)하여 기계 고장을 분리할 수 있도록 한다. 이러한 소프트웨어는 디스플레이(32)를 사용하여 기계를 관찰하도록 사용자를 프롬프트한다. 사용자는 키보드(34)를 이용해서 이러한 관찰 결과를 입력한다.
제 2 도는 사용자 프롬프트 스크린(40)을 도시한 것이다. 사용자에게는 질문(42)과 응답(44, 46) 리스트가 제공된다. 예시 목적으로 이용되는 질문(42)은 예/아니오 응답을 요구하므로 스크린(40)에 표시된 가능한 응답 리스트는 단지 "예"(44) 또는 "아니오"(46)만을 포함한다. 사용자는 커서 키(cursor key)를 사용하여 응답(44, 46)들중 하나를 선택한다음, 리턴 키(return key)를 눌러 응답이 선택되었음을 소프트웨어에게 통보한다. 다른 사용자 프롬프트 스크린들은 사용자가 특정한 값을 측정하여 입력하도록 하는 것이 필수적이다.
제 3 도는 고장 분리 소프트웨어의 동작을 도시한 흐름도(50)인데, 룰-베이스드 시스템(rule-based system)에 대한 단계(54)와, QRS(정성 추론 시스템)에 대한 단계(58)로 나누어져 있다. 그 동작 및 실행이 본 기술분야에 통상의 지식을 가진자에게 알려져 있는 룰-베이스드 시스템에 대한 단계(54)(예를 들어, Building Expert system, Frederick Hayes-Roth, Donald A. Waterman, and Douglas B. Lenat, editors. Addison-Wesley Publishing Company, Inc., Reading Mass. 1983을 참조)가 먼저 실행된다. 일반적인 고장 및 그 고장의 징후에 관한 정보를 가지고 프로그램되는 룰-베이스드 시스템은 시스템이 검출하도록 프로그램된 임의의 고장을 신속하게 판정하는 방안을 제공한다. 그러나, 복잡한 기계의 경우, 고장 및 이와 연관된 징후들의 가능한 모든 조합을 예견하는 것은 (룰-베이스드 시스템에서 고장 및 징후들의 모든 조합을 프로그래밍 하므로) 불가능하지는 않지만 아주 비실용적이다. 따라서, 특별한 고장은 룰-베이스드 시스템으로 검출할 수 없다. 이 경우, 제어는 룰-베이스드 시스템의 단계(54)로부터 기계 고장 및 징후들의 모든 조합으로프로그래밍되지 않고 고장을 분리할 수 있는 QRS의 단계(58)로 진행된다.
고장 분리 소프트웨어의 실행은 룰-베이스트 시스템이 인에이블되는 초기 단계(62)에서 개시된다. 제 2 단계(63)에서, 사용자는 관찰된 상태를 입력하라는 신호를 수신한다. 관찰된 상태는, 두 특정 지점간의 전압 또는 특정 표시기가 "오프"일 때 특정 스위치가 "온" 위치에 있는 관찰결과 등과 같은 기계의 특정 부분 상태의 물리적 표시이다. 단계(63) 이후에, 제어는 단계(64)로 진행하는데, 이 단계(64)에서 룰-베이스트 시스템은 사전 프로그램된 룰을 관찰된 상태에 적용하여 고장을 분리한다.
관찰된 상태는 특정한 고장을 직접적으로 나타낼 수 있다. 예를 들어, (만약 배터리 양단에서 측정된 전압이 영이면 배터리가 다 소모된 것으로 룰을 가정하면) 관찰결과는 배터리 양단의 전압이 영일때 데드 배터(dead battery)에 대한 고장임을 직접 분리할 수 있다. 관찰된 다른 상태는 고장 그룹에 대한 고장을 분리할 수 있다. 예를 들어, (시스템에서 적절한 룰이 프로그램된 것으로 가정하면) 관찰결과는 배터리에 대한 전압 게이지가 영이면 배터리 수명이 다되었거나 게이지가 오동작함을 나타내거나 혹은 배터리 및 게이지 사이의 와이어가 파손되었음을 나타낸다.
단계(64) 이후, 제어는 고장이 분리되었는지를 판단하는 단계(65)로 진행된다. 고장이 단일 구성 요소에 대해 분리되었으면 처리는 완료된다. 고장이 단일 구성 요소에 대해 분리되지 않았으면 제어는 다른 고장이 분리될 수 있는지의 여부를 판단하는 단계(66)로 이동한다. 다른 고장을 분리할 수 있으면, 제어는 또다른 관찰을 위해 사용자가 프롬프트되는 단계(63)로 이동한다. 단계(63 ~ 66)는 반복 루프를 구성하는데, 이 반복 루프에서 사용자는 소프트웨어가 다른 고장을 분리하는데 사용되는 더많은 관찰 결과를 입력하도록 계속하여 프롬프트를 수신한다.
그러나, 단계(66)에서 룰 시스템의 고유한 제한 때문에 고장을 더 분리할 수 없다(즉, 시스템에서는 관찰결과 및 이와 관련된 고장의 모든 가능한 조합이 프로그램되지는 않는다). 예를 들어, 관찰 결과로서 배터리 양단에서 측정된 전압이 12V이고 배터리 전압 게이지가 영이고 게이지가 고장나지 않은 것으로 관찰 결과를 가정해 보면, 만약 룰 시스템이 게이지와 배터리간의 와이어가 파손될 수 있는 가능성을 고려하지 않고 프로그램되면 곤란한 경우가 발생된다. 관찰된 상태는 룰 시스템이 프로그램되었을 때 예견한 고장과 관찰된 상태들의 임의의 조합과 상응하지 않는다. 이 경우, 제어는 단계(66)로부터 룰 시스템이 디스에이블(disable)되는 단계(67)로 이동한다. 단계(66)로부터 단계(67)로의 전이(transition)는 룰 시스템의 단계(54)로부터 QRS의 단계(58)로의 전이에 대응한다.
단계(67)에서 룰 시스템이 디스에이블되면, 제어는 QRS가 인에이블되는 단계(68)로 이동한다. 단계(68)의 후속 단계(69)는 QRS가 고장을 분리하는 단계이다. QRS의 고장 분리에 대해서는 차후에 더욱 상세히 기술될 것이다. 단계(69)의 후속단계(70)는 고장이 분리되었는지의 여부를 판정하는 단계이다. 만약 고장이 분리되었으면 처리가 완료된다. 그렇지 않으면, 제어는 더 분리할 수 있는지를 판정하는 단계(71)로 이동한다. 만약 QRS로 더 분리할 수 없으면 처리는 완료된다. 그렇지 않으면, 제어는 관찰 결과를 위해 사용자가 프롬프트되는 단계(72)로 이동한다. 사용자는 룰 시스템의 단계(54)로부터 QRS의 단계(58)에 대한 전이를 알아 차리지 못하므로(즉, 전이가 일어난 것이 사용자에게 통보되지 않으므로) 단계(72)에서 사용자가 보는 프롬프트는 단계(63)에서 사용자가 보는 프롬프트와 동일하다. 제어는 단계(72)로부터 QRS가 다시 기계고장을 분리하는 단계(69)로 진행된다.
롤-베이스드 시스템과는 달리, QRS는 관찰 결과를 특정한 고장과 직접적으로 관련하지 않는다. 그 대신, QRS는 기계의 컴퓨터 모델을 사용하여 특정한 구성요소들의 고장을 반복적으로 가설을 설정하고 각 가설에 대한 전류 흐름, 전압 및 유체 흐름 등의 다양한 기계 파라미터들의 값에 대한 예측을 사용자 관찰 결과로부터 끌어낸다. 만약 추론 과정중 임의의 시간에서 특정 가설에 대한 예측이 (이들 자신 또는 후속 관찰 결과와) 일치되지 않으면 이 가설은 폐기된다.
QRS는 정성 물리학, 컴퓨터 모델링 기법을 사용하여 기계를 나타내는데, 기계의 각 구성 요소는 다수의 터미널 및 대응하는 변수 셋트를 갖는 블랙 박스로 표현되고 각 변수들은 터미털로 입력되거나 터미널로부터 출력될 수 있는 물질(예를 들어, 공기, 연료 등)의 속성(예를 들어, 흐름, 압력, 온도 등)을 나타낸다. 각 변수는 유한 집합의 값을 가질 수 있다. 구성 요소의 동작은 구성요소의 변수들간의 관계를 규정하는 집합 즉, 한 세트의 정성 방정식으로 정의된다. 예를 들어, 파이프는 두개의 터미널과 두개의 변수를 갖는 것으로 표현될 수 있는데, 이들 두 변수중 하나는 파이프로 흘러 들어가는 유체 흐름을 나타내고, 다른 하나는 파이프로부터 흘러나오는 유체 흐름을 나타낸다. 파이프의 동작을 기술하는 집합에서는 파이프로부터 흘려나오는 유체 흐름을 나타내는 변수가 파이프로 흘러 들어가는 유체 흐름을 나타내는 변수와 동일한 부호를 갖는 것으로 명시하고 있다. 정성 물리학에 관한 더욱 상세한 정보는 de kleer, Johan and Brown, John Seely, "The Origin, Form and Logic of Qualitative Physical Laws", proceedings of the Eightn International Joint Conference on Artificial Intelligence, Karlsruhe, W. Germany, Aug. 1983.에 개시되어 있다. 기계의 다양한 구성 요소들은 계층적으로 그룹화된다. 혼합 구성 요소는 다수의 서브 구성요소로 구성되지만 기본 구성 요소는 서브 구조를 갖지 않는 구성 요소이다. 예를 들어, 전원은 하나의 계층 레벨에서 단일 구성 요소로서 표현될 수 있지만, 실제로는 다른 하위 계층 레벨에서 다수의 구성요소들(예를 들어, 캐패시터, 트랜스포머 등)로 구성될 수 있다. 최상위 계층 레벨에서, 전체 기계는 단일 혼합 구성 요소로서 표현될 수 있다. 이와 같은 기계를 포함하는 모든 기본 구성 요소들은 최하위 계층 레벨에 있을 수 있다.
구성 요소들은 블랙 박스들로 모델링되므로, 고장을 더 분리하기 위해서 하위 계층 레벨에서 구성 요소를 검사하는 것(즉, 더 많은 정보를 얻기 위해서 블랙 박스 내부에 위치하는 것)이 바람직할 수 있다. 예를 들어, 전원이 고장난 것으로 판정되면, QRS는 전원 구성 요소를 서브 구성요소에 확장할 수 있고, 이 계층 레벨에서 고장 분리 과정을 계속 수행할 수 있다.
특정 구성 요소의 다양한 집합으로 정의된 관계는 "제한(constraints)"으로 일컬어진다. QRS는 그러한 구성 요소의 제한을 서스펜딩(suspending)(즉, 제거)함으로써 특정 구성 요소의 고장의 결과를 계산한다. 예를 들어, 세개의 구성 요소 X, Y 및 Z를 갖는 기계의 경우 QRS는 서스펜드 구성 요소 X에 대한 집합의 제한으로 기계의 정성 물리학적 모델(즉, 고장이 없는 것으로 가정한 구성 요소 Y 및 Z의 집합들만을 포함하는 기계의 모델)을 생성하므로써 구성 요소 X가 고장난 것임을 나타내는 가설을 테스트한다. QRS는 사용자 관찰 결과 및 집합들을 사용하여 예측 세트(예측된 변수값들)를 발생한다. 예측들의 세트(예측된 변수 값들)를 발생한다. 만약 예측이 일치되면, X는 유효한 가설로서 존재하게 된다. 그렇지 않으면 X는 가설로서는 배제된다. 또한, 후속 관찰 결과가 예측과 일치되지 않으면, 가설이 제거될 수 있다. 제한 서스펜션 대한 논문은 Davis, Randall "Diagnostic Reasoning Based on Structure and Behavior", Artificial Intelligence, 24(1984), 346-410에 개시되어 있다.
QRS는 기계의 구성 요소가 고장나지 않은 것임을 나타내는 초기 가설로 개시된다. 만약 이러한 가설로부터 발생된 예측이 일치되면, QRS 소프트웨어는 고장이 없는 것으로 판정하고, 고장 분리 과정이 종료된다. 그렇지 않으면, QRS 소프트웨어는 제각기 기계의 단일 구성 요소의 고장에 대응하는 다수의 가설들을 발생시킨다. 이들 각각의 가설과 연관된 예측들이 발생되면, 이들 예측은 일관성에 대해 테스트된다. 단일 구성 요소 가설들에 연관된 모든 예측들은 일치하지 않으며(따라서 모든 가설들이 잘못되었음을 입증함), QRS 소프트웨어는 두 기계 구성 요소의 고장에 동시에 대응하는 새로운 가설 세트를 발생한다. 만약 모든 이중 구성 요소 예측들이 일치하지 않으면, QRS 소프트웨어는 제각기 동시에 세개의 고장에 대응하는 가설 세트를 발생한다.
예를 들어, 세개의 구성 요소 A, B 및 C를 갖는 기계의 경우, QRS는 구성 요소가 고장나지 않음을 나타내는 가설을 기초로 하여 집합들(즉, 모든 구성 요소들에 대한 모든 집합들)을 초기에 발생하고, 그 가설에 대한 예측을 판정하고, 이들 예측의 일관성을 테스트한다. 만약 가설에 입각한 예측들이 일치되면, 가설은 구성 요소가 고장나지 않은 것으로 입증되고, 고장 분리 과정이 종료된다. 그렇지 않으면, QRS는 새로운 가설 즉, 구성 요소 A만이 고장난 것을 나타내는 가설, 구성 요소 B만이 고장난 것을 나타내는 가설 및 구성 요소 C만이 고장난 것임을 나타내는 가설을 발생한다. 이 경우, QRS는 세개의 예측 세트 즉, 가설 A에 대한 예측, 가설 B에 대한 예측 및 가설 C에 대한 예측을 발생한다. 가설 A가 참인 경우 가설 A에 대한 예측은 변수들(즉, 전류, 유체 흐름, 전압 등의 기계 파라미터들)이 동일한 것임을 나타내는 예측값이다. 마찬가지로, 가설 B가 참인 경우 가설 B에 연관된 예측들은 변수들이 동일한 것임을 나타내는 예측값이고, 가설 C가 참인 경우 가설 C에 연관된 예측들은 변수들이 동일한 예측값이다. 가설 A에 연관된 예측들이 일치되지 않으면, 가설 A가 고장난 것임을 나타내는 가설은 일치되지 않으므로, 가설 A는 유효 가설 리스트로부터 제거된다. 가설 B 및 C에 연관된 예측들이 일치되면, 구성 요소 B 또는 구성 요소 C는 고장난 것인지를 판정하기 위해 고장 분리가 또한 요구될 수 있다.
전술한 예의 경우, QRS는 가설 A, B 및 C를 제거할 수 있으며, 이로 인해 기계의 2개 이상의 구성 요소가 동시에 고장난 것으로 도출할 수 있다. QRS는 세개의 새로운 가설 즉, 구성 요소 A 및 B가 동시에 고장이라는 가설 AB, 구성 요소 A 및 C가 동시에 고장이라는 가설 AC 및 구성 요소 B 및 C가 동시에 고장이라는 가설 BC를 발생한다. QRS는 이들 가설을 사용하여 고장 분리를 개시한다. 복잡한 기계의 경우, 하나의 가설마다 고장난 구성 요소들의 수는 증대되므로 컴퓨터의 처리 요구가 증대된다. QRS가 N개의 모든 구성 요소 가설들을 제거하면, QRS 소프트웨어는 N+1 구성 요소 가설들을 발생하여 테스트하거나 혹은 고장 분리를 완전히 종료할지의 여부를 사용자에게 요구한다. 사용자는 QRS가 새로운 가설 세트를 발생하여 테스트하는 것을 대기하지 않는 것이 바람직할 수 있다.
제 4 도에는 QRS의 동작을 도시한 데이타 흐름도(90)이다. 흐름도(90)의 박스들은 프로그램 모듈(즉, QRS 소프트웨어 부분)을 나타내고 원통은 데이타 요소(즉, QRS 데이타 부분)를 나타낸다. 박스 및 원통들 사이의 화살표는 데이타 흐름의 방향을 나타낸다. 흐름도와는 달리, 데이타 흐름도(90)의 어떠한 부분도 여러 모듈들 사이의 임의의 일시적 관계를 나타내지 않는다.
사용자에 의한 관찰결과는 흐름도(90)상에 나타나는 입력 신호 USERINPUT에 의해 QRS 소프트웨어에 제공된다. USERINPUT 신호는 입력 프로세스 코드 모듈(92)에 의해 처리되는데, 이 입력 프로세스 코드 모듈(92)은 사용자에 의해 입력되는 키스트로크(Keystroke)를 QRS 소프트웨어가 처리할 수 있는 형태로 변환한다. 입력 프로세스 모듈(92)의 출력은 실제 관찰 데이타 요소(actual observations data element)(94)에 저장되는데, 이 관찰 데이타 요소(94)는 고장 구별 과정의 개시 이후 사용자에 의한 모든 관찰 결과의 누적된 히스토리(cumulative history)를 포함한다. 실제 관찰 데이타 요소(94)는 고장 분리 과정의 룰-베이스드 시스템 단계중에 사용자에 의한 관찰 결과의 데이타로 초기화된다.
가설 테스트 코드 모듈(96)은 실제 관찰 데이타 요소(94) 및 보유 가설 데이타 요소(98)를 사용하여 잠재적으로 유효한 가설 및 각 가설에 대한 예측을 발생한다. 보류 가설 데이타 요소(98)는 테스트될 가설을 포함한다. 가설 테스트(96)는 가설의 집합들을 통해 관찰 결과를 전달함으로써 가설을 테스트하여, 가설이 참인 경우 참인 예측들을 발생한다. 예측을 발생시키는 과정 중에, 가설 테스트(96)는 불일치를 검출할 수 있다. 예를 들어, 집합들의 한 부분 집합은 두 특정 포인트 사이의 전압이 양의 값이라고 예측할 수 있지만 다른 부분 집합은 동일한 두 포인트 사이의 전압이 음의 값이라고 예측할 수 있다. 이 경우, 테스트되는 가설은 잘못되었으므로 가설 테스트(96)는 이 가설을 폐기한다. 가설 테스트(96) 및 이와 연관된 예측에 의해 반증될 수 없는 보류 가설 데이타 요소(98)로부터의 가설은 보관 가설 데이타 요소(99)로 출력된다.
예를 들어, 보류 가설 데이타 요소(98)가 가설 A에 포함된 것으로 가정해 보면, 가설 테스트(96)는 보류된 구성 요소 A의 제한 조건을 갖는 기계의 모델(즉, 구성 요소 A의 동작을 기술하는 집합들 이외의 모든 구성 요소 집합들을 포함하는 모델)을 검사한 다음에 변수 값들을 예측하므로써 가설의 유효성을 테스트한다. 만약 가설 A에 대한 예측들을 발생하는 과정에서 가설 테스트(96)가 일치되지 않은 것으로 드러나면, 가설 A는 잘못된 것으로 판명된다. 그렇지 않으면, 가설 A 및 이와 연관된 예측들을 보관 가설 데이타 요소(99)로 출력된다.
만약 보관 가설 데이타 요소(99)가 둘 이상의 가설을 포함하면, 일부 가설들을 제거하는 정보를 제공하기 위해 사용자는 관찰된 더 많은 상태들을 입력하는 것이 유용할 수 있다. 지능 테스트 선택 코드 모듈(intelligent test selection code module)(100)에는 보관 가설 데이타 요소(99) 및 구성 요소 정보 데이타 요소(101)로부터의 입력이 제공된다. 구성 요소 정보 데이타 요소(101)는 구성 요소 고장율 및 잠재적인 관찰 결과에 대한 테스트 시간 등의 실험 데이타(empirical data)를 포함한다. 지능 테스트 선택(100)은 보관 가설 데이타 요소(99)로부터의 예측 및 구성 요소 정보 데이타 요소(101)로부터의 정보를 사용하여 사용자가 실행할 최적의 테스트 즉, 사용자의 불편을 최소화하면서 동시에 하나 이상의 가설을 제거하는 관찰 결과를 판정한다. 지능 테스트 선택(100)은 최적의 테스트 정보를 테스트 요청 데이타 요소(102)로 출력한다. 테스트 요청 데이타 요소(102)로부터의 데이타를 수신하는 출력 프로세스 코드 모듈(103)은 테스트 요청(102)을 인간이 판독할 수 있는 형태로 변환하고, 사용자의 차후 관찰을 나타내는 사용자 프롬프트가 PMA(30)의 디스플레이(32)상에 배치되게 하는 신호 DISPLAYOUT를 제공한다.
사용자에 의한 관찰 결과는 보관 가설 데이타 요소(99)에 저장된 가설에 대한 예측과 완전히 상반될 수 있다. 예측 테스터(104)는 보관 데이타 요소(99)내의 연관된 예측 및 가설들을 검사하여 사용자 관찰 결과와 상반되는 예측들을 갖는 가설들을 제거한다. 예를 들어, 보관 가설 데이타 요소(99)는 가설 A, 가설 B 및 가설 C를 포함하며, 가설 A는 특정 전압에 대해 양의 값을 예측하고, 가설 B는 동일한 전압에 대해 음의 값을 예측하고, 가설 C는 전압값에 대해 예측하지 않는 것으로 가정해 보자. 또한, 지능 테스트 선택(100)이 최적의 테스트될 전압값을 선택하고, 프롬프트된 후 사용자가 양의 값의 전압을 입력하는 것으로 가정해 보자. 예측 테스터(104)는 보관 가설 데이타 요소(99)들로부터 가설 B를 제거할 수 있는데, 그 이유는 전압값이 음수인 가설 B에 대한 예측이 정확하지 않아 가설 B가 잘못된 것으로 판정할 수 있기 때문이다. 가설 A는 전압이 양의 값으로 정확하게 예측하므로 가설 A는 보관 가설 데이타 요소(99)에 저장된다. 예측 테스터(104)는 가설 C가 전압에 대해 예측하지 않기 때문에 가설 C를 제거할 수 없다.
지능 테스트 선택(100)은 사용자가 보관 가설 데이타 요소(99)에 저장된 임의의 가설을 실행시키기 위해 관찰 결과를 임의적으로 발생할 수 없다. 이 경우, 테스트 요청 데이타 요소(102)가 비어 있으면 가설 발생기(105)는 보관 가설 데이타 요소(99)내의 연관된 하나 이상의 구성 요소를 서브 구성요소까지 확장하고 또한 이들 서브 구성요소를 기초로 하여 가설을 발생함으로써 더많은 가설들을 발생한다. 가설 발생기(105)는 모델 사례 데이타 요소(model instance data element)(106)를 사용하는데, 이 모델 사례 데이타 요소(106)는 구성 요소의 계층적 상태에 관한 정보 및 구성 요소의 정성 물리학적 기술을 포함한다. 모델 사례(106)의 구성 및 내용에 대한 상세한 기술은 차후의 본 출원에 포함된다. 가설 발생기(105)의 출력은 보류 가설 데이타 요소(98)에 제공된다.
예를 들어, 보관 가설 데이타 요소(99)가 기계 전원의 고장에 대응하는 제 1 가설을 포함하고, 기계 연료 시스템의 고장에 대응하는 제 2 가설을 포함하는 것으로 가정하자. 또한, 지능 테스트 선택(100)은 제 1 및 제 2 가설을 구분하는 관찰 결과를 사용자에게 제공할 수 없으며, 이로 인해 테스트 요청 데이타 요소(102)가 비어 있는 것으로 가정하자. 가설 발생기(105)는 테스트 요청 데이타 요소(102)가 비어있고 전원을 서브 구성요소(즉, 캐패시터, 트랜스포머등)까지 확장하고 연료 시스템을 그 서브 구성요소까지 확장하는 것을 검출한다. 서브 구성 요소들을 기초로 한 새로운 가설 세트가 발생된다. 가설 발생기(105)가 보류 가설 데이타 요소(98)에 (한번에 하나씩) 제공하는 새로운 가설의 세트는 가설 테스터(96)에 의해 테스트되고, 반복결과에 대해 사용자를 프롬프트하고 가설들을 제거하는 과정이 계속 반복 수행될 것이다. 보관 가설 데이타 요소(99)가 하나 또는 둘 이상의 기본 구성요소의 고장을 하나의 가설만을 포함하면, 고장 분리 과정이 완료됨에 유의하여야 한다.
가설 테스트(96)는 보류 가설 데이타 요소(98)에 저장된 모든 가설들을 제거하여, 보관 가설 데이타 요소(99)가 비게 할 수 있다. 이것은 하나의 가설에 대해 고장난 구성 요소의 수가 가정된 것보다 많을때 발생된다. 동시에 고장난 N개의 구성요소에 대응하는 모든 가설들을 제거하는 것은 고장난 기계 구성 요소가 N개보다 많은 것을 나타낸다. 예를 들어, 단일 구성 요소 고장에 대응하는 모든 가설들이 가설테스터(96) 및/또는 예측 테스터(104)에 의해 제거되면, 둘 이상의 구성 요소가 동시에 고장난 것임을 논리적으로 도출할 수 있다(고장난 구성요소들은 초기에 테스트받지 않을 수도 있음에 유의하여야 한다).
N개의 구성요소 고장에 대응하는 가설의 전체 세트가 가설 테스터(96)에 의해 잘못 입증된 것으로 판명되면, 가설 발생기(105)는 계속적인 테스팅 질의 데이타 요소(107)에 사용자 프롬프트 정보를 기록하므로써 N+1개의 구성요소 고장에 대응하는 새로운 가설의 세트가 발생되도록 사용자에게 요구한다. 계속적인 테스팅 질의 데이타 요소(107)는 출력 프로세스 모듈(103)에 입력으로 제공되는데, 이 출력 프로세스 모듈(103)은 질의(107)를 인간이 판독할 수 있는 형태로 변환하여 디스플레이(32)에 출력한다. 질문에 대한 사용자의 응답은 USERINPUT 신호로 제공되는데, 이 USERINPUT 신호는 입력 프로세스(92)에 의해 처리되어 계속적인 테스팅 응답 데이타 요소(108)에 저장된다. 만약 사용자가 연속적인 테스트를 선택하지 않으면, 고장 분리는 종료된다. 그렇지 않으면, 가설 발생기(105)에 입력으로서 제공되는 계속적인 테스팅 응답 데이타 요소(108)는 가설 발생기(105)가 모델 사례 데이타 요소(106)로부터의 정보를 사용함으로써 이전의 가설 세트보다 고장난 구성요소가 하나 더많은 새로운 가설의 세트를 생성한다.
또한, 가설 발생기(105)는 보관 가설 데이타 요소(99)로부터의 가설을 갖는 보류 가설 데이타 요소(98)를 제공할 수 있다. 가설 발생기(195)는 테스트 요청 데이타 요소(102)에 의해 제공된 입력을 사용하여, 사용자가 현재 관찰하도록 요구된 변수에 대해 예측하지 않는 가설을 보관 가설 데이타 요소(99)가 포함하는지를 판정한다. 최근에 가장 빈번하게 관찰된 변수에 대해 예측하지 않은 가설들은 가설 테스터(96)에 의해 다시 테스트되도록 보관 가설 데이타 요소(99)로부터 보류 가설 데이타 요소(98)로 이동된다. 새로운 관찰 결과가 사용 가능하면, 다시 테스트되는 가설들중 일부는 쓸모없게 될 수 있다.
제 5 도는 QRS 소프트웨어에 의해 사용된 데이타 구조를 도시한 것이다. 보류 가설 데이타 요소(98)에 저장된 데이타를 나타내는 보류 가설 데이타 구조(110)는 가설 식별 요소(112B), 예측 테이블(112C) 및 캐시형 집합 테이블(112D)로 구성되는 보류 가설(112A)을 포함한다. 가설 식별 요소(112B)는 특정한 보류 가설을 식별하기 위한 정보를 포함한다. 예를 들어, 가설 식별 요소(112B)는 전원이 고장이라는 가설로서 보류 가설(112A)을 식별할 수 있다.
예측 테이블(112C)은 보류 가설(112A)과 연관된 모든 변수(즉, 기계 파라미터)들을 포함한다. 예측 테이블(112C)은 가설 발생기(105)에 의해 구성되며, 가설이 발생할 때 모든 가설의 변수들을 판정한다. 초기에, 예측 테이블(112C)은 변수들에 대한 값을 포함하지 않는다. 그러나, 가설이 테스트될 때마다 더많은 관찰 결과가 이용가능한 경우, 가설 테스터(96)는 예측 테이블(112C)의 변수들에 대해 더많은 값들을 예측한다.
캐시형 집합 테이블(112D)은 보류 가설(112A)에 대한 모든 모델 집합들을 포함한다. 캐시형 집합 테이블(112D)은 예측 테이블(112C)로부터의 각 변수들에 의해 색인될 수 있다. 캐시형 집합 테이블(112D)의 요소들은 색인 변수가 나타나는 모든 모델 집합들을 포함하며, 이로 인해 가설과 연관된 집합들을 신속하게 액세스하는 장치를 갖는 가설 발생기(96)가 제공된다.
보관 가설 데이타 요소(99)에 저장된 데이타를 나타내는 보관 가설 데이타 구조(115)는 제 1 현재 가설(117A), 제 2 현재 가설(118A) 및 제 N 현재 가설(119A)을 포함한다. 제 1 현재 가설(117A)은 가설 식별 요소(117B) 및 예측 테이블(117C)을 포함한다. 유사하게, 제 2 현재 가설(118A)은 가설 식별 요소(118B) 및 예측 테이블(118C)을 포함하고, 제 N 현재 가설(119A)은 가설 식별 요소(119B) 및 예측 테이블(119C)을 포함한다. 가설 식별 요소(117B, 118B, 119B)는 특정한 보관 가설들을 식별하는 정보를 포함하고 보류 가설(112A)의 가설 식별 요소(112B)와 동일하다. 예측 테이블(117C)은 가설 테스터(96)가 일부 변수에 대한 값을 제공하는 것을 제외하고는 보류 가설(112A)로부터의 예측테이블(112C)가 동일하다.
제 6 도는 가설 테스터(96)의 동작을 도시한 데이타 흐름도(130)이다. 상태 발생기(132)에는 실제 관찰 데이타 요소(94) 및 보류 가설 데이타 요소(98)로부터의 입력이 제공된다. 상태 발생기(132)는 실제 관찰 결과(94) 및 보류 가설(98)을 처리하여, 테스트되는 특정 가설에 대한 예측 테이블을 포함하는 예측 데이타 요소(134)를 생성한다. 상태 발생기(132)는 보류 가설 데이타 요소(98)로부터의 캐시형 집합들 및 관찰 결과들을 처리함으로써 판정되는 몇몇 변수들에 대한 값으로 예측 테이블(보류 가설 데이타 요소(98)로부터의)을 채움으로써 예측 데이타 요소(134)를 생성한다. 만약 상태 발생기(132)가 예측 데이타 요소(134)에 대한 값을 예측하는 동안 불일치를 검출하면, 예측 테이블 대신 널 테이블(null table)이 예측 데이타 요소(134)에 저장된다. 모델 집합들을 나타내는 LISP 표현을 조작함으로써 값들에 대한 실제적인 계산이 실행된다. LISP 표현에 대한 조작은 본 기술 분야에 통상의 지식을 가진자에게 잘 알려져 있다.
가설 이벨류에이터(hypothesis evaluator)(136)에는 예측 데이타 요소(134)로부터의 데이타 및 보류 가설 데이타 요소(98)로부터의 가설이 제공된다. 각각의 가설에 대해, 가설 이벨류에이터(136)는 예측 데이타 요소(134)가 널 테이블을 포함하는지를 판정한다. 만약 예측 데이타요소(134)가 널 테이블을 포함하지 않으면 가설 이벨류에이터(136)는 (보류 가설 데이타 요소(98)로부터의) 가설 및 (예측 데이타 요소(134)로부터의) 연관된 예측 테이블을 보관 가설 데이타 요소(99)에 전송하고, 그렇지 않으면 테스트되는 가설이 쓸모없게 되므로 전송하지 않는다.
제 7 도는 상태 발생기(132)의 동작을 보다 상세하게 도시한 데이타 흐름도이다. 상수 파인더(constant finder)(142)에는 보류 가설 데이타 요소(98)로부터의 캐시형 집합들 및 예측 테이블이 제공된다. 상수 파인더(142)는 예측 테이블을 통해 반복하며 일정한 표현으로 변수를 정의하는 집합들을 갖는 예측 테이블의 변수값을 채우기 위해 캐시형 집합들을 사용한다. 예를 들어, 배터리는 그 양단 전압이 일정한 양의 전압인 집합으로 나타낼 수 있다. 상수 파인더(142)는 예측 테이블의 엔트리에 상수들을 채운 결과를 제 1 부분 예측 테이블 데이타 요소(144)에 출력한다.
제 1 부분 예측 테이블(144) 및 실제 관찰 데이타 요소(94)는 관찰 파인더(obwervation finder)(146)에 입력으로서 제공되는데, 이 관찰 파인더(146)는 사용자에 의해 입력된 관찰결과에 대응하는 제 1 부분 예측 테이블(144)의 변수들에 대한 값을 채운다. 예를 들어, 만약 사용자가 저항 양단의 전압을 측정하여 관찰 결과를 입력하면, 관찰 파인더(146)는 저항의 전압에 대응하는 제 1 부분 예측 테이블(144)의 변수에 대한 값을 채운다. 관찰 파인더(146)는 제 1 부분 예측 테이블(144)의 엔트리로 관찰 결과를 채운 결과를 제 2 부분 예측 테이블 데이타 요소(148)에 출력한다.
제 2 부분 예측 테이블(148)은 제한 프로파게이터(150)에 입력으로서 제공되는데, 이 제한 프로파게이터(150)는 제 2 부분 예측 테이블(148)에 저장된 공지의 변수값(즉, 상수 파인더(142) 및 관찰 파인더(146)에 의해 이미 결정된 변수값 및 가설에 대한 이전의 테스트로부터 결정된 가능한 변수들)을 사용하고, 또한 보류 가설 데이타 요소(98)로부터의 캐시형 집합들을 사용하여 더많은 변수들에 대한 값을 판정한다. 제한 프로파게이터(150)는 집합을 통해 공지의 변수들을 제공하여 공지되지 않은 각 값에 대한 하나 이상의 집합들이 상수 표현과 동일한 공지되지 않은 형태의 변수로 변형될 수 있는지를 판정한다. 예를 들어, 밸브를 통한 유체 흐름을 기술하는 집합에서는, 밸브가 열릴 때 밸브로부터의 유출은 밸브로의 유입과 동일하게 밸브가 닫힐 때 밸브로부터의 유출은 영이 됨을 나타낼 수 있다. 만약 (사용자 관찰 결과) 밸브가 개방되고 밸브내의 흐름이 포지티브(positive)(모델상수)인 것으로 판정되면, 제한 프로파게이터(150)는 밸브로부터 흘러나오는 유체 흐름을 포지티브인 것으로 판정할 수 있다. 더우기, 밸브의 출력이 파이프에 접속되어 있으면, 제한 프로파게이터(150)는 파이프로의 유입 또는 파이프로부터의 유출을 판정할 수 있다.
제한 프로파게이터(150)에 의해 판정된 변수는 다른 공지의 변수들을 갖는 제한조건을 통해 전달된다. 제한 프로파게이터의 출력은 제 3 부분 예측 테이블(152)에 저장된다. 제한 프로파게이터가 불일치를 검출하면 널 테이블은 제 3 부분 예측 데이타 요소(152)에 저장된다.
제 3 부분 예측테이블(152)은 코어 예측기(154)에 입력으로서 제공된다. 제 3 부분 예측 테이블(152)이 널 테이블이 아니면 코어 예측기(154)는 제 3 부분 예측기 테이블(152)의 공지되지 않은 각 변수들에 대한 값을 통해 반복하여 소정의 공지의 변수값들 및 공지되지 않은 변수가 하나의 값 및 단지 하나의 가능한 값을 갖는지를 판정한다. 예를 들어, 스위치가 닫히면 스위치의 출력 전류는 스위치에 입력되는 전류와 동일하고 스위치가 개발되면 스위치의 출력 전류는 영임을 나타내는 스위치에 대한 집합들을 가정해 보자, 또한, 스위치의 출력 전류가 영이 아닌 양의 값으로 관찰된 것으로 가정해 보자. 코어 예측은 스위치가 개방되어도 일치되지 않으므로(즉, 스위치가 동시에 열릴 수 없고 양의 전류를 가지므로) 스위치의 상태에 대한 하나의 값, 즉, 단지 하나의 가능한 적절한 값이 폐쇄될 수 있음을 나타낸다. 코어 예측기(154)의 출력은 제 4 부분 예측 테이블 데이타 요소(158)에 저장된다. 코어 예측기(154)는 특정 가설에 대한 불일치를 검출할 수 있음에 유의하여야 한다. 예를 들어, 전술한 스위치의 예를 사용하여 스위치에 입력되는 전류는 음의 값으로 관찰된 것으로 가정해 보자. 스위치의 열림 또는 닫힘 상태의 경우에, 스위치의 입력 전류는 네거티브(negative)이고 스위치의 출력전류는 포지티브이라는 것은 일관성이 없다. 따라서, 테스트되는 가설은 유효하지 않다. 즉, 캐시형 상태 발생기(132)에 의해 처리되는 제 3 부분 예측 테이블 및 집합들과 연관된 가설은 거짓임에 틀림없다. 이 경우, 코어 예측기(154)는 제 4 부분 예측 테이블(158)을 널(즉, 널로 세트)한다.
제 4 부분 예측 테이블(158)은 가정 테스터(159)에 입력으로서 제공되는데, 이 가정 테스터(159)는 소정의 예측(즉, 그것에 세트되는 값을 갖는 변수)들이 제 4 부분 예측 테이블(158)에 포함되면 적어도 하나의 값들의 조합이 어떠한 불일치도 발생시키지 않는 공지되지 않은 나머지 변수들에 할당될 수 있을것으로 판정한다. 제 4 부분 예측 테이블(158)이 널 테이블이면 가정 테스터(159)는 널 테이블을 예측 데이타 요소(134)에 전달하여 가설 테스터(136)가 이 가설을 폐기할 수 있다.
그러나, 제 4 부분 예측 테이블(158)이 널 테이블이 아니면 가정 테스터(159)는 공지되지 않은 각 변수들에 대한 값들을 가정한 다음, 일관적인 예측들의 세트가 이들 값으로부터 파생될 수 있는지를 판정한다. 소프트웨어는 공지되지 않는 변수에 대한 값을 제 4 부분 예측 테이블(158)에 저장하고(이로써, 공지되지 않은 변수는 공지의 변수로 일시적으로 변형됨), 모든 공지의 변수들을 제공하고, 이것을 호출하는 재귀적 루틴(recursive routine)을 사용한다. 전송 단계중에 일치하지 않은 예측들의 세트가 발생되면 가정 테스터(159)는 변수들에 대한 상이한 값들을 가정하기 위해 재귀(recursion)를 통해 백 트랙(backtrack)한다. 만약 모든 공지되지 않는 변수들에 대한 일관된 값들의 세트가 검출되면, 가정 테스터(159)는 제 4 부분 예측 테이블(공지되지 않은 변수들을 그들의 원시 상태로 복원하는)(158)을 예측 데이타 요소(134)에 전달한다. 그렇지 않으면, 가정 테스터(159)는 제 4 부분 예측 테이블(공지되지 않은 변수들을 그들의 원시 상태로 복원하는)(158)을 예측 데이타 요소(134)에 전달한다. 그렇지 않으면, 가정 테스터(159)는 널 테이블을 예측 데이타 요소(134)에 제공한다.
가정 테스터(159)는 값들을 임의로 공지되지 않은 변수들에 할당할 수 있지만 임의 조합(random combination)의 수가 너무 커질 수 있으므로 처리 시간이 아주 비효율적일 수 있다. 예를 들어, 각기 3개의 가능한 값을 갖는 20개의 공지되지 않은 변수들이 있으면, 임의 조합의 수는 30억개 이상이 된다. 따라서, 값들을 임의로 공지되지 않은 변수들에 할당하는 대신에, 가정 테스터(159)는 값들을 변수들에 할당하기 위해 동적 가정 상태(dynamic assumption ordering)를 사용한다.
동적 가정 상태는 타겟 집합(target confluence)을 위치시키고 값을 가장 많은 수의 타겟 집합에 나타나는 변수에 할당하고, 변수 할당을 전파하는 과정이다. 타겟 집합은 소정의 집합인데, 이 집합에서는 집합의 변수들중 어느 하나에 소정의 값을 할당함으로써 다른 공지되지 않은 변수들의 값을 판정하거나 불일치를 판정하여 가설이 기각되도록 한다. 타겟 집합의 가장 간단한 예는 변수 V1이 변수 V2와 동일한 것임을 나타내는 집합이다. 만약 소정의 값이 변수 V1에 할당되면 변수 V2에 대한 값이 판정될 수 있다. 또한, V1에 할당되는 모든값이 불일치되면 가정 테스터(159)가 널 테이블을 예측 테이블 데이타 요소(134)에 전달하는 경우가 발생될 수 있다. 예를 들어, 제 1 집합은 변수 V1이 변수 V2와 동일하고, 제 2 집합은 변수 V1이 변수 V2의 네거티브와 동일하고, 제 3 집합은 변수 V1이 변수 V2에 양의 상수값을 더한 것과 동일한 것으로 가정해 보자. 세개의 집합들에 의해 V1 및 V2에 배치되는 제한 조건들을 해결할 수 있는 값들의 조합은 존재하지 않는다. 가정 테스터(159)가 초기에 타겟 집합에 나타나지 않는 변수들을 임의로 선택하는 것 대신 값의 치환을 위해 V1 또는 V2를 선택하면 불일치가 검출될 것이다.
제 8 도는 제한 프로파게이터(150)의 동작을 보다 더 상세하게 도시한 흐름도(180)이다. 제 1 단계(182)에서, 제 2 부분 예측 테이블(148)의 공지의 변수들을 통해 반복이 제어된다. 단계(182)에서, 반복 카운터는 처음에 초기화된 다음, 차후 실행동안에 증가된다. 흐름도(180)의 나머지 단계는 한번에 하나의 변수에 대해 동작한다. 반복 카운터가 제 2 부분 예측 테이블(148)의 공지된 변수 리스트의 끝에 도달하면 실행이 완료된다. 그렇지 않으면 제어는 단계(183)으로 이동되는데, 이 단계(183)에서 (캐시형 집합 테이블로부터의) 변수와 연관된 모든 집합들은 제 2 부분 예측 테이블(148)로부터의 공지의 모든 변수값을 사용함으로써 검사되고 도출될 수 있다. 공지되지 않은 변수가 단지 공지된 변수들(즉, 공지된 집합의 모든 변수들)만으로 표현될 경우, 공지되지 않은 변수에 대한 값은 단계(183)에서 판정될 수 있다. 제어는 단계(183)로부터 테스트되는 단계(184)로 이동되어 단계(183)에서 불일치가 발견되었는지를 판정한다. 동일한 변수에 대해 두개의 상반되는 예측(예를 들어, 집합의 한 부분 집합은 임의의 변수가 포지티브인 것으로 예측하고 다른 부분집합은 동일한 변수가 네거티브인 것으로 예측한다)이 이루어질 때 불일치가 발생된다. 만약 불일치가 단계(184)에서 발견되면, 제어는 제 3 부분 예측 테이블(152)이 널되고 제한 프로파게이터(150)의 실행이 완료되는 단계(185)로 진행된다.
단계(184)에서 불일치가 발견되지 않으면, 제어는 단계(184)로부터 임의의 공지되지 않은 변수값들이 단계(183)에서 발견되었는지의 여부를 판정하기 위해 단계(187)로 진행된다. 새로운 공지의 변수들이 발견되면 제어는 단계(187)로부터 새로운 공지의 변수가 공지의 변수들의 리스트에 추가되는 단계(188)로 이동된다. 제어는 단계(188)로부터 반복 카운터가 증가되는 단계(182)로 되돌아간다. 단계(183)에서 새로운 변수들이 발견되지 않았으면 제어는 단계(187)로부터 단계(182)로 다시 진행된다.
제 9 도는 코어 예측기(154)의 동작을 보다 더 상세히 도시한 흐름도(190)이다. 제 1 단계(192)에서, 제 3 부분 예측 테이블(152)의 공지되지 않은 변수들을 통해 반복이 제어된다. 단계(192)에서, 반복 카운터는 처음에 초기화되어 차후 실행동안 증가된다. 흐름도(190)의 나머지 단계들은 한번에 공지되지 않은 변수 하나에 대해 동작한다. 단계(192)에서 처리가 완료되지 않으면, 제어는 단계(192)로부터 단계(193)로 진행되어, 동작되는 변수를 하나 이상의 유효한 값에 대해 체크한다. 정성 물리학은 기계를 모델링하는데 사용되므로, 실제의 아날로그 양을 나타내는 것들을 포함하여 모든 변수들을 유한한 수의 값들을 갖는다. 단계(193)에서, 변수는 취할 수 있는 가능한 모든 값들에 반복적으로 세트된다. 단계(193)에서 변수가 모든 가능한 값에 세트되지 않으면, 제어는 단계(193)로부터 단계(194)로 진행하여, 제한조건을 통해 변수값을 전파한다. 단계(194)로부터 단계(195)로 이동되는데, 이 단계(195)에서는 공지되지 않은 변수에 대한 가정된 값을 집합을 통해 전파함으로서 불일치가 발생되는지를 판정한다. 만일 조건이 맞으면, 제어는 단계(195)로부터 단계(193)로 진행하여, 변수를 기초로 하여 또다른 반복(즉, 변수에 대해 선택되는 또 다른 값)을 수행한다. 집합을 통해 변수값을 전달하여 불일치되지 않으면, 제어는 단계(195)로부터 단계(196)로 진행하여, 값을 변수의 가능한 값들의 리스트에 추가한다. 제어는 변수의 또다른 값을 테스트하기 위해 단계(196)로부터 단계(193)로 이동한다.
변수들의 모든 가능한 값이 집합을 통해 전파된 후에, 제어는 단계(193)로부터 단계(197)로 이동하는데, 이 단계(197)에서는 변수의 임의의 예측된 값들이 일관된 예측 세트인지의 여부를 판정한다. 만약 일관된 예측 세트가 되는 변수값이 존재하지 않으면, 제어는 단계(197)로부터 단계(198)로 진행하여, 예측 테이블을 널하여 실행을 종료한다. 이와 같은 가설은 변수들중 하나가 일관된 예측세트를 생성하는 값을 가질 수 없으므로 참이 아니다. 예측된 값들이 영이 아니면 제어는 단계(197)로부터 단계(199)로 이동하는데, 이 단계(199)에서는 일관된 예측세트가 되는 변수의 값이 단지 하나만 존재하는지를 판정한다. 만약 조건이 맞으면, 제어는 단계(199)로부터 단계(200)로 진행하여, 변수값을 제 4 부분 예측 테이블(158)에 추가한다. 변수값중 하나만이 일관된 예측 세트가 되면 변수는 참인 것으로 판정되는 가설의 값과 동일해야 한다. 이어서, 제어는 단계(200)로부터 반복 단계(192)로 다시 진행하여, 후속 공지하지 않은 변수를 테스트한다.
제 10 도는 다수의 방법으로 가설들을 발생하는 가설 발생기(105)의 동작을 도시한 데이타 흐름도(230)이다. 가설 발생기(105)는 보관 가설 데이타 요소(99)로부터 존재하는 가설들과 연관된 구성 요소들을 확장시키므로써 새로운 가설을 발생시킬 수 있다. 가설 발생기(105)는 다수의 구성요소가 동시에 고장난 것으로 가정함으로써 새로운 가설들을 발생시킬 수 있다. 가설 발생기(105)는 존재하는 가설 및 이와 연관된 예측들을 보관 가설 데이타 요소(99)로부터 보류 가설 데이타 요소(99)에 전달할 수 있다.
테스트 요청 데이타 요소(102)로부터의 데이타는 가설 제어기(232)에 제공되는데, 이 가설 제어기(232)는 테스트 요청 데이타 요소(102)가 비어 있는 것으로 검출하면 모델 사례 데이타 요소로부터의 정보를 사용하여 서브 구성요소 즉, 보관 가설 데이타 요소(99)로부터의 가설과 연관된 구성요소까지 확장함으로써 새로운 가설을 생성한다. 예를 들어, 보관 가설 데이타 요소(99)가 기계 전원이 고정이라고 가정하는 단일 가설을 포함하면, 가설 제어기(232)는 전원의 서브 구성요소(예를 들어, 캐패시터, 트랜스포머, 브리지 정류기 등)의 고장에 대응하는 다수의 가설을 발생할 것이다. 가설 제어기(232)는 모델 사례 데이타 요소(106)가 각 혼합 구성요소의 서브 구성요소를 식별하는 데이타 구조를 포함하므로 구성 요소의 서브 구성 요소를 판정할 수 있다.
보관 가설 데이타 요소(99)가 비어 있으면, 가설 제어기(232)는 데이타를 계속적인 테스팅 질의 데이타 요소(107)에 기록하여 사용자가 이전의 가설 세트보다 고장난 구성 요소가 두개 이상 많은 가설 세트로 고장 분리를 계속 수행하길 원하는지를 판정한다. 사용자의 응답은 계속 테스팅 응답 데이타 요소(108)에 제공되는데, 이와 같은 계속적인 테스팅 응답 데이타 요소(108)는 가설을 계속 발생시킬 것인지의 여부를 판정하는 응답을 사용하는 가설 제어기(232)에 입력으로서 제공된다.
테스트 요청 데이타 요소(102)가 비어 있지 않으면(즉, 지능 테스트 선택(100)이 관찰 결과를 실행하도록 사용자를 프롬프트하면), 가설 제어기(232)는 가설 테스터(96)에 테스트하기 위해 보관 가설 데이타 요소(99)로부터의 가설을 보류 가설 데이타 요소(98)에 전달한다. 사용자가 관찰하도록 프롬프트된 변수에 대한 값을 예측하는 가설(즉, 테스트 요청 데이타 요소(102)에 저장된 테스트)은 제공되지 않는데, 그 이유는 또다른 테스팅이 임의의 새로운 가설에 대한 값을 예측하지 않고 또한, 그 가설들을 제거하지 않기 때문이다. 예를 들어, 보관 가설 데이타 요소(99)는 특정한 도관(conduit)을 통해 양의 유체 흐름을 예측하는 가설 A 및 동일한 도관을 통해 유체 흐름을 예측하지 않은 가설 B를 포함한다. 테스트 요청 데이타 요소(102)가 도관을 통해 유체 흐름을 사용자가 관측하도록 하는 프롬프트를 포함하면, 가설 제어기(232)는 (가설 B가 유체 흐름을 예측하지 않으므로) 가설 B를 보류 가설 데이타 요소(98)에 전달하지만, (가설 A는 도관을 통한 양의 유체 흐름을 에측하므로) 가설 A를 보류 가설 데이타 요소로 전달하지는 않는다. 사용자가 실질적으로 도관을 통해 유체 흐름이 존재하지 않거나 네거티브인 것으로 관측되면 예측 테스터(104)는 보관 가설 데이타 요소(99)로부터 가설 A를 제거한다.
가설 제어기(232)는 가설 저장 데이타 요소(234)에 가설(새롭게 발생된 가설 또는 보관 가설 데이타 요소(99)로부터의 가설)들을 저장한다. 가설 저장 데이타 요소(234)는 집합 섹터(236)에 입력으로서 제공되는데, 이 집합 섹터(236)는 모델 사례 데이타 요소(106)로부터의 데이타를 사용하여 가설 저장 데이타 요소(234)에 저장된 각 가설에 대한 모델 집합들을 결정한다. 집합 섹터(236)는 접합 데이타 요소(238)에 집합들을 저장한다.
집합 데이타 요소(238)는 변수 컬렉터(24)에 입력으로서 제공되는데, 이 변수 컬렉터(240)는 각 세트의 집합에 대한 유일한 변수들을 결정하여 변수 데이타 요소(242)에 출력한다. 변수 데이타 요소(242) 및 집합 데이타 요소(238)는 캐시형 집합 테이블을 생성하는 집합 캐숴(confluence cacher)(244)에 입력으로서 제공되는데, 집합 테이블은 각 요소가 인덱스 변수를 나타내는 모든 집합을 포함하는 각 변수에 의해 색인될 수 있다(예를 들어, 변수 V1은 집합 C1, C5 및 C6에 나타나고 변수 V2는 집합 C2 및 C5 등에 나타난다). 캐시형 집합 테이블은 변수들의 어커런스(occurrence)에 대한 집합들을 검색하지 않고 가설을 테스트하기 위해 가설 테스터(96)에 의해 사용된다.
새롭게 생성된 가설의 경우, 변수 데이타 요소(242)는 빈 예측테이블을 발생하는 예측 테이블 발생기(246)에 입력으로서 제공된다. 보관 가설 데이타 요소(9)로부터 획득된 가설들의 경우 이미 존재하는 (이미 결정된 몇몇 변수 값들을 갖는) 예측 테이블이 사용된다. 보류 가설 데이타 요소(98)에 기록된 가설 발생기(110)의 출력은 가설 세트, 각각의 가설들에 대한 연관된 캐시형 집합 테이블 및 이와 연관된 예측 테이블이다(새롭게 발생된 가설의 경우 어떠한 값도 포함하지 않는다).
제 11 도는 지능 테스트 선택(100)의 동작을 상세하게 도시한 데이타 흐름도(260)이다. 보관 가설 데이타 요소(99)로부터 입력은 테스트 분류기(test classifier)(262)에 제공된다. 테스트 분류기(262)는 보관 가설 데이타 요소(99)로부터의 각 가설과 연관된 예측들을 검사하고, 각각의 변수들을 유형 Ⅰ 테스트, 유형 Ⅱ 테스트 유형 Ⅲ 테스트로 분류하는데, 유형 Ⅰ 테스트는 보관 가설 데이타 요소(99)의 적어도 하나의 가설이 폐기되도록 사용자가 실행할 수 있는 관찰 결과이고, 유형 Ⅱ 테스트는 가설이 폐기되거나 혹은 폐기될 수 없도록 하는 관찰 결과이고, 유형 Ⅲ 테스트는 가설이 폐기되지 않도록 하는 관찰 결과이다. 테스트 분류기(262)의 출력은 분류된 테스트 데이타 요소(264)에 저장된다.
테스트 분류의 예로서, 보관 가설 데이타 요소(99)는 가설 A 및 가설 B를 포함하는데, 가설 A는 특정 전류가 영 이상이고 가설 B는 동일한 전류가 영 미만인 것으로 예측한다. 테스트 분류기(262)는 부류 Ⅰ 테스트될 전류를 판단하는데 그 이유는 사용자가 관측(및 QRS에 대한 입력)하는 전류는 실질적인 전류값에 대해 가설 A 또는 가설 B를 제거하도록 보장하기 때문이다. 예를 들어, 가설 A가 특정 포인트에서 영이상인 전압을 예측하고 가설 B가 동일한 포인트에서 영 이하인 전압을 예측하는 것으로 가정해 보자. 사용자가 관측하는 전압이 가설 A 또는 가설 B를 제거하거나 혹은 제거하지 못할 수 있으므로, 테스트 분류기(262)는 전압 측정을 부류 II 테스트인 것으로 간주한다. 만약 사용자에 의해 측정된 전압이 영이면 가설 A 및 가설 B 모두 제거될 수 없지만, 사용자가 측정한 전압이 영이 아니면 가설 A 또는 가설 B가 제거될 수 있다. 예를 들어, 가설 A 및 가설 B가 특정한 유체 흐름에 관해 예측하지 않는 것을 가정해 보자. 그러면 테스트 분류기(262)는 유체 흐름을 부류 Ⅲ 테스트인 것으로 간주한다.
보관 가설 데이타 요소(99)로부터의 입력은 테스트 결과 페이오프 발생기(test rusult payoff generator)(266)로 제공되는데, 이 테스트 결과 페이오프 발생기(266)는 각 변수의 가능한 각 값에 대해 변수가 특정 값과 동일한 경우, 보관가설 데이타 요소(99)로부터 폐기될 가설의 비율을 결정한다. 예를 들어, 보관 가설 데이타 요소(99)는 10개의 가설들을 포함하고, 이들중 세개는 특정 전류가 포지티브 또는 영인 것으로 예측하고, 네개는 동일한 전류가 네거티브인 것으로 예측하고, 나머지 세개는 전류에 관해 예측하지 않는다. 포지티브 전류에 대한 페이오프는 4/10이고 네거티브 전류에 대한 페이오프는 3/10이다. 테스트 결과 페이오프 발생기(266)의 출력은 페이오프 데이타 요소(268)에 저장된다.
보관 가설 데이타 요소(99)로부터의 입력 및 구성요소 정보 데이타 요소(101)로부터의 입력이 가설 확률 발생기(270)에 제공되는데, 이 가설 확률 발생기는 구성 요소 정보데이타 요소(101)로부터의 경험적 구성 요소 고장 정보를 사용하여 보관 가설 데이타 요소(99)로부터 각 가설의 가능한 유효성을 예측한다. 가설 확률 발생기(270)로부터의 출력은 가설 확률 데이타 요소(272)에 저장된다. 가설 확률 데이타 요소(272) 및 보관 가설 데이타 요소(99)는 테스트 결과 확률 발생기(274)에 입력으로서 제공되는데, 이 테스트 결과 확률 발생기(274)는 사용자가 각 변수에 대해 관측할 예상된 값을 예측한다. 확률이 높은 가설에 의해 예측되는 변수 값은 확률이 낮은 가설에 의해 예측되는 변수값보다 관측되기 쉽다. 예를 들어, 보관 가설 데이타 요소(99)는 특정 유체 흐름이 영인 것으로 예측하는 가설 A 및 동일한 유체 흐름이 영이 아닌 것으로 예측하는 가설 B를 포함한다. 또한, 가설 A는 가설 확률 발생기(270)에 의해 80%의 확률을 갖는다고 간주하고 가설 B는 20%의 확률을 갖는다고 가정해 보자. 테스트 결과 확률 발생기(274)는 사용자에 의해 관측될 유체 흐름이 영인 경우 80%이고, 유체 흐름이 영이 아닌 경우는 20%인 것으로 판정할 것이다.
테스트 결과 확률 발생기(274)로부터의 출력은 예상 확률 데이타 요소(expected probabilities data element)(276)에 저장되는데, 이 예상 확률 데이타 요소(276)는 페이오프 데이타 요소(268)와 더불어 테스트 유틸리티 발생기(test utility generator)(278)에 입력으로서 제공된다. 각 변수에 대해 테스트 유틸리티 발생기(278)는 예상 확률의 곱에 대한 합을 계산하여 획득된 변수 및 변수가 가질 수 있는 각 값에 대한 페이오프를 측정하는 사용자를 갖는 유틸리티를 결정한다. 예를 들어, 변수 X는 세개의 가능한 값 즉, 마이너스(minus), 영 및 플러스(plus)를 갖는 것으로 가정해 보자. 또한, 마이너스로 변수를 측정하는 페이오프는 1/10, 영으로 변수를 측정하는 페이오프는 2/10 및 플러스로 변수를 측정하는 페이오프 6/10인 것으로 가정해 보자. 또한, X가 마이너스인 확률이 25%이고, X가 영인 확률이 70%이고, X가 플러스인 확률이 5%인 것으로 가정해 보자. 변수 X를 측정하는 유틸리티는 다음의 식에 의해 결정된다:
X의 유틸리티 = (0.10×0.25)+(0.20×0.70)+(0.60×0.05)
테스트 유틸리티 발생기(278)의 출력은 테스트 유틸리티 데이타 요소(280)에 저장되는데, 이 테스트 유틸리티 데이타 요소(280)는 구성 요소 정보 데이타 요소(10)로부터의 데이타와 더불어 테스트 스코어 발생기(test score generator)(282)에 입력으로서 제공된다. 테스트 스코어 발생기(282)는 각 변수(구성요소 정보 데이타 요소(101)로부터)의 테스트 시간에 의해 각 변수의 테스트 유틸리티를 분할하여 테스트 스코어 데이타 요소(284)에 저장되는 각 변수의 테스트 스코어를 제공한다. 각 변수들에 대해 테스트 스코어 발생기(282)는 그 변수에 의해 표현되는 기계 파라미터를 관찰하도록 사용자를 프롬프트하는 요구정도(desirability)를 결정한다. 동일한 유틸리티를 갖는 두 변수의 경우 사용자가 측정하는데 더 오래 걸리는 한쪽 변수는 보다 낮은 테스트 스코어를 갖는다. 더우기, 기계 부품의 내부 마찰력등의 몇몇 변수들은 사용자가 측정하기에 불가능할 수 있으므로 테스트 시간이 거의 무한적으로 할당된다. 유틸리티의 이론 및 계산에 대한 보다 상세한 설명은 Von Neumann, John and Morgenstern, Oskar Theory of Games and Economic Behavior, Princeton, Princeton University Press, 3rd edition(1953)에 개시되어 있다.
테스트 스코어 데이타 요소(284) 및 분류 테스트 데이타 요소(classified tests data element)(264)는 테스트 선택기(286)에 입력으로서 제공되는데, 이 테스트 선택기(286)는 사용자가 실행하는 최적의 관측을 결정한다. 또한, 테스트 선택기(286)에는 임계 데이타 요소(thresholds data element)(288)로부터의 제 3 입력이 제공되는데, 이 임계 데이타 요소(288)는 각 유형의 테스트에 대한 임계값(전류의 경우, 유형 Ⅰ 테스트의 임계값은 0.5, 유형 Ⅱ 테스트의 임계값은 100이다)을 포함한다. 테스트 선택기(286)는 가장 높은 테스트 스코어를 갖는 유형 Ⅰ 테스트(즉, 보관 가설 데이타 요소(99)로부터 적어도 하나의 가설을 제거하도록 보장된 사용자 관측)를 선택한다. 그러나, 최고 스코어의 유형 Ⅰ 테스트가 유형 Ⅰ 테스트의 임계값보다 낮은 스코어를 가지면 테스트 선택기(286)는 유형 Ⅱ 테스트의 임계값보다 높은 테스트 스코어를 갖는 최고 스코어의 유형 Ⅱ 테스트를 선택한다. 각각의 임계값보다 높은 테스트 스코어를 갖는 유형 Ⅰ 또는 유형 Ⅱ 테스트가 존재하지 않으면, 테스트 선택기(286)는 어떠한 테스트도 선택하지 않는다. 테스트 선택기(286)의 출력은 테스트 요청 데이타 요소(102)에 기록된다. 테스트 선택기(286)가 테스트 요청 데이타 요소(102)에 아무것도 기록하지 않으면 가설 발생기(105)는 테스트 요청 데이타 요소(102)가 비어있고 보관 가설 데이타 요소(99)로부터 가설을 확장하는 것을 검출한다.
제 12 도는 QRS 소프트웨어에 의해 사용되는 모델 사례 데이타 요소(106)를 제공한 모델 빌더의 데이타 흐름도(300)이다. 모델 사례 데이타 요소(106)는 버링튼 마(Burlingtong. Ma.)의 심볼릭스사(Symbolics Inc.) 제품인 Symbolics 3640과 같은 컴퓨터 워크스테이션상에서 모델 빌더가 수행되어 오프 라인이 구성되면, PMA(30)으로 전송되어 QRS 소프트웨어의 일부분으로 된다.
모델 빌더로의 입력은 그래픽 사용자 인터페이스(302)를 통과하며, 이는 "HELIX : A Helicopter Diagnostic System Based on Qualitative Physics", Hamilton, Thomas P., International Journal of Artificial Intelligence in Engineering, Vol. 3, No. 3 July, 1988, pp. 141-150에 상세히 개시되어 있다. 그래픽 사용자 인터페이스(302)로부터의 사용자 입력은 모델 구성자(304)에 제공되고, 모델 구성자는 사용자 입력을 처리하여 워크스테이션의 디스크에 저장될 모델 구성 요소 데이타 화일(306)을 발생한다. 모델 구성 요소 데이타 화일(306)은 사용자가 기본 구성 요소를 상호접속하거나 혹은 다른 복합 성분을 상호 접속시킴으로써 생성될 수 있는 엘리먼트 모델 성분(즉, 터미널, 변수 및 기본 구성 요소의 집합)의 정의 및 복합 모델 구성 요소의 정의를 포함한다. 모델 구성 요소 데이타 화일(306)에 저장된 데이타는 LISP의 형태이고, 이러한 구조는 본 분야의 통상의 지식을 가진자라면 이해할 것이다. 구성 요소 데이타 화일(306)의 구성 요소의 상호접속은 최하위 계층의 레벨이 엘리먼트 구성요소이고 최상위 계층의 레벨이 모델화될 기계를 나타내는 하나의 복합 구성 요소가 되도록 모델 계층을 정의한다.
구성 요소 데치나 화일(306)은 접속, 피라미터 및 모델 구성 요소의 특성을 고려하여 PMA(30)상의 QRS 소프트웨어에 의해 구성 요소 데이타 화일(306)을 처리를 위해 최적의 형태로 변환하는 모델 인스탠쉬에이터(instantiator)(308)에 대한 입력으로서 제공된다. 모델 인스탠쉬에이터(308)에 의한 변환 결과는 워크스테이션의 디스크에 저장되고, PMA 상의 QRS 소프트웨어로 전송되어 모델 사례 데이타 요소(106)가 되는 사례 데이타 화일(310)로 출력된다. 인스탠쉬에이터(308)에 의해 실행되는 변환은 중위 표기에서 전위 표기로의 집합변환, 조건 집합으로부터의 키워드의 추출, 고속 액세스에 대해 각 집합에서 사용된 변수 예비 정렬 및 LISP 속성 리스트로부터의 변수의 데이타 형태의 LISP 심볼로의 변환을 포함한다.
인스탠쉬에이터(308)는 제한의 수 및 제한 저감(constraint reduction)에 의한 모델의 변수를 줄인다. 제한 저감은 구성 요소의 집합을 검사하는 단계와, V1이 V2와 동일하고, V1이 -V2와 동일한 단순한 집합을 제거하는 단계를 포함하지만, 하나 이상의 변수는 터미털 변수가 아니다(즉, 구성 요소의 터미널의 상태를 나타낸다). 다른 변수는 터미널 또는 비터미널 변수일 수 있다. 하나의 비터미널 변수 및 단순한 집합은 나머지 변수(또는 V1이 -V2와 동일한 단순한 집합의 경우에 나머지 변수의 부정)을 구성 요소에 대한 모든 집합의 비터미널 변수로 치환함으로써 제거된다. 이러한 방안의 문제점은 비터미널 변수의 가능한 성질값이 나머지 변수의 가능한 성질상의 값의 부분 집합이어야 한다는 것이다.
제한 저감 처리는 최하위 모델 계층의 레벨에서 개시된다. 최하위 레벨에서 제거된 변수는 더높은 계층의 레벨에서도 제거된다. 차후 계층의 레벨에서는 하나의 레벨에서 터미널을 설명하는 변수가 더 높은 모델 계층의 레벨에서 구성 요소의 터미널을 기술하지 않으므로, 더많은 변수가 제거될 수 있다. 예를 들어, 전원의 다수의 엘리먼트 구성 요소의 터미널 변수는 엘리먼트 구성 요소가 서로 그룹화될 때 비터미널 변수로 된다.
적절히 동작하는 QRS에 대하여, 사례 데이타 화일(310)은 모델화중인 시스템의 정확한 표현 방식을 포함해야 한다. 사례 데이타 화일(310)은 모델 테스터(312)에 입력으로서 제공되고, 모델 테스터는 그래픽 사용자 인터페이스(302)를 거쳐 사용자와 상호 작용하여 사례 데이타 화일(310)의 구성 요소를 학습한다. 모델 테스터(312)는 물리적 성질을 사용하여 구성 요소를 학습하여, 고장을 검출하여 진단하거나 구성 요소의 동작 상태를 발생함으로써, 그래픽 사용자 인터페이스(302)를 거쳐 사용자에게 정보를 제공한다. 예를 들어, 사례 데이타 화일(310)에 있는 밸브에 대하여, 구성 요소 테스터(312)는 밸브가 폐쇄되어 밸브의 유출 및 밸브의 유입이 제로인 제 1 상태, 밸브가 개방되어 밸브의 유입이 포지티브이고 밸브의 유출이 포지티브인 제 2 상태, 밸브가 개방되어 밸브의 유입이 네거티브이고 밸브의 유출이 네거티브인 제 3 상태, 밸브가 개방되어 밸브의 유입이 제로이고 밸브의 유출도 제로인 제 4 상태를 발생할 수 있다.
발생된 상태에 의해, 사용자는 구성 요소 모델을 디버그할 수 있다. 사용자가 구성 요소에 대해 너무 많은 제한을 제공하면, 모델 테스터(312)는 구성 요소에 대해 모든 가능한 상태를 발생할 수 없게 된다. 예를 들어, 전술한 밸브의 예를 사용할 때, 사용자가 잘못하여 밸브에 대해 너무 많은 제한을 제공하면, 모델 테스터(312)는 상기 나타낸 4개의 동작 상태중 34개만을 발생한다. 마찬가지로, 사용자가 너무 적은 제한을 제공하면, 모델 테스터(31)는 여분의 불합리한 상태를 발생한다. 예를 들어, 전술한 밸브의 예를 사용할 때, 밸브가 닫혀질 때 사용자가 밸브의 유입 및 유출이 제로인 것을 지정하는 밸브에 대한 제한을 제공하지 않으면, 밸브가 폐쇄되어 모델 테스터(312)는 밸브의 유입 및 밸브의 유출이 포지티브인 제로가 아닌 값의 상태를 발생한다.
사용자는 워크스테이션의 디스크에 저장되는 테스트 경우 데이타 화일(test cases data file)(314)을 선택적으로 생성할 수 있다. 테스트 경우 데이타 화일(314)은 사례 데이타 화일(310)에 저장된 구성 요소의 변수에 대해 할당된 값의 사전결정된 세트를 포함한다. 예를 들어, 테스트 경우 데이타 화일(314)은 전기적 저항에 대해 할당된 변수값의 제 1 및 제 2 데이타를 포함할 수 있고, 여기서, 제 1 세트의 경우 저항을 통해 흐르는 전류는 포지티브이고 저항 양단의 전압은 포지티브의 값을 갖고, 제 2 세트의 경우 저항을 통해 흐르는 전류는 포지티브이고 저항 양단의 전압은 네거티브의 값을 갖는다. 테스트 경우 데이타 화일(314)은 특정 구성 요소에 대한 모든 테스트 경우를 포함할 필요가 없음에 유의하여야 한다. 전술한 저항의 예에서, 저항의 전류 및 전압이 제로인 경우는 사용되지 않는다.
또한, 테스트 경우 데이타 화일(314)은 무효 경우, 즉 구성 요소의 집합을 벗어나는 구성 요소의 변수값의 세트를 포함해도 좋다. 예를 들어, 테스트 경우 데이타 화일(314)은 저항 양단의 전압이 포지티브이고 그 저항을 통해 흐르는 전류가 네거티브인 저항에 대한 경우를 포함할 수 있다. 테스트 경우 데이타 화일(314)은 구성 요소 테스터(312)에 대한 입력으로서 제공되고, 구성 요소 테스터는 사전 결정된 경우 세트의 값을 테스트중인 구성 요소의 변수로 치환한다. 구성 요소 테스터(312)는 사용자 인터페이스(302)를 통해 사용자에게 결과를 보고한다. 발생시 사용자에 의해 테스트 경우 데이타 화일(314)의 각 경우에 제공된 스트링도 사용자 인터페이스(302)를 거쳐 사용자에게 보고되므로, 예를 들어, 무효 경우의 스트링은 이와 같은 경우를 식별한다.
싱글 프로세서의 QRS의 실행대신 다른 방안으로, 다중 프로세서를 사용할 수 있다. 제 13 도에 있어서, 프로세서 네트워크(320)는 제어 프로세서(332), 제 1 서버 프로세서(323), 제 2 서버 프로세서(324) 및 N번째 서버 프로세서(325)로 구성되어 있고, 이들은 버스(328)를 거쳐 상호접속되어 있다. 프로세서(322-325)는 Symbolics 3640 컴퓨터 워크스테이션과 같은 독립형 컴퓨터일 수 있고, 버스(328)는 이더넷(ethernet) 배선일 수 있다. 프로세서(322-325)는 RPC 프로토콜, 즉 본 기술 분야에 통상의 지식을 가진자에게 잘 알려진 표준 컴퓨터 통신 프로토콜을 사용하여 버스(328)를 통해 통신한다. 실제 사용되는 서버 프로세서(323-325)의 수 N은 이하 상세히 기술되는 기준 함수 계수의 변화에 따라 선택한다.
제어 프로세서(322)는 PMA(30)에 대하여 상술한 것과 마찬가지 방식으로 사용자에게 입력을 프롬프트하고, 테스트가 최적인지를 판정하고, 가설을 발생한다. 제어 프로세서(322)는 보류 가설 및 서버 프로세서(323-325)의 관찰도 제공한다. 서버 프로세서(323-325)의 각각은 한번에 하나의 가설을 평가하고 그 결과를 제어 프로세서(322)에 반환한다. 서버 프로세서(323-325)는 동시에 평가될 수 있는 가설의 최대수가 서버 프로세서(323-325)의 수와 동일하게 되도록 동시에 동작한다. 제어 프로세서(322)는 서버 프로세서로서 기능할 수 있고, 그 수가 N개인 경우에서도 실제 서버 프로세서(323-325)가 제로로 될 수 있음에 유의하여야 한다.
서브 프로세서(323-325)의 각각의 동작은 제 4 도의 가설 테스터(96)에 대하여 도시한 것과 유사하다. 제어 프로세서(322)에서 서버 프로세서(323-325)로 전송된 데이타는 제 4 도의 보류 가설 데이타 요소(94, 98) 및 관측시 저장된 데이타와 유사하다.
하나의 실시예에서, 제어 프로세서(322)는 보류 가설 및 관측의 세트를 각각의 서버 프로세서(323-325)에게 제공한다. 각각의 서버 프로세서(323-325)가 결과를 반송할 때(따라서, 프리상태로 됨), 제어 프로세서(322)는 가설 및 관측을 서버 프로세서(323-325)에게 제공한다. 제어 프로세서(322)가 더이상 제공할 가설을 갖지 않으면 반복이 완료되고, 모든 서버 프로세서(323-325)가 프리 상태로 된다.
또한, 제어 프로세서(322)는 가설을 평가하기 위해 서버 프로세서에게 허용될 최대의 시간을 설정한다. 이 경우, 가설 평가를 끝내지 않은 서버 프로세서는 제어 프로세서(322)에 의해 인터럽트되고 이때까지 계산된 변수의 예측을 갖는 부분적으로 평가된 가설을 반환한다. 부분적으로 평가된 가설은 검증된 가설, 즉 반증되지 않은 가설로서 취급되며, 후속 지능 테스트 선택을 공식화하여 전술한 바와 같이 새로운 가설을 발생하는데 사용된다.
각각의 가설에서 가설 서버의 수를 질문 시간 제한과 승산하여 이를 현재의 반복에 대한 가설의 수로 제산한 값과 동일한 초기 시간 제한이 제공되는 경우, 사용자 질문간의 시간 제한을 설정할 수 있다. 모든 가설을 초기 퍼 시간 제한에 따라 평가되었으면, 제어 프로세서(322)는 남아있는 시간을 모두 사용하여 부분적으로 평가된 가설을 연속적으로 처리할 수 있다. 가설의 일부가 퍼 가설 시간 제한보다 짧은 시간에 평가되므로, 시간이 남게 된다. 부분적으로 평가된 가설을 다시 제공하는 것대신, 초기 시간이 경과하고 약간의 시간이 남아있는 경우 동일한 서버에서 처리를 재개할 때 제어 프로세서(322)는 초기에 가설 서버(323-325)중 어느 하나의 서버에서 가설의 평가를 일시 중지할 수 있음에 유의하여야 한다.
또다른 대안은 복귀 가설을 비동기로 처리하는 것이다. 제로가 아닌 것으로 평가된 가설이 서버 프로세서(323-325)에 의해 반환되면, 지능 테스트 선택 모듈은 반환된 가설에 따라, 이것이 (전술한 테스트 스코어에 따라) 가치가 있는지를 판정하여, 사용자에게 다른 관측을 촉구한다. 제어 프로세서(322)에 의해 계류 가설 및 새로운 관측 세트는 가설을 아직 평가하지 않은 서버 프로세서(323-325)에게 제공된다. 또한, 새로운 관측 세트는 새로운 관측이 이루어졌을 시에 아직 가설을 평가하지 않은 서버 프로세서에 제공될 수 있다.
프로세서 네트워크(320)는 고장 해석(trouble shoting)보다는 진단용으로 사용될 수 있는데, 이 경우 어떠한 사용자 관측도 입력되지 않아 어떠한 테스트 선택도 발생되지 않는다. 그 대신, 네트워크(320)에는 가설을 판단하고 시스템에 고장난 것이 있는지를 판정하는 센서들로부터 정보(즉, 구성요소가 동작하지 않는다고 예측하는 가설을 유효하게 하는 센서 정보로부터의 데이타)가 제공된다. 진단 시스템의 경우 가설 서버(323-325)들의 인터럽트 가능성(interuptibility)으로 인해 제어 프로세서(322)가 반복시간을 제어한다. 또한, 프로세서 네트워크(320)는 사용자 또는 관련되지 않은 프로세서 또는 프로세서들의 외부 소스에 의해 인터럽트될 수 있음에 유의하여야 한다.
본 발명은 이더넷 네트워크(ethernet network)를 통해 접속된 Symbolics 3640 컴퓨터 워크스테이션을 사용하여 기술되었지만 본 기술 분야에 통상의 지식을 가진자라면 본 명세서에 예시된 것과는 다르게 상호 접속된 다른 유형의 컴퓨터에 적용될 수 있음을 이해할 것이다. 마찬가지로, 본 기술분야에 통상의 지식을 가진자라면 본 발명은 마이크로프로세서 등의 다수의 상호 접속된 처리장치를 갖는 하나의 컴퓨터에서 적용될 수 있음을 이해할 것이다. 본 발명은 본 발명의 사상과 범주를 벗어나지 않은 범위내에서 가설 판단을 스케줄링(scheduling)하는 알고리즘들을 적용하거나 결합할 수 있다.
QRS 소프트웨어는 PMA(30)에서 실행되는 것으로 도시되고 모델 구성은 Symbolics 3640 워크스테이션에서 실행되는 것으로 예시되었지만, 본 기술분야에 통상의 지식을 가진자라면 QRS 또는 모델 구성을 여러 컴퓨터 시스템에 지원할 수 있음을 이해할 것이다. 마찬가지로, QRS 소프트웨어는 LISP DP 기록되는 것으로 도시되었지만, 본 발명은 요구된 기능을 지원할 수 있는 임의의 컴퓨터 언어를 사용하여 구현될 수 있다. 본 명세서에 예시된 고장분리 시스템은 QRS를 사용하기 전에 룰-베이스드 시스템을 사용하고 있지만, 본 기술분야에 통상의 지식을 가진자라면 QRS는 룰-베이스드 시스템 없이 동작될 수 있음을 이해할 것이다.
정성 물리학은 고장 분리 및 모델 구성요소 디버깅(model compnent debugging)에 사용되는 것으로 도시되었지만, 본 기술 분야에 통상의 지식을 가진자라면 본 명세서에 예시된 분야 이외의 다른 여러 응용에서도 사용할 수 있음을 이해할 것이다. 본 발명은 고장 분리를 정성적으로 모델링될 수 있는 임의의 형태의 시스템에 대해 사용되지만 기계로 한정되지는 않는다. 이러한 시스템의 예로는 경제 시스템(economic system), 재고 시스템(inventory system) 및 생리학적 시스템(physiological system)등이 있으며, 이것으로 한정되지 않는다. 또한, (코어 예측, 동적 가정 순서(dynamic assumption ordering) 및 집합 캐싱(confluence caching)등의) 정성 물리 모델링의 개선에 관련된 본 발명의 실시예는 본 명세서에 예시된 것 이상의 응용 분야를 갖는다. 코어 예측 및 동적 가정순서의 제한 전파의 예는 불일치 모델을 유효하게 하는데(즉, 일치하지 않는 예측 세트가 아닌 임의의 값에서 변수가 취할 수 없는 경우) 사용될 수 있다. 마찬가지로, 정성 물리 모델링은 코어 예측, 동적 가정 순서 또는 집합 캐싱을 사용하지 않고 고장을 분리하는데 사용될 수 있지만 고장 분리 시스템의 실행 결과는 저하된다.
본 명세서에서 동적 가정 순서는 값치환 때문에 가장 많은 수의 타겟 집합에서 나타나는 변수들을 선택하는 것으로 예시되지만 두번째 또는 세번째로 많은 수의 타겟 집합들에 나타나고 동적 가정 순서의 잇점을 파생하는 선택 변수등의 상이한 방안을 사용할 수 있다.
지능 테스트 선택(100)의 유형 Ⅰ 테스트 및 유형 Ⅱ 테스트에 대해 예시된 임계값은 변경될 수 있다. 유사하게, 테스트 스코어를 계산하는데 사용된 특정 공식 또는 본 명세서에 사용된 기준은 본 발명의 사상과 범주를 벗어나지 않는 범위내에서 변경될 수 있다. 본 명세서에서 예시된 지능 테스트 선택(100)은 구성요소의 설계중에 구성 요소를 테스트하기 위한 최적의 측정을 결정하여 그 구성요소에 테스트 포인트를 배치한 것과 같은 고장 분리 이외의 다른 응용 분야를 갖는다.
다수의 구성요소가 동시에 고장임을 가정하는 순서(예를 들어, 구성요소 고장이 없음, 하나의 구성요소가 고장, 누개의 구성요소가 동시에 고장 등)가 본 명세서에 예시되어 가설 발생 순서는 본 발명의 사상과 범주를 벗어나지 않은 범위내에서 변경될 수 있다. 유사하게, 동시에 고장난 것으로 가정된 구성요소의 숫자가 증가할 때마다 사용자를 프롬프트하고 응답을 결정하는 단계는 사용자에게 알리지 않고 고장 분리를 계속 수행하고, 그 수를 자동적으로 증가시키는 QRS를 가짐으로써 제거될 수 있다. QRS는 전적으로 엘리먼트 구성요소들로 구성된 모델에서 동작할 수 있으므로 계층적인 모델 사례 데이타 요소(106)에 포함되는 모델을 필요로 하지 않는다. 비록 모델빌더(model builder)에 대해 하나의 응용이 예시되지만(즉, QRS의 모델 사례 데이타 요소(106)를 구성하는데 모델 빌더를 사용함), 본 기술 분야에 통상의 지식을 가진자라면 모델빌더는 많은 다른 응용을 가질 수 있음을 이해할 것이다. 모델 사례 데이타 요소(106)를 생성하는데 본 명세서에 예시된 다른 프로세서가 사용될 수 있다. 또한, QRS는 모델 사례에서 동작할 수 있는데, 이 모델 사례에서는 본 명세서에 예시된 최적화 부분집합(예를 들어, 제한 완화, 키워드 추출, LISP 심볼들의 LISP 리스트로부터 변수들의 데이타 유형 변환등)만이 인스탠쉬에이터(308)에 의해 모델상에서 실행되지만 그 결과는 QRS의 성능을 저하시킨다. 또한, QRS는 구성요소 데이타 화일(306)에서 동작하도록 구성될 수 있지만 이러한 시스템은 본 명세서에 예시된 실시예보다 느리게 실행될 것이다. 모델 사례는 본 명세서에 예시된 것과 다른 방법을 사용하여 테스트될 수 있다.
비록 본 발명은 사용자 관측에 의해 예시되었지만 PMA(30) 및 고장 분리가 실행되는 기계 사이에 데이타 접촉을 제공하고, 데이타 접속을 통해 정보용 기계를 요구하는 QRS 소프트웨어를 구비하고, 데이타 접속을 통해 정보를 제공하는 기계를 구비함으로써 관측 획득 프로세서를 자동화할 수 있다. 또한, 룰-베이스드 시스템으로부터의 관측으로 초기화할 때 관측 데이타 요소(94)가 단일 기본 구성 요소에 대한 기계 고장을 분리하는데 충분한 양의 정보를 포함하면 QRS는 부가적인 관측을 위해 사용자를 프롬프트하지 않고 고장을 분리할 수 있다. 또한, 실행할 관측을 결정하는 다른 방법(임의 선택을 포함함)을 사용하여 지능 테스트 선택(100) 없이 고장을 분리할 수 있지만, 그 결과는 QRS가 기계 고장을 분리하는 것보다 많은 시간이 걸린다.
본 발명은 여러 실시예에 관해 도시되고 기술되었지만 본 기술분야에 통상의 지식을 가진자라면 본 발명의 사상과 범주를 벗어나지 않은 범위내에서 여러가지 변경이 이루어질 수 있음을 이해할 것이다.

Claims (9)

  1. 병렬 처리 정성 추론 시스템(a parallel processing qualitative reasoning system)에 있어서, 보류 정성 물리 가설(pending qualitative physics hypotheses)을 평가하고, 제각기 가설 평가를 종료하고, 제각기 사전설정된 시간의 크기로 평가될 수 없는 각각의 가설에 대해 부분적으로 평가되는 가설, 또는 완전히 평가되는 가설을 제공하는 다수의 상호접속된 서버 프로세서(a plurality of interconnected server processors)와; 상기 서버 프로세서와 상호접속되고, 이전의 가설을 평가하거나 혹은 이전의 가설의 평가를 종료하는 상기 각각의 서버 프로세서에 응답하여, 보류 가설 또는 부분적으로 평가되는 가설들중 어느 하나를 상기 각각의 서버 프로세서에 제공하는 제어 프로세서(a control processor)를 포함하고; 상기 각각의 서버 프로세서상의 가설 평가는 다른 서버 프로세서상에 수행되는 프로세싱(processing)과는 독립적으로 수행되는 병렬 처리 정성 추론 시스템.
  2. 제1항에 있어서, 상기 서버 프로세서 및 상기 제어 프로세서는 이더넷 네트워크(an ethernet network)를 통해 상호접속되는 컴퓨터 워크스테이션(computer workstations)인 병렬 처리 정성 추론 시스템.
  3. 제1항에 있어서, 상기 부분적으로 평가되는 가설은 충분히 평가되는 가설과 동일하게 취급되는 병렬 처리 정성 추론 시스템.
  4. 제1항에 있어서, 사용자 관측(user observations)이 수행되는 경우, 상기 제어 프로세서는 상기 모든 서버 프로세서에게 상기 사용자 관측을 제공하는 병렬 처리 정성 추론 시스템.
  5. 병렬 처리 정성 추론 시스템에 있어서, 보류 정성 물리 가설을 평가하는 다수의 서버 프로세서와; 상기 서버 프로세서에 상호접속되고, 이전의 가설의 평가를 종료하는 상기 각각의 프로세서에 응답하여, 보류 가설을 상기 각각의 서버 프로세서에 제공하는 제어 프로세서를 포함하고; 상기 각각의 서버 프로세서상의 가설 평가는 다른 서버 프로세서상에 수행되는 프로세싱(processing)과는 독립적으로 수행되는 병렬 처리 정성 추론 시스템.
  6. 제5항에 있어서, 상기 제어 프로세서는 상기 제어 프로세서에서 수신되는 외부 신호에 응답하여, 서버 가설 평가를 종료하는 수단을 더 포함하고; 상기 서버 프로세서는 서버 가설 평가를 종료하는 상기 제어 프로세서에 응답하여 부분적으로 평가되는 가설을 제공하는 수단을 더 포함하는 병렬 처리 정성 추론 시스템.
  7. 제6항에 있어서, 상기 부분적으로 평가되는 가설은 충분하게 평가되는 가설과 동일하게 취급되는 병렬 처리 정성 추론 시스템.
  8. 제5항에 있어서, 상기 제어 프로세서는 상기 제어 프로세서에 입력되는 사용자 관측을 상기 서버 프로세서에 비동기적으로 제공하는 수단을 더 포함하는 병렬 처리 정성 추론 시스템.
  9. 제5항에 있어서, 상기 서버 프로세서 및 상기 제어 프로세서는 이더넷 네트워크를 통해 상호접속되는 컴퓨터 워크스테이션인 병렬 처리 정성 추론 시스템.
KR1019930704070A 1991-06-28 1992-06-25 병렬처리 정성추론시스템 KR100266928B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US723,360 1991-06-28
US7/723360 1991-06-28
US07/723,360 US5138694A (en) 1991-06-28 1991-06-28 Parallel processing qualitative reasoning system
PCT/US1992/005425 WO1993000631A1 (en) 1991-06-28 1992-06-25 Parallel processing qualitative reasoning system

Publications (2)

Publication Number Publication Date
KR940701563A KR940701563A (ko) 1994-05-28
KR100266928B1 true KR100266928B1 (ko) 2000-09-15

Family

ID=24905895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930704070A KR100266928B1 (ko) 1991-06-28 1992-06-25 병렬처리 정성추론시스템

Country Status (9)

Country Link
US (1) US5138694A (ko)
EP (1) EP0591428B1 (ko)
JP (1) JPH06508949A (ko)
KR (1) KR100266928B1 (ko)
CA (1) CA2110897C (ko)
DE (1) DE69223787T2 (ko)
ES (1) ES2111643T3 (ko)
GR (1) GR3026164T3 (ko)
WO (1) WO1993000631A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2865682B2 (ja) * 1988-12-23 1999-03-08 株式会社日立製作所 情報処理システム及び情報処理方法
US5604841A (en) * 1990-07-06 1997-02-18 United Technologies Corporation Hierarchical restructuring generic test templates and reusable value spaces for machine failure isolation using qualitative physics
AU660661B2 (en) * 1991-02-05 1995-07-06 Storage Technology Corporation Knowledge based machine initiated maintenance system
US5481650A (en) * 1992-06-30 1996-01-02 At&T Corp. Biased learning system
JP3226400B2 (ja) * 1993-12-06 2001-11-05 富士通株式会社 診断装置
US5522014A (en) * 1994-04-26 1996-05-28 United Technologies Corporation Intergrated qualitative/quantitative reasoning with enhanced core predictions and extended test procedures for machine failure isolation using qualitative physics
US5537644A (en) * 1994-04-26 1996-07-16 United Technologies Corporation Machine failure isolation in multiple machine configurations using qualitative physics
US5627945A (en) * 1994-10-07 1997-05-06 Lucent Technologies Inc. Biased learning system
US5732192A (en) * 1994-11-30 1998-03-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Global qualitative flow-path modeling for local state determination in simulation and analysis
US7921068B2 (en) * 1998-05-01 2011-04-05 Health Discovery Corporation Data mining platform for knowledge discovery from heterogeneous data types and/or heterogeneous data sources
US6760715B1 (en) 1998-05-01 2004-07-06 Barnhill Technologies Llc Enhancing biological knowledge discovery using multiples support vector machines
US7117188B2 (en) * 1998-05-01 2006-10-03 Health Discovery Corporation Methods of identifying patterns in biological systems and uses thereof
US6789069B1 (en) 1998-05-01 2004-09-07 Biowulf Technologies Llc Method for enhancing knowledge discovered from biological data using a learning machine
US7444308B2 (en) 2001-06-15 2008-10-28 Health Discovery Corporation Data mining platform for bioinformatics and other knowledge discovery
US7805388B2 (en) * 1998-05-01 2010-09-28 Health Discovery Corporation Method for feature selection in a support vector machine using feature ranking
US7475048B2 (en) * 1998-05-01 2009-01-06 Health Discovery Corporation Pre-processed feature ranking for a support vector machine
US6128608A (en) * 1998-05-01 2000-10-03 Barnhill Technologies, Llc Enhancing knowledge discovery using multiple support vector machines
US6658395B1 (en) 1998-05-01 2003-12-02 Biowulf Technologies, L.L.C. Enhancing knowledge discovery from multiple data sets using multiple support vector machines
WO2002095534A2 (en) * 2001-05-18 2002-11-28 Biowulf Technologies, Llc Methods for feature selection in a learning machine
US6321187B1 (en) 1998-12-22 2001-11-20 Hamilton Sundstrand Corporation System reliability assessment tool
US6714925B1 (en) * 1999-05-01 2004-03-30 Barnhill Technologies, Llc System for identifying patterns in biological data using a distributed network
WO2000072257A2 (en) * 1999-05-25 2000-11-30 Barnhill Stephen D Enhancing knowledge discovery from multiple data sets using multiple support vector machines
AU7359800A (en) * 1999-09-07 2001-04-10 Envive Corporation Method and apparatus for implementing an expandable network based expert system
US7970718B2 (en) * 2001-05-18 2011-06-28 Health Discovery Corporation Method for feature selection and for evaluating features identified as significant for classifying data
US7624074B2 (en) * 2000-08-07 2009-11-24 Health Discovery Corporation Methods for feature selection in a learning machine
US8543519B2 (en) 2000-08-07 2013-09-24 Health Discovery Corporation System and method for remote melanoma screening
AU2001285476A1 (en) * 2000-09-06 2002-03-22 Cellomics, Inc. Method and system for obtaining knowledge based recommendations
WO2003001335A2 (en) * 2001-06-22 2003-01-03 Gene Logic, Inc. Platform for management and mining of genomic data
DE10345384B3 (de) * 2003-09-30 2005-03-24 Infineon Technologies Ag Schaltungssystem
US20090266150A1 (en) * 2008-04-23 2009-10-29 Ari Novis Sensor criticality determination process
JP5645675B2 (ja) * 2011-01-07 2014-12-24 三菱電機株式会社 分散シミュレーションシステム
US9846885B1 (en) * 2014-04-30 2017-12-19 Intuit Inc. Method and system for comparing commercial entities based on purchase patterns
WO2019064600A1 (ja) * 2017-09-29 2019-04-04 日本電気株式会社 仮説検証装置、仮説検証方法、及びコンピュータ読み取り可能な記録媒体
US11237802B1 (en) * 2020-07-20 2022-02-01 Bank Of America Corporation Architecture diagram analysis tool for software development
US11765789B1 (en) * 2021-02-08 2023-09-19 T-Mobile Usa, Inc. Intelligently managing automatic performance of distributed tests

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649515A (en) * 1984-04-30 1987-03-10 Westinghouse Electric Corp. Methods and apparatus for system fault diagnosis and control
KR940001563B1 (ko) * 1985-01-21 1994-02-24 가부시끼가이샤 히다찌세이사꾸쇼 룰 베이스 시스템
US4868763A (en) * 1986-02-21 1989-09-19 Hitachi, Ltd. Knowledge-based system having plural processors
US4766534A (en) * 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US4837735A (en) * 1987-06-09 1989-06-06 Martin Marietta Energy Systems, Inc. Parallel machine architecture for production rule systems
US4965882A (en) * 1987-10-01 1990-10-23 Digital Equipment Corporation Method for operating a parallel processing system and related apparatus
US4914586A (en) * 1987-11-06 1990-04-03 Xerox Corporation Garbage collector for hypermedia systems

Also Published As

Publication number Publication date
DE69223787T2 (de) 1998-04-23
CA2110897A1 (en) 1993-01-07
DE69223787D1 (de) 1998-02-05
GR3026164T3 (en) 1998-05-29
JPH06508949A (ja) 1994-10-06
CA2110897C (en) 2002-11-19
WO1993000631A1 (en) 1993-01-07
US5138694A (en) 1992-08-11
EP0591428B1 (en) 1997-12-29
KR940701563A (ko) 1994-05-28
ES2111643T3 (es) 1998-03-16
EP0591428A1 (en) 1994-04-13

Similar Documents

Publication Publication Date Title
KR100266928B1 (ko) 병렬처리 정성추론시스템
US5522014A (en) Intergrated qualitative/quantitative reasoning with enhanced core predictions and extended test procedures for machine failure isolation using qualitative physics
KR940001445B1 (ko) 고장을 진단하기 위한 장치
Scarl et al. Diagnosis and sensor validation through knowledge of structure and function
US5187773A (en) Machine failure isolation using qualitative physics
EP2153325B1 (en) Diagnosing intermittent faults
US20090018802A1 (en) Modeling when connections are the problem
US5537644A (en) Machine failure isolation in multiple machine configurations using qualitative physics
US5604841A (en) Hierarchical restructuring generic test templates and reusable value spaces for machine failure isolation using qualitative physics
US5353381A (en) Intelligent test selection for machine failure isolation using qualitative physics
EP0757815B1 (en) Machine failure isolation using qualitative physics
US5202955A (en) Dynamic assumption ordering for qualitative physics
Koseki Experience Learning in Model-Based Diagnostic Systems.
EP0491037B1 (en) Machine failure isolation using qualitative physics
US5216749A (en) Core predictions for qualitative physics
EP2153240A1 (en) Troubleshooting temporal behavior in "combinational" circuits
Console et al. Diagnosing time-varying misbehavior: an approach based on model decomposition
KR100231958B1 (ko) 기계 고장 판별 방법 및 장치
Foxvog et al. Survey of real-time and on-line diagnostic expert systems
Struss Model-Based Diagnosis—Progress and Problems
CA2047034A1 (en) Machine failure isolation using qualitative physics
EP4099116A1 (en) System and method for contextually-informed fault diagnostics using structural-temporal analysis of fault propagation graphs
Han et al. A model-based diagnosis system for identifying faulty components in digital circuits
Lee et al. A hierarchical symptom classification for model based causal reasoning
Diedrich On Diagnosing Cyber-Physical Systems

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060509

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee