KR100231958B1 - 기계 고장 판별 방법 및 장치 - Google Patents

기계 고장 판별 방법 및 장치 Download PDF

Info

Publication number
KR100231958B1
KR100231958B1 KR1019910014183A KR910014183A KR100231958B1 KR 100231958 B1 KR100231958 B1 KR 100231958B1 KR 1019910014183 A KR1019910014183 A KR 1019910014183A KR 910014183 A KR910014183 A KR 910014183A KR 100231958 B1 KR100231958 B1 KR 100231958B1
Authority
KR
South Korea
Prior art keywords
parameter
model
hypothesis
value
constant value
Prior art date
Application number
KR1019910014183A
Other languages
English (en)
Other versions
KR930004872A (ko
Inventor
패트릭 해밀턴 토마스
엘리자베쓰 자콥슨 캐롤
죤 퍼베일러 케빈
죤 시랙 2세 데이비드
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 레비스 스테픈 이
Priority to KR1019910014183A priority Critical patent/KR100231958B1/ko
Publication of KR930004872A publication Critical patent/KR930004872A/ko
Application granted granted Critical
Publication of KR100231958B1 publication Critical patent/KR100231958B1/ko

Links

Classifications

    • 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/2273Test methods
    • 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/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

정성적 추론 시스템은 하나 이상의 기계 구성요소가 고장났음을 가정하는 다수의 미결 가설(98)을 발생하고, 상기 가설의 각각을 테스트하되, 테스트되는 가설에 대한 집합(confluence) 방정식을 통해 기계 파라미터에 대한 실제 값을 전파하여 테스트함으로써 기계 고장 분리를 수행한다. 정성적 물리학 모델의 가설과 연관된 변수는 타입 I 변수 및 타입 II 변수로 그룹화되며, 타입 I 변수에 대해 측정된 임의의 가능한 값은 적어도 하나의 가설을 일치하지 않게 하고, 타입 II에 대해 측정된 전부는 아니지만 몇몇 가능한 값은 적어도 하나의 가설을 일치하지 않게 할 것이다. 집합 세트는 일치하는 예측 세트를 초래하는 집합의 모든 미지의 변수에 할당될 수 있는 값의 세트가 존재하지 않는 것으로 판정함으로써 일치하지 않는 것으로 간주된다. 미지의 변수 값은 변수를 그 가능한 값의 각각에 반복적으로 설정하고, 각각의 반복시에, 모델의 집합을 통해 미지의 변수 값 및 기지의 변수를 전파함으로써 판정된다. 모델 인스탄시에이터는 컴퓨터 워크스테이션 사용자 입력을 사용가능한 모델 정보로 변환하고, 모델의 변수 및 집합의 수를 감소시키는 최적화를 또한 제공한다.

Description

기계 고장 판별 방법 및 장치
제1도는 휴대형 유지보수 보조장치(PMA)의 사시도.
제2도는 사용자 프롬프트 스크린을 도시하는 도면.
제3도는 고장 분리 소프트웨어의 전체적인 동작을 예시하는 흐름도.
제4도는 정성 추론 시스템(QRS) 소프트웨어의 동작을 예시하는 데이터 흐름도.
제5도는 QRS 소프트웨어에 의해 이용되는 데이터 구조를 도시하는 도면.
제6도는 QRS 소프트웨어내의 가설 테스터의 동작을 예시하는 데이터 흐름도.
제7도는 QRS 소프트웨어내의 상태 발생기의 동작을 도시하는 데이터 흐름도.
제8도는 상태 발생기내의 구속 전파기의 단계들을 예시하는 흐름도.
제9도는 상태 발생기내의 코어 예측기의 동작을 예시하는 흐름도.
제10도는 QRS 소프트웨어내의 가설 발생기의 동작을 예시하는 데이터 흐름도.
제11도는 QRS 소프트웨어내의 지능 테스트 선택의 동작을 예시하는 데이터 흐름도.
제12도는 모델 구축기를 예시하는 데이터 흐름도.
* 도면의 주요부분에 대한 부호의 설명
30 : PMA 32 : 디스플레이
34 : 키보드 36 : 처리 유닛
40 : 사용자 프롬프트 스크린 42 : 질의
44, 46 : 응답 92 : 입력 프로세스 코드 모듈
94 : 실질적인 관찰 데이터 요소 96 : 가설 테스터 코드 모듈
98 : 미결 가설 데이터 요소 99 : 보존 가설 데이터 요소
100 : 지능 테스터 선택 코드 모듈 101 : 구성요소 정보 데이터 요소
102 : 테스트 요청 데이터 요소 103 : 출력 처리 코드 모듈
104 : 예측 테스터 105 : 가설 발생기
106 : 모델 예시 데이터 요소 107 : 연속 테스팅 질의 데이터 요소
108 : 연속 테스팅 응답 데이터 요소 132 : 상태 발생기
134 : 예측 데이터 요소 136 : 가설 평가기
142 : 상수 탐색기 144 : 제1부분 예측 테이블 데이터 요소
146 : 관찰 탐색기 148 : 제2부분 예측 테이블 데이터 요소
150 : 구속 전파기 152 : 제3부분 예측 테이블 데이터 요소
154 : 코어 예측기 158 : 제4부분 예측 테이블 데이터 요소
159 : 가정 테스터 232 : 가설 제어기
234 : 가설 저장 데이터 요소 236 : 직합 선택기
238 : 집합 데이터 요소 240 : 변수 수집기
242 : 변수 데이터 요소 244 : 집합 캐쉬어
246 : 예측 테이블 발생기 262 : 테스트 분류기
264 : 분류된 테스트 데이터 요소 266 : 테스트 결과 이득 발생기
268 : 이득 데이터 요소 270 : 가설 확률 발생기
272 : 가설 확률 데이터 요소 274 : 테스트 결과 확률 발생기
276 : 예상 확률 데이터 요소 278 : 테스트 효율 발생기
280 : 테스트 효율 데이터 요소 282 : 테스트 스코어 발생기
284 : 테스트 스코어 데이터 요소 286 : 테스트 선택기
288 : 임계값 데이터 요소 302 : 사용자 인터페이스
304 : 모델 구성기 306 : 모델 구성요소 데이터 파일
308 : 모델 인스탄시에이터 310 : 예시 데이터 파일
312 : 모델 테스터 314 : 테스터 사례 데이터 파일
본 발명은 컴퓨터 소프트웨어 분야에 관한 것으로, 보다 상세하게는 인공 지능 컴퓨터 소프트웨어 분야에 관한 것이다.
흔히, 기계 고장의 징후는 여러 다른 해석을 나타내는데, 기계에 대한 보다 면밀한 관찰을 통해 이러한 해석중의 어떤 것들을 배제시키는 것이 비용적인 면에서나 시간적인 면에서 보다 효과적이다. 반복적으로 기계를 관찰하고 기계 고장의 잠재적 원인을 배제시키는 프로세스를“고장 분리(failure isolation)”라고 칭한다.
고장 분리는 고장 트리(failure tree), 즉, 고장 분리를 위한 반복적인 관찰/배제 단계들의 흐름도 형태 표현(representation)의 도움을 받아 수동으로 행해질 수 있다. 고장 트리의 각 요소는 사용자에게 특정의 관찰을 행하도록 요구한다. 각각의 요소로부터 다수의 분로(branch paths)가 연장되며, 이들 분로는 제각기 고장 트리의 상이한 부분에 이르게 된다. 사용자는 미결 요소에 의해 요구된 관찰 결과에 근거하여 특정 분로를 따른다. 프로세스중의 어떤 시점에서, 사용자는 더 이상 분로가 연장되지 않는 요소에 이르게 될 것인데, 이것은 고장난 특정 구성요소 또는 구성요소 그룹을 나타낸다.
대형의 복잡한 기계의 경우, 고장 트리는 다수 페이지(pages), 아마도 몇권에 이를 수 있으며, 그 고장 트리의 관찰을 어렵게 한다. 이에 대한 해결책으로, 고장 트리로부터의 정보를 포함하는 프로그램, 즉, 규칙 기반형(rule-based) 고장 분리 시스템을 갖는 컴퓨터를 사용하는 것이 있다. 이 컴퓨터는 사용자가 관찰을 행하고 관찰 결과를 입력할 수 있게 한다.
그러나, 고장 트리 및 규칙 기반형 고장 분리 시스템의 경우, 사용자가 미결할 수 있는 모든 가능한 고장 모드가 그 생성시에 결정되어야 한다. 이것은 간단한 기계의 경우에는 어려운 일이 아닐 수 있으나, 보다 복잡한 기계의 경우에는 불가능하거나 적어도 실행이 극히 어려울 수 있다. 고장 트리 설계자 또는 규칙 기반형 고장 분리 시스템 프로그래머가 기계의 고장 모드중 일부를 빠뜨리는 것은 흔한 일이다. 이러한 빠뜨림(omission)은 막대한 양의 작업으로 인한 부주의로 인해서 생기거나, 사이즈를 실제 사용 한계보다 낮게 유지하려는 의도적인 결정에 의한 것이다.
고장 트리 또는 규칙 기반형 고장 분리 시스템이 모든 있을 법한 고장을 분리해낼 수 없는 것에 대한 해결책에 대해서는, 데이비스 랜덜(Davis, Randall)의“Diagnostic Reasoning Based on Structure and Behavior,”Artificial Intelligence, 24(1984), 347-410을 참조하기 바란다. 데이비스는, 컴퓨터가 다수의 기계 모델(models of the machine)을 발생하는 소위“구속 유보(constraint suspension)”라 불리우는 고장 분리 방법을 제안하고 있다. 각각의 모델은 각종 고장난 구성요소 또는 고장난 구성요소 그룹을 가정하며, 사용자의 관찰 결과와 가장 유사한 모델이 그 구성요소 또는 구성요소 그룹이 고장났음을 표시한다.
구속 유보 기법의 단점은 많은 아날로그량(analog quantities)을 갖는 복잡한 기계를 모델링하는데 있어 프로세서의 매우 집중적인 작업이 요구되며 시스템 실행 시간이 많이 걸리게 된다는 것이다. 이에 대한 해결책은 해밀톤, 토마스피.(Hamilton, Thomas P)의“HELIX: A Helicopter Diagnostic System Based on Qualitative Physics,”International Journal of Artificial Intelligence in engineering, Vol. 3, No. 3, July, 1988, pp 141-150에서 찾아볼 수 있다. 해밀톤은 유한의 값 세트를 취할 수 있는 변수로서 아날로그량을 표현하는 모델링 기법, 즉 구속 유보 기법과 정성적 물리학(qualitative physics)의 접목을 제안하고 있다. 정성적 유한 값들 각각은 상이한 아날로그량의 범위를 나타낸다. 그러나, 해밀톤은, 당업자가 정성 물리적 고장 분리 시스템을 제조하여 사용하기에 충분할 정도의 세부사항은 제공하지 않고 있다.
본 발명은 정성 물리학을 이용하여 기계 고정의 분리를 수행하는 것을 포함한다. 본 발명은 또한 관찰을 위한 정성 물리학 변수를 선택하는 것을 포함한다. 본 발명은 또한 정성 물리학 모델과 연관된 가설 세트로부터 일치하지 않는 가설을 판정하는 것을 포함한다. 본 발명은 또한 정성 물리학 가설 변수에 대한 값을 예측하고 일치하지 않는 가설을 제거하는 것을 포함한다. 본 발명은 또한 정성 물리학 모델을 구축하는 것을 포함한다.
본 발명에 따르면, 정성 물리학을 이용하여 기계를 모델링하고, 하나 이상의 고장난 구성요소를 갖는 기계의 동작을 기술하는 집합들의 세트(a set of confluence)를 제각기 갖는 다수의 미결 가설을 발생하고, 상기 집합을 통해 기계 파라미터의 실제 값을 전파(propagating) 하여 집합 변수의 값에 대한 예측 세트를 생성함으로써 상기 가설을 한 번에 하나씩 테스트하여, 일치하지 않는 예측 세트를 생성하는 가설은 버리고, 고장난 구성요소가 있으면 그 고장난 구성요소를 기술하는 가설을 남겨둠으로써 기계 구성요소 고장이 분리된다. 또한, 본 발명에 따르면, 관찰(observation)을 위해 선택된 변수의 모든 가능한 값은 정성 물리학 모델 가설들중 적어도 하나를 일치하지 않게 할 것이다. 또한, 본 발명에 따르면, 정성적 모델 집합에 나타나며 그 집합의 변수에 소정의 값을 할당함으로써 다른 미지의 변수의 판정 또는 불일치를 초래할 것 같은 변수들에게, 일치하는 예측 세트가 형성될 때(이 경우에 다른 변수에 소정의 값이 할당됨)까지, 또는 일치하는 예측 세트를 생성하기 위해 모든 미지의 변수에 할당될 수 있는 값들의 세트가 존재하지 않는다고 판정될 때까지 가설의 집합들을 통해 전파되는 값들이 반복적으로 할당된다. 또한 본 발명에 따르면, 정성 물리학 가설과 연관된 미지의 변수에 대한 모든 가능한 값이, 일치하는 예측 세트로 귀결되는 값이 없기 때문에 가설이 제거될 수 있는지 또는 그 변수가 일치하는 예측 세트로 귀결되는 단일 값으로 설정될 수 있는지의 여부를 결정하기 위해 가설의 집합들을 통해 반복적으로 전파된다. 또한, 본 발명에 따르면, 사용자는 그래픽 사용자 인터페이스를 사용하여, 인스탄시 에이터(instantiator)로의 입력으로서 제공되는 모델 구성요소 데이터 파일을 구성 하며, 상기 인스탄시에이터는 모델 구성요소 데이터 파일의 변수 및 집합들의 수를 감소시키고 예시 데이터 파일을 생성하기 위한 다른 최적화를 제공한다. 또한, 본 발명에 따르면, 예시 데이터 파일 및 테스트 사례 데이터 파일은 모델을 실행시키고 사용자에게 모델 구성요소의 디버깅(debugging)에 유용한 정보를 제공하는 모델 테스터로의 입력으로서 제공된다.
본 발명의 상기 및 다른 목적, 특징 및 장점은 첨부되는 도면에 예시한 바와 같은 본 발명의 실시예에 대한 다음의 상세한 설명으로부터 더욱 명확하게 될 것이다.
제1도를 참조하면, 휴대형 유지보수 보조장치(Portable Maintenance Aid: PMA)(30)는 디스플레이(32), 키보드(34) 및 처리 유닛(36)을 갖는다. PMA(30)는 뉴욕 베쓰페이지(Bethpage N.Y.)에 소재하는 그루만 일렉트로닉 시스템즈 디비전사(Grumann Electronic Systems Division)에 의해 제조된, 부품 번호 A31U18031-3의 휴대형 컴퓨터이다. 디스플레이(32)는 7인치 × 9인치 LCD(액정 디스플레이)이다. 키보드(34)는 QWERTY 키보드이다. 처리 유닛(36)은 미국 캘리포니아 마운틴뷰(Mountain View, Cal)에 소재하는 선 마이크로시스템즈사(Sun Microsystems Inc.)에 의해 제조된 스파크스테이션(Sparcstation) IE 회로 기판을 포함한다.
PMA(30)는 헬리콥터 전자 기계 시스템과 같은 기계의 고장 분리를 수행하는데 사용된다. 공통 리스프(Common Lisp)로 작성된 고장 분리 소프트웨어는 처리 유닛(36)내에 위치된 하드 디스크(도시하지 않음)에 저장된다. 이 소프트웨어는 PMA(30)가 기계의 고장 분리를 수행하기위해 사용자와 대화할 수 있게 한다. 이 소프트웨어는 디스플레이(32)를 사용하여 사용자가 기계를 관찰하도록 프롬프트한다. 사용자는 이러한 관찰 결과를 키보드(34)를 통해 입력한다.
제2도는 사용자 프롬프트 스크린(user prompt screen)(40)을 도시한 것이다. 사용자에게는 질문(42)과 이 질문에 대한 가능한 응답들(44, 46)의 리스트가 주어진다. 이 예에 사용된 질문(42)은‘예’또는‘아니오’의 응답을 요구하므로, 스크린(40)상에 나타나는 응답으로서“YES”(44) 또는“NO”(46)가 주어진다. 사용자는 커서 키를 사용하여 응답들(44, 46)중 하나를 선택하고, 그 다음에 리턴 키를 눌러 응답이 선택되었음을 소프트웨어에게 알린다. 다른 사용자 프롬프트 스크린은 사용자가 특정 값을 측정하여 입력하도록 요구할 수도 있다.
제3도는 고장 분리 소프트웨어의 동작을 예시한 흐픔도(50)로서, 규칙 기반형(rule-based) 시스템에 대한 단계들(54)과 정성적 추론 시스템(Qualitative Reasoning System: QRS)에 대한 단계들(58)을 포함한다. 먼저, 규칙 기반형 시스템에 대한 단계들(54)이 실행되는데, 이들의 실시 및 동작은 당업자에게는 이미 공지되어 있다(예를 들어, 프레데릭 헤이즈-로쓰(Frederick Hayes-Roth), 도널드 에이. 워터만((Donald A. Waterman), 및 더글라스 비. 레냇(Douglas B. Lenat)의 Building Expert Systems, editors. Addison-Wesley Publishing Company, Inc., Reading Mass. 1983을 참조 바람). 규칙 기반형 시스템은 통상의 고장 및 그의 징후(symptoms)에 관한 정보로 프로그램된 것으로서, 시스템이 검출하도록 프로그램되어 있는 임의의 고장 판정에 대해 신속한 해답을 제공한다. 그러나, 복잡한 기계의 경우에는, 고장 및 이와 연관된 징후의 모든 가능한 조합을 예측하는 것(따라서, 고장과 징후의 모든 조합을 규칙 기반형 시스템내로 프로그래밍하는 것)은 불가능하지는 않다고 할지라도, 적어도 실행하기가 매우 어렵다. 따라서, 어떤 특정의 고장은 규칙 기반형 시스템에 의해 검출되지 않을 수 있다. 이 경우, 제어는 규칙 기반형 시스템의 단계들(54)로부터 QRS의 단계들(58)로 진행하며, 이 QRS의 단계(58)는 기계 고장 및 징후의 모든 조합으로 사전 프로그램되지 않고서도 고장을 분리할 수 있다.
고장 분리 소프트웨어의 실행은 규칙 기반형 시스템이 인에이블되는 시작 단계(62)에서 개시된다. 단계(63)에서, 사용자는 관찰된 상태를 입력하도록 프롬프트된다. 관찰 상태는 기계의 특정 부분의 상태에 대한 물리학 기술(physical description)로서, 예컨대 두 특정 지점간의 전압이나 특정 스위치가“ON”위치에 있는 한편 특정 표시기(indicatior)는“OFF”라는 관찰 결과이다. 단계(63) 후에, 제어는 사전 프로그램된 규칙을 관찰 상태에 적용함으로써 규칙 기반형 시스템이 고장 분리를 시도하는 단계(64)로 진행한다.
관찰 상태가 특정 고장을 직접 표시하는 것도 있다. 예를 들어, (배터리 양단간의 측정 전압이 0인 경우에 배터리가 완전 소모되었음을 기술하는 규칙이 존재한다고 가정하면) 배터리 양단간의 전압이 0이라는 관찰로부터 소모된 배터리에 대한 고장을 직접 분리해낼 수 있다. 예를 들어, (적당한 규칙이 시스템에 프로그램되었다고 가정하면) 배터리에 대한 전압 게이지가 0이라고 판독되는 관찰은, 배터리가 소모되었거나, 게이지가 오동작하거나, 배터리와 게이지간의 배선이 끊어졌음을 표시한다.
단계(64) 후에, 제어는 단계(65)로 진행하여 고장이 분리되었는지를 판정한다. 이 때, 고장이 단일 구성요소에 대해 분리되었으면, 처리가 완료된다. 고장이 단일 구성요소에 대해 분리되지 않았으면, 제어는 단계(66)로 진행하여, 더 이상의 고장 분리가 가능한지를 판정한다. 가능하면, 제어는 단계(63)로 복귀하여, 사용자에게 다른 관찰을 위해 프롬프트한다. 단계(63 내지 66)는 반복 루우프를 형성하여, 고장의 또다른 분리를 위해 소프트웨어가 사용하는 더 많은 관찰 결과를 입력하도록 사용자에게 계속해서 프롬프트한다.
그러나, 단계(66)에서, 규칙 시스템 고유의 제한 때문에(즉, 관찰 및 그와 관련된 고장의 모든 가능한 조합이 시스템에 프로그램되지 않았기 때문에) 고장을 더 이상 분리해 내는 것이 가능하지 않을 수도 있다. 예를 들어, 측정된 베터리 양단간의 전압이 12V이고, 배터리 전압 게이지가 0으로 판독되며, 게이지가 고장나지 않은 것으로 관찰되었다고 가정한다. 이 때, 규칙 시스템이 게이지와 배터리간의 배선이 끊어질 가능성을 고려하도록 프로그램되어 있지 않다면, 난관에 봉착하게 된다. 이러한 관찰 상태는 규칙 시스템이 프로그램이었다면 예상되었을, 관찰된 상태 및 고장의 어떠한 조합에도 대응하지 않는다. 이 경우, 제어는 단계(66)로부터 단계(67)로 진행하여 규칙 시스템을 디스에이블(disable)시킨다. 단계(66)로부터 단계(67)로의 천이는 또한 규칙 시스템의 단계(54)로부터 QRS의 단계(58)로의 천이에 대응한다.
단계(67)에서 규칙 시스템을 디스에이블시킨 후에, 제어가 단계(68)로 진행하여, QRS를 인에이블시킨다. 단계(68) 후에 단계(69)로 진행하여, QRS는 고장의 분리를 시도한다. QRS 고장 분리에 대해서는 차후에 보다 상세히 설명하겠다. 단계(69)의 수행 후, 단계(70)에서 고장이 분리되었는지를 판정한다. 고장이 분리되었으면, 처리가 완료된다. 이와는 달리 고장이 분리되지 않았으면, 단계(71)로 진행하여 더 이상의 분리가 가능한지를 판정한다. 가능하지 않으면, 프로세스가 완료된다. 이와는 달리, 가능하면 단계(72)로 진행하여 관찰에 대해 사용자에게 프롬프트한다. 규칙 시스템의 단계들(54)로부터 QRS의 단계들(58)로의 천이는 사용자에게 투명하므로(즉, 이러한 천이의 발생이 사용자에게 통보되지 않음), 단계(72)에서 사용자가 보게 되는 프롬프트는 단계(63)에서 사용자가 보게 되는 프롬프트와 동일하다. 제어는 단계(72)로부터 단계(69)로 역진행하며, QRS는 기계 고장의 분리를 다시 시도한다.
규칙 기반형 시스템과 달리, QRS는 관찰을 특정한 고장에 직접 상관시키지 않는다. 그 대신에, QRS는 기계의 모델을 사용하여, 특정 구성요소의 고장에 대해 반복적으로 가설을 세우고, 사용자의 관찰 결과로부터, 각각의 가설에 대해 전류량, 전압 및 유량과 같은 각종 기계 파라미터의 값에 대한 예측을 도출한다. 이러한 도출 프로세스중 임의의 시점에서, 특정 가설에 대한 예측이 (그들 가설 자체와 또는 그에 따른 관찰 결과와) 일치하지 않는 것이 발견되면, 그 가설은 버려진다.
QRS는 기계의 각 구성요소가 다수의 터미널과 대응하는 변수들의 세트를 갖는 블랙 박스로서 나타내어지는 정성적 물리학 컴퓨터 모델링 기법을 사용하여 기계를 나타내며, 각각의 변수는 터미널을 통해 들어가거나 나가는 물질(예컨대, 공기, 연료 등)의 속성(예컨대, 유동량, 압력, 온도 등)을 나타낸다. 변수 각각은 유한 세트 값을 취할 수 있다. 어떤 구성요소의 동작은 그 구성요소의 변수들간의 관계를 규정하는 정성적 방정식의 세트인 집합들에 의해 정의된다. 예를 들어, 파이프는 두 개의 터미널과 두 개의 변수를 갖는 것으로서 표현될 수 있으며, 이들 변수중 하나는 파이프로 유입되는 유체의 양이고, 나머지 하나는 파이프로부터 나오는 유체의 양이다. 파이프의 동작을 기술하는 집합은 파이프로부터의 유출량을 나타내는 변수와 동일한 부호를 가짐을 나타낸다. 정성적 물리학에 관한 보다 상세한 설명은, 드 클리어 요한(de Kleer, Johan)과 브라운 존 실리(Brown, John Seely)의“The Origin, Form and Logic of Qualitative Physical Laws,”Proceedings of the Eighth International Joint Conference on Artificial Intelligence, Karlsruhe, W. Germany, Aug. 1983"에서 찾아볼 수 있다.
기계의 각종 구성요소는 계층적으로 그룹화된다. 복합 구성요소(compound component)는 다수의 부구성요소(subcomponents)로 이루어지며, 기본(elementary) 구성요소는 하부구조(substructure)를 갖지 않는 구성요소이다. 예를 들어, 전력 공급 장치는 계층 구조의 한 레벨에서 단일 구성요소로서 표현될 수도 있으나, 실제로는, 계층 구조의 그 보다 낮은 다른 레벨에서, 다수의 구성요소(예컨대, 캐패시터, 트랜스포머 등)로 이루어질 수 있다. 계층의 가장 높은 레벨에서, 전체 기계는 하나의 복합 구성요소로서 표현된다. 계층의 가장 낮은 레벨에는 기계를 구성하는 모든 기본 구성요소가 존재한다.
구성요소는 블랙 박스로서 모델링되므로, 고장을 더욱 분리하기 위해 계층내보다 낮은 레벨의 구성요소를 조사하는 것(즉, 더 많은 정보를 획득하기 위해 블랙박스 내부로 들어가는 것)이 유용할 수도 있다. 예를 들어, 전력 공급 장치가 고장났다고 판정한 후에, QRS는 전력 공급 장치 구성요소를 부구성요소들로 전개시켜서 그 계층 레벨에서 고장 분리 프로세스를 계속할 수도 있다.
특정 구성요소의 각종 집합들에 의해 규정되는 관계는“구속(constraints)”으로 지칭된다. QRS는 특정 구성요소의 구속을 유보(즉, 제거)시킴으로써 그 구성요소의 고장 효과를 계산한다. 예를 들어, 세 개의 구성요소 X, Y 및 Z를 갖는 기계의 경우, QRS는 구성요소 X의 집합들의 구속을 유보시킨 채로 기계의 정성적 물리학 모델(즉, 구성요소 Y 및 Z(이들은 고장나지 않은 것으로 가장된 것임)만을 포함하는 기계의 모델)의 집합들만을 포함하는 기계의 모델)을 생성함으로써 구성요소 X가 고장났다는 가설을 테스트할 것이다. QRS는 그 다음에 사용자 관찰 및 집합을 이용하여 예측 세트(예측된 변수값)를 발생한다. 그 결과 얻어진 예측이 일치하는 경우에, X는 유효 가설로서 남게 되며, 일치하지 않는 경우에는, X는 가설로서 제거된다. 이후의 관찰에 의해 예측과 불일치하는 것으로 확인되면 가설은 또한 제거될 수 있다. 구속 유보에 관한 상세한 설명에 대해서는, 데이비스 랜덜의“Diagnostic Reasoning Based on Structure and Behavior”, Artificial Intelligence, 24(1984), 347-410.를 참조하기 바란다.
QRS는 기계 구성요소중의 어느 것도 고장나지 않았다는 초기 가설로부터 개시한다. 그 가설로부터 발생된 예측이 일치하면, QRS 소프트웨어는 어떠한 고장도 없다는 결론을 내리고 고장 분리 프로세스를 종료시킨다. 반면에, 일치하지 않는 경우에는, QRS 소프트웨어는 기계의 단일 구성요소의 고장에 제각기 대응하는 다수의 가설을 발생한다. 이들 가설의 각각과 연관된 예측이 발생되고, 그 다음에 일치성이 테스트된다. 단일 구성요소 가설과 연관된 모든 예측이 불일치하면 (따라서, 모든 가설의 오류가 증명되면), QRS 소프트웨어는 두 기계 구성요소의 동시적인 고장에 대응하는 새로운 가설 세트를 발생한다. 모든 이중 구성요소 예측이 일치하지 않으면, QRS 소프트웨어는 세 개의 동시적인 고장에 제각기 대응하는 가설 세트를 발생한다.
예를 들어, 세 개의 구성요소 A, B 및 C를 갖는 기계의 경우, QRS는 먼저 어떠한 구성요소도 고장나지 않았다는 가설에 근거한 집합들의 세트(즉, 모든 구성요소에 대한 모든 집합들)를 발생하고, 그 가설에 대한 예측을 산출하며, 이들 예측의 일치성을 테스트한다. 그 가설에 근거한 예측이 일치하면, 어떠한 구성요소도 고장나지 않았다는 가설이 검증되어 고장 분리 프로세스가 종료된다. 일치하지 않는 경우에는, QRS는 세 개의 새로운 가설, 즉, 구성요소 A만이 고장났다고 하는 가설, 구성요소 B만이 고장났다고 하는 가설, 및 구성요소 C만이 고장났다고 하는 가설을 발생한다. QRS는 그 다음에 세 개의 예측 세트, 즉, 가설 A에 대한 예측, 가설 B에 대한 예측, 및 가설 C에 대한 예측을 발생한다. 가설 A에 대한 예측은, 가설 A가 사실이라면 변수(즉, 전류, 유량, 전압 등과 같은 기계 파라미터)가 갖게될 예측 값이고, 가설 C와 연관된 예측은 가설 C가 사실이라면 변수가 갖게 될 예측값이다. 이와 마찬가지로, 가설 B와 연관된 예측은 가설 B가 사실이라면 변수가 갖게 될 예측값이다. 가설 A와 연관된 예측이 불일치하는 경우, A가 고장났다고 하는 가설은 불일치하므로 가설 A는 유효 가설 리스트로부터 제거된다. 한편, B 및 C와 연관된 예측이 일치하면, 구성요소 B 및 C가 고장났는지의 판정을 위해, 계속되는 고장 분리가 요구될 수도 있다.
상기한 예의 경우, QRS는 가설 A, B, 및 C를 제거하여, 기계의 둘 이상의 구성요소가 동시에 고장났다고 하는 결론을 내리 수 있다. 그리고 나서, 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)은 사용자가 입력한 키 입력을 QRS 소프트웨어가 처리할 수 있는 포맷으로 변환된다. 입력 프로세스 모듈(92)의 출력은 실제 관찰 데이터 요소(94)에 저장되며, 이 데이터 요소(94)는 고장 분리 프로세스의 개시 후 사용자에 의해 행해진 모든 관찰의 누적된 히스토리를 포함한다. 실제 관찰 데이터 요소(94)는 고장 분리 프로세스의 규칙 기반형 시스템의 단계들 동안 사용자의 관찰로부터 얻어진 데이터로 초기화된다.
가설 테스터 코드 모듈(96)은 실제 관찰 데이터 요소(94) 및 미결 가설 데이터 요소(98)를 사용하여 잠재적으로 유효한 가설 및 그 각각의 가설에 대한 예측을 발생한다. 미결 가설 데이터 요소(98)는 테스트될 가설을 포함한다. 가설 테스터(96)는 가설의 집합들을 통해 관찰 데이터(94)를 전파시킴으로써 가설을 테스트하여 사실로 판명될 가설에 대해 사실이어야 하는 예측을 발생한다. 예측 발생 프로세스중에, 가설 테스터(96)는 불일치를 발견할 수도 있다. 예를 들어, 하나의 집합 서브세트(subset)는 두 특정 지점들간의 양(positive)의 전압을 예측하는 반면에, 다른 집합 서브세트는 동일한 두 지점들간의 음(negative)의 전압을 예측할 수도 있다. 이러한 상황 발생시, 테스트되는 가설은 오류로 판명되어 가설 테스트(96)에 의해 버려진다. 가설 테스터(96)에 의해 버려질 수 없는 미결 가설 데이터 요소(98)로부터의 가설 및 이와 연관된 예측은 보존 가설 데이터 요소(99)에 출력된다.
예를 들어, 미결 가설 데이터 요소(98)가 가설 A를 포함한다고 가정한다. 가설 테스터(96)는 유보된 구성요소 A의 구속을 갖는 기계의 모델(즉, 구성요소 A의 동작을 기술하는 집합을 제외한 모든 구성요소 집합을 포함하는 모델)을 조사하여 변수들의 값을 예측함으로써 가설 A의 유효성을 테스트한다. 가설 A의 예측을 발생하는 동안에, 가설 테스터(96)가 불일치를 발견하면, 가설 A의 오류가 판명된다. 그러나, 일치하면, 가설 A 및 이 가설 A와 연관된 예측은 보존 가설 데이터 요소(99)로 출력된다.
보존 가설 데이터 요소(99)가 둘 이상의 가설을 포함하면, 사용자가 더 많은 관찰 상태를 입력하여 가설중의 일부를 제거하기 위한 정보를 제공하는 것이 유용할 수도 있다. 지능 테스트 선택 코드 모듈(100)에는 보존 가설 데이터 요소(99) 및 구성요소 정보 데이터 요소(101)로부터의 입력이 제공된다. 구성요소 정보 데이터 요소(101)는 구성요소 고장률 및 잠재적 관찰을 위한 테스트 시간과 같은 실험 데이터를 포함한다. 지능 테스트 선택 코드 모듈(100)은 보존 가설 데이터 요소(99)로부터의 예측 및 구성요소 정보 데이터 요소(101)로부터의 정보를 사용하여, 사용자가 수행하기 위한 최상의 테스트(즉, 하나 이상의 가설을 제거함과 동시에 사용자의 불편을 최소화할 가능성이 높은 관찰)를 결정한다. 지능 테스트 선택 코드 모듈(100)은 테스트 요청 데이터 요소(102)에 최선 테스트 정보를 출력한다. 출력 프로세스 코드 모듈(103)에는 테스트 요청 데이터 요소(102)로부터의 데이터가 제공되며, 테스트 요청 데이터 요소(102)를 인간이 판독가능한 포맷으로 변환하고, 사용자에게 다음 관찰을 행하도록 지시하는 사용자 프롬프트가 PMA(30)의 디스플레이(32)상에 나타나게 하는 신호 DISPLAYOUT를 제공한다.
사용자에 의한 관찰은 보존 가설 데이터 요소(99)에 저장된 가설에 대한 예측과 전혀 다를 수도 있다. 예측 테스터(104)는 보존 가설 데이터 요소(99)내의 가설 및 이와 연관된 예측을 조사하고, 사용자 관찰과 대조되는 예측을 갖는 가설을 제거한다. 예를 들어, 보존 가설 데이터 요소(99)가 가설 A, 가설 B 및 가설 C를 포함하고, 가설 A는 특정 전압에 대해 양의 값을 예측하고, 가설 B는 그 전압에 대해 음의 값을 예측하며, 가설 C는 그 전압의 값을 예측하지 않는다고 가정하자. 또한, 지능 테스트 선택 코드 모듈(100)은 최상 테스트로 될 전압 측정법을 선택하고, 프롬프트된 후에, 사용자가 전압을 양의 값으로서 입력한다고 가정하자. 예측 테스터(104)는 가설 B를 보존 가설 데이터 요소(99)로부터 제거할 수 있는데, 그 이유는 전압이 음의 값이라는 가설 B의 예측이 틀렸고, 이에 의해 가설 B의 오류가 판명되었기 때문이다. 가설 A가 전압이 양의 값이라는 것을 올바르게 예측하므로, 가설 A는 보존 가설 데이터 요소(99)에 남게 된다. 예측 테스터(104)는 가설 C를 제거할 수 없는데, 그 이유는 가설 C가 전압에 대한 어떠한 예측도 하지 않기 때문이다.
지능 테스트 선택 코드 모듈(100)은 사용자가 행하기 위한 관찰로서, 보존 가설 데이터 요소(99)에 저장된 임의의 가설을 제거하게 될 모든 관찰을 발생하는 것이 불가능할 수도 있다. 이러한 상황이 발생하면, 가설 발생기(105)는 테스트 요청 데이터 요소(102)가 비어 있음을 검출한 때, 보조 가설 데이터 요소(99)내의 가설들과 연관된 하나 이상의 구성요소를 부구성요소로 확장하고, 이들 부구성요소에 근거한 가설을 발생함으로써 보다 많은 가설을 발생한다. 가설 발생기(105)는 모델 예시 데이터 요소(106)를 사용하며, 이 요소(106)는 구성요소 및 그 구성요소의 계층 순서에 관한 정보에 대한 정성적 물리학 기술을 포함한다. 모델 예시 데이터 요소(106)의 구성 및 내용의 상세한 설명에 대해서는 후술한다. 가설 발생기(105)의 출력은 미결 가설 데이터 요소(98)에 제공된다.
예를 들어, 보존 가설 데이터 요소(99)는 기계 전력 공급 장치의 고장에 대응하는 제1가설과 기계 연료 시스템의 고장에 대응하는 제2가설을 포함한다고 가정하자. 또한 지능 테스트 선택 코드 모듈(100)은 상기한 두 가설간을 구별하기 위한 관찰을 사용자에게 제공할 수 없어서, 테스트 요청 데이터 요소(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 신호에 의해 제공되고, 입력 프로세스 코드 모듈(92)에 의해 처리되어, 연속 테스팅 응답 데이터 요소(108)에 저장된다. 사용자가 연속 테스팅을 선택하지 않으면, 고장 분리가 종료된다. 한편, 연속 테스팅을 선택하면, 가설 발생기(105)에 대한 입력으로서 제공되는 연속 테스팅 응답 데이터 요소(108)는 가설 발생기(105)가 (모듈 예시 데이터 요소(106)로부터의 정보를 사용하여) 새로운 가설 세트를 발생하게 하며, 이 새로운 가설 세트는 이전의 가설 세트보다 하나 더 많은 고장난 구성요소에 대응한다.
가설 발생기(105)는 또한 미결 가설 데이터 요소(98)에 보존 가설 데이터 요소(99)로부터의 가설을 제공한다. 가설 발생기(105)는 테스트 요청 데이터 요소(102)가 제공하는 입력을 사용하여, 현재 사용자에게 관찰하도록 요청된 변수에 대해 예측을 하지 않는 가설을 세이브 가설 데이터 요소(99)가 포함하는 지를 판정한다. 가장 최근에 관찰된 변수에 대해 예측을 하지 않는 가설은 보조 가설 데이터 요소(99)로부터 미결 가설 데이터 요소(98)에 보내져 가설 테스터(96)에 의해 다시 테스트된다. 다시 테스트되는 가설중의 일부는 새로운 관찰이 가능하게 됨에 따라 무효화될 수도 있다.
제5도는 QRS 소프트웨어가 사용하는 데이터 구조를 도시한 것이다. 미결 가설 데이터 구조(110)는 미결 가설 데이터 요소(98)에 저장된 데이터를 나타낸 것으로서, 가설 식별 요소(112B), 예측 테이블(112C) 및 캐쉬드(cached) 집합 테이블(112D)로 구성되는 미결 가설(112A)을 포함한다. 가설 식별 요소(112B)는 특정의 미결 가설을 식별하는 정보를 포함한다. 예를 들어, 가설 식별 요소(112B)는 미결 가설(112A)을 고장난 전력 공급 장치를 가정하는 가설로서 식별할 수도 있다.
예측 테이블(112C)은 미결 가설(112A)에 연관된 모든 변수(즉, 기계 파라미터)를 포함한다. 예측 테이블(112C)은 가설 발생기(105)에 의해 구성되며, 이 발생기는 가설의 생성시에 가설의 모든 변수를 판정한다. 초기에, 예측 테이블(112C)은 변수에 대한 어떤 값도 갖지 않는다. 그러나, 가설이 테스트될 때마다, 가설 테스터(96)는 더 많은 관찰이 가능하게 됨에 따라 예측 테이블(112C)의 변수들에 대한 더욱 많은 값을 예측한다.
캐쉬드 집합 테이블(112D)은 미결 가설(112A)에 대한 모든 모델 집합을 포함한다, 캐쉬드 집합 테이블(112D)은 예측 테이블(112C)로부터의 각 변수에 의해 인덱스(index)될 수 있다. 캐쉬드 집합 테이블(112D)의 요소는 인덱스 변수가 나타나는 모든 모델 집합을 포함하며, 이에 의해 가설 발생기(96)에는 가설과 연관된 집합에 신속히 액세스하는 수단이 제공된다.
보존 가설 데이터 구조(115)는 보존 가설 데이터 요소(99)에 저장된 데이터를 나타내는 것으로서, 제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)로부터의 캐쉬드 집합 및 실제 관찰(94)을 처리함으로써 산출된 변수중 일부의 값으로 예측 테이블(미결 가설 데이터 요소(98)로부터의)을 채움으로써 예측 데이터 요소(134)를 생성한다. 상태 발생기(132)가 예측 데이터 요소(134)의 값을 예측하려고 시도하는 중에 불일치를 검출하면, 예측 테이블 대신에, 널(null) 테이블이 예측 데이터 요소(134)에 저장된다. 실질적인 값의 계산은 모델 집합을 나타내는 LISP 표현식을 조작함으로써 수행된다. LISP 표현식의 조작은 당업계에 이미 알려져 있다.
가설 평가기(136)에는 예측 데이터 요소(134)로부터의 데이터 및 미결 가설 데이터 요소(98)로부터의 가설이 제공된다. 각각의 가설에 대해, 가설 평가기(136)는 예측 데이터 요소(134)가 널 테이블을 포함하는지를 판정한다. 포함하지 않는 것으로 판정되면, 가설 평가기(136)는 (미결 가설 데이터 요소(98)로부터의) 가설 및 (예측 데이터 요소(134)로부터의) 연관된 예측 테이블을 보존 가설 데이터 요소(99)로 보낸다. 포함하는 것으로 판정되면, 테스트 중의 가설은 무효화되며 보내지지 않는다.
제7도는 상태 발생기(132)의 동작을 더욱 상세히 예시한 것이다. 상수 탐색기(constant finder)(142)에는 미결 가설 데이터 요소(98)로부터의 캐쉬드 집합 테이블 및 예측 테이블이 제공된다. 상수 탐색기(142)는 캐쉬드 집합을 사용하여 예측 테이블을 통해 반복하고 상수 표현으로 변수를 정의하는 집합을 갖는 예측 테이블의 변수 값을 채운다. 예를 들어, 배터리는 그 양단간의 전압이 일정한 양의 전압인 집합으로 기술될 수도 있다. 상수 탐색기(142)는 제1부분 예측 테이블 데이터 요소(144)로, 예측 테이블의 엔트리에 상수를 채운 결과를 출력한다.
제1부분 예측 테이블(144) 및 실제 관찰 데이터 요소(92)는 관찰 탐색기(143)에 대한 입력으로서 제공되며, 이 관찰 탐색기(146)는 사용자가 입력한 관찰에 대응하는 제1부분 예측 테이블(144)의 변수 값을 채운다. 예를 들어, 사용자가 저항 양단간의 전압을 측정하여 그 관찰 결과를 입력하면, 관찰 탐색기(146)는 저항기 전압에 대응하는 제1부분 예측 테이블(144)내 변수의 값을 채울 것이다. 관찰 탐색기(146)는 제2부분 예측 테이블 데이터 요소(148)로, 제1부분 예측 테이블(144)의 엔트리에 관찰 결과를 채운 결과를 출력한다.
제2부분 예측 테이블(148)은 구속 전파기(150)에 대한 입력으로서 제공되며, 이 구속 전파기(150)는 제2부분 예측 테이블(148)에 저장된 기지의 변수 값(즉, 상수 탐색기(142) 및 관찰 탐색기(146)에 의해 이미 판정된 변수값 및 가능하게는 이전의 가설 테스트로부터 판정된 변수)과 미결 가설 데이터 요소(98)로부터의 캐쉬드 집합을 사용하여 보다 많은 변수의 값을 판정한다. 구속 전파기(150)는 집합을 통해 기지의 변수를 전파하여, 상수 표현과 같은 미지의 변수의 형식으로 각각의 미지의 값에 대한 하나 이상의 집합이 대체될 수 있는 지를 판정한다. 예를 들어, 밸브를 통과하는 유체의 흐름을 기술하는 집합은 그 밸브가 개방된 때에, 그 밸브로부터 나오는 유량이 그 밸브로 들어가는 유량과 동일하고, 밸브가 폐쇄된 때에, 그 밸브로부터 나오는 유량이 0임을 표시할 수 있다. 밸브가 개방(사용자 관찰)된 것으로 판정되고 유입량이 양의 값(모델 상수)으로 판정되면, 구속 전파기(150)는 밸브로부터 나오는 유량을 양의 값으로 판정할 수 있다. 또한, 밸브의 출력이 파이프에 연결되면, 구속 전파기(150)는 파이프에 대한 유입량 및 유출량도 판정할 수 있다.
구속 전파기(150)가 판정한 변수는 이후 다른 기지의 변수와 함께 구속 전파기를 통해 전파된다. 구속 전파기의 출력 제3부분 예측 테이블(152)에 저장된다. 구속 전파기가 불일치를 검출하면, 제3부분 예측 데이터 요소(152)에 널 테이블이 저장된다.
제3부분 예측 테이블(152)은 코어 예측기(154)에 대한 입력으로서 제공된다. 제3부분 예측 테이블(152)이 널 테이블이 아니면, 코어 예측기(154)는 제3부분 예측 테이블(152)의 미지의 변수 각각에 대한 값을 통해 반복하여, 가지의 변수 값이 주어지면, 미지의 변수가 단지 하나의 가능한 값을 가질 수 있는지를 판정한다. 예를 들어, 스위치에 대한 집합이, 스위치가 폐쇄된 경우에, 스위치로부터 나오는 전류가 스위치로 들어가는 전류와 같고, 스위치가 개방된 경우에, 스위치로부터 나오는 전류가 0인 것을 나타낸다고 가정하자. 또한, 스위치로부터 나오는 전류가 0이 아닌 양의 값을 갖는 것으로서 관찰되었다고 가정하자. 스위치의 개방을 가정하면 불일치가 생기므로(즉, 스위치는 동시에 개방되고 양의 전류값을 가질 수 없으므로), 코어 예측은 스위치의 상태에 대한 단지 하나의 가능한 합리적인 값이 폐쇄되어 있음을 나타낸다. 코어 예측기(154)의 출력은 제4부분 예측 테이블 데이터 요소(158)에 저장된다. 코어 예측기(154)가 특정의 가설에 대한 불일치를 찾아낼 수 있음에 주의해야 한다. 예를 들어, 상기한 스위치의 예를 이용하여, 스위치에 대한 입력 전류가 음의 값으로 관찰되었다고 가정하자. 스위치의 개방 또는 폐쇄에 관계없이 스위치의 출력 전류가 양의 값을 갖는 한, 스위치의 입력 전압이 음의 값을 갖는다는 것은 불일치이다. 따라서, 테스트중인 가설은 무효가 된다. 즉, 캐쉬드 집합과 연관된 가설 및 상태 발생가(132)가 처리하고 있는 제3부분 예측 테이블(152)은 거짓으로 판명된다. 이러한 상황이 발생하면, 코어 예측기(154)는 제4부분 예측 테이블(158)을 널로 한다(즉, 널로 설정한다).
제4부분 예측 테이블(158)은 가정 테스터(159)에 대한 입력으로서 제공된다. 가정 테스터(159)는 제4부분 예측 테이블(158)에 포함된 예측(즉, 예측으로 설정된 값을 갖는 변수)이 주어진 경우, 어떠한 불일치도 초래하지 않는 나머지 미지의 변수에 적어도 하나의 조합 값이 할당될 수 있는지를 판정한다. 물론, 제4부분 예측 테이블(158)이 널 테이블이면, 가정 테스터(159)는 그 널 테이블을 예측 데이터 요소(134)에 보내며, 가설 테스터(136)는 그 가설을 버릴 수 있다.
그러나, 제4부분 예측 테이블(158)이 널 테이블이 아니면, 가정 테스터(159)는 미지의 변수의 각각에 대한 값을 가정하고, 그 다음에 일치하는 예측 세트가 이들 값으로부터 도출될 수 있는지를 판정한다. 소프트웨어는 제4부분 예측 테이블(158)에 미지의 변수에 대한 값을 저장하고(이렇게 하여 미지의 변수를 기지의 변수로 임시 변환하고), 모든 기지의 변수를 전파하며, 그 다음에 그 자신을 호출하는 순환 루틴을 사용한다. 전파중에, 일치하지 않는 예측 세트가 발생되면, 가정 테스터(159)는 변수의 각종 값을 가정하기 위해 그 순환 루틴을 통해 되돌아 간다. 모든 미지의 변수에 대한 값의 일치하는 세트가 발견되면, 가정 테스터(159)는 제4부분 예측 테이블(158)(미지의 변수를 이들의 원래 상태에 대한 복구시킴)을 예측 데이터 요소(134)로 보낸다. 일치하는 세트가 발견되지 않으면, 가정 테스터(159)는 널 테이블을 예측 데이터 요소(134)에 제공한다.
가정 테스터(159)가 미지의 변수에 값을 무작위적으로 할당할 수 있지만, 이렇게 하는 것은 프로세서 시간 면에서 매우 비효율적인데, 그 이유는 무작위 조합의 수가 엄청나게 많기 때문이다. 예를 들어, 제각기 세 개의 가능한 값을 갖는 20개의 미지의 변수가 존재한다면, 무작위 조합의 수는 삼십억개 이상으로 된다. 따라서, 미지의 변수에 값을 무작위적으로 할당하는 대신에, 가정 테스터(159)는 동적 가정 순서 프로세스를 사용하여 변수에 값을 할당한다.
동적 가정 순서 프로세스는 목표 집합을 로케이팅하고, 최대 수의 목표 집합에 나타나는 변수에 값을 할당하며, 그 변수 할당을 전파하는 프로세스이다. 목표 집합은 그 집합 변수중의 하나에 값을 할당하는 것에 의해서 다른 미지 변수의 값이 판정될 수 있거나 불일치가 발생되어, 가설이 거절될 수 있게 하는 집합이다. 가장 간단한 예의 목표 집합은 변수 V1이 변수 V2와 동일함을 기술하는 집합이다. 변수 V1에 하나의 값이 할당되면, 변수 V2에 대한 값이 결정될 수 있다. 또한, V1에 대한 값의 할당마다 불일치가 발생하여 가정 테스터(159)가 널 테이블을 예측 테이블 데이터 요소(134)로 보낼 수 있게 하는 경우도 가능하다. 예를 들어, 제1집합은 변수 V1이 변수 V2와 동일함을 기술하고, 제2집합은 변수 V1이 -V2와 동일함을 기술하고, 제3집합은 변수 V1이 (변수 V2 + 양의 상수값)과 동일함을 기술한다고 가정하자. 세 개의 집합에 의해 V1 및 V2에 대한 구속을 해결할 수 있는 변수의 조합은 없다. 가정 테스터(159)가 초기에 목표 집합에 나타나지 않는 변수를 무작위로 선택하지 않고 값의 대입을 위해 V1 또는 V2를 선택하면, 조만간에 불일치가 발견될 것이다.
제8도는 구속 전파기(150)의 더욱 상세한 동작을 예시하는 흐름도(180)이다. 첫 번째 단계(182)에서, 제2부분 예측 테이블(148)의 기지의 변수를 통한 반복이 제어된다. 단계(182)에서, 반복 카운터가 먼저 초기화되고, 그 다음에 각각의 후속 실행을 위해 증분된다. 흐름도(180)의 나머지 단계는 한 번에 하나의 변수에 대해 동작한다. 반복 카운터가 제2부분 예측 테이블(148)의 기지의 변수 리스트의 끝에 이르게 되면, 실행이 완료된다. 끝에 이르지 않았으면, 단계(183)으로 진행하여, (캐쉬드 집합 테이블로부터의) 변수와 연관된 모든 집합이 조사되고, 가능하다면, 제2부분 예측 테이블(148)로부터의 모든 기지의 변수값을 사용하여 해결된다. 미지의 변수가 기지의 변수로만 표현된 경우에는(즉, 집합의 변수들중 하나를 제외한 모든 변수가 기지임) 단계(183)에서 미지의 변수 값이 결정될 수도 있다. 제어가 단계(183)에서 단계(184)로 진행하여, 불일치가 발견되었는지를 판정한다. 동일한 변수에 대해 두 개의 상반된 예측이 만들어진 경우)예를 들어, 집합의 한 서브세트는 특정 변수가 양의 값임을 예측하는 반면에 그 집합의 다른 서브세트는 그 변수가 음의 값임을 예측하는 경우)에는 불일치가 발생된다. 단계(184)에서 불일치가 발견되면, 제어가 단계(185)로 진행하여, 제3부분 예측 테이블(152)이 널로 되고 구속 전파기(150)의 실행이 종료된다.
단계(184)에서 어떠한 불일치도 발견되지 않으면, 제어가 단계(184)로부터 단계(187)로 진행하여, 단계(183)에서 임의의 미지의 변수 값이 발견되었는지를 판정한다. 새로운 기지의 변수가 발견되었다면, 제어가 단계(187)에서 단계(188)로 진행하여, 기지의 변수 리스트에 새로운 변수가 부가된다. 제어는 단계(188)로부터 단계(182)로 되돌아가고, 반복 카운터가 증가된다. 단계(183)에서 어떤 새로운 변수도 발견되지 않았으면, 제어가 단계(187)로부터 단계(182)로 되돌아 간다.
제9도는 코어 예측기(154)의 더욱 상세한 동작을 예시하는 흐름도(190)이다. 첫 번째 단계(192)에서, 제3부분 예측 테이블(152)의 미지의 변수를 통한 반복이 제어된다. 단계(192)에서, 반복 카운터가 먼저 초기화되고, 그 다음에 각각의 후속 실행을 위해 증분된다. 흐름도(190)의 나머지 단계는 한 번에 하나의 미지의 변수에 대해 동작한다. 단계(192)에서 처리가 완료되지 않았으면, 제어가 단계(192)로부터 단계(193)로 진행하여, 동작중인 변수를 하나 이상의 유효 값에 대해 체크한다. 기계를 모델링하는데 정성적 물리학이 이용되고 있으므로, 실제 아날로그 양을 나타내는 변수를 포함하는 모든 변수는 유한 수의 가능한 값을 갖는다. 단계(193)에서, 변수가 그 변수가 취할 수 있는 모든 가능한 값으로 반복적으로 설정된다. 단계(193)에서, 그 변수가 모든 가능한 값으로 아직 설정되지 않았으며, 제어가 단계(193)로부터 단계(194)로 진행하여, 변수 값을 구속 전파기를 통해 전파한다. 단계(194)는 흐름도(180)로 예시한 구속 전파와 유사하다. 제어는 단계(194)로부터 단계(195)로 진행하여, 집합을 통해 미지의 변수에 대한 가정된 값을 전파하는 것이 불일치를 초래했는지를 판정한다. 불일치를 초래했으면, 제어는 단계(195)로부터 단계(193)로 되돌아가서 그 변수에 대한 또다른 반복을 행한다(즉, 그 변수에 대해 또다른 값이 선택된다). 집합을 통해 변수 값을 전파하는 것이 불일치를 초래하지 않았으면, 제어는 단계(195)로부터 단계(196)로 진행하며, 그 값은 그 변수에 대한 가능한 값의 리스트에 추가된다. 그리고 나서, 제어는, 변수에 대한 또다른 값이 테스트를 개시하기 위해 단계(196)로부터 단계(193)로 되돌아간다.
변수에 대한 모든 가능한 값이 집합을 통해 전파된 후, 제어는 단계(193)로부터 단계(197)로 진행하여, 그 변수에 대한 임의이 예측값이 일치하는 예측 세트를 초래했는지를 판정한다. 일치하는 예측 세트를 초래할 변수에 대한 값이 존재하지 않으면, 제어는 단계(197)로부터 단계(198)로 진행하여, 예측 테이블이 널로 되고 실행이 종료된다. 이 가설은, 변수들중의 하나가 일치하는 예측 세트를 생성하는 값을 가질 수 없기 때문에 사실이 아니다. 예측된 값이 0이 아니면, 제어는 단계(197)로부터 단계(199)로 진행하여, 그 변수에 대해 일치하는 예측 세트를 초래하는 단 하나의 값만이 존재하는지를 판정한다. 그렇다면, 제어는 단계(199)로부터 단계(200)로 진행하여, 그 변수 및 값을 제4부분 예측 테이블(158)에 추가한다. 그 변수의 하나의 값만이 일치하는 예측 세트를 초래하면, 그 변수는 사실로 판정되고 있는 테스트중인 가설에 대한 값과 동일해야 한다. 제어는 단계(200) 및 단계(199)로부터 반복 단계(192)로 되돌아가서, 다음의 미지의 변수를 테스트한다.
제10도는 가설 발생기(105)의 동작을 예시한 데이터 흐름도(230)로서, 가설 발생기(105)는 다음과 같은 다수의 방법을 통해 가설을 발생한다. 가설 발생기(105)는 보존 가설 데이터 요소(99)로부터의 현재 가설과 연관된 구성요소를 확장함으로써 새로운 가설을 생성할 수 있다. 가설 발생기(105)는 최대 수의 동시적인 구성요소 고장을 가정함으로써 새로운 가설을 생성할 수 있다. 또한, 가설 발생기(105)는 보존 가설 데이터 요소(99)로부터의 현재 가설 및 연관 예측을 미결 가설 데이터 요소(98)에 전달할 수 있다.
테스트 요청 데이터 요소(102)로부터의 데이터는 가설 제어기(232)에 제공되며, 이 가설 제어기(232)는 테스트 요청 데이터 요소(102)가 빈 것을 검출한 때, 모델 예시 데이터 요소(106)로부터의 정보를 사용하여 보존 가설 데이터 요소(99)로부터의 가설과 연관된 구성요소를 부구성요소로 확장함으로써 새로운 가설이 생성되게 한다. 예를 들어, 보존 가설 데이터 요소(99)가 기계 전력 공급 장치의 고장을 가정하는 단일의 가설을 포함한다면, 가설 제어기(232)는 전력 공급 장치의 부구성요소들(예를 들어, 캐패시터, 트랜스포모, 브리지 정류기 등)의 고장에 대응하는 다수의 가설을 발생할 것이다. 가설 제어기(232)는 구성요소의 부구성요소를 판정할 수 있는데, 그 이유는 모델 예시 데이터 요소(106)가 각각의 복합 구성요소의 부구성요소를 식별하는 데이터 구조를 포함하기 때문이다.
보존 가설 데이터 요소(99)가 빈 상태라면, 가설 제어기(232)는 연속 테스팅 질의 데이터 요소(109)에 데이터를 기록하여, 사용자가 이전의 가설 세트보다 하나 더 많은 고장난 구성요소를 갖는 가설 세트로 고장 분리를 계속하기를 원하는지의 여부를 판정한다. 사용자의 응답은 연속 테스팅 응답 데이터 요소(108)에 제공되고, 이 연속 테스팅 응답 데이터 요소(108)는 가설 제어기(232)에 대한 입력으로서 제공되며, 이 가설 제어기(232)는 이 응답을 사용하여 가설을 연속적으로 발생할 것인지의 여부를 판정한다.
테스트 요청 데이터 요소(102)가 빈 상태가 아니라면(즉, 지능 테스트 선택 코드 모듈(100)이 사용자에게 관찰할 것을 프롬프트하면), 가설 제어기(232)는 보존 가설 데이터 요소(99)로부터의 가설을 미결 가설 데이터 요소(98)에 보내어 가설 테스터(96)가 또다른 테스트를 할 수 있게 한다. 사용자에게 관찰하도록 프롬프트된 변수에 대한 값을 예측하는 가설(즉, 테스트 요청 데이터 요소(102)에 저장된 테스트)은 전달되지 않는데, 그 이유는 또다른 테스팅이 그 가설에 대한 새로운 값을 예측하거나 그 가설을 제거할 수 없기 때문이다. 예를 들어, 보존 가설 데이터 요소(99)가 특정 도관(conduit)을 통한 양의 유체 흐름을 예측하는 가설 A와 그 도관을 통한 유체 흐름에 관한 예측을 하지 않은 가설 B를 포함한다고 가정하자. 테스트 요청 데이터 요소(102)가 사용자로 하여금 그 도관을 통한 유체 흐름을 관찰하도록 하는 프롬프트를 포함하면, 가설 제어기(232)는 (가설 B가 그 유체 흐름에 대한 어떤 예측도 하지 않기 때문에) 가설 B를 미결 가설 데이터 요소(98)로 전달하지만, (가설 A가 그 도관을 통한 양의 유체 흐름을 예측하기 때문에) 가설 A를 미결 가설 데이터 요소(98)로 전달하지는 않을 것이다. 사용자가 그 도관을 통과하는 음 또는 0의 유체 흐름을 관찰하면, 예측 테스트(104)는 보존 가설 데이터 요소(99)로부터 가설 A를 제거할 것임을 주목해야 한다.
가설 제어기(232)는 가설(새롭게 발생된 가설 또는 보존 가설 데이터 요소(99)로부터의 가설)을 가설 저장 데이터 요소(234)에 저장한다. 가설 저장 데이터 요소(234)는 집합 선택기(236)에 대한 입력으로서 제공되며, 이 집합 선택기(236)는 모델 예시 데이터 요소(106)로부터의 데이터를 사용하여 가설 저장 데이터 요소(234)에 저장된 각각의 가설에 대한 모델 집합을 판정한다. 집합 선택기(236)는 집합 데이터 요소(238)에 그 집합을 저장한다.
집합 데이터 요소(238)는 변수 수집기(240)에 대한 입력으로서 제공되며, 이 변수 수집기(240)는 각각의 집합 세트에 대한 독특한 변수를 판정하고 그 출력을 변수 데이터 요소(242)에 저장한다. 변수 데이터 요소(242) 및 집합 데이터 요소(238)는 집합 캐쉬어(cacher)(244)에 대한 입력으로서 제공되며, 이 집합 캐쉬어(244)는 캐쉬드 집합 테이블을 발생하고, 이 집합 테이블은 각각의 변수에 의해 인덱스될 수 있으며, 테이블 각각의 요소는 인덱스 변수가 나타나는 모든 집합을 포함한다(예를 들어, 변수 V1는 집합 C1, C5 및 C6에 나타나며, 변수 V2는 집합 C2 및 C5 등에 나타난다). 캐쉬드 집합 테이블은 가설 테스터(96)에 의해 사용되어 변수 발생을 위한 탐색 집합을 갖지 않고서도 가설을 테스트한다.
새롭게 발생된 가설에 대하여, 변수 데이터 요소(242)가 빈 예측 테이블을 발생하는 예측 테이블 발생기(246)에 대한 입력으로서 제공된다. 보존 가설 데이터 요소(99)로부터 얻은 가설에 대하여는 (이미 결정된 어떤 변수값을 갖는) 이미 존재하는 예측 테이블이 사용된다. 가설 발생기(110)의 출력은 미결 가설 데이터 요소(98)에 기록되며, 가설 세트(한번에 하나)로서, 그 가설 각각에 대한 관련 캐쉬드 집합 테이블과, (새롭게 발생된 가설의 경우에는 어떠한 값도 포함하지 않는)가설 각각에 대한 관련 예측 테이블이다.
제11도는 지능 테스트 선택 코어 모듈(100)의 상세 동작을 예시하는 데이터 호름도(260)이다. 보존 가설 데이터 요소(99)로부터의 출력은 테스트 분류기(262)에 제공된다. 테스트 분류기(262)는 보존 가설 데이터 요소(99)로부터의 각각의 가설과 연관된 예측을 조사하고 각각의 변수를 타입 I 테스트, 타입 II 테스트, 또는 타입 III 테스트로 분류하며, 타입 I 테스트는 보존 가설 데이터 요소(99)로부터의 적어도 하나의 가설이 무시될 수 있게 보장하는 사용자가 행할 수 있는 관찰이고, 타입 II 테스트는 가설이 무시될 수 있게 하거나 또는 그렇지 않을 수도 있는 관찰이며, 타입 III 테스트는 가설이 무시될 수 없게 하는 관찰이다. 테스트 분류기(262)의 출력은 분류된 테스트 데이터 요소(264)에 저장된다.
테스트 분류의 일례로서, 보존 가설 데이터 요소(99)가 가설 A 및 가설 B를 포함하되, 가설 A는 특정 전류가 0 이상으로 될 것임을 예측하고, 가설 B는 그 전류가 0 보다 작을 것임을 예측한다고 가정하자. 테스트 분류기(262)는 그 전류를 타입 I 테스트로 간주할 것인데, 그 이유는 그 전류의 실제 값과 무관하게, 전류가 가설 A 또는 B의 제거를 보장하는 사용자 관찰(및 QRS에 대한 입력)을 갖기 때문이다. 이 예에 계속하여, 가설 A는 특정점에서 0 이상의 전압을 예측하고 가설 B는 그 점에서 0 이하의 전압을 예측한다고 가정하자. 테스트 분류기(262)는 그 전압 측정을 타입 II 테스트로 간주할 것인데, 그 이유는 사용자는 전압을 관찰하는 것이 가설 A 또는 가설 B를 제거하지 못할 수도 있기 때문이다. 사용자가 0의 전압을 측정하게 되면, 가설 A 또는 가설 B의 어느 것도 제거될 수 없으나, 사용자가 0이 아닌 전압을 측정하게 되면, 가설 A 또는 가설 B의 어느 것도 제거될 수 있다. 또한, 가설 A 및 가설 B 모두가 특정한 유체 흐름에 대한 예측을 하지 않는다고 가정하자. 그러면, 테스트 분류기(262)는 유체 흐름을 타입 III 테스트로 간주할 것이다.
보존 가설 데이터 요소(99)의 출력은 테스트 결과 이득 발생기(266)에 제공되며, 이 테스트 결과 이득 발생기(266)는 각 변수의 각각의 가능한 값에 대해, 보존 가설 데이터 요소(99)로부터의 가설들 중에서 변수가 특정값과 동일했다면 버려지게 될 부분을 판정한다. 예를 들어, 보존 가설 데이터 요소(99)는 10개의 가설을 포함하고, 이들 가설중 3개는 특정 전류가 양의 값 또는 0으로 될 것임을 예측하고, 4개는 그 전류가 음의 값일 것으로 예측하며, 나머지 3개는 그 전류에 대한 어떠한 예측도 하지 않는다고 가정하자. 양의 전류에 대한 이득은 4/10일 것이고, 음의 전류에 대한 이득은 3/10일 것이다. 테스트 결과 이득 발생기(266)는 이득 데이터 요소(268)에 저장된다.
보존 가설 데이터 요소(99) 및 구성요소 정보 데이터 요소(101)의 출력은 가설 확률 발생기(270)에 제공되며, 이 가설 확률 발생기(270)는 구성요소 정보 데이터 요소(101)로부터의 실험적 구성요소 고장률 정보를 사용하여 보존 가설 데이터 요소(99)로부터의 각 가설의 확률적인 유효도를 예측한다. 가설 확률 발생기(270)로부터의 출력은 가설 확률 데이터 요소(275)에 저장된다.
가설 확률 데이터 요소(272) 및 보존 가설 데이터 요소(99)는 테스트 결과 확률 발생기(274)에 대한 입력으로서 제공된다. 테스트 결과 확률 발생기(274)는 사용자가 각각의 변수에 대해 관찰하게 될 기대 값을 예측한다. 확률이 높은 가설에 의해 예측되는 변수의 값은 확률이 낮은 가설에 의해 예측되는 변수의 값보다 관찰될 가능성이 높다. 예를 들어, 보존 가설 데이터 요소(99)는 특정의 유체 흐름이 0으로 될 것임을 예측하는 가설 A와 그 유체 흐름이 0으로 되지 않을 것임을 예측하는 가설 B를 포함한다고 가정한다. 또한 가설 A는 확률 발생기(270)에 의해 80 퍼센트의 확률을 갖는 것으로 간주되고, 가설 B는 가설 확률 데이터 요소(270)에 의해 20 퍼센트의 확률을 갖는 것으로 간주된다고 가정한다. 이 때, 테스트 결과 확률 발생기(234)는 사용자가 유체 흐름을 0으로 관찰할 가능성은 80 퍼센트이고 사용자가 유체 흐름을 0이 아니라고 관찰할 가능성은 20 퍼센트로 판정할 것이다.
테스트 결과 확률 발생기(274)로부터의 출력은 예상 확률 데이터 요소(276)에 저장되며, 이 예상 확률 데이터 요소(276)는 이득 데이터 요소(268)와 함께, 테스트 효율 발생기(278)에 대한 입력으로서 제공된다. 각각의 변수에 대하여, 테스트 효율 발생기(278)는 변수가 가질 수 있는 각각의 값에 대한 예상 확률과 이득과의 곱의 총합을 계산함으로써 사용자가 그 변수를 측정하는 효율을 결정한다. 예를 들어, 변수 X가 세 개의 가능한 값, 즉, 마이너스, 0, 플러스를 갖는다고 가정한다. 또한, 그 변수를 마이너스로 측정하는 이득이 1/10이고, 변수를 0으로서 측정하는 이득이 2/10이며, 변수를 플러스로서 측정하는 이득이 6/10이라고 가정한다. 또한, X가 마이너스일 확률은 25 퍼센트이고, X가 0일 확률은 70 퍼센트이며, X가 플러스일 확률은 5 퍼센트라고 가정한다. 이 때 변수 X를 측정하는 효율은 다음의 방정식에 의하여 결정된다.
X의 효율 = (0.10×0.25) + (0.20×0.70) + (0.60×0.05)
테스트 효율 발생기(278)의 출력은 테스트 효율 데이터 요소(280)에 저장되고, 테스트 효율 데이터 요소(280)는 구성요소 정보 데이터 요소(101)로부터의 데이터와 함께, 테스트 스코어 발생기(282)에 대한 입력으로서 제공된다. 테스트 스코어 발생기(282)는 각각의 변수에 대한 테스트 효율을 (구성요소 정보 데이터 요소(101)로부터의) 각각의 변수에 대한 테스트 시간으로 나누어 테스트 스코어 데이터 요소(284)에 저장된 각각의 변수에 대한 테스트 스코어를 제공한다. 각각의 변수에 대하여, 테스트 스코어 발생기(282)는 사용자가 그 변수에 의해 표현되는 기계 파라미터를 관찰할 것을 사용자에게 프롬프트하는 요망도를 판정한다. 동일한 효율을 갖는 두 개의 변수에 대하여, 사용자가 더 길게 측정하면 더 낮은 테스트 스코어를 갖게 될 것이다. 또한, 기계 부품의 내부 마찰력과 같은 몇몇 변수는 사용자의 측정을 불가능하게 할 수도 있어, 무한대에 이르는 테스트 시간이 할당된다. 효율의 이론 및 계산에 대한 상세에 대해서는 폰 노이만 존(Von Neumann John)과, 모르겐스턴 오스카(Morgenstern, Oskar)의 Theory of Games and Economic Behavior, Princeton, princeton University Press, 3rd edition(1953)을 참조하기 바란다.
테스트 스코어 데이터 요소(284) 및 분류된 테스트 데이터 요소(364)는 테스트 선택기(286)에 대한 입력으로서 제공되며, 이 테스트 선택기(286)는 사용자가 수행하는 최상의 관찰을 판정하고자 하는 것이다. 테스트 선택기(286)에는 또한 임계값 데이터 요소 (288)로부터의 제3입력이 제공되고, 이 임계값 데이터 요소(288)는 각각의 테스트 타입에 대한 임계값을 포함한다(본 실시예의 경우, 타입 I에 대한 임계값은 0.5이고, 타입 II에 대한 임계값은 100이다). 테스트 선택기(286)는 최고의 테스트 스코어를 갖는 타입 I 테스트(즉, 보존 가설 데이터 요소(99)로부터 적어도 하나의 가설을 제거하는 사용자 관찰)를 선택한다. 그러나, 최고 스코어링 타입 I 테스트가 타입 II 테스트에 대한 임계값보다 낮은 스코어를 가지면, 테스트 선택기(286)는 타입 II 테스트에 대한 임계값보다 높은 테스트 스코어를 갖는 최고 스코어링 타입 I 테스트를 선택한다. 제각기의 임계값보다 높은 테스트 스코어를 갖는 타입 I, 타입 II 테스트가 존재하면, 테스트 선택기(286)는 테스트를 선택하지 않는다. 테스트 선택기(286)의 출력은 테스트 요청 데이터 요소(102)에 기록된다. 테스트 선택기(286)가 테스트 요청 데이터 요소(102)에 아무것도 기록하지 않으면, 가설 발생기(105)는 테스트 데이터 요소(102)가 빈 상태임을 검출하여 보존 가설 데이터 요소(99)로부터의 가설을 확장하는 것을 시작한다.
제12도는 모델 구축기를 예시한 데이터 흐름도(300)로서, 이 모델 구축기는 QRS 소프트웨어가 사용하는 모델 예시 데이터 요소(106)를 생성한다. 모델 예시 데이터 요소(106)는 매사추세츠 벌링턴(Burlington, Ma.)에 소재하는 심볼릭스사(Symbolics Inc.)가 제작한 Symbolics 3640과 같은 컴퓨터 워크스테이션상에서 모델 구축기를 실행시킴으로써 오프-라인(off-line)으로 구성되고, 그 다음에 PMA(30)로 전달되어 QRS 소프트웨어의 일부가 된다.
모델 구축기에 대한 입력은 그래픽 사용자 인터페이스(302)를 통하며, 이에 대해서는“HELIX : A Helicopter Diagnostic System Based on Qualitative Physics.”Hamiton, Thomas P., International Journal of Artificial Intelligence in Engineering, Vol. 3, No. 3, July 1988, PP 141-150에 상세히 설명되어 있다. 그래픽 사용자 인터페이스(302)로부터의 사용자 입력은 모델 구성기(304)에 제공되며, 이 모델 구성기(304)는 사용자 입력을 처리하여 워크스테이션의 디스크상에 저장될 모델 구성요소 데이터 파일(306)을 발생한다. 모델 구성요소 데이터 파일(306)은 기본 모델 구성요소(즉, 기본 구성요소의 터미널, 변수 및 집합)의 정의와 복합 구성요소의 정의를 포함하며, 이러한 정의는 사용자가 기본 구성요소를 상호접속하거나 다른 복합 구성요소를 상호접속함으로써 생성할 수 있다. 모델 구성요소 데이터 파일(306)에 저장된 데이터는 당업자에게 알려져 있는 구성을 갖는 LISP 표현식의 형태를 취한다. 구성요소 데이터 파일(306)의 구성요소의 상호접속은 모델 계층을 정의하여 그 계층의 최저 레벨에는 기본 구성요소가 있고 최고 레벨에는 모델링되고 있는 기계를 나타내는 단일의 복합 구성요소가 있게 한다.
구성요소 데이터 파일(306)은 모델 인스탄시에이터(instantiator)(398)에 대한 입력으로서 제공되며, 이 모델 인스탄시에이터(308)는 모델 구성요소, 파라미터, 및 접속의 특성을 고려하여, 구성요소 데이터 파일(306)을 PMA(30)의 QRS 소프트웨어가 프로세스하는데 최적화된 포맷으로 변환한다. 모델 인스탄시에이터(308)에 의한 변환 결과는 예시 데이터 파일(310)에 출력되고, 이 예시 데이터 파일(310)은 워크스테이션의 디스크에 저장되고, PMA상의 QRS 소프트웨어로 전달되어 모델 예시 데이터 요소(106)가 될 수 있다. 인스탄시에이터(308)에 의해 수행된 변환은 중위 표기법(infix notation)으로부터 전위 표기법(prefix notation)으로의 집합 변환, 조건부 집합으로부터의 키워드 추출, 신속한 액세스를 위해 각 집합에 사용되는 변수의 사전 소팅(presorting), 및 LISP 속성 리스트로부터 LISP 심볼로의 데이터 변수 유형의 변환을 포함한다.
인스탄시에이터(308)는 또한 구속 감소에 의해 모델의 변수 및 구 속의 수를 감소시킨다. 구속 감소는 구성요소의 집합을 조사하여, V1=V2 또는 V1=-V2의 형식을 가지며, 터미널 변수(즉, 구성요소의 터미널의 조건을 기술함)는 변수들중 하나를 초과하지 않는 단순한 집합을 제거하는 것을 포함한다. 다른 변수는 터미널 또는 비-터미널(non-terminal) 변수일 수 있다. 1개의 비-터미널 변수 및 단순한 집합은 구성요소에 대한 모든 집합내의 비-터미널 변수를 다른 변수(또는 V1=-V2 형식의 단순한 집합의 경우에는 상기한 다른 변수의 부정값)로 대체함으로써 제거된다. 한가지 제한은 비-터미널 변수에 대한 가능한 정성 값은 다른 변수에 대해 가능한 정성 값의 서브세트이어야 한다는 것이다.
구속 감소 프로세스는 모델 계층의 최적 레벨에서 시작된다. 최저 레벨에서 제거되는 변수는 또한 그 보다 높은 계층 레벨로부터 제거된다. 그 계층의 후속 레벨에서, 더 많은 변수가 제거될 수 있는데, 그 이유는 한 레벨의 터미널을 기술하는 변수가 그 보다 높은 모델 계층 레벨에서 구성요소의 터미널을 기술하지 않을 수도 있기 때문이다. 예를 들어, 기본 구성요소가 함께 그룹화될 때는 전력 공급 장치의 많은 기본 구성요소 터미널 변수가 비-터미널 변수로 된다.
QRS가 적절히 동작하려면, 예시 데이터 파일(310)은 모델링되고 있는 시스템의 정확한 표현을 포함해야 한다. 예시 데이터 파일(310)은 모델 테스터(312)에 대한 입력으로서 제공되며, 이 모델 테스터(312)는 그래픽 사용자 인터페이스(302)를 통해 사용자와 상호작용하여 예시 데이터 파일(310)의 구성요소를 실행한다. 모델 테스터(312)는 정성적 물리학을 이용함으로써 구성요소를 실행하여 고장을 검출하고 진단하거나 구성요소의 동작 상태를 발생하여, 그래픽 사용자 인터페이스(302)를 통해 사용자에게 정보를 제공한다. 예를 들어, 예시 데이터 파일(310)에 있는 밸브의 경우, 구성요소 테스터(312)는 그 밸브가 폐쇄되어, 밸브로부터 나오는 유량 및 밸브로 들어가는 유량이 0으로 되는 제1상태, 밸브가 개방되어, 밸브로 들어가는 유량이 양의 값이고 밸브로부터 나오는 유량이 양의 값으로 되는 제2상태, 밸브가 개방되어, 밸브로 들어가는 유량이 음의 값이고 밸브로부터 나오는 유량이 음의 값으로 되는 제3상태와, 밸브가 개방되어, 밸브로 들어가는 유량이 0이고 밸브로부터 나오는 유량이 또한 0으로 되는 제4상태를 발생할 수 있다.
상태가 발생하는 것에 의해 사용자는 구성요소 모델의 디버깅을 할 수 있게 된다. 사용자가 구성요소에 대해 너무 많은 구속을 제공했다면, 모델 테스터(312)는 그 구성요소에 대한 모든 가능한 상태를 발생하지 못할 것이다. 예를 들어, 상기한 밸브 예를 이용하여, 사용자가 밸브에 대해 너무 많은 구속을 제공했다면, 모델 테스터(312)는 상기한 4개의 동작 상태중에서 3개만으로 발생할 수도 있다. 이와 마찬가지로, 사용자가 너무 적은 구속을 제공했다면, 모델 테스터(312)는 과다의 부적법한 상태를 발생할 수도 있다. 예를 들어, 상술한 밸브 예를 이용하여, 사용자가 밸브가 폐쇄된 때에 밸브에 대한 유출량 및 유입량이 0임을 지정하는 밸브의 구속을 제공하지 않았다면, 모델 테스터(312)는 밸브가 폐쇄되고 밸브에 대한 유입량 및 유출량이 0이 아닌 양의 값으로 되는 상태를 발생할 수도 있다.
사용자는 또한 테스트 사례 데이터 파일(314)을 선택적으로 발생할 수도 있으며, 이 테스트 사례 데이터 파일(314)은 워크스테이션의 디스크상에 저장된다. 테스트 사례 데이터 파일(314)은 예시 데이터 파일(310)에 저장된 구성요소의 할당된 변수값의 사전결정된 세트를 포함한다. 예를 들어, 테스트 사례 데이터 파일(314)은 전기적 저항에 대한 할당된 변수 값의 제1 및 제2세트를 포함할 수도 있다. 제1세트의 경우, 저항을 통해 흐르는 전류는 양의 값을 가지며, 저항 양단간의 전압은 양의 값을 갖는다. 제2세트의 경우, 저항을 통해 흐르는 전류는 음의 값을 갖고 저항 양단간의 전압도 음의 값을 갖는다. 테스트 사례 데이터 파일(314)은 특정 구성요소에 대한 모든 테스트 경우를 포함할 필요가 없다. 상기한 저항 예의 경우, 저항에 대한 전류 및 전압이 0인 경우는 사용되지 않는다.
또한, 테스트 데이터 파일(314)은 무효 사례, 즉, 구성요소의 집합을 위반하는 변수값 세트를 포함할 수도 있다. 예를 들어, 테스트 사례 데이터 파일(314)은 저항 양단간의 전압이 양의 값을 갖고 저항을 통해 흐르는 전류가 음의 값을 갖는 저항에 대한 경우를 포함할 수도 있다. 테스트 사례 데이터 파일(314)은 구성요소 테스터(312)에 대한 입력으로서 제공되며, 이 구성요소 테스터(312)는 사전결정된 사례 세트로부터의 값을 테스트하고 있는 구성요소의 변수로 대체한다. 구성요소 테스터(312)는 그 결과를 사용자 인터페이스(302)를 통해 사용자에게 보고한다. 생성 시점에서 사용자에 의해 테스트 데이터 파일(314)내의 각각의 사례가 제공되는 스트링(string)은 사용자 인터페이스(302)를 통해 사용자에게 또한 보고됨에 따라, 예를 들어 무효인 경우에 대한 스트링은 그 경우 자체를 식별할 수 있다.
QRS 소프트웨어를 PMA(30)에 대한 것으로 도시하고 모델 구성을 Symbolics 3640 워크스테이션상에서 설정하는 것으로 예시하였으나, 당업자라면 QRS 또는 모델 구성을 각종 계산 시스템에 적용할 수 있음을 이해할 것이다. 마찬가지로, QRS 소프트웨어를 LISP로 기록한 것으로 하였으나, 본 발명은 필요한 기능을 지지할 수 있는 임의의 컴퓨터 언어를 사용하여 실행될 수도 있을 것이다. 본 명세서에 예시한 고장 분리 시스템이 규칙 기반형 시스템을 사용한 후에 QRS를 사용하는 것으로 하였으나, 당업자라면 규칙 기반형 시스템을 전혀 사용하지 않고 QRS가 동작되게 할 수 있음이 이해될 것이다.
또한, 정성적 물리학을 고장 분리 및 모델 구성요소의 디버깅에 사용하는 것으로서 하였으나, 당업자라면 정성적 물리학을 본 명세서에 예시한 적용예 이외의 많은 다른 적용예에도 사용할 수 있음이 이해될 것이다. 본 발명은 정성적으로 모델링될 수 있는 임의 형태의 시스템에 대한 고장 분리에도 사용될 수 있다. 또한, (코어 예측, 동적 가정 순서 프로세스 및 집합 캐쉬 프로세스와 같은) 정성적 물리학 모델링에 대한 개선에 관한 본 발명의 특징은 본 명세서에 예시한 것들 이외의 적용예를 갖는다. 코어 예측 및 동적 가정 순서 프로세스의 구속 전파 특징은 (변수가 임의의 가능한 값을 취할 수 없을 때마다 불일치 예측 세트를 발생하지 않고) 불일치 모델의 무효화에 사용될 수 있다. 마찬가지로, 결과적인 고장 분리 시스템이 저하된 방식으로 수행된다 할 지라도, 정성적 물리학 모델링은 코어 예측, 동적 가정 순서 프로세서 또는 집합 캐쉬 프로세스를 사용하지 않고 고장 분리에 사용될 수 있다. 동적 가정 순서 프로세스가 값의 대입을 위해 최대 수의 목표 집합에 나타나는 변수를 선택하는 것으로서 본 명세서에 예시하고 있으나, 제2 또는 제3의 최대 수의 목표 집합에 나타나는 변수를 선택하는 바와 같은 다른 방안을 사용하여, 여전히 동적 가정 순서 프로세스의 몇 가지 장점을 도출할 수 있다.
지능 테스트 선택 코드 모듈(100)의 타입 I 및 타입 II에 대해 본 명세서에서 예시한 임계값은 변경될 수도 있다. 이와 마찬가지로, 테스트 스코어의 계산에 사용된 특정 방정식, 또는 본 명세서에 사용한 기준은 본 발명의 사상 및 범주를 벗어나지 않고서 수정될 수 있다. 본 명세서에서 예시한 지능 테스트 선택 코드 모듈(100)은 고장 분리 이외에도, 구성요소의 설계시, 구성요소의 테스트를 위한 최상의 측정을 결정하고, 이에 따라, 구성요소에 대한 테스트 지점을 배치하는 바와 같은 다른 적용예를 갖는다.
본 명세서에 예시한 동시적으로 발생하는 구성요소 고장의 수(예를 들어, 구성요소 고장이 없음, 하나의 구성요소 고장, 두 개의 구성요소의 동시적 고장, 등)에 대한 가정의 순서, 및 이에 따른 가설 발생의 순서는 본 발명의 사상 및 범주를 벗어나지 않고서 수정될 수도 있다. 마찬가지로, 동시 고장으로 가정되는 구성요소의 수가 증가될 때마다 사용자에게 프롬프트하고 응답을 결정하는 단계는, 사용자에게 알리지 않고서 QRS가 그 수를 자동적으로 증가시키고 고장 분리를 계속함으로써 제거될 수도 있다. QRS는 전체적으로 기본 구성요소로 이루어진 모델에 대해 동작할 수 있으며, 따라서 모델 예시 데이터 요소(106)에 포함된 모델이 계층적인 것을 요구하지 않는다.
모델 구축기에 대한 하나의 적용예(즉, QRS의 모델 예시 데이터 요소(106)를 구성하기 위해 모델 구축기를 사용함)를 본 명세서에 예시하였으나, 당업자라면, 모델 구축기가 다른 많은 적용예를 가질 수 있음을 알 것이다. 본 명세서에 예시한 것 이외의 다른 프로세스는 모델 예시 데이터 요소(106)의 생성에 사용될 수 있다. 또한, QRS는 본 명세서에 예시한 최적화 서브세트(예를 들어, 구속감소, 키워드 추출, LISP 속성 리스트로부터 LISP 심볼로의 데이터 변수 유형의 변환, 등)만이 인스탄시에이터(308)에 의해 모델에 대해 수행되는 모델 예시에 대해 동작할 수 있으나, 그 결과 QRS의 성능이 저하될 수도 있다. QRS는 또한 구성요소 데이터 파일(306)에 대해 직접 동작하도록 구성될 수도 있으나, 이러한 시스템은 본 명세서에 예시한 실시예보다 실행 속도가 더 느리게 될 수도 있다. 모델 예시는 본 명세서에 예시한 것이 아닌 방법을 사용하여 테스트될 수도 있다.
본 발명에서는 사용자가 관찰을 하는 것으로 하였으나, 고장 분리가 행해지고 있는 기계와 PMA(30)간의 데이터 접속을 제공하고 그 데이터 접속을 통해 QRS가 정보를 기계에 요청하게 하며, 그 기계가 또한 그 데이터 접속을 통해 정보를 제공하게 함으로써 관찰 획득 프로세서를 자동화할 수 있다. 또한, QRS는 규칙 기반형 시스템으로부터의 관찰에 의한 초기화시 관찰 데이터 요소(94)가 단일의 기본 구성 요소에 대한 기게 고장을 분리하는데 충분한 양의 정보를 포함한다면, 부가적인 관찰르 사용자에게 프롬프트하지 않고서 고장 분리를 행할 수도 있다. 또한, 어떤 관찰이 수행하고자 하는 것인가를 판정하는데 다른 방법(무작위 선택법을 포함)을 사용함으로써 지능 테스트 선택 코드 모듈(100) 없이도 고장 분리를 행할 수 있으나, 이 경우에는 QRS가 기계 고장을 분리하는데 소요되는 시간이 더 길어질 수도 있다.
본 발명을 대표적인 실시예에 대해 도시되고 기술되었으나, 당업자라면 본 발명의 사상 및 범주를 벗어나지 않고서도 각종 변경, 생략 및 부가가 가능함을 알아야 할 것이다.

Claims (25)

  1. 다수의 기계 모델을 테스트함으로써 기계의 고장을 분리하는 방법-상기 모델의 각각은 다수의 기계 구성요소가 고장난 것으로 가정하고, 상기 테스트는 상기 모델의 방정식을 통해 기계 파라미터의 실제 값을 전파(propagating)하여 기계 파라미터의 값에 대한 예측 세트(a set of predictions)를 생성하는 단계, 상기 모델중에서 일치하지 않는(inconsistent) 예측 세트를 생성하는 모델의 방정식을 폐기(disregarding)하는 단계, 및 상기 모델중에서 일치하는(comsistent) 예측 세트를 생성하는 모델의 방정식을 저장하는 단계를 포함한다-에 있어서, 상기 기계 구성요소의 정성적 물리학 기술(qualitative physics descriptions)을 이용하여 상기 모델을 발생하는 단계와, 기계 파라미터의 부가적인 실제 값을 획득하는 단계와, 상기 부가적인 실제 값과 일치하지 않는 변수에 대한 값을 예측하는 각각의 모델을 폐기하는 단계를 포함하는 기계 고장 분리 방법.
  2. 제1항에 있어서, 상기 기계 파라미터의 부가적인 실제 값을 획득하는 단계는, 컴퓨터 디스플레이상에 질의를 배치하여 특정 입력을 사용자에게 프롬프트(prompt)하는 단계와, 사용자 키보드 입력을 프로세스하여 사용자의 응답을 판정하는 단계를 포함하는 기계 고장 분리 방법.
  3. 제1항에 있어서, 상기 발생 단계는, 제1모델 세트는 어떤 구성요소도 고장나지 않았음을 가정하고, 제2모델 세트는 하나의 구성요소가 고장났음을 가정하며, 제3모델 세트는 두 개의 구성요소가 동시에 고장났음을 가정하고, 모든 후속 모델 세트는 제각기 그의 선행하는 모델 세트보다 하나 더 많은 구성요소가 동시에 고장났음을 가정하는 식으로 상기 모델의 발생을 순차적으로 순서화하는(ordering) 단계를 포함하는 기계 고장 분리 방법.
  4. 제3항에 있어서, 상기 후속 모델 세트의 발생을 순서화하는 단계는 상기 후속 모델 세트를 발생하기 위한 허가를 질의에 대해 사용자가 긍정적으로 응답하는 것에 따라서만 발생하는 기계 고장 분리 방법.
  5. 제4항에 있어서, 상기 정성적 물리학 기술은 몇몇 구성요소가 부구성요소로 이루어지도록 계층적으로 배열되는 기계 고장 분리 방법.
  6. 제5항에 있어서, 사용자에게 입력을 프롬프트하여 폐기될 수 없는 상기 저장된 모델이 하나이상 존재하는 것에 따라서, 상기 저장된 모델과 연관된 고장난 구성요소의 부구성요소의 고장을 가정하는 새로운 모델이 발생하는 기계 고장 분리 방법.
  7. 제1항에 있어서, 타입 I 기계 파라미터 세트를 형성하는 단계-상기 타입 I 기계 파라미터 세트의 각각에 대해, 상기 파라미터의 모든 가능한 값은 상기 모델중의 적어도 하나와 연관된 예측이 일치하지 않게 한다-와, 상기 타입 I 기계 파라미터 세트로부터 관찰을 위한 파라미터를 선택하는 단계를 더 포함하는 기계 고장 분리 방법.
  8. 제7항에 있어서, 상기 타입 I 기계 파라미터 세트의 각가에 대한 테스트 스코어를 계산하는 단계-상기 테스트 스코어는 상기 파라미터의 각각에 대한 관찰의 요망도(desirability)를 표시한다-를 더 포함하며, 상기 선택 단계는 최고로 높은 테스트 스코어를 갖는 상기 타입 I 세트로부터 관찰을 위한 상기 파라미터중의 특정 파라미터를 선택하는 것을 포함하는 기계 고장 분리 방법.
  9. 제8항에 있어서, 타입 II 파라미터 세트를 형성하는 단계-상기 타입 II 파라미터 세트의 각각에 대해, 상기 타입 II 파라미터의 전부는 아니지만 몇 개의 가능한 값은, 상기 모델중의 적어도 하나와 연관된 예측이 일치하지 않게 한다-와, 상기 타입 II 파라미터 세트 각각에 대한 테스트 스코어를 계산하는 단계-상기 테스트 스코어는 상기 타입 II 파라미터로부터의 상기 파라미터 각각에 대한 관찰의 요망도를 표시한다-를 더 포함하며, 상기 선택 단계는 상기 타입 I 세트의 모든 파라미터에 대한 테스트 스코어가 사전결정된 임계값보다 낮은 경우, 최고로 높은 테스트 스코어를 갖는 상기 타입 II 파라미터 세트로부터 관찰을 위한 상기 파라미터중의 특정 파라미터를 선택하는 것을 포함하는 기계 고장 분리 방법.
  10. 제9항에 있어서, 상기 타입 I 및 타입 II 세트에 대한 테스트 스코어는 다음과 같은 단계들, 즉, 각각의 파라미터의 각각의 가능한 값에 대한 이득을 계산하는 단계-상기 파라미터가 상기 값과 동일하게 관찰되는 경우의 폐기되는 모델 수를 모델의 총 수로 나누어 계산한다-와, 각각의 모델에 대한 고장났다고 가정된 구성요소와 실험적인 구성요소 고장률 정보(empirical component failure rate information)를 상관(correlating)시킴으로써 각각의 모델에 대한 유효도(validity)의 확률을 계산하는 단계와, 파라미터에 대한 특정 값을 예측하는 각각의 모델에 대한 추정 유효도를 합산함으로써 각각의 파라미터에 대한 각각의 가능한 값을 측정하는 확률을 계산하는 단계와, 각각의 파라미터 각각의 값에 대한 이득과 각각의 파라미터에 대한 각각의 값을 측정하는 확률과의 곱을 파라미터 단위로 합산함으로써 상기 파라미터 각각의 관찰 이용도를 계산하는 단계와, 각각의 파라미터를 관찰하는데 필요한 저장되고, 실험적으로 도출되는 시간양으로 각각의 파라미터의 테스트 이용도를 나눔으로써 각각의 파라미터에 대한 테스트 스코어를 계산하는 단계에 의해 계산되는 기계 고장 분리 방법.
  11. 제10항에 있어서, 상기 사전결정된 임계값은 0.5인 기계 고장 분리 방법.
  12. 정성적 물리학 모델의 불일치를 판정하는 방법에 있어서, 모델과 연관된 파라미터 테이블로부터 특정 파라미터를 선택하는 제1단계-기지의 경우, 다른 파라미터가 도출될 수 있게 하거나 또는 상기 모델이 일치하지 않는 것으로 간주될 수 있게 하는 파라미터를 포함하는 모델에 대한 방정식에 상기 특정 파라미터가 나타난다-와, 상기 제1선택 단계에 후속하여, 상기 파라미터에 상수 값을 일시적으로 할당하는 제2단계-상기 상수 값은 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 값이다-와, 상기 제2단계에 후속하여, 상기 상수 값을 상기 모델의 방정식을 통해 전파하여 일치를 판정하는 제3단계와, 상기 상수 값중 특정 상수 값이 일치하는 예측 세트를 초래할 때까지 또는 상기 파라미터에 대한 모든 가능한 값이 상기 파라미터에 일시적으로 할당될 때까지 상기 제2 및 제3단계를 반복적으로 수행하는 제4단계와, 상기 제3단계가 상기 상수 값중 특정 상수 값을 상기 파라미터에 할당함으로써 일치하는 예측 세트를 초래하는 경우, 상기 상수 값을 모델의 방정식을 통해 전파하여 다른 미지의 파라미터에 대한 일시적인 상수 값을 판정하는 제5단계와, 상기 제4 및 제5단계에 후속하여, 모든 미지의 파라미터에 대해 상기 제1, 2, 3, 4, 및 5단계를 반복적으로 수행하기 위한 순환(recursion)을 이용하는 단계-상기 순환은, 상기 제4단계가 일치하는 예측 세트를 초래하지 않고 파라미터에 할당되는 모든 가능한 값을 초래할 때마다, 새로운 값을 이전에 할당된 파라미터에 할당하도록 되돌아가며, 모델에 대한 일치하는 예측 세트를 생성하는, 모델의 미지의 파라미터에 일시적으로 할당될 수 있는 값을 조합하지 않는 경우, 모델은 일치하지 않는 것으로 간주된다-를 포함하는 정성적 물리학 모델의 불일치 판정 방법.
  13. 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 방법에 있어서, 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 제1단계와, 상기 제1선택 단계에 후속하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 제2단계와, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 제1 및 제2단계를 연속적으로 수행하는 제3단계와, 상기 제3단계에 후속하여, 상기 파라미터에 대한 단지 하나의 특정 상수 값만이 모델에 대해 일치하는 예측 세트를 초래하는 경우, 상기 상수 값을 상기 파라미터에 영구적으로 할당하는 단계를 포함하는 정성적 물리학 모델과 연관된 미지의 피라미터에 대한 값을 예측하는 방법.
  14. 정성적 물리학 모델의 불일치를 판정하는 방법에 있어서, 모델의 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 제1단계와, 상기 제1선택 단계에 후속하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 제2단계와, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 제1 및 제2단계를 반복적으로 수행하는 제3단계와, 상기 파라미터에 대한 어떠한 상수 값도 모델에 대해 일치하는 예측 세트를 초래하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주되는 단계를 포함하는 정성적 물리학 모델의 불일치 판정 방법.
  15. 정성적 물리학 모델의 불일치를 판정하여 상기 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 방법에 있어서, 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 제1단계와, 상기 제1선택 단계에 후속하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 제2단계와, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 제1 및 제2단계를 반복적으로 수행하는 제3단계와, 상기 제3단계에 후속하여, 상기 파라미터에 대한 단지 하나의 특정 상수 값만이 모델에 대한 일치하는 예측 세트를 초래하는 경우, 상기 상수 값을 상기 파라미터에 영구적으로 할당하는 단계와, 상기 제3단계에 후속하여, 상기 파라미터에 대한 어떠한 상수 값도 모델에 대한 일치하는 예측 세트를 초래하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주되는 단계를 포함하는 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 방법.
  16. 제1항에 있어서, 상기 발생 단계는, 모델의 구성요소의 터미널과 연관되지 않은 제1파라미터가 제2파라미터 또는 음의 제2파라미터와 동일하다는 것을 제공하는 방정식을 설정하는(locating) 단계-상기 제2파라미터의 가능한 값은 상기 제1파라미터의 가능한 값의 상위집합(superset)이다-와, 상기 방정식을 제거하는 단계와, 나머지 식에서 모두 발생되는 상기 제1파라미터를 상기 제2파라미터 또는 상기 음의 제2파라미터로 대체하는 단계를 포함하는 기계 고장 분리 방법.
  17. 기계의 고장을 분리하는 장치-다수의 기계 모델을 테스트하는 수단을 갖고, 상기 모델의 각각은 다수의 기계 구성요소가 각각 고장난 것으로 가정하며, 상기 테스트 수단은, 상기 모델의 방정식을 통해 기계 파라미터의 실제 값을 전파하여 기계 파라미터의 값에 대한 예측 세트를 생성하는 수단, 상기 모델중에서 일치하지 않는 예측 세트를 생성하는 모델의 방정식을 폐기하는 수단, 및 상기 모델중에서 일치하는 예측 세트를 저장하는 수단을 포함한다-에 있어서, 상기 기게 구성요소의 정성적 물리학 기술을 이용하여 상기 모델을 발생하는 수단과, 기계 파라미터의 부가적인 실제 값을 획득하는 수단과, 상기 부가적인 실제 값과 일치하지 않는 변수에 대한 값을 예측하는 각각의 모델을 폐기하는 수단을 포함하는 기계 고장 분리 장치.
  18. 제17항에 있어서, 상기 기계 파라미터의 부가적인 실제 값을 획득하는 수단은, 특정 입력을 사용자에게 프롬프트하기 위한 컴퓨터 디스플레이와, 사용자의 응답을 수신하기 위한 사용자 키보드를 구성되는 기계 고장 분리 장치.
  19. 제17항에 있어서, 타입 I 기계 파라미터 세트를 형성하는 수단-상기 I 기계 파라미터 세트의 각각에 대해, 상기 파라미터의 모든 가능한 값은 상기 모델중의 적어도 하나와 연관된 예측이 일치하지 않게 한다-과, 상기 타입 I 기계 파라미터 세트로부터 관찰을 위한 파라미터를 선택하는 수단을 더 포함하는 기계 고장 분리 장치.
  20. 정성적 물리학 모델의 불일치를 판정하는 장치에 있어서, 모델과 연관된 파라미터 테이블로부터 특정 파라미터를 선택하는 선택 수단-기지의 경우, 다른 파라미터가 도출될 수 있게 하거나 또는 상기 모델이 일치하지 않는 것으로 간주될 수 있게 하는 파라미터를 포함하는 모델에 대한 방정식에 상기 특정 파라미터가 나타나다-과, 상기 선택 수단에 응답하여, 상기 파라미터에 상수 값을 일시적으로 할당하는 제1할당 수단-상기 상수 값은 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 값이다-과, 상기 제1할당 수단에 응답하여, 상기 상수 값을 상기 모델의 방정식을 통해 전파하여 일치를 판정하는 전파 수단과, 상기 상수 값중 특정 상수 값이 일치하는 예측 세트를 초래할 때까지 또는 상기 파라미터에 대한 모든 가능한 값이 상기 파라미터에 일시적으로 할당될 때까지 상기 제1할당 수단 및 상기 전파 수단을 반복적으로 작동시키는 반복 수단과, 상기 반복 수단에 응답하여, 상기 상수 값중 특정 상수 값이 상기 파라미터에 할당될 때 상기 반복 수단이 일치하는 예측 세트를 초래하는 경우, 상기 상수 값중 특정 상수 값을 상기 파라미터에 할당하는 제2할당 수단과, 모든 미지의 파라미터에 대해 상기 선택 수단, 상기 제1할당 수단, 상기 반복 수단, 및 상기 제2할당 수단을 반복적으로 작동시키고, 상기 반복 수단이 일치하는 예측 세트를 초래하지 않고 파라미터에 할당되는 모든 가능한 값을 초래할 때마다, 새로운 값을 이전에 할당된 파라미터에 할당하도록 되돌아가는 순환 수단-모델에 대한 일치하는 예측 세트를 생성하는, 모델의 미지의 파라미터에 일시적으로 할당될 수 있는 값을 조합하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주된다-을 포함하는 정성적 물리학 모델의 불일치 판정 장치.
  21. 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 장치에 있어서, 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 일시적 할당 수단과, 상기 일시적 할당 수단에 응답하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 전파 수단과, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 할당 수단 및 전파 수단을 반복적으로 작동시키는 반복 수단과, 상기 반복 수단에 응답하여, 상기 상수 값만이 모델에 대해 일치하는 예측 세트를 초래하는 경우, 상기 상수 값중 특정 값을 상기 파라미터에 영구적으로 할당하는 수단을 포함하는 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 장치.
  22. 정성적 물리학 모델의 불일치를 판정하는 장치에 있어서, 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 일시적 할당 수단과, 상기 일시적 할당 수단에 응답하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 전파 수단과, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 일시적 할당 수단 및 전파 수단을 반복적으로 작동시키는 반복 수단과, 상기 반복 수단에 응답하여, 상기 파라미터에 대한 어떠한 상수 값도 모델에 대해 일치하는 예측 세트를 초래하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주되는 모델 폐기 수단을 포함하는 정성적 물리학 모델의 불일치 판정 장치.
  23. 제17항에 있어서, 모델 구성요소의 하나 이상의 정성적 상태를 발생하는 수단과, 상기 상태를 나타내는 정보를 사용자에게 제공하는 수단을 포함하는 기계 고장 분리 장치.
  24. 제23항에 있어서, 상기 상태를 상기 구성요소에 대해 할당된 값의 사전결정된 세트와 비교하는 수단을 더 포함하는 기계 고장 분리 장치.
  25. 제24항에 있어서, 상기 발생 수단, 상기 제공 수단, 및 상기 비교 수단은 컴퓨터 워크스테이션을 이용하여 수행되는 기계 고장 분리 장치.
KR1019910014183A 1991-08-17 1991-08-17 기계 고장 판별 방법 및 장치 KR100231958B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910014183A KR100231958B1 (ko) 1991-08-17 1991-08-17 기계 고장 판별 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910014183A KR100231958B1 (ko) 1991-08-17 1991-08-17 기계 고장 판별 방법 및 장치

Publications (2)

Publication Number Publication Date
KR930004872A KR930004872A (ko) 1993-03-23
KR100231958B1 true KR100231958B1 (ko) 1999-12-01

Family

ID=19318697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910014183A KR100231958B1 (ko) 1991-08-17 1991-08-17 기계 고장 판별 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100231958B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167352A (en) * 1997-06-26 2000-12-26 Agilent Technologies, Inc. Model-based diagnostic system with automated procedures for next test selection
KR102188445B1 (ko) * 2019-07-03 2020-12-08 (주)호성디엠에스 패드 스프링 결합 장치

Also Published As

Publication number Publication date
KR930004872A (ko) 1993-03-23

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
Genesereth The use of design descriptions in automated diagnosis
Emerson Model Checking and the Mu-calculus.
US5187773A (en) Machine failure isolation using qualitative physics
JP2000509855A (ja) 処置に関する情報の有効な記憶と評価により技術系を自動的に診断する装置とその方法
US5604841A (en) Hierarchical restructuring generic test templates and reusable value spaces for machine failure isolation using qualitative physics
JP2001022820A (ja) 順序回路の検証方法
US5353381A (en) Intelligent test selection for machine failure isolation using qualitative physics
Guan et al. Diagnostic reasoning with fault propagation digraph and sequential testing
EP0757815B1 (en) Machine failure isolation using qualitative physics
KR100231958B1 (ko) 기계 고장 판별 방법 및 장치
CN112765827A (zh) 一种功能相关***的可靠性分析方法
US5202955A (en) Dynamic assumption ordering for qualitative physics
EP0491037B1 (en) Machine failure isolation using qualitative physics
US5216749A (en) Core predictions for qualitative physics
CA2047034A1 (en) Machine failure isolation using qualitative physics
CN114218775B (zh) 故障传播模型下复杂***任务可靠性试验用例设计方法
Djukova Discrete (Logic) Recognition Procedures: Principles of Construction, Complexity of Realization, and Basic Models
Chen et al. A reliability model for real-time rule-based expert systems
In et al. Towards Problem Solving Methods for Sequential Diagnosis
Toliupa et al. An Approach to Restore the Proper Functioning of Embedded Systems Due to Cyber Threats.
Farquhar Modifying the Model Set During Diagnosis
Girard et al. A non-iterative gate resizing algorithm for high reduction in power consumption
Struss Diagnosis with Multiple Models for Advanced Applications

Legal Events

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

Payment date: 20030825

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee