KR100231958B1 - Machine failure isolation using qualitative physics - Google Patents

Machine failure isolation using qualitative physics 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
Korean (ko)
Other versions
KR930004872A (en
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/en
Publication of KR930004872A publication Critical patent/KR930004872A/en
Application granted granted Critical
Publication of KR100231958B1 publication Critical patent/KR100231958B1/en

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에 대해 측정된 전부는 아니지만 몇몇 가능한 값은 적어도 하나의 가설을 일치하지 않게 할 것이다. 집합 세트는 일치하는 예측 세트를 초래하는 집합의 모든 미지의 변수에 할당될 수 있는 값의 세트가 존재하지 않는 것으로 판정함으로써 일치하지 않는 것으로 간주된다. 미지의 변수 값은 변수를 그 가능한 값의 각각에 반복적으로 설정하고, 각각의 반복시에, 모델의 집합을 통해 미지의 변수 값 및 기지의 변수를 전파함으로써 판정된다. 모델 인스탄시에이터는 컴퓨터 워크스테이션 사용자 입력을 사용가능한 모델 정보로 변환하고, 모델의 변수 및 집합의 수를 감소시키는 최적화를 또한 제공한다.The qualitative inference system generates a number of open hypotheses 98 assuming that one or more machine components have failed, and tests each of the hypotheses, using a set of equations for the hypotheses being tested to determine the machine parameters. Mechanical fault isolation is performed by propagating and testing the actual values for Variables associated with the hypotheses of the qualitative physics model are grouped into Type I and Type II variables, and any possible values measured for Type I variables do not match at least one hypothesis, and all are measured for Type II Some possible values will not match at least one hypothesis. The set of sets is considered inconsistent by determining that there is no set of values that can be assigned to all unknown variables in the set resulting in a matching prediction set. Unknown variable values are determined by iteratively setting the variable to each of its possible values and, at each iteration, propagating the unknown variable value and the known variable through the set of models. The model instructor also translates computer workstation user input into usable model information and also provides optimizations that reduce the number of variables and sets in the model.

Description

기계 고장 판별 방법 및 장치Machine failure determination method and device

제1도는 휴대형 유지보수 보조장치(PMA)의 사시도.1 is a perspective view of a portable maintenance aid (PMA).

제2도는 사용자 프롬프트 스크린을 도시하는 도면.2 shows a user prompt screen.

제3도는 고장 분리 소프트웨어의 전체적인 동작을 예시하는 흐름도.3 is a flow chart illustrating the overall operation of the fault isolation software.

제4도는 정성 추론 시스템(QRS) 소프트웨어의 동작을 예시하는 데이터 흐름도.4 is a data flow diagram illustrating operation of Qualitative Inference System (QRS) software.

제5도는 QRS 소프트웨어에 의해 이용되는 데이터 구조를 도시하는 도면.5 illustrates a data structure used by the QRS software.

제6도는 QRS 소프트웨어내의 가설 테스터의 동작을 예시하는 데이터 흐름도.6 is a data flow diagram illustrating the operation of a hypothesis tester in QRS software.

제7도는 QRS 소프트웨어내의 상태 발생기의 동작을 도시하는 데이터 흐름도.7 is a data flow diagram illustrating operation of a state generator in QRS software.

제8도는 상태 발생기내의 구속 전파기의 단계들을 예시하는 흐름도.8 is a flow diagram illustrating steps of a constrained propagator in a state generator.

제9도는 상태 발생기내의 코어 예측기의 동작을 예시하는 흐름도.9 is a flowchart illustrating operation of a core predictor in a state generator.

제10도는 QRS 소프트웨어내의 가설 발생기의 동작을 예시하는 데이터 흐름도.10 is a data flow diagram illustrating operation of a hypothesis generator in QRS software.

제11도는 QRS 소프트웨어내의 지능 테스트 선택의 동작을 예시하는 데이터 흐름도.11 is a data flow diagram illustrating the operation of intelligent test selection in QRS software.

제12도는 모델 구축기를 예시하는 데이터 흐름도.12 is a data flow diagram illustrating a model builder.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

30 : PMA 32 : 디스플레이30: PMA 32: Display

34 : 키보드 36 : 처리 유닛34: keyboard 36: processing unit

40 : 사용자 프롬프트 스크린 42 : 질의40: User Prompt Screen 42: Query

44, 46 : 응답 92 : 입력 프로세스 코드 모듈44, 46 response 92: input process code module

94 : 실질적인 관찰 데이터 요소 96 : 가설 테스터 코드 모듈94: practical observation data element 96: hypothesis tester code module

98 : 미결 가설 데이터 요소 99 : 보존 가설 데이터 요소98: Pending Hypothesis Data Elements 99: Preservation Hypothesis Data Elements

100 : 지능 테스터 선택 코드 모듈 101 : 구성요소 정보 데이터 요소100: intelligent tester selection code module 101: component information data element

102 : 테스트 요청 데이터 요소 103 : 출력 처리 코드 모듈102: test request data element 103: output processing code module

104 : 예측 테스터 105 : 가설 발생기104: Prediction Tester 105: Hypothesis Generator

106 : 모델 예시 데이터 요소 107 : 연속 테스팅 질의 데이터 요소106: Model example data element 107: Continuous testing query data element

108 : 연속 테스팅 응답 데이터 요소 132 : 상태 발생기108: continuous testing response data element 132: state generator

134 : 예측 데이터 요소 136 : 가설 평가기134: Predictive Data Elements 136: Hypothesis Evaluator

142 : 상수 탐색기 144 : 제1부분 예측 테이블 데이터 요소142: Constant Explorer 144: First Part Prediction Table Data Element

146 : 관찰 탐색기 148 : 제2부분 예측 테이블 데이터 요소146: Observation Explorer 148: Second Part Prediction Table Data Element

150 : 구속 전파기 152 : 제3부분 예측 테이블 데이터 요소150: constraint propagator 152: third part prediction table data element

154 : 코어 예측기 158 : 제4부분 예측 테이블 데이터 요소154: core predictor 158: fourth partial prediction table data element

159 : 가정 테스터 232 : 가설 제어기159: Home Tester 232: Hypothesis Controller

234 : 가설 저장 데이터 요소 236 : 직합 선택기234: hypothesis storage data element 236: direct selector

238 : 집합 데이터 요소 240 : 변수 수집기238: set data element 240: variable collector

242 : 변수 데이터 요소 244 : 집합 캐쉬어242: variable data element 244: set cacher

246 : 예측 테이블 발생기 262 : 테스트 분류기246: Predictive Table Generator 262: Test Classifier

264 : 분류된 테스트 데이터 요소 266 : 테스트 결과 이득 발생기264: Classified test data element 266: Test result gain generator

268 : 이득 데이터 요소 270 : 가설 확률 발생기268: gain data element 270: hypothesis probability generator

272 : 가설 확률 데이터 요소 274 : 테스트 결과 확률 발생기272: hypothesis probability data element 274: test result probability generator

276 : 예상 확률 데이터 요소 278 : 테스트 효율 발생기276: Estimated Probability Data Element 278: Test Efficiency Generator

280 : 테스트 효율 데이터 요소 282 : 테스트 스코어 발생기280: test efficiency data elements 282: test score generator

284 : 테스트 스코어 데이터 요소 286 : 테스트 선택기284: test score data elements 286: test selector

288 : 임계값 데이터 요소 302 : 사용자 인터페이스288 threshold data element 302 user interface

304 : 모델 구성기 306 : 모델 구성요소 데이터 파일304: Model Organizer 306: Model Component Data File

308 : 모델 인스탄시에이터 310 : 예시 데이터 파일308: Model Initiator 310: Example Data File

312 : 모델 테스터 314 : 테스터 사례 데이터 파일312: Model Tester 314: Tester Case Data File

본 발명은 컴퓨터 소프트웨어 분야에 관한 것으로, 보다 상세하게는 인공 지능 컴퓨터 소프트웨어 분야에 관한 것이다.The present invention relates to the field of computer software, and more particularly to the field of artificial intelligence computer software.

흔히, 기계 고장의 징후는 여러 다른 해석을 나타내는데, 기계에 대한 보다 면밀한 관찰을 통해 이러한 해석중의 어떤 것들을 배제시키는 것이 비용적인 면에서나 시간적인 면에서 보다 효과적이다. 반복적으로 기계를 관찰하고 기계 고장의 잠재적 원인을 배제시키는 프로세스를“고장 분리(failure isolation)”라고 칭한다.Often, signs of machine failure indicate different interpretations, and it is more cost-effective and time-consuming to exclude any of these interpretations through closer observation of the machine. The process of observing a machine repeatedly and excluding the potential cause of the machine failure is called "failure isolation."

고장 분리는 고장 트리(failure tree), 즉, 고장 분리를 위한 반복적인 관찰/배제 단계들의 흐름도 형태 표현(representation)의 도움을 받아 수동으로 행해질 수 있다. 고장 트리의 각 요소는 사용자에게 특정의 관찰을 행하도록 요구한다. 각각의 요소로부터 다수의 분로(branch paths)가 연장되며, 이들 분로는 제각기 고장 트리의 상이한 부분에 이르게 된다. 사용자는 미결 요소에 의해 요구된 관찰 결과에 근거하여 특정 분로를 따른다. 프로세스중의 어떤 시점에서, 사용자는 더 이상 분로가 연장되지 않는 요소에 이르게 될 것인데, 이것은 고장난 특정 구성요소 또는 구성요소 그룹을 나타낸다.Fault isolation can be done manually with the aid of a failure tree, i.e., a flowchart representation of the repetitive observation / removal steps for fault isolation. Each element of the fault tree requires the user to make a particular observation. A number of branch paths extend from each element, each leading to a different part of the fault tree. The user follows a specific shunt based on the observations required by the open element. At some point in the process, the user will come to an element where the shunt no longer extends, indicating a particular component or group of components that has failed.

대형의 복잡한 기계의 경우, 고장 트리는 다수 페이지(pages), 아마도 몇권에 이를 수 있으며, 그 고장 트리의 관찰을 어렵게 한다. 이에 대한 해결책으로, 고장 트리로부터의 정보를 포함하는 프로그램, 즉, 규칙 기반형(rule-based) 고장 분리 시스템을 갖는 컴퓨터를 사용하는 것이 있다. 이 컴퓨터는 사용자가 관찰을 행하고 관찰 결과를 입력할 수 있게 한다.For large, complex machines, the failure tree can reach many pages, perhaps several books, making it difficult to observe the failure tree. A solution is to use a program containing information from the fault tree, i.e. a computer with a rule-based fault isolation system. This computer allows the user to make observations and input observation results.

그러나, 고장 트리 및 규칙 기반형 고장 분리 시스템의 경우, 사용자가 미결할 수 있는 모든 가능한 고장 모드가 그 생성시에 결정되어야 한다. 이것은 간단한 기계의 경우에는 어려운 일이 아닐 수 있으나, 보다 복잡한 기계의 경우에는 불가능하거나 적어도 실행이 극히 어려울 수 있다. 고장 트리 설계자 또는 규칙 기반형 고장 분리 시스템 프로그래머가 기계의 고장 모드중 일부를 빠뜨리는 것은 흔한 일이다. 이러한 빠뜨림(omission)은 막대한 양의 작업으로 인한 부주의로 인해서 생기거나, 사이즈를 실제 사용 한계보다 낮게 유지하려는 의도적인 결정에 의한 것이다.However, in the case of fault trees and rule-based fault isolation systems, all possible failure modes that the user may have to resolve must be determined at the time of its creation. This may not be difficult for simple machines, but may be impossible or at least extremely difficult to implement for more complex machines. It is common for a fault tree designer or rule-based fault isolation system programmer to miss some of the failure modes of a machine. This omission may be due to inattention due to the enormous amount of work, or by intentional decision to keep the size below the actual usage limit.

고장 트리 또는 규칙 기반형 고장 분리 시스템이 모든 있을 법한 고장을 분리해낼 수 없는 것에 대한 해결책에 대해서는, 데이비스 랜덜(Davis, Randall)의“Diagnostic Reasoning Based on Structure and Behavior,”Artificial Intelligence, 24(1984), 347-410을 참조하기 바란다. 데이비스는, 컴퓨터가 다수의 기계 모델(models of the machine)을 발생하는 소위“구속 유보(constraint suspension)”라 불리우는 고장 분리 방법을 제안하고 있다. 각각의 모델은 각종 고장난 구성요소 또는 고장난 구성요소 그룹을 가정하며, 사용자의 관찰 결과와 가장 유사한 모델이 그 구성요소 또는 구성요소 그룹이 고장났음을 표시한다.For a solution to a failure tree or rule-based fault isolation system that cannot isolate all possible failures, see Davis, Randall, “Diagnostic Reasoning Based on Structure and Behavior,” Artificial Intelligence, 24 (1984). , 347-410. Davis proposes a method of fault isolation called so-called "constraint suspension" in which computers generate many models of the machine. Each model assumes various failed components or groups of failed components, and the model most similar to the user's observation indicates that the component or group of components has failed.

구속 유보 기법의 단점은 많은 아날로그량(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)의 접목을 제안하고 있다. 정성적 유한 값들 각각은 상이한 아날로그량의 범위를 나타낸다. 그러나, 해밀톤은, 당업자가 정성 물리적 고장 분리 시스템을 제조하여 사용하기에 충분할 정도의 세부사항은 제공하지 않고 있다.The disadvantage of the constraint retention technique is that the modeling of a complex machine with many analog quantities requires a lot of processor intensive work and a lot of system execution time. The solution is described by 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. Hamilton proposes a modeling technique that represents an analog quantity as a variable that can take a finite set of values, that is, a combination of constraint reservation and qualitative physics. Each of the qualitative finite values represents a range of different analog quantities. However, Hamilton does not provide enough detail for a person skilled in the art to make and use a qualitative physical fault isolation system.

본 발명은 정성 물리학을 이용하여 기계 고정의 분리를 수행하는 것을 포함한다. 본 발명은 또한 관찰을 위한 정성 물리학 변수를 선택하는 것을 포함한다. 본 발명은 또한 정성 물리학 모델과 연관된 가설 세트로부터 일치하지 않는 가설을 판정하는 것을 포함한다. 본 발명은 또한 정성 물리학 가설 변수에 대한 값을 예측하고 일치하지 않는 가설을 제거하는 것을 포함한다. 본 발명은 또한 정성 물리학 모델을 구축하는 것을 포함한다.The present invention involves performing separation of mechanical fixation using qualitative physics. The present invention also includes selecting qualitative physics parameters for observation. The invention also includes determining inconsistent hypotheses from a set of hypotheses associated with a qualitative physics model. The present invention also includes predicting values for qualitative physics hypothesis variables and removing inconsistent hypotheses. The invention also includes building a qualitative physics model.

본 발명에 따르면, 정성 물리학을 이용하여 기계를 모델링하고, 하나 이상의 고장난 구성요소를 갖는 기계의 동작을 기술하는 집합들의 세트(a set of confluence)를 제각기 갖는 다수의 미결 가설을 발생하고, 상기 집합을 통해 기계 파라미터의 실제 값을 전파(propagating) 하여 집합 변수의 값에 대한 예측 세트를 생성함으로써 상기 가설을 한 번에 하나씩 테스트하여, 일치하지 않는 예측 세트를 생성하는 가설은 버리고, 고장난 구성요소가 있으면 그 고장난 구성요소를 기술하는 가설을 남겨둠으로써 기계 구성요소 고장이 분리된다. 또한, 본 발명에 따르면, 관찰(observation)을 위해 선택된 변수의 모든 가능한 값은 정성 물리학 모델 가설들중 적어도 하나를 일치하지 않게 할 것이다. 또한, 본 발명에 따르면, 정성적 모델 집합에 나타나며 그 집합의 변수에 소정의 값을 할당함으로써 다른 미지의 변수의 판정 또는 불일치를 초래할 것 같은 변수들에게, 일치하는 예측 세트가 형성될 때(이 경우에 다른 변수에 소정의 값이 할당됨)까지, 또는 일치하는 예측 세트를 생성하기 위해 모든 미지의 변수에 할당될 수 있는 값들의 세트가 존재하지 않는다고 판정될 때까지 가설의 집합들을 통해 전파되는 값들이 반복적으로 할당된다. 또한 본 발명에 따르면, 정성 물리학 가설과 연관된 미지의 변수에 대한 모든 가능한 값이, 일치하는 예측 세트로 귀결되는 값이 없기 때문에 가설이 제거될 수 있는지 또는 그 변수가 일치하는 예측 세트로 귀결되는 단일 값으로 설정될 수 있는지의 여부를 결정하기 위해 가설의 집합들을 통해 반복적으로 전파된다. 또한, 본 발명에 따르면, 사용자는 그래픽 사용자 인터페이스를 사용하여, 인스탄시 에이터(instantiator)로의 입력으로서 제공되는 모델 구성요소 데이터 파일을 구성 하며, 상기 인스탄시에이터는 모델 구성요소 데이터 파일의 변수 및 집합들의 수를 감소시키고 예시 데이터 파일을 생성하기 위한 다른 최적화를 제공한다. 또한, 본 발명에 따르면, 예시 데이터 파일 및 테스트 사례 데이터 파일은 모델을 실행시키고 사용자에게 모델 구성요소의 디버깅(debugging)에 유용한 정보를 제공하는 모델 테스터로의 입력으로서 제공된다.According to the present invention, a number of pending hypotheses are generated, each modeling a machine using qualitative physics, each having a set of confluence describing the behavior of the machine with one or more failed components. Test the hypotheses one at a time by propagating the actual values of the machine parameters to generate predictive sets for the values of the set variables, discarding hypotheses that produce inconsistent prediction sets, and If so, machine component failures are isolated by leaving the hypothesis describing the failed component. In addition, according to the present invention, all possible values of the variable selected for observation will not match at least one of the qualitative physics model hypotheses. Furthermore, according to the present invention, when a matching prediction set is formed for variables that appear in the qualitative model set and are likely to result in the determination or inconsistency of other unknown variables by assigning a predetermined value to the variables in the set (this (If any variable is assigned a predetermined value) or propagates through sets of hypotheses until it is determined that there is no set of values that can be assigned to all unknown variables to produce a matching prediction set. Values are assigned repeatedly. Furthermore, according to the present invention, all possible values for an unknown variable associated with a qualitative physics hypothesis can be eliminated because there is no value that results in a matching prediction set or a single result that the hypothesis can be eliminated or that variable results in a matching prediction set. It is propagated repeatedly through sets of hypotheses to determine whether it can be set to a value. In addition, according to the present invention, a user constructs a model component data file, which is provided as an input to an instantiator, using a graphical user interface, wherein the instantiator is a variable of the model component data file. And other optimizations for reducing the number of sets and generating an example data file. In addition, in accordance with the present invention, example data files and test case data files are provided as inputs to a model tester that executes the model and provides the user with useful information for debugging the model components.

본 발명의 상기 및 다른 목적, 특징 및 장점은 첨부되는 도면에 예시한 바와 같은 본 발명의 실시예에 대한 다음의 상세한 설명으로부터 더욱 명확하게 될 것이다.These and other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments of the invention as illustrated in the accompanying drawings.

제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 회로 기판을 포함한다.Referring to FIG. 1, Portable Maintenance Aid (PMA) 30 has a display 32, a keyboard 34, and a processing unit 36. PMA 30 is a portable computer, part number A31U18031-3, manufactured by Grumann Electronic Systems Division, Bethpage N.Y., New York. The display 32 is a 7 inch by 9 inch LCD (liquid crystal display). The keyboard 34 is a QWERTY keyboard. Processing unit 36 includes a Sparkstation IE circuit board manufactured by Sun Microsystems Inc., Mountain View, Cal., USA.

PMA(30)는 헬리콥터 전자 기계 시스템과 같은 기계의 고장 분리를 수행하는데 사용된다. 공통 리스프(Common Lisp)로 작성된 고장 분리 소프트웨어는 처리 유닛(36)내에 위치된 하드 디스크(도시하지 않음)에 저장된다. 이 소프트웨어는 PMA(30)가 기계의 고장 분리를 수행하기위해 사용자와 대화할 수 있게 한다. 이 소프트웨어는 디스플레이(32)를 사용하여 사용자가 기계를 관찰하도록 프롬프트한다. 사용자는 이러한 관찰 결과를 키보드(34)를 통해 입력한다.PMA 30 is used to perform fault isolation of machines, such as helicopter electromechanical systems. The fault isolation software written in Common Lisp is stored on a hard disk (not shown) located in the processing unit 36. This software allows the PMA 30 to communicate with the user to perform fault isolation of the machine. The software uses the display 32 to prompt the user to observe the machine. The user inputs this observation result through the keyboard 34.

제2도는 사용자 프롬프트 스크린(user prompt screen)(40)을 도시한 것이다. 사용자에게는 질문(42)과 이 질문에 대한 가능한 응답들(44, 46)의 리스트가 주어진다. 이 예에 사용된 질문(42)은‘예’또는‘아니오’의 응답을 요구하므로, 스크린(40)상에 나타나는 응답으로서“YES”(44) 또는“NO”(46)가 주어진다. 사용자는 커서 키를 사용하여 응답들(44, 46)중 하나를 선택하고, 그 다음에 리턴 키를 눌러 응답이 선택되었음을 소프트웨어에게 알린다. 다른 사용자 프롬프트 스크린은 사용자가 특정 값을 측정하여 입력하도록 요구할 수도 있다.2 shows a user prompt screen 40. The user is given a question 42 and a list of possible responses 44 and 46 to that question. The question 42 used in this example requires a response of yes or no, so the answer that appears on screen 40 is given “YES” 44 or “NO” 46. The user selects one of the responses 44, 46 using the cursor key and then presses the return key to inform the software that the response has been selected. Other user prompt screens may require the user to measure and enter a particular value.

제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)는 기계 고장 및 징후의 모든 조합으로 사전 프로그램되지 않고서도 고장을 분리할 수 있다.3 is a degree of haze 50 illustrating the operation of fault isolation software, with steps 54 for a rule-based system and steps for a Qualitative Reasoning System (QRS). (58). First, steps 54 for a rule-based system are executed, the implementation and operation of which are already known to those skilled in the art (e.g., Frederick Hayes-Roth, Donald A. Waterman (See Donald A. Waterman, and Building Expert Systems, editors.Addison-Wesley Publishing Company, Inc., Reading Mass. 1983, by Douglas B. Lenat.) Rule-based systems are typically Programmed with information about the faults and their symptoms, they provide a quick answer to any fault determination that the system is programmed to detect, but in the case of complex machines, all of the faults and the associated signs Although predicting possible combinations (and therefore programming all combinations of failures and signs into a rule-based system) is not impossible, at least very difficult to implement. Thus, any particular failure may not be detected by the rule based system, in which case control passes from step 54 of the rule based system to steps 58 of the QRS, Step 58 of can isolate the fault without having to be preprogrammed with all combinations of machine failures and indications.

고장 분리 소프트웨어의 실행은 규칙 기반형 시스템이 인에이블되는 시작 단계(62)에서 개시된다. 단계(63)에서, 사용자는 관찰된 상태를 입력하도록 프롬프트된다. 관찰 상태는 기계의 특정 부분의 상태에 대한 물리학 기술(physical description)로서, 예컨대 두 특정 지점간의 전압이나 특정 스위치가“ON”위치에 있는 한편 특정 표시기(indicatior)는“OFF”라는 관찰 결과이다. 단계(63) 후에, 제어는 사전 프로그램된 규칙을 관찰 상태에 적용함으로써 규칙 기반형 시스템이 고장 분리를 시도하는 단계(64)로 진행한다.Execution of the fault isolation software is initiated at a start stage 62 where the rule based system is enabled. In step 63, the user is prompted to enter the observed state. Observation state is a physical description of the state of a particular part of the machine, for example the voltage between two specific points or the particular switch in the "ON" position while the particular indicator is "OFF". After step 63, control proceeds to step 64 where the rule based system attempts to isolate the fault by applying the preprogrammed rule to the observation state.

관찰 상태가 특정 고장을 직접 표시하는 것도 있다. 예를 들어, (배터리 양단간의 측정 전압이 0인 경우에 배터리가 완전 소모되었음을 기술하는 규칙이 존재한다고 가정하면) 배터리 양단간의 전압이 0이라는 관찰로부터 소모된 배터리에 대한 고장을 직접 분리해낼 수 있다. 예를 들어, (적당한 규칙이 시스템에 프로그램되었다고 가정하면) 배터리에 대한 전압 게이지가 0이라고 판독되는 관찰은, 배터리가 소모되었거나, 게이지가 오동작하거나, 배터리와 게이지간의 배선이 끊어졌음을 표시한다.Some observation states directly indicate a specific fault. For example, you can directly isolate a fault on a dead battery from the observation that the voltage across the battery is zero (assuming there is a rule stating that the battery is exhausted when the measured voltage across the battery is zero). . For example, the observation that the voltage gauge for a battery is read as 0 (assuming proper rules are programmed into the system) indicates that the battery is exhausted, the gauge is malfunctioning, or the wiring between the battery and the gauge is broken.

단계(64) 후에, 제어는 단계(65)로 진행하여 고장이 분리되었는지를 판정한다. 이 때, 고장이 단일 구성요소에 대해 분리되었으면, 처리가 완료된다. 고장이 단일 구성요소에 대해 분리되지 않았으면, 제어는 단계(66)로 진행하여, 더 이상의 고장 분리가 가능한지를 판정한다. 가능하면, 제어는 단계(63)로 복귀하여, 사용자에게 다른 관찰을 위해 프롬프트한다. 단계(63 내지 66)는 반복 루우프를 형성하여, 고장의 또다른 분리를 위해 소프트웨어가 사용하는 더 많은 관찰 결과를 입력하도록 사용자에게 계속해서 프롬프트한다.After step 64, control proceeds to step 65 to determine if the fault has been isolated. At this time, if the failure has been separated for a single component, the process is complete. If the fault has not been separated for a single component, control proceeds to step 66 to determine if further fault isolation is possible. If possible, control returns to step 63 to prompt the user for another observation. Steps 63-66 form a repeating loop, which prompts the user to enter more observations that the software uses for another isolation of the failure.

그러나, 단계(66)에서, 규칙 시스템 고유의 제한 때문에(즉, 관찰 및 그와 관련된 고장의 모든 가능한 조합이 시스템에 프로그램되지 않았기 때문에) 고장을 더 이상 분리해 내는 것이 가능하지 않을 수도 있다. 예를 들어, 측정된 베터리 양단간의 전압이 12V이고, 배터리 전압 게이지가 0으로 판독되며, 게이지가 고장나지 않은 것으로 관찰되었다고 가정한다. 이 때, 규칙 시스템이 게이지와 배터리간의 배선이 끊어질 가능성을 고려하도록 프로그램되어 있지 않다면, 난관에 봉착하게 된다. 이러한 관찰 상태는 규칙 시스템이 프로그램이었다면 예상되었을, 관찰된 상태 및 고장의 어떠한 조합에도 대응하지 않는다. 이 경우, 제어는 단계(66)로부터 단계(67)로 진행하여 규칙 시스템을 디스에이블(disable)시킨다. 단계(66)로부터 단계(67)로의 천이는 또한 규칙 시스템의 단계(54)로부터 QRS의 단계(58)로의 천이에 대응한다.However, at step 66, it may not be possible to isolate the failure anymore because of the limitations inherent in the rule system (ie, because all possible combinations of observations and associated failures have not been programmed into the system). For example, suppose that the voltage across the measured battery is 12V, the battery voltage gauge is read as 0, and the gauge is observed not to fail. If the rule system is not programmed to take into account the possibility of disconnection between the gauge and the battery, you will encounter difficulties. This observation state does not correspond to any combination of observed conditions and failures that would have been expected if the rule system had been a program. In this case, control proceeds from step 66 to step 67 to disable the rule system. The transition from step 66 to step 67 also corresponds to the transition from step 54 of the rule system to step 58 of the QRS.

단계(67)에서 규칙 시스템을 디스에이블시킨 후에, 제어가 단계(68)로 진행하여, QRS를 인에이블시킨다. 단계(68) 후에 단계(69)로 진행하여, QRS는 고장의 분리를 시도한다. QRS 고장 분리에 대해서는 차후에 보다 상세히 설명하겠다. 단계(69)의 수행 후, 단계(70)에서 고장이 분리되었는지를 판정한다. 고장이 분리되었으면, 처리가 완료된다. 이와는 달리 고장이 분리되지 않았으면, 단계(71)로 진행하여 더 이상의 분리가 가능한지를 판정한다. 가능하지 않으면, 프로세스가 완료된다. 이와는 달리, 가능하면 단계(72)로 진행하여 관찰에 대해 사용자에게 프롬프트한다. 규칙 시스템의 단계들(54)로부터 QRS의 단계들(58)로의 천이는 사용자에게 투명하므로(즉, 이러한 천이의 발생이 사용자에게 통보되지 않음), 단계(72)에서 사용자가 보게 되는 프롬프트는 단계(63)에서 사용자가 보게 되는 프롬프트와 동일하다. 제어는 단계(72)로부터 단계(69)로 역진행하며, QRS는 기계 고장의 분리를 다시 시도한다.After disabling the rule system in step 67, control proceeds to step 68 to enable the QRS. Proceeding to step 69 after step 68, the QRS attempts to isolate the failure. QRS fault isolation will be discussed in more detail later. After performing step 69, it is determined in step 70 whether the fault has been separated. If the fault has been isolated, the process is complete. Otherwise, if the fault has not been separated, the process proceeds to step 71 to determine if further separation is possible. If not possible, the process is complete. In contrast, if possible, proceed to step 72 to prompt the user for observation. Since the transition from steps 54 of the rule system to steps 58 of the QRS is transparent to the user (ie, the occurrence of such a transition is not notified to the user), the prompt the user sees in step 72 is a step This is the same prompt you see in (63). Control proceeds back from step 72 to step 69, where the QRS attempts to isolate the machine failure again.

규칙 기반형 시스템과 달리, QRS는 관찰을 특정한 고장에 직접 상관시키지 않는다. 그 대신에, QRS는 기계의 모델을 사용하여, 특정 구성요소의 고장에 대해 반복적으로 가설을 세우고, 사용자의 관찰 결과로부터, 각각의 가설에 대해 전류량, 전압 및 유량과 같은 각종 기계 파라미터의 값에 대한 예측을 도출한다. 이러한 도출 프로세스중 임의의 시점에서, 특정 가설에 대한 예측이 (그들 가설 자체와 또는 그에 따른 관찰 결과와) 일치하지 않는 것이 발견되면, 그 가설은 버려진다.Unlike rule-based systems, QRS does not directly correlate observations to specific failures. Instead, QRS uses a model of the machine to repeatedly hypothesize a failure of a particular component and, from the user's observations, to the value of various machine parameters such as the amount of current, voltage, and flow rate for each hypothesis. Make predictions about If at any point in this derivation process it is found that the predictions for a particular hypothesis do not match (either with their hypothesis itself or with the observations thereof), the hypothesis is discarded.

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"에서 찾아볼 수 있다.QRS represents a machine using qualitative physics computer modeling techniques in which each component of the machine is represented as a black box with multiple terminals and corresponding sets of variables, each variable entering or leaving a terminal (e.g., , Air, fuel, etc.) (eg, flow rate, pressure, temperature, etc.). Each variable may take a finite set value. The behavior of a component is defined by sets, which are sets of qualitative equations that define the relationships between the variables of that component. For example, a pipe can be represented as having two terminals and two variables, one of which is the amount of fluid entering the pipe and the other is the amount of fluid coming out of the pipe. The set describing the behavior of the pipe is indicated to have the same sign as the variable representing the amount of outflow from the pipe. For a more detailed description of qualitative physics, see “The Origin, Form and Logic of Qualitative Physical Laws,” Proceedings of the Eighth International Joint Conference by de Kleer, Johan and Brown See, John Seely. on Artificial Intelligence, Karlsruhe, W. Germany, Aug. 1983 ".

기계의 각종 구성요소는 계층적으로 그룹화된다. 복합 구성요소(compound component)는 다수의 부구성요소(subcomponents)로 이루어지며, 기본(elementary) 구성요소는 하부구조(substructure)를 갖지 않는 구성요소이다. 예를 들어, 전력 공급 장치는 계층 구조의 한 레벨에서 단일 구성요소로서 표현될 수도 있으나, 실제로는, 계층 구조의 그 보다 낮은 다른 레벨에서, 다수의 구성요소(예컨대, 캐패시터, 트랜스포머 등)로 이루어질 수 있다. 계층의 가장 높은 레벨에서, 전체 기계는 하나의 복합 구성요소로서 표현된다. 계층의 가장 낮은 레벨에는 기계를 구성하는 모든 기본 구성요소가 존재한다.The various components of the machine are grouped hierarchically. A compound component is composed of a plurality of subcomponents, and an elementary component is a component having no substructure. For example, a power supply may be represented as a single component at one level of the hierarchy, but in practice consists of multiple components (eg, capacitors, transformers, etc.) at other lower levels of the hierarchy. Can be. At the highest level of the hierarchy, the entire machine is represented as one composite component. At the lowest level of the hierarchy are all the basic components that make up the machine.

구성요소는 블랙 박스로서 모델링되므로, 고장을 더욱 분리하기 위해 계층내보다 낮은 레벨의 구성요소를 조사하는 것(즉, 더 많은 정보를 획득하기 위해 블랙박스 내부로 들어가는 것)이 유용할 수도 있다. 예를 들어, 전력 공급 장치가 고장났다고 판정한 후에, QRS는 전력 공급 장치 구성요소를 부구성요소들로 전개시켜서 그 계층 레벨에서 고장 분리 프로세스를 계속할 수도 있다.Since the component is modeled as a black box, it may be useful to examine a lower level of the component (ie, go inside the black box to obtain more information) to further isolate the failure. For example, after determining that the power supply has failed, the QRS may deploy the power supply component into subcomponents and continue the fault isolation process at that hierarchical level.

특정 구성요소의 각종 집합들에 의해 규정되는 관계는“구속(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.를 참조하기 바란다.The relationship defined by the various sets of specific components is referred to as "constraints". The QRS calculates the failure effect of a component by suspending (ie, removing) the constraint of that component. For example, for a machine with three components, X, Y, and Z, QRS would leave the qualitative physics model of the machine (i.e., components Y and Z (they fail We will test the hypothesis that component X has failed by creating a model of a machine that includes only a set of machines) that includes only a model of a machine that simulates only). The QRS then uses a user observation and set to generate a prediction set (predicted variable values). If the resulting predictions match, X remains the valid hypothesis, and if they do not match, X is removed as the hypothesis. Hypotheses can also be eliminated if later observations indicate inconsistencies with the predictions. For a detailed discussion of reservations, see Davis Lander, “Diagnostic Reasoning Based on Structure and Behavior,” Artificial Intelligence, 24 (1984), 347-410.

QRS는 기계 구성요소중의 어느 것도 고장나지 않았다는 초기 가설로부터 개시한다. 그 가설로부터 발생된 예측이 일치하면, QRS 소프트웨어는 어떠한 고장도 없다는 결론을 내리고 고장 분리 프로세스를 종료시킨다. 반면에, 일치하지 않는 경우에는, QRS 소프트웨어는 기계의 단일 구성요소의 고장에 제각기 대응하는 다수의 가설을 발생한다. 이들 가설의 각각과 연관된 예측이 발생되고, 그 다음에 일치성이 테스트된다. 단일 구성요소 가설과 연관된 모든 예측이 불일치하면 (따라서, 모든 가설의 오류가 증명되면), QRS 소프트웨어는 두 기계 구성요소의 동시적인 고장에 대응하는 새로운 가설 세트를 발생한다. 모든 이중 구성요소 예측이 일치하지 않으면, QRS 소프트웨어는 세 개의 동시적인 고장에 제각기 대응하는 가설 세트를 발생한다.QRS starts with the initial hypothesis that none of the mechanical components has failed. If the predictions generated from the hypothesis match, the QRS software concludes that there are no failures and terminates the fault isolation process. On the other hand, if there is a mismatch, the QRS software generates a number of hypotheses, each corresponding to a failure of a single component of the machine. Predictions associated with each of these hypotheses are generated, and then consistency is tested. If all of the predictions associated with a single component hypothesis are inconsistent (and therefore, the error of all hypotheses is proven), the QRS software generates a new set of hypotheses that correspond to the simultaneous failure of two machine components. If all the dual component predictions do not match, the QRS software generates a hypothesis set that corresponds to three simultaneous failures.

예를 들어, 세 개의 구성요소 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가 고장났는지의 판정을 위해, 계속되는 고장 분리가 요구될 수도 있다.For example, for a machine with three components A, B, and C, QRS first generates a set of sets (ie, all sets for all components) based on the hypothesis that no component has failed. We compute predictions for the hypotheses and test the consistency of these predictions. If the predictions based on the hypothesis match, the hypothesis that no component has failed is verified and the fault isolation process is terminated. If they do not match, the QRS generates three new hypotheses: the hypothesis that only component A failed, the hypothesis that only component B failed, and the hypothesis that only component C failed. The QRS then generates three sets of predictions: predictions for hypothesis A, predictions for hypothesis B, and predictions for hypothesis C. The prediction for hypothesis A is the prediction value that the variable (ie, mechanical parameters such as current, flow, voltage, etc.) will have if hypothesis A is true, and the prediction associated with hypothesis C is the prediction that the variable will have if hypothesis C is true. . Similarly, the prediction associated with hypothesis B is the prediction that the variable will have if hypothesis B is true. If the prediction associated with hypothesis A is inconsistent, hypothesis that A has failed is inconsistent, so hypothesis A is removed from the list of valid hypotheses. On the other hand, if the predictions associated with B and C match, subsequent failure isolation may be required to determine if components B and C have failed.

상기한 예의 경우, QRS는 가설 A, B, 및 C를 제거하여, 기계의 둘 이상의 구성요소가 동시에 고장났다고 하는 결론을 내리 수 있다. 그리고 나서, QRS는 세 개의 새로운 가설, 즉, 구성요소 A 및 B가 동시에 고장났다고 가정한 가설 AB, 구성요소 A 및 C가 동시에 고장났다고 가정한 가설 AC, 구성요소 B 및 C가 동시에 고정났다고 가정한 가설 BC를 생성한다. QRS는 그 다음에 이들 가설을 이용하여 고장 분리를 개시한다. 복잡한 기계의 경우, 가설 당 고장난 구성요소의 수가 증가하면, 컴퓨터에 대한 처리 회수가 증대된다. QRS가 N개 구성요소의 가설 모두를 제거했을 때, 사용자는 QRS 소프트웨어가 N+1개 구성요소 가설을 발생하여 테스트하는 것을 개시해야 할 것인지 또는 고장 분리를 모두 종료해야 할 것인지에 관해 질의된다. 사용자는 QRS가 새로운 가설 세트를 발생하여 테스트를 대기하고 싶지 않을 수도 있다.In the case of the above example, the QRS may remove the hypotheses A, B, and C to conclude that two or more components of the machine failed at the same time. The QRS then assumes that three new hypotheses, namely, hypothesis AB, which assumes components A and B failed simultaneously, hypothesis AC, which assumes components A and C failed simultaneously, and that components B and C were fixed at the same time. Create a hypothesis BC. The QRS then uses these hypotheses to initiate fault isolation. For complex machines, increasing the number of faulty components per hypothesis increases the number of treatments for the computer. When QRS removes all of the N component hypotheses, the user is queried as to whether the QRS software should generate and test N + 1 component hypotheses or terminate all fault isolation. You may not want to wait for testing because QRS generates a new set of hypotheses.

제4도는 QRS의 동작을 예시하는 데이터 흐름도(90)이다. 데이터 흐름도(90)의 박스는 프로그램 모듈(즉, QRS 소프트웨어 부분)을 나타내며 원통체는 데이터 요소(즉, QRS 데이터 부분)를 나타낸다. 박스와 원통체간의 화살표는 데이터 흐름 방향을 나타낸 것이다. 흐름도와 달리, 데이터 흐름도(90)에는 각종 모듈들 간의 어떠한 임시적인 관계가 표시되지 않는다.4 is a data flow diagram 90 illustrating the operation of a QRS. The boxes in the data flow diagram 90 represent program modules (ie, QRS software portions) and the cylinders represent data elements (ie, QRS data portions). The arrow between the box and the cylinder shows the data flow direction. Unlike the flow chart, the data flow chart 90 does not show any temporary relationships between the various modules.

사용자에 의한 관찰은 데이터 흐름도(90)에 도시되어 있는 입력 신호 USERINPUT로서 QRS 소프트웨어에 제공된다. USERINPUT 신호는 입력 프로세스 코드 모듈(92)에 의해 처리되며, 모듈(92)은 사용자가 입력한 키 입력을 QRS 소프트웨어가 처리할 수 있는 포맷으로 변환된다. 입력 프로세스 모듈(92)의 출력은 실제 관찰 데이터 요소(94)에 저장되며, 이 데이터 요소(94)는 고장 분리 프로세스의 개시 후 사용자에 의해 행해진 모든 관찰의 누적된 히스토리를 포함한다. 실제 관찰 데이터 요소(94)는 고장 분리 프로세스의 규칙 기반형 시스템의 단계들 동안 사용자의 관찰로부터 얻어진 데이터로 초기화된다.The observation by the user is provided to the QRS software as the input signal USERINPUT shown in the data flow chart 90. The USERINPUT signal is processed by the input process code module 92, which converts the key input entered by the user into a format that the QRS software can process. The output of the input process module 92 is stored in the actual observation data element 94, which contains a cumulative history of all observations made by the user after initiation of the fault isolation process. The actual observation data element 94 is initialized with data obtained from the user's observations during the steps of the rule-based system of the fault isolation process.

가설 테스터 코드 모듈(96)은 실제 관찰 데이터 요소(94) 및 미결 가설 데이터 요소(98)를 사용하여 잠재적으로 유효한 가설 및 그 각각의 가설에 대한 예측을 발생한다. 미결 가설 데이터 요소(98)는 테스트될 가설을 포함한다. 가설 테스터(96)는 가설의 집합들을 통해 관찰 데이터(94)를 전파시킴으로써 가설을 테스트하여 사실로 판명될 가설에 대해 사실이어야 하는 예측을 발생한다. 예측 발생 프로세스중에, 가설 테스터(96)는 불일치를 발견할 수도 있다. 예를 들어, 하나의 집합 서브세트(subset)는 두 특정 지점들간의 양(positive)의 전압을 예측하는 반면에, 다른 집합 서브세트는 동일한 두 지점들간의 음(negative)의 전압을 예측할 수도 있다. 이러한 상황 발생시, 테스트되는 가설은 오류로 판명되어 가설 테스트(96)에 의해 버려진다. 가설 테스터(96)에 의해 버려질 수 없는 미결 가설 데이터 요소(98)로부터의 가설 및 이와 연관된 예측은 보존 가설 데이터 요소(99)에 출력된다.Hypothesis tester code module 96 uses the actual observation data element 94 and the pending hypothesis data element 98 to generate predictions for potentially valid hypotheses and their respective hypotheses. The open hypothesis data element 98 includes the hypothesis to be tested. Hypothesis tester 96 tests the hypothesis by propagating observation data 94 through sets of hypotheses to generate predictions that should be true for hypotheses that will turn out to be true. During the prediction generation process, hypothesis tester 96 may find inconsistencies. For example, one set subset predicts a positive voltage between two specific points, while another set subset predicts a negative voltage between the same two points. . When this situation occurs, the hypothesis being tested turns out to be an error and is discarded by hypothesis test 96. Hypotheses from pending hypothesis data elements 98 that cannot be discarded by hypothesis tester 96 and predictions associated therewith are output to preservation hypothesis data elements 99.

예를 들어, 미결 가설 데이터 요소(98)가 가설 A를 포함한다고 가정한다. 가설 테스터(96)는 유보된 구성요소 A의 구속을 갖는 기계의 모델(즉, 구성요소 A의 동작을 기술하는 집합을 제외한 모든 구성요소 집합을 포함하는 모델)을 조사하여 변수들의 값을 예측함으로써 가설 A의 유효성을 테스트한다. 가설 A의 예측을 발생하는 동안에, 가설 테스터(96)가 불일치를 발견하면, 가설 A의 오류가 판명된다. 그러나, 일치하면, 가설 A 및 이 가설 A와 연관된 예측은 보존 가설 데이터 요소(99)로 출력된다.For example, assume that the pending hypothesis data element 98 includes hypothesis A. Hypothesis tester 96 examines a model of a machine with a bounded component A constraint (i.e., a model that includes all component sets except the set describing the behavior of component A) and predicts the values of the variables. Test the validity of Hypothesis A. While generating hypothesis A predictions, if hypothesis tester 96 finds a mismatch, an error of hypothesis A is found. However, if there is a match, hypothesis A and the prediction associated with hypothesis A are output to conservative hypothesis data element 99.

보존 가설 데이터 요소(99)가 둘 이상의 가설을 포함하면, 사용자가 더 많은 관찰 상태를 입력하여 가설중의 일부를 제거하기 위한 정보를 제공하는 것이 유용할 수도 있다. 지능 테스트 선택 코드 모듈(100)에는 보존 가설 데이터 요소(99) 및 구성요소 정보 데이터 요소(101)로부터의 입력이 제공된다. 구성요소 정보 데이터 요소(101)는 구성요소 고장률 및 잠재적 관찰을 위한 테스트 시간과 같은 실험 데이터를 포함한다. 지능 테스트 선택 코드 모듈(100)은 보존 가설 데이터 요소(99)로부터의 예측 및 구성요소 정보 데이터 요소(101)로부터의 정보를 사용하여, 사용자가 수행하기 위한 최상의 테스트(즉, 하나 이상의 가설을 제거함과 동시에 사용자의 불편을 최소화할 가능성이 높은 관찰)를 결정한다. 지능 테스트 선택 코드 모듈(100)은 테스트 요청 데이터 요소(102)에 최선 테스트 정보를 출력한다. 출력 프로세스 코드 모듈(103)에는 테스트 요청 데이터 요소(102)로부터의 데이터가 제공되며, 테스트 요청 데이터 요소(102)를 인간이 판독가능한 포맷으로 변환하고, 사용자에게 다음 관찰을 행하도록 지시하는 사용자 프롬프트가 PMA(30)의 디스플레이(32)상에 나타나게 하는 신호 DISPLAYOUT를 제공한다.If the preservation hypothesis data element 99 includes more than one hypothesis, it may be useful for the user to enter more observation states to provide information for removing some of the hypotheses. Intelligent test selection code module 100 is provided with inputs from preservation hypothesis data element 99 and component information data element 101. Component information data element 101 includes experimental data such as component failure rates and test times for potential observations. The intelligent test selection code module 100 uses the predictions from the preservation hypothesis data element 99 and the information from the component information data element 101 to remove the best test for the user to perform (ie, remove one or more hypotheses). At the same time, the observation that is likely to minimize the inconvenience of the user). The intelligent test selection code module 100 outputs the best test information to the test request data element 102. The output process code module 103 is provided with data from the test request data element 102 and converts the test request data element 102 into a human readable format and instructs the user to make the next observation. Provides a signal DISPLAYOUT that causes it to appear on the display 32 of the PMA 30.

사용자에 의한 관찰은 보존 가설 데이터 요소(99)에 저장된 가설에 대한 예측과 전혀 다를 수도 있다. 예측 테스터(104)는 보존 가설 데이터 요소(99)내의 가설 및 이와 연관된 예측을 조사하고, 사용자 관찰과 대조되는 예측을 갖는 가설을 제거한다. 예를 들어, 보존 가설 데이터 요소(99)가 가설 A, 가설 B 및 가설 C를 포함하고, 가설 A는 특정 전압에 대해 양의 값을 예측하고, 가설 B는 그 전압에 대해 음의 값을 예측하며, 가설 C는 그 전압의 값을 예측하지 않는다고 가정하자. 또한, 지능 테스트 선택 코드 모듈(100)은 최상 테스트로 될 전압 측정법을 선택하고, 프롬프트된 후에, 사용자가 전압을 양의 값으로서 입력한다고 가정하자. 예측 테스터(104)는 가설 B를 보존 가설 데이터 요소(99)로부터 제거할 수 있는데, 그 이유는 전압이 음의 값이라는 가설 B의 예측이 틀렸고, 이에 의해 가설 B의 오류가 판명되었기 때문이다. 가설 A가 전압이 양의 값이라는 것을 올바르게 예측하므로, 가설 A는 보존 가설 데이터 요소(99)에 남게 된다. 예측 테스터(104)는 가설 C를 제거할 수 없는데, 그 이유는 가설 C가 전압에 대한 어떠한 예측도 하지 않기 때문이다.Observation by the user may be completely different from the prediction for the hypothesis stored in the conserved hypothesis data element 99. Prediction tester 104 examines the hypotheses in and associated predictions within conservative hypothesis data element 99 and removes hypotheses with predictions that contrast with user observations. For example, a conservative hypothesis data element 99 includes hypothesis A, hypothesis B, and hypothesis C, hypothesis A predicts a positive value for a particular voltage, and hypothesis B predicts a negative value for that voltage. Assume that hypothesis C does not predict the value of that voltage. Further, assume that the intelligent test selection code module 100 selects the voltage measurement to be the best test and, after being prompted, enters the voltage as a positive value. Prediction tester 104 may remove hypothesis B from preservation hypothesis data element 99 because hypothesis B is incorrectly predicted that the voltage is negative, thereby determining hypothesis B's error. Since hypothesis A correctly predicts that voltage is a positive value, hypothesis A remains in the conservation hypothesis data element 99. Prediction tester 104 cannot remove hypothesis C because hypothesis C does not make any predictions about voltage.

지능 테스트 선택 코드 모듈(100)은 사용자가 행하기 위한 관찰로서, 보존 가설 데이터 요소(99)에 저장된 임의의 가설을 제거하게 될 모든 관찰을 발생하는 것이 불가능할 수도 있다. 이러한 상황이 발생하면, 가설 발생기(105)는 테스트 요청 데이터 요소(102)가 비어 있음을 검출한 때, 보조 가설 데이터 요소(99)내의 가설들과 연관된 하나 이상의 구성요소를 부구성요소로 확장하고, 이들 부구성요소에 근거한 가설을 발생함으로써 보다 많은 가설을 발생한다. 가설 발생기(105)는 모델 예시 데이터 요소(106)를 사용하며, 이 요소(106)는 구성요소 및 그 구성요소의 계층 순서에 관한 정보에 대한 정성적 물리학 기술을 포함한다. 모델 예시 데이터 요소(106)의 구성 및 내용의 상세한 설명에 대해서는 후술한다. 가설 발생기(105)의 출력은 미결 가설 데이터 요소(98)에 제공된다.The intelligent test selection code module 100 is an observation for the user to make, and it may not be possible to generate all the observations that would remove any hypothesis stored in the conserved hypothesis data element 99. When this situation occurs, the hypothesis generator 105, upon detecting that the test request data element 102 is empty, expands one or more components associated with the hypotheses within the supplemental hypothesis data element 99 to subcomponents. For example, more hypotheses are generated by generating hypotheses based on these subcomponents. Hypothesis generator 105 uses model illustration data element 106, which includes qualitative physics techniques for information about a component and its hierarchical order. Detailed description of the configuration and content of the model example data element 106 will be described later. The output of hypothesis generator 105 is provided to the open hypothesis data element 98.

예를 들어, 보존 가설 데이터 요소(99)는 기계 전력 공급 장치의 고장에 대응하는 제1가설과 기계 연료 시스템의 고장에 대응하는 제2가설을 포함한다고 가정하자. 또한 지능 테스트 선택 코드 모듈(100)은 상기한 두 가설간을 구별하기 위한 관찰을 사용자에게 제공할 수 없어서, 테스트 요청 데이터 요소(102)가 빈상태로 되었다고 가정하자. 가설 발생기(105)는 테스트 요청 데이터 요소(102)가 빈 상태임을 검출하여, 전력 공급 장치를 부구성요소들(즉, 캐패시터, 트랜스포머등)로 확장하고 또한 연료 시스템을 그의 부구성요소들로 확장한다. 부구성요소에 근거한 새로운 가설 세트가 생성된다. 새로운 가설 세트는 가설 발생기(105)가 미결 가설 데이터 요소(98)에 (한번에 하나씩) 제공할 것으로서, 가설 테스터(96)에 의해 테스트되며, 사용자에게 관찰할 것을 프롬프트하고 가설을 제거하는 반복 프로세스가 계속된다. 고장 분리 프로세스는 보존 가설 데이터 요소(99)가 하나 이상의 기본 구성요소의 고장을 가정하는 단 하나의 가설만을 포함할 때 완료됨에 유의해야 한다.For example, assume that the conservation hypothesis data element 99 includes a first hypothesis corresponding to a failure of the mechanical power supply and a second hypothesis corresponding to a failure of the mechanical fuel system. Also assume that the intelligent test selection code module 100 cannot provide the user with observations to distinguish between the two hypotheses, so that the test request data element 102 is empty. The hypothesis generator 105 detects that the test request data element 102 is empty, extending the power supply to subcomponents (ie, capacitors, transformers, etc.) and also extending the fuel system to its subcomponents. do. A new set of hypotheses is created based on the subcomponents. The new hypothesis set will be provided by hypothesis generator 105 to the outstanding hypothesis data element 98 (one at a time), tested by hypothesis tester 96, and iterative to prompt the user to observe and remove the hypothesis. Continues. It should be noted that the fault isolation process is completed when the preservation hypothesis data element 99 contains only one hypothesis that assumes the failure of one or more underlying components.

또한, 가설 테스터(96)가 미결 가설 데이터 요소(98)에 저장된 모든 가설을 제거하여, 보존 가설 데이터 요소(99)가 비게 하는 것도 가능하다. 이러한 상황은 가설 당 고장난 구성요소의 수가 가정한 것보다 많을 때 발생한다. N개의 동시에 고장난 구성요소에 대응하는 모든 가설을 제거하는 것은 N개 보다 많은 기계 구성요소가 고장났음을 나타낸다. 예를 들어, 단일 구성요소 고장에 대응하는 모든 가설이 가설 테스터(96) 및/또는 예측 테스트(104)에 의해 제거되면, 논리적으로 둘 이상의 구성요소가 동시적으로 고장났다는 것이다(어떠한 구성요소도 고장나지 않았을 가능성은 초기에 테스트됨에 주의해야 한다).It is also possible for the hypothesis tester 96 to remove all hypotheses stored in the pending hypothesis data element 98 so that the preservation hypothesis data element 99 is empty. This situation occurs when the number of failed components per hypothesis is larger than assumed. Eliminating all hypotheses corresponding to N concurrently failed components indicates that more than N mechanical components have failed. For example, if all hypotheses corresponding to a single component failure are eliminated by hypothesis tester 96 and / or prediction test 104, then logically two or more components failed simultaneously (some component). Note that the likelihood of no failures is initially tested).

N개의 구성요소 고장에 대응하는 전체 가설 세트가 가설 테스터(96)에 의해 오류가 증명되었을 때, 가설 발생기(105)는 사용자 프롬프트 정보를 연속 테스트팅 질의 데이터 요소(107)에 기록함으로써 N+1개의 구성요소 고장에 대응하는 새로운 가설 세트를 발생하도록 사용자에게 요청한다. 연속 테스팅 질의 데이터 요소(107)는 출력 프로세스 모듈(103)에 대한 입력으로서 제공되며, 이 모듈(103)은 질의 (107)를 인간이 판독가능한 포맷으로 변환하여 디스플레이(32)에 출력한다. 그 질의에 대한 사용자의 응답은 USERINPUT 신호에 의해 제공되고, 입력 프로세스 코드 모듈(92)에 의해 처리되어, 연속 테스팅 응답 데이터 요소(108)에 저장된다. 사용자가 연속 테스팅을 선택하지 않으면, 고장 분리가 종료된다. 한편, 연속 테스팅을 선택하면, 가설 발생기(105)에 대한 입력으로서 제공되는 연속 테스팅 응답 데이터 요소(108)는 가설 발생기(105)가 (모듈 예시 데이터 요소(106)로부터의 정보를 사용하여) 새로운 가설 세트를 발생하게 하며, 이 새로운 가설 세트는 이전의 가설 세트보다 하나 더 많은 고장난 구성요소에 대응한다.When the entire set of hypotheses corresponding to N component failures have been proved error by hypothesis tester 96, hypothesis generator 105 writes the user prompt information to continuous testing query data element 107 to provide N + 1. Ask the user to generate a new set of hypotheses corresponding to the two component failures. The continuous testing query data element 107 is provided as input to the output process module 103, which converts the query 107 into a human readable format and outputs it to the display 32. The user's response to the query is provided by the USERINPUT signal, processed by the input process code module 92, and stored in the continuous testing response data element 108. If the user does not choose continuous testing, fault isolation is terminated. On the other hand, when continuous testing is selected, the continuous testing response data element 108, which is provided as input to the hypothesis generator 105, causes the hypothesis generator 105 to use the new information (using information from the module example data element 106). Generate a hypothesis set, which corresponds to one more failed component than the previous hypothesis set.

가설 발생기(105)는 또한 미결 가설 데이터 요소(98)에 보존 가설 데이터 요소(99)로부터의 가설을 제공한다. 가설 발생기(105)는 테스트 요청 데이터 요소(102)가 제공하는 입력을 사용하여, 현재 사용자에게 관찰하도록 요청된 변수에 대해 예측을 하지 않는 가설을 세이브 가설 데이터 요소(99)가 포함하는 지를 판정한다. 가장 최근에 관찰된 변수에 대해 예측을 하지 않는 가설은 보조 가설 데이터 요소(99)로부터 미결 가설 데이터 요소(98)에 보내져 가설 테스터(96)에 의해 다시 테스트된다. 다시 테스트되는 가설중의 일부는 새로운 관찰이 가능하게 됨에 따라 무효화될 수도 있다.The hypothesis generator 105 also provides hypotheses from the conserved hypothesis data element 99 to the open hypothesis data element 98. The hypothesis generator 105 uses the input provided by the test request data element 102 to determine whether the save hypothesis data element 99 includes hypotheses that do not make predictions about the variables requested to be observed by the current user. . Hypotheses that do not predict for the most recently observed variable are sent from an auxiliary hypothesis data element 99 to an open hypothesis data element 98 and tested again by the hypothesis tester 96. Some of the hypotheses tested again may be invalidated as new observations become possible.

제5도는 QRS 소프트웨어가 사용하는 데이터 구조를 도시한 것이다. 미결 가설 데이터 구조(110)는 미결 가설 데이터 요소(98)에 저장된 데이터를 나타낸 것으로서, 가설 식별 요소(112B), 예측 테이블(112C) 및 캐쉬드(cached) 집합 테이블(112D)로 구성되는 미결 가설(112A)을 포함한다. 가설 식별 요소(112B)는 특정의 미결 가설을 식별하는 정보를 포함한다. 예를 들어, 가설 식별 요소(112B)는 미결 가설(112A)을 고장난 전력 공급 장치를 가정하는 가설로서 식별할 수도 있다.5 shows a data structure used by the QRS software. The open hypothesis data structure 110 represents the data stored in the open hypothesis data element 98, which consists of a hypothesis identification element 112B, a prediction table 112C, and a cached set table 112D. (112A). Hypothesis identification element 112B includes information identifying a particular outstanding hypothesis. For example, the hypothesis identification element 112B may identify the pending hypothesis 112A as a hypothesis that assumes a failed power supply.

예측 테이블(112C)은 미결 가설(112A)에 연관된 모든 변수(즉, 기계 파라미터)를 포함한다. 예측 테이블(112C)은 가설 발생기(105)에 의해 구성되며, 이 발생기는 가설의 생성시에 가설의 모든 변수를 판정한다. 초기에, 예측 테이블(112C)은 변수에 대한 어떤 값도 갖지 않는다. 그러나, 가설이 테스트될 때마다, 가설 테스터(96)는 더 많은 관찰이 가능하게 됨에 따라 예측 테이블(112C)의 변수들에 대한 더욱 많은 값을 예측한다.Prediction table 112C includes all variables (ie, machine parameters) associated with the open hypothesis 112A. The prediction table 112C is configured by the hypothesis generator 105, which determines all the variables of the hypothesis at the time of generation of the hypothesis. Initially, prediction table 112C has no value for the variable. However, each time the hypothesis is tested, the hypothesis tester 96 predicts more values for the variables in the prediction table 112C as more observations become possible.

캐쉬드 집합 테이블(112D)은 미결 가설(112A)에 대한 모든 모델 집합을 포함한다, 캐쉬드 집합 테이블(112D)은 예측 테이블(112C)로부터의 각 변수에 의해 인덱스(index)될 수 있다. 캐쉬드 집합 테이블(112D)의 요소는 인덱스 변수가 나타나는 모든 모델 집합을 포함하며, 이에 의해 가설 발생기(96)에는 가설과 연관된 집합에 신속히 액세스하는 수단이 제공된다.The cached set table 112D includes all the model sets for the open hypothesis 112A. The cached set table 112D may be indexed by each variable from the prediction table 112C. Elements of the cached set table 112D include all model sets in which index variables appear, thereby providing a hypothesis generator 96 with means to quickly access the set associated with the hypothesis.

보존 가설 데이터 구조(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)과 동일하다.The preservation hypothesis data structure 115 represents data stored in the preservation hypothesis data element 99 and includes a first current hypothesis 117A, a second current hypothesis 118A, and an Nth current hypothesis 119A. The first current hypothesis 117A includes a hypothesis identification element 117B and a prediction table 117C. Similarly, second current hypothesis 118A includes hypothesis identification element 118B and prediction table 118C, and Nth current hypothesis 119A includes hypothesis identification element 119B and prediction table 119C. Hypothesis identification elements 117B, 118B, and 119B contain information for identifying a particular stored hypothesis and are similar to hypothesis identification elements 112B of open hypothesis 112A. Prediction table 117C is the same as prediction table 112C from open hypothesis 112A, except hypothesis tester 96 provides values for some of the variables.

제6도는 가설 테스터(96)의 동작을 예시하는 데이터 흐름도(130)이다. 상태 발생기(132)에는 실제 관찰 데이터 요소(94) 및 미결 가설 데이터 요소(98)로부터의 입력이 제공된다. 상태 발생기(132)는 실제 관찰(94) 및 미결 가설(98)을 처리하여, 테스트 중인 특정 가설에 대한 예측 테이블을 포함하는 예측 데이터 요소(134)를 생성한다. 상태 발생기(132)는 미결 가설 데이터 요소(98)로부터의 캐쉬드 집합 및 실제 관찰(94)을 처리함으로써 산출된 변수중 일부의 값으로 예측 테이블(미결 가설 데이터 요소(98)로부터의)을 채움으로써 예측 데이터 요소(134)를 생성한다. 상태 발생기(132)가 예측 데이터 요소(134)의 값을 예측하려고 시도하는 중에 불일치를 검출하면, 예측 테이블 대신에, 널(null) 테이블이 예측 데이터 요소(134)에 저장된다. 실질적인 값의 계산은 모델 집합을 나타내는 LISP 표현식을 조작함으로써 수행된다. LISP 표현식의 조작은 당업계에 이미 알려져 있다.6 is a data flow diagram 130 illustrating the operation of the hypothesis tester 96. The state generator 132 is provided with inputs from the actual observation data element 94 and the pending hypothesis data element 98. State generator 132 processes the actual observation 94 and the pending hypothesis 98 to generate predictive data elements 134 that include prediction tables for the particular hypothesis under test. State generator 132 populates the prediction table (from open hypothesis data element 98) with the values of some of the variables computed by processing the set of caches from open hypothesis data element 98 and the actual observation 94. To generate the predictive data element 134. If the state generator 132 detects a mismatch while attempting to predict the value of the predictive data element 134, instead of the predictive table, a null table is stored in the predictive data element 134. The calculation of the actual value is performed by manipulating the LISP expression that represents the set of models. Manipulation of LISP expressions is already known in the art.

가설 평가기(136)에는 예측 데이터 요소(134)로부터의 데이터 및 미결 가설 데이터 요소(98)로부터의 가설이 제공된다. 각각의 가설에 대해, 가설 평가기(136)는 예측 데이터 요소(134)가 널 테이블을 포함하는지를 판정한다. 포함하지 않는 것으로 판정되면, 가설 평가기(136)는 (미결 가설 데이터 요소(98)로부터의) 가설 및 (예측 데이터 요소(134)로부터의) 연관된 예측 테이블을 보존 가설 데이터 요소(99)로 보낸다. 포함하는 것으로 판정되면, 테스트 중의 가설은 무효화되며 보내지지 않는다.Hypothesis evaluator 136 is provided with data from predictive data element 134 and hypotheses from open hypothesis data element 98. For each hypothesis, hypothesis evaluator 136 determines whether prediction data element 134 includes a null table. If not determined, hypothesis evaluator 136 sends the hypothesis (from open hypothesis data element 98) and the associated prediction table (from prediction data element 134) to preservation hypothesis data element 99. . If it is determined to contain, the hypothesis under test is invalidated and not sent.

제7도는 상태 발생기(132)의 동작을 더욱 상세히 예시한 것이다. 상수 탐색기(constant finder)(142)에는 미결 가설 데이터 요소(98)로부터의 캐쉬드 집합 테이블 및 예측 테이블이 제공된다. 상수 탐색기(142)는 캐쉬드 집합을 사용하여 예측 테이블을 통해 반복하고 상수 표현으로 변수를 정의하는 집합을 갖는 예측 테이블의 변수 값을 채운다. 예를 들어, 배터리는 그 양단간의 전압이 일정한 양의 전압인 집합으로 기술될 수도 있다. 상수 탐색기(142)는 제1부분 예측 테이블 데이터 요소(144)로, 예측 테이블의 엔트리에 상수를 채운 결과를 출력한다.7 illustrates the operation of the state generator 132 in more detail. The constant finder 142 is provided with a cached set table and a prediction table from the open hypothesis data element 98. The constant finder 142 iterates through the prediction table using a set of caches and populates the variable values of the prediction table with the set defining the variables in constant representation. For example, a battery may be described as a set in which the voltage between its ends is a constant positive voltage. The constant finder 142 outputs a result of filling a constant into an entry of the prediction table as the first partial prediction table data element 144.

제1부분 예측 테이블(144) 및 실제 관찰 데이터 요소(92)는 관찰 탐색기(143)에 대한 입력으로서 제공되며, 이 관찰 탐색기(146)는 사용자가 입력한 관찰에 대응하는 제1부분 예측 테이블(144)의 변수 값을 채운다. 예를 들어, 사용자가 저항 양단간의 전압을 측정하여 그 관찰 결과를 입력하면, 관찰 탐색기(146)는 저항기 전압에 대응하는 제1부분 예측 테이블(144)내 변수의 값을 채울 것이다. 관찰 탐색기(146)는 제2부분 예측 테이블 데이터 요소(148)로, 제1부분 예측 테이블(144)의 엔트리에 관찰 결과를 채운 결과를 출력한다.The first partial prediction table 144 and the actual observation data element 92 are provided as inputs to the observation explorer 143, which is a first partial prediction table corresponding to the observation entered by the user. Fill in the variable value of 144). For example, if the user measures the voltage across the resistor and inputs the observation, the observation searcher 146 will populate the value of the variable in the first partial prediction table 144 corresponding to the resistor voltage. The observation searcher 146 outputs the result of filling the observation result in the entry of the first partial prediction table 144 as the second partial prediction table data element 148.

제2부분 예측 테이블(148)은 구속 전파기(150)에 대한 입력으로서 제공되며, 이 구속 전파기(150)는 제2부분 예측 테이블(148)에 저장된 기지의 변수 값(즉, 상수 탐색기(142) 및 관찰 탐색기(146)에 의해 이미 판정된 변수값 및 가능하게는 이전의 가설 테스트로부터 판정된 변수)과 미결 가설 데이터 요소(98)로부터의 캐쉬드 집합을 사용하여 보다 많은 변수의 값을 판정한다. 구속 전파기(150)는 집합을 통해 기지의 변수를 전파하여, 상수 표현과 같은 미지의 변수의 형식으로 각각의 미지의 값에 대한 하나 이상의 집합이 대체될 수 있는 지를 판정한다. 예를 들어, 밸브를 통과하는 유체의 흐름을 기술하는 집합은 그 밸브가 개방된 때에, 그 밸브로부터 나오는 유량이 그 밸브로 들어가는 유량과 동일하고, 밸브가 폐쇄된 때에, 그 밸브로부터 나오는 유량이 0임을 표시할 수 있다. 밸브가 개방(사용자 관찰)된 것으로 판정되고 유입량이 양의 값(모델 상수)으로 판정되면, 구속 전파기(150)는 밸브로부터 나오는 유량을 양의 값으로 판정할 수 있다. 또한, 밸브의 출력이 파이프에 연결되면, 구속 전파기(150)는 파이프에 대한 유입량 및 유출량도 판정할 수 있다.The second partial prediction table 148 is provided as an input to the constraint propagator 150, which binds the known variable values (ie, constant searchers ( 142) and the value of the variable already determined by the observation searcher 146 and possibly the variable determined from the previous hypothesis test) and the set of caches from the open hypothesis data element 98 to retrieve more variable values. Determine. Constrained propagator 150 propagates known variables through the set to determine whether one or more sets of each unknown value can be replaced in the form of an unknown variable, such as a constant expression. For example, a set describing the flow of fluid through a valve is such that when the valve is opened, the flow rate exiting the valve is equal to the flow rate entering the valve, and when the valve is closed the flow rate exiting the valve It can be 0. If it is determined that the valve is open (user observation) and the inflow is determined to be a positive value (model constant), then the restraining propagator 150 may determine the flow rate coming from the valve as a positive value. In addition, when the output of the valve is connected to the pipe, the confinement propagator 150 may also determine the inflow and outflow to the pipe.

구속 전파기(150)가 판정한 변수는 이후 다른 기지의 변수와 함께 구속 전파기를 통해 전파된다. 구속 전파기의 출력 제3부분 예측 테이블(152)에 저장된다. 구속 전파기가 불일치를 검출하면, 제3부분 예측 데이터 요소(152)에 널 테이블이 저장된다.The variable determined by the confinement propagator 150 then propagates through the confinement propagator along with other known variables. An output third portion prediction table 152 of the constraint propagator is stored. If the constraint propagator detects a mismatch, a null table is stored in the third partial prediction data element 152.

제3부분 예측 테이블(152)은 코어 예측기(154)에 대한 입력으로서 제공된다. 제3부분 예측 테이블(152)이 널 테이블이 아니면, 코어 예측기(154)는 제3부분 예측 테이블(152)의 미지의 변수 각각에 대한 값을 통해 반복하여, 가지의 변수 값이 주어지면, 미지의 변수가 단지 하나의 가능한 값을 가질 수 있는지를 판정한다. 예를 들어, 스위치에 대한 집합이, 스위치가 폐쇄된 경우에, 스위치로부터 나오는 전류가 스위치로 들어가는 전류와 같고, 스위치가 개방된 경우에, 스위치로부터 나오는 전류가 0인 것을 나타낸다고 가정하자. 또한, 스위치로부터 나오는 전류가 0이 아닌 양의 값을 갖는 것으로서 관찰되었다고 가정하자. 스위치의 개방을 가정하면 불일치가 생기므로(즉, 스위치는 동시에 개방되고 양의 전류값을 가질 수 없으므로), 코어 예측은 스위치의 상태에 대한 단지 하나의 가능한 합리적인 값이 폐쇄되어 있음을 나타낸다. 코어 예측기(154)의 출력은 제4부분 예측 테이블 데이터 요소(158)에 저장된다. 코어 예측기(154)가 특정의 가설에 대한 불일치를 찾아낼 수 있음에 주의해야 한다. 예를 들어, 상기한 스위치의 예를 이용하여, 스위치에 대한 입력 전류가 음의 값으로 관찰되었다고 가정하자. 스위치의 개방 또는 폐쇄에 관계없이 스위치의 출력 전류가 양의 값을 갖는 한, 스위치의 입력 전압이 음의 값을 갖는다는 것은 불일치이다. 따라서, 테스트중인 가설은 무효가 된다. 즉, 캐쉬드 집합과 연관된 가설 및 상태 발생가(132)가 처리하고 있는 제3부분 예측 테이블(152)은 거짓으로 판명된다. 이러한 상황이 발생하면, 코어 예측기(154)는 제4부분 예측 테이블(158)을 널로 한다(즉, 널로 설정한다).The third partial prediction table 152 is provided as input to the core predictor 154. If the third part prediction table 152 is not a null table, the core predictor 154 iterates through the values for each of the unknown variables of the third part prediction table 152 and, if given a branch variable value, is unknown. Determine if the variable of can have only one possible value. For example, assume that the set for the switch indicates that when the switch is closed, the current coming from the switch is equal to the current entering the switch, and when the switch is open, the current coming from the switch is zero. Also assume that the current coming from the switch has been observed as having a nonzero positive value. Assuming that the switch is open, there is a mismatch (ie, the switch is open at the same time and cannot have a positive current value), so the core prediction indicates that only one possible reasonable value for the state of the switch is closed. The output of the core predictor 154 is stored in the fourth partial prediction table data element 158. It should be noted that core predictor 154 may find inconsistencies for certain hypotheses. For example, using the example of the above switch, suppose that the input current to the switch was observed to be negative. As long as the output current of the switch is positive regardless of opening or closing of the switch, it is a mismatch that the input voltage of the switch is negative. Thus, the hypothesis under test is invalid. That is, the third partial prediction table 152 that is being processed by the hypothesis and state generator 132 associated with the set of caches turns out to be false. When this situation occurs, the core predictor 154 nulls (i.e. sets null) the fourth partial prediction table 158.

제4부분 예측 테이블(158)은 가정 테스터(159)에 대한 입력으로서 제공된다. 가정 테스터(159)는 제4부분 예측 테이블(158)에 포함된 예측(즉, 예측으로 설정된 값을 갖는 변수)이 주어진 경우, 어떠한 불일치도 초래하지 않는 나머지 미지의 변수에 적어도 하나의 조합 값이 할당될 수 있는지를 판정한다. 물론, 제4부분 예측 테이블(158)이 널 테이블이면, 가정 테스터(159)는 그 널 테이블을 예측 데이터 요소(134)에 보내며, 가설 테스터(136)는 그 가설을 버릴 수 있다.The fourth partial prediction table 158 is provided as input to the hypothesis tester 159. The hypothesis tester 159 is given a prediction (i.e., a variable having a value set as the prediction) included in the fourth partial prediction table 158, and at least one combination value is added to the remaining unknown variables that do not cause any discrepancies. Determine if it can be allocated. Of course, if the fourth partial prediction table 158 is a null table, the hypothesis tester 159 sends the null table to the prediction data element 134 and the hypothesis tester 136 may discard the hypothesis.

그러나, 제4부분 예측 테이블(158)이 널 테이블이 아니면, 가정 테스터(159)는 미지의 변수의 각각에 대한 값을 가정하고, 그 다음에 일치하는 예측 세트가 이들 값으로부터 도출될 수 있는지를 판정한다. 소프트웨어는 제4부분 예측 테이블(158)에 미지의 변수에 대한 값을 저장하고(이렇게 하여 미지의 변수를 기지의 변수로 임시 변환하고), 모든 기지의 변수를 전파하며, 그 다음에 그 자신을 호출하는 순환 루틴을 사용한다. 전파중에, 일치하지 않는 예측 세트가 발생되면, 가정 테스터(159)는 변수의 각종 값을 가정하기 위해 그 순환 루틴을 통해 되돌아 간다. 모든 미지의 변수에 대한 값의 일치하는 세트가 발견되면, 가정 테스터(159)는 제4부분 예측 테이블(158)(미지의 변수를 이들의 원래 상태에 대한 복구시킴)을 예측 데이터 요소(134)로 보낸다. 일치하는 세트가 발견되지 않으면, 가정 테스터(159)는 널 테이블을 예측 데이터 요소(134)에 제공한다.However, if the fourth partial prediction table 158 is not a null table, the hypothesis tester 159 assumes values for each of the unknown variables, and then determines whether a matching set of predictions can be derived from these values. Determine. The software stores the values for the unknown variables in the fourth part prediction table 158 (in this way, temporarily converting the unknown variables to known variables), propagating all known variables, and then transferring itself. Use a calling routine. During propagation, if an inconsistent prediction set occurs, hypothesis tester 159 goes back through its recursion routine to assume various values of the variable. If a matching set of values for all unknown variables is found, hypothetical tester 159 predicts fourth-part prediction table 158 (recovering unknown variables to their original state) with predictive data elements 134. Send to. If no matching set is found, hypothesis tester 159 provides a null table to predictive data element 134.

가정 테스터(159)가 미지의 변수에 값을 무작위적으로 할당할 수 있지만, 이렇게 하는 것은 프로세서 시간 면에서 매우 비효율적인데, 그 이유는 무작위 조합의 수가 엄청나게 많기 때문이다. 예를 들어, 제각기 세 개의 가능한 값을 갖는 20개의 미지의 변수가 존재한다면, 무작위 조합의 수는 삼십억개 이상으로 된다. 따라서, 미지의 변수에 값을 무작위적으로 할당하는 대신에, 가정 테스터(159)는 동적 가정 순서 프로세스를 사용하여 변수에 값을 할당한다.Although hypothetical tester 159 can randomly assign values to unknown variables, this is very inefficient in terms of processor time, because the number of random combinations is huge. For example, if there are 20 unknown variables, each with three possible values, the number of random combinations is more than three billion. Thus, instead of randomly assigning a value to an unknown variable, the hypothesis tester 159 assigns a value to the variable using a dynamic hypothesis ordering process.

동적 가정 순서 프로세스는 목표 집합을 로케이팅하고, 최대 수의 목표 집합에 나타나는 변수에 값을 할당하며, 그 변수 할당을 전파하는 프로세스이다. 목표 집합은 그 집합 변수중의 하나에 값을 할당하는 것에 의해서 다른 미지 변수의 값이 판정될 수 있거나 불일치가 발생되어, 가설이 거절될 수 있게 하는 집합이다. 가장 간단한 예의 목표 집합은 변수 V1이 변수 V2와 동일함을 기술하는 집합이다. 변수 V1에 하나의 값이 할당되면, 변수 V2에 대한 값이 결정될 수 있다. 또한, V1에 대한 값의 할당마다 불일치가 발생하여 가정 테스터(159)가 널 테이블을 예측 테이블 데이터 요소(134)로 보낼 수 있게 하는 경우도 가능하다. 예를 들어, 제1집합은 변수 V1이 변수 V2와 동일함을 기술하고, 제2집합은 변수 V1이 -V2와 동일함을 기술하고, 제3집합은 변수 V1이 (변수 V2 + 양의 상수값)과 동일함을 기술한다고 가정하자. 세 개의 집합에 의해 V1 및 V2에 대한 구속을 해결할 수 있는 변수의 조합은 없다. 가정 테스터(159)가 초기에 목표 집합에 나타나지 않는 변수를 무작위로 선택하지 않고 값의 대입을 위해 V1 또는 V2를 선택하면, 조만간에 불일치가 발견될 것이다.The dynamic assumption ordering process is the process of locating a target set, assigning values to the variables that appear in the maximum number of target sets, and propagating the variable assignments. A target set is a set that assigns a value to one of the set variables so that the value of another unknown variable can be determined or an inconsistency can occur and the hypothesis can be rejected. In the simplest example, the target set is a set that describes that variable V1 is equal to variable V2. When one value is assigned to the variable V1, a value for the variable V2 may be determined. It is also possible for a mismatch to occur for every assignment of a value to V1 to enable the hypothetical tester 159 to send a null table to the prediction table data element 134. For example, the first set states that variable V1 is equal to variable V2, the second set states that variable V1 is equal to -V2, and the third set states that variable V1 is (variable V2 + positive constant). Assume that we describe the same as). There are no combinations of variables that can solve the constraints on V1 and V2 by the three sets. If the hypothetical tester 159 initially selects V1 or V2 for the assignment of values rather than randomly selecting a variable that does not appear in the target set, an inconsistency will soon be found.

제8도는 구속 전파기(150)의 더욱 상세한 동작을 예시하는 흐름도(180)이다. 첫 번째 단계(182)에서, 제2부분 예측 테이블(148)의 기지의 변수를 통한 반복이 제어된다. 단계(182)에서, 반복 카운터가 먼저 초기화되고, 그 다음에 각각의 후속 실행을 위해 증분된다. 흐름도(180)의 나머지 단계는 한 번에 하나의 변수에 대해 동작한다. 반복 카운터가 제2부분 예측 테이블(148)의 기지의 변수 리스트의 끝에 이르게 되면, 실행이 완료된다. 끝에 이르지 않았으면, 단계(183)으로 진행하여, (캐쉬드 집합 테이블로부터의) 변수와 연관된 모든 집합이 조사되고, 가능하다면, 제2부분 예측 테이블(148)로부터의 모든 기지의 변수값을 사용하여 해결된다. 미지의 변수가 기지의 변수로만 표현된 경우에는(즉, 집합의 변수들중 하나를 제외한 모든 변수가 기지임) 단계(183)에서 미지의 변수 값이 결정될 수도 있다. 제어가 단계(183)에서 단계(184)로 진행하여, 불일치가 발견되었는지를 판정한다. 동일한 변수에 대해 두 개의 상반된 예측이 만들어진 경우)예를 들어, 집합의 한 서브세트는 특정 변수가 양의 값임을 예측하는 반면에 그 집합의 다른 서브세트는 그 변수가 음의 값임을 예측하는 경우)에는 불일치가 발생된다. 단계(184)에서 불일치가 발견되면, 제어가 단계(185)로 진행하여, 제3부분 예측 테이블(152)이 널로 되고 구속 전파기(150)의 실행이 종료된다.8 is a flow chart 180 illustrating a more detailed operation of the constrained propagator 150. In a first step 182, iteration through known variables in the second partial prediction table 148 is controlled. In step 182, the iteration counter is initialized first and then incremented for each subsequent execution. The remaining steps of flow chart 180 operate on one variable at a time. When the iteration counter reaches the end of the known variable list of the second partial prediction table 148, execution is complete. If not, proceed to step 183, where all sets associated with the variables (from the cached set table) are examined and, if possible, using all known variable values from the second partial prediction table 148. Is solved. If the unknown variable is represented only as a known variable (ie all variables except one of the variables in the set are known), then the unknown variable value may be determined at step 183. Control proceeds from step 183 to step 184 to determine if a mismatch is found. For example, if two conflicting predictions are made for the same variable), for example, one subset of the set predicts that a particular variable is positive, while the other subset of the set predicts that the variable is negative. ) Causes inconsistencies. If an inconsistency is found in step 184, control passes to step 185, where the third partial prediction table 152 is null and execution of the constraint propagator 150 ends.

단계(184)에서 어떠한 불일치도 발견되지 않으면, 제어가 단계(184)로부터 단계(187)로 진행하여, 단계(183)에서 임의의 미지의 변수 값이 발견되었는지를 판정한다. 새로운 기지의 변수가 발견되었다면, 제어가 단계(187)에서 단계(188)로 진행하여, 기지의 변수 리스트에 새로운 변수가 부가된다. 제어는 단계(188)로부터 단계(182)로 되돌아가고, 반복 카운터가 증가된다. 단계(183)에서 어떤 새로운 변수도 발견되지 않았으면, 제어가 단계(187)로부터 단계(182)로 되돌아 간다.If no inconsistency is found in step 184, control proceeds from step 184 to step 187 to determine if any unknown variable value was found in step 183. If a new known variable is found, control proceeds from step 187 to step 188, where the new variable is added to the known variable list. Control returns from step 188 to step 182, and the iteration counter is incremented. If no new variable was found in step 183, control returns from step 187 to step 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)로 되돌아간다.9 is a flowchart 190 illustrating a more detailed operation of the core predictor 154. In a first step 192, iteration through the unknown variable of the third partial prediction table 152 is controlled. In step 192, the iteration counter is initialized first and then incremented for each subsequent execution. The remaining steps of flow chart 190 operate on one unknown variable at a time. If the process is not complete in step 192, control proceeds from step 192 to step 193 to check the active variable for one or more valid values. Since qualitative physics is used to model the machine, all variables, including those representing actual analog quantities, have a finite number of possible values. In step 193, the variable is repeatedly set to all possible values that the variable can take. In step 193, the variable has not yet been set to all possible values, and control proceeds from step 193 to step 194, propagating the variable value through the confinement propagator. Step 194 is similar to constraint propagation illustrated by flow diagram 180. Control proceeds from step 194 to step 195 to determine if propagating hypothesized values for unknown variables through the set resulted in inconsistencies. If it has resulted in a mismatch, control returns from step 195 to step 193 and makes another iteration for that variable (ie, another value is selected for that variable). If propagating the variable values through the set did not result in inconsistency, control proceeds from step 195 to step 196, where the value is added to the list of possible values for that variable. Control then returns from step 196 to step 193 for another value for the variable to initiate the test.

변수에 대한 모든 가능한 값이 집합을 통해 전파된 후, 제어는 단계(193)로부터 단계(197)로 진행하여, 그 변수에 대한 임의이 예측값이 일치하는 예측 세트를 초래했는지를 판정한다. 일치하는 예측 세트를 초래할 변수에 대한 값이 존재하지 않으면, 제어는 단계(197)로부터 단계(198)로 진행하여, 예측 테이블이 널로 되고 실행이 종료된다. 이 가설은, 변수들중의 하나가 일치하는 예측 세트를 생성하는 값을 가질 수 없기 때문에 사실이 아니다. 예측된 값이 0이 아니면, 제어는 단계(197)로부터 단계(199)로 진행하여, 그 변수에 대해 일치하는 예측 세트를 초래하는 단 하나의 값만이 존재하는지를 판정한다. 그렇다면, 제어는 단계(199)로부터 단계(200)로 진행하여, 그 변수 및 값을 제4부분 예측 테이블(158)에 추가한다. 그 변수의 하나의 값만이 일치하는 예측 세트를 초래하면, 그 변수는 사실로 판정되고 있는 테스트중인 가설에 대한 값과 동일해야 한다. 제어는 단계(200) 및 단계(199)로부터 반복 단계(192)로 되돌아가서, 다음의 미지의 변수를 테스트한다.After all possible values for the variable have propagated through the set, control proceeds from step 193 to step 197 to determine if any of the variables resulted in the prediction set with matching prediction values. If no value exists for the variable that would result in a matching set of predictions, control proceeds from step 197 to step 198, where the prediction table is null and execution ends. This hypothesis is not true because one of the variables cannot have a value that produces a matching prediction set. If the predicted value is not zero, control proceeds from step 197 to step 199 to determine if there is only one value resulting in a matching set of predictions for that variable. If so, then control passes from step 199 to step 200 to add the variable and value to the fourth partial prediction table 158. If only one value of the variable results in a matching set of predictions, the variable must be equal to the value for the hypothesis under test that is being determined to be true. Control returns from step 200 and step 199 to iteration step 192 to test the next unknown variable.

제10도는 가설 발생기(105)의 동작을 예시한 데이터 흐름도(230)로서, 가설 발생기(105)는 다음과 같은 다수의 방법을 통해 가설을 발생한다. 가설 발생기(105)는 보존 가설 데이터 요소(99)로부터의 현재 가설과 연관된 구성요소를 확장함으로써 새로운 가설을 생성할 수 있다. 가설 발생기(105)는 최대 수의 동시적인 구성요소 고장을 가정함으로써 새로운 가설을 생성할 수 있다. 또한, 가설 발생기(105)는 보존 가설 데이터 요소(99)로부터의 현재 가설 및 연관 예측을 미결 가설 데이터 요소(98)에 전달할 수 있다.10 is a data flow diagram 230 illustrating the operation of the hypothesis generator 105. The hypothesis generator 105 generates a hypothesis through a number of methods as follows. The hypothesis generator 105 may generate a new hypothesis by extending the components associated with the current hypothesis from the conservation hypothesis data element 99. The hypothesis generator 105 may generate a new hypothesis by assuming the maximum number of simultaneous component failures. In addition, hypothesis generator 105 may communicate the current hypothesis and association predictions from conservative hypothesis data element 99 to the pending hypothesis data element 98.

테스트 요청 데이터 요소(102)로부터의 데이터는 가설 제어기(232)에 제공되며, 이 가설 제어기(232)는 테스트 요청 데이터 요소(102)가 빈 것을 검출한 때, 모델 예시 데이터 요소(106)로부터의 정보를 사용하여 보존 가설 데이터 요소(99)로부터의 가설과 연관된 구성요소를 부구성요소로 확장함으로써 새로운 가설이 생성되게 한다. 예를 들어, 보존 가설 데이터 요소(99)가 기계 전력 공급 장치의 고장을 가정하는 단일의 가설을 포함한다면, 가설 제어기(232)는 전력 공급 장치의 부구성요소들(예를 들어, 캐패시터, 트랜스포모, 브리지 정류기 등)의 고장에 대응하는 다수의 가설을 발생할 것이다. 가설 제어기(232)는 구성요소의 부구성요소를 판정할 수 있는데, 그 이유는 모델 예시 데이터 요소(106)가 각각의 복합 구성요소의 부구성요소를 식별하는 데이터 구조를 포함하기 때문이다.Data from the test request data element 102 is provided to the hypothesis controller 232, which, when the test request data element 102 detects that the test request data element 102 is empty, receives the data from the model example data element 106. The information is used to extend components associated with the hypothesis from the conservation hypothesis data element 99 to subcomponents so that a new hypothesis is generated. For example, if the conservative hypothesis data element 99 includes a single hypothesis that assumes a failure of the mechanical power supply, then the hypothesis controller 232 may include sub-components of the power supply (eg, capacitors, transformers). A number of hypotheses will be generated that correspond to failures of the formwork, bridge rectifier, etc.). Hypothesis controller 232 can determine the subcomponents of the component, because the model example data element 106 includes a data structure that identifies the subcomponents of each composite component.

보존 가설 데이터 요소(99)가 빈 상태라면, 가설 제어기(232)는 연속 테스팅 질의 데이터 요소(109)에 데이터를 기록하여, 사용자가 이전의 가설 세트보다 하나 더 많은 고장난 구성요소를 갖는 가설 세트로 고장 분리를 계속하기를 원하는지의 여부를 판정한다. 사용자의 응답은 연속 테스팅 응답 데이터 요소(108)에 제공되고, 이 연속 테스팅 응답 데이터 요소(108)는 가설 제어기(232)에 대한 입력으로서 제공되며, 이 가설 제어기(232)는 이 응답을 사용하여 가설을 연속적으로 발생할 것인지의 여부를 판정한다.If the preservation hypothesis data element 99 is empty, the hypothesis controller 232 writes data to the continuous testing query data element 109 so that the user has a hypothesis set with one more failed component than the previous hypothesis set. Determine whether you want to continue troubleshooting. The user's response is provided to the continuous testing response data element 108, which is provided as input to the hypothesis controller 232, which hypothesis controller 232 uses this response. Determine whether the hypothesis will occur continuously.

테스트 요청 데이터 요소(102)가 빈 상태가 아니라면(즉, 지능 테스트 선택 코드 모듈(100)이 사용자에게 관찰할 것을 프롬프트하면), 가설 제어기(232)는 보존 가설 데이터 요소(99)로부터의 가설을 미결 가설 데이터 요소(98)에 보내어 가설 테스터(96)가 또다른 테스트를 할 수 있게 한다. 사용자에게 관찰하도록 프롬프트된 변수에 대한 값을 예측하는 가설(즉, 테스트 요청 데이터 요소(102)에 저장된 테스트)은 전달되지 않는데, 그 이유는 또다른 테스팅이 그 가설에 대한 새로운 값을 예측하거나 그 가설을 제거할 수 없기 때문이다. 예를 들어, 보존 가설 데이터 요소(99)가 특정 도관(conduit)을 통한 양의 유체 흐름을 예측하는 가설 A와 그 도관을 통한 유체 흐름에 관한 예측을 하지 않은 가설 B를 포함한다고 가정하자. 테스트 요청 데이터 요소(102)가 사용자로 하여금 그 도관을 통한 유체 흐름을 관찰하도록 하는 프롬프트를 포함하면, 가설 제어기(232)는 (가설 B가 그 유체 흐름에 대한 어떤 예측도 하지 않기 때문에) 가설 B를 미결 가설 데이터 요소(98)로 전달하지만, (가설 A가 그 도관을 통한 양의 유체 흐름을 예측하기 때문에) 가설 A를 미결 가설 데이터 요소(98)로 전달하지는 않을 것이다. 사용자가 그 도관을 통과하는 음 또는 0의 유체 흐름을 관찰하면, 예측 테스트(104)는 보존 가설 데이터 요소(99)로부터 가설 A를 제거할 것임을 주목해야 한다.If the test request data element 102 is not empty (i.e., the intelligent test selection code module 100 prompts the user to observe), the hypothesis controller 232 may draw the hypothesis from the preservation hypothesis data element 99. Send to open hypothesis data element 98 to allow hypothesis tester 96 to perform another test. A hypothesis that predicts the value for a variable that is prompted to be observed by the user (ie, a test stored in test request data element 102) is not passed because another test predicts a new value for that hypothesis or The hypothesis cannot be eliminated. For example, suppose that the conservation hypothesis data element 99 includes hypothesis A, which predicts positive fluid flow through a specific conduit, and hypothesis B, which does not predict fluid flow through the conduit. If the test request data element 102 includes a prompt to allow the user to observe the fluid flow through the conduit, then the hypothesis controller 232 will hypothesize B (since hypothesis B makes no predictions about the fluid flow). Is passed to open hypothesis data element 98, but will not pass hypothesis A to open hypothesis data element 98 (since hypothesis A predicts positive fluid flow through the conduit). It should be noted that if the user observes a negative or zero fluid flow through the conduit, the prediction test 104 will remove the hypothesis A from the conservation hypothesis data element 99.

가설 제어기(232)는 가설(새롭게 발생된 가설 또는 보존 가설 데이터 요소(99)로부터의 가설)을 가설 저장 데이터 요소(234)에 저장한다. 가설 저장 데이터 요소(234)는 집합 선택기(236)에 대한 입력으로서 제공되며, 이 집합 선택기(236)는 모델 예시 데이터 요소(106)로부터의 데이터를 사용하여 가설 저장 데이터 요소(234)에 저장된 각각의 가설에 대한 모델 집합을 판정한다. 집합 선택기(236)는 집합 데이터 요소(238)에 그 집합을 저장한다.The hypothesis controller 232 stores the hypothesis (the hypothesis from the newly generated hypothesis or preservation hypothesis data element 99) in the hypothesis storage data element 234. Hypothesis storage data elements 234 are provided as inputs to the set selector 236, each of which is stored in the hypothesis storage data elements 234 using data from the model example data element 106. Determine a set of models for the hypothesis of. Set selector 236 stores the set in set data element 238.

집합 데이터 요소(238)는 변수 수집기(240)에 대한 입력으로서 제공되며, 이 변수 수집기(240)는 각각의 집합 세트에 대한 독특한 변수를 판정하고 그 출력을 변수 데이터 요소(242)에 저장한다. 변수 데이터 요소(242) 및 집합 데이터 요소(238)는 집합 캐쉬어(cacher)(244)에 대한 입력으로서 제공되며, 이 집합 캐쉬어(244)는 캐쉬드 집합 테이블을 발생하고, 이 집합 테이블은 각각의 변수에 의해 인덱스될 수 있으며, 테이블 각각의 요소는 인덱스 변수가 나타나는 모든 집합을 포함한다(예를 들어, 변수 V1는 집합 C1, C5 및 C6에 나타나며, 변수 V2는 집합 C2 및 C5 등에 나타난다). 캐쉬드 집합 테이블은 가설 테스터(96)에 의해 사용되어 변수 발생을 위한 탐색 집합을 갖지 않고서도 가설을 테스트한다.Set data element 238 is provided as input to variable collector 240, which determines a unique variable for each set of sets and stores its output in variable data element 242. The variable data element 242 and the aggregate data element 238 are provided as inputs to the aggregate cacher 244, which generates a cached aggregate table, which aggregates the respective aggregate table. Indexed by variable, each element of the table contains all the sets in which the index variables appear (eg, variable V1 appears in sets C1, C5, and C6, and variable V2 appears in sets C2, C5, etc.). The cached set table is used by hypothesis tester 96 to test the hypothesis without having a search set for variable generation.

새롭게 발생된 가설에 대하여, 변수 데이터 요소(242)가 빈 예측 테이블을 발생하는 예측 테이블 발생기(246)에 대한 입력으로서 제공된다. 보존 가설 데이터 요소(99)로부터 얻은 가설에 대하여는 (이미 결정된 어떤 변수값을 갖는) 이미 존재하는 예측 테이블이 사용된다. 가설 발생기(110)의 출력은 미결 가설 데이터 요소(98)에 기록되며, 가설 세트(한번에 하나)로서, 그 가설 각각에 대한 관련 캐쉬드 집합 테이블과, (새롭게 발생된 가설의 경우에는 어떠한 값도 포함하지 않는)가설 각각에 대한 관련 예측 테이블이다.For the newly generated hypothesis, a variable data element 242 is provided as input to the prediction table generator 246 which generates an empty prediction table. For hypotheses obtained from the conserved hypothesis data element 99, an existing prediction table (with some variable value already determined) is used. The output of the hypothesis generator 110 is recorded in the open hypothesis data element 98, which is a set of hypotheses (one at a time), with the associated cached set table for each of the hypotheses, and (in the case of newly generated hypotheses, any values). The relevant prediction table for each hypothesis.

제11도는 지능 테스트 선택 코어 모듈(100)의 상세 동작을 예시하는 데이터 호름도(260)이다. 보존 가설 데이터 요소(99)로부터의 출력은 테스트 분류기(262)에 제공된다. 테스트 분류기(262)는 보존 가설 데이터 요소(99)로부터의 각각의 가설과 연관된 예측을 조사하고 각각의 변수를 타입 I 테스트, 타입 II 테스트, 또는 타입 III 테스트로 분류하며, 타입 I 테스트는 보존 가설 데이터 요소(99)로부터의 적어도 하나의 가설이 무시될 수 있게 보장하는 사용자가 행할 수 있는 관찰이고, 타입 II 테스트는 가설이 무시될 수 있게 하거나 또는 그렇지 않을 수도 있는 관찰이며, 타입 III 테스트는 가설이 무시될 수 없게 하는 관찰이다. 테스트 분류기(262)의 출력은 분류된 테스트 데이터 요소(264)에 저장된다.11 is a data flow diagram 260 illustrating the detailed operation of the intelligent test selection core module 100. The output from the retention hypothesis data element 99 is provided to the test classifier 262. The test classifier 262 examines the predictions associated with each hypothesis from the conservation hypothesis data element 99 and classifies each variable as a type I test, a type II test, or a type III test, and the type I test is a conservation hypothesis. Is a user-permissible observation that ensures that at least one hypothesis from data element 99 can be ignored, a type II test is an observation that may or may not be ignored, and a type III test is a hypothesis. This is an observation that cannot be ignored. The output of the test classifier 262 is stored in the classified test data element 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 테스트로 간주할 것이다.As an example of test classification, the hypothesis that the conservation hypothesis data element 99 includes hypothesis A and hypothesis B, where hypothesis A predicts that a specific current will be greater than or equal to zero, and hypothesis B predicts that the current will be less than zero lets do it. The test classifier 262 will consider the current as a type I test because, regardless of the actual value of the current, a user observes (and inputs to the QRS) that the current ensures the elimination of hypothesis A or B. Because it has. Continuing with this example, assume that hypothesis A predicts a voltage above zero at a point and hypothesis B predicts a voltage below zero at that point. The test classifier 262 will consider the voltage measurement as a type II test because the user may not be able to remove hypothesis A or hypothesis B by observing the voltage. If the user measures a voltage of zero, none of hypothesis A or hypothesis B can be removed, but if the user measures a non-zero voltage, none of hypothesis A or hypothesis B can be removed. Also assume that both hypothesis A and hypothesis B do not make predictions for a particular fluid flow. The test classifier 262 will then consider the fluid flow as a type III test.

보존 가설 데이터 요소(99)의 출력은 테스트 결과 이득 발생기(266)에 제공되며, 이 테스트 결과 이득 발생기(266)는 각 변수의 각각의 가능한 값에 대해, 보존 가설 데이터 요소(99)로부터의 가설들 중에서 변수가 특정값과 동일했다면 버려지게 될 부분을 판정한다. 예를 들어, 보존 가설 데이터 요소(99)는 10개의 가설을 포함하고, 이들 가설중 3개는 특정 전류가 양의 값 또는 0으로 될 것임을 예측하고, 4개는 그 전류가 음의 값일 것으로 예측하며, 나머지 3개는 그 전류에 대한 어떠한 예측도 하지 않는다고 가정하자. 양의 전류에 대한 이득은 4/10일 것이고, 음의 전류에 대한 이득은 3/10일 것이다. 테스트 결과 이득 발생기(266)는 이득 데이터 요소(268)에 저장된다.An output of the retention hypothesis data element 99 is provided to a test result gain generator 266, which, for each possible value of each variable, hypothesis from the retention hypothesis data element 99. If the variable is equal to a certain value, the part to be discarded is determined. For example, the conservation hypothesis data element 99 includes ten hypotheses, three of which predict that a certain current will be positive or zero, and four predict that the current will be negative. Assume that the remaining three do not make any predictions about the current. The gain for positive current will be 4/10 and the gain for negative current will be 3/10. Test result gain generator 266 is stored in gain data element 268.

보존 가설 데이터 요소(99) 및 구성요소 정보 데이터 요소(101)의 출력은 가설 확률 발생기(270)에 제공되며, 이 가설 확률 발생기(270)는 구성요소 정보 데이터 요소(101)로부터의 실험적 구성요소 고장률 정보를 사용하여 보존 가설 데이터 요소(99)로부터의 각 가설의 확률적인 유효도를 예측한다. 가설 확률 발생기(270)로부터의 출력은 가설 확률 데이터 요소(275)에 저장된다.The outputs of the stored hypothesis data element 99 and the component information data element 101 are provided to a hypothesis probability generator 270, which is an experimental component from the component information data element 101. Failure rate information is used to predict the probabilistic effectiveness of each hypothesis from the conserved hypothesis data element 99. The output from hypothesis probability generator 270 is stored in hypothesis probability data element 275.

가설 확률 데이터 요소(272) 및 보존 가설 데이터 요소(99)는 테스트 결과 확률 발생기(274)에 대한 입력으로서 제공된다. 테스트 결과 확률 발생기(274)는 사용자가 각각의 변수에 대해 관찰하게 될 기대 값을 예측한다. 확률이 높은 가설에 의해 예측되는 변수의 값은 확률이 낮은 가설에 의해 예측되는 변수의 값보다 관찰될 가능성이 높다. 예를 들어, 보존 가설 데이터 요소(99)는 특정의 유체 흐름이 0으로 될 것임을 예측하는 가설 A와 그 유체 흐름이 0으로 되지 않을 것임을 예측하는 가설 B를 포함한다고 가정한다. 또한 가설 A는 확률 발생기(270)에 의해 80 퍼센트의 확률을 갖는 것으로 간주되고, 가설 B는 가설 확률 데이터 요소(270)에 의해 20 퍼센트의 확률을 갖는 것으로 간주된다고 가정한다. 이 때, 테스트 결과 확률 발생기(234)는 사용자가 유체 흐름을 0으로 관찰할 가능성은 80 퍼센트이고 사용자가 유체 흐름을 0이 아니라고 관찰할 가능성은 20 퍼센트로 판정할 것이다.The hypothesis probability data element 272 and the retention hypothesis data element 99 are provided as inputs to the test result probability generator 274. Test result probability generator 274 predicts the expected value that the user will observe for each variable. The value of a variable predicted by a high probability hypothesis is more likely to be observed than the value of a variable predicted by a low probability hypothesis. For example, assume that the conservation hypothesis data element 99 includes hypothesis A, which predicts that a particular fluid flow will be zero, and hypothesis B, which predicts that fluid flow will not be zero. It is also assumed that hypothesis A is considered to have an 80 percent probability by probability generator 270 and hypothesis B is considered to have a 20 percent probability by hypothesis probability data element 270. At this point, the test result probability generator 234 will determine that the user is 80 percent likely to observe fluid flow as zero and the user is 20 percent likely to observe fluid flow as nonzero.

테스트 결과 확률 발생기(274)로부터의 출력은 예상 확률 데이터 요소(276)에 저장되며, 이 예상 확률 데이터 요소(276)는 이득 데이터 요소(268)와 함께, 테스트 효율 발생기(278)에 대한 입력으로서 제공된다. 각각의 변수에 대하여, 테스트 효율 발생기(278)는 변수가 가질 수 있는 각각의 값에 대한 예상 확률과 이득과의 곱의 총합을 계산함으로써 사용자가 그 변수를 측정하는 효율을 결정한다. 예를 들어, 변수 X가 세 개의 가능한 값, 즉, 마이너스, 0, 플러스를 갖는다고 가정한다. 또한, 그 변수를 마이너스로 측정하는 이득이 1/10이고, 변수를 0으로서 측정하는 이득이 2/10이며, 변수를 플러스로서 측정하는 이득이 6/10이라고 가정한다. 또한, X가 마이너스일 확률은 25 퍼센트이고, X가 0일 확률은 70 퍼센트이며, X가 플러스일 확률은 5 퍼센트라고 가정한다. 이 때 변수 X를 측정하는 효율은 다음의 방정식에 의하여 결정된다.The output from the test result probability generator 274 is stored in the predicted probability data element 276, which, together with the gain data element 268, serves as input to the test efficiency generator 278. Is provided. For each variable, the test efficiency generator 278 determines the efficiency with which the user measures the variable by calculating the sum of the product of the expected probability and the gain for each value that the variable may have. For example, suppose the variable X has three possible values: minus, zero, plus. It is also assumed that the gain for measuring the variable negatively is 1/10, the gain for measuring the variable as 0 is 2/10, and the gain for measuring the variable as positive is 6/10. Also assume that the probability that X is negative is 25 percent, the probability that X is zero is 70 percent, and the probability that X is positive is 5 percent. At this time, the efficiency of measuring the variable X is determined by the following equation.

X의 효율 = (0.10×0.25) + (0.20×0.70) + (0.60×0.05)Efficiency of 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)을 참조하기 바란다.The output of the test efficiency generator 278 is stored in the test efficiency data element 280, and the test efficiency data element 280, along with data from the component information data element 101, for the test score generator 282. Provided as input. Test score generator 282 divides the test efficiency for each variable by the test time for each variable (from component information data element 101) for each variable stored in test score data element 284. Provide test scores. For each variable, test score generator 282 determines a desire prompting the user to observe the machine parameter represented by that variable. For two variables with the same efficiency, the longer the user measures, the lower the test score will be. In addition, some variables, such as the internal frictional force of the mechanical parts, may render the user impossible to measure, allotting test time to infinity. For details on the theory and calculation of efficiency, see Von Neumann John and Theory of Games and Economic Behavior by Morgenstern, Oskar, 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)로부터의 가설을 확장하는 것을 시작한다.The test score data element 284 and the classified test data element 364 are provided as inputs to the test selector 286, which is intended to determine the best observation that a user makes. The test selector 286 is also provided with a third input from the threshold data element 288, which includes a threshold for each test type (in this embodiment, the type The threshold for I is 0.5 and the threshold for Type II is 100). The test selector 286 selects the type I test with the highest test score (ie, user observations that remove at least one hypothesis from the retention hypothesis data element 99). However, if the highest scoring Type I test has a score lower than the threshold for the Type II test, the test selector 286 selects the highest scoring Type I test with a test score higher than the threshold for the Type II test. If there is a type I, type II test with a test score higher than the respective threshold, the test selector 286 does not select the test. The output of the test selector 286 is written to the test request data element 102. If test selector 286 writes nothing to test request data element 102, hypothesis generator 105 detects that test data element 102 is empty to extend the hypothesis from preservation hypothesis data element 99. To start things.

제12도는 모델 구축기를 예시한 데이터 흐름도(300)로서, 이 모델 구축기는 QRS 소프트웨어가 사용하는 모델 예시 데이터 요소(106)를 생성한다. 모델 예시 데이터 요소(106)는 매사추세츠 벌링턴(Burlington, Ma.)에 소재하는 심볼릭스사(Symbolics Inc.)가 제작한 Symbolics 3640과 같은 컴퓨터 워크스테이션상에서 모델 구축기를 실행시킴으로써 오프-라인(off-line)으로 구성되고, 그 다음에 PMA(30)로 전달되어 QRS 소프트웨어의 일부가 된다.12 is a data flow diagram 300 illustrating a model builder, which generates model example data elements 106 for use by the QRS software. The model example data element 106 is off-line by running a model builder on a computer workstation, such as Symbolics 3640 by Symbolic Inc. of Burlington, MA. It is then delivered to the PMA 30 to be part of the QRS software.

모델 구축기에 대한 입력은 그래픽 사용자 인터페이스(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)의 구성요소의 상호접속은 모델 계층을 정의하여 그 계층의 최저 레벨에는 기본 구성요소가 있고 최고 레벨에는 모델링되고 있는 기계를 나타내는 단일의 복합 구성요소가 있게 한다.Input to the model builder is via a graphical user interface 302, which is described in “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. User input from the graphical user interface 302 is provided to the model configurator 304, which processes the user input and stores the model component data file 306 to be stored on the workstation's disk. Occurs. The model component data file 306 contains the definitions of the base model components (ie terminals, variables, and sets of the base components) and the definitions of the composite components, which you can use to interconnect the base components or It can be created by interconnecting other composite components. The data stored in the model component data file 306 takes the form of a LISP expression having a configuration known to those skilled in the art. The interconnection of the components of the component data file 306 defines a model hierarchy such that there is a base component at the lowest level of the hierarchy and a single composite component representing the machine being modeled at the highest level.

구성요소 데이터 파일(306)은 모델 인스탄시에이터(instantiator)(398)에 대한 입력으로서 제공되며, 이 모델 인스탄시에이터(308)는 모델 구성요소, 파라미터, 및 접속의 특성을 고려하여, 구성요소 데이터 파일(306)을 PMA(30)의 QRS 소프트웨어가 프로세스하는데 최적화된 포맷으로 변환한다. 모델 인스탄시에이터(308)에 의한 변환 결과는 예시 데이터 파일(310)에 출력되고, 이 예시 데이터 파일(310)은 워크스테이션의 디스크에 저장되고, PMA상의 QRS 소프트웨어로 전달되어 모델 예시 데이터 요소(106)가 될 수 있다. 인스탄시에이터(308)에 의해 수행된 변환은 중위 표기법(infix notation)으로부터 전위 표기법(prefix notation)으로의 집합 변환, 조건부 집합으로부터의 키워드 추출, 신속한 액세스를 위해 각 집합에 사용되는 변수의 사전 소팅(presorting), 및 LISP 속성 리스트로부터 LISP 심볼로의 데이터 변수 유형의 변환을 포함한다.The component data file 306 is provided as input to the model insulator 398, which takes into account the characteristics of the model components, parameters, and connections, The component data file 306 is converted into a format optimized for processing by the QRS software of the PMA 30. The conversion result by the model instructor 308 is output to the example data file 310, which is stored on the workstation's disk and passed to the QRS software on the PMA to provide the model example data element. (106). The conversion performed by the insulator 308 is a set conversion from infix notation to prefix notation, keyword extraction from conditional sets, and a dictionary of variables used in each set for quick access. Sorting, and conversion of data variable types from LISP attribute lists to LISP symbols.

인스탄시에이터(308)는 또한 구속 감소에 의해 모델의 변수 및 구 속의 수를 감소시킨다. 구속 감소는 구성요소의 집합을 조사하여, V1=V2 또는 V1=-V2의 형식을 가지며, 터미널 변수(즉, 구성요소의 터미널의 조건을 기술함)는 변수들중 하나를 초과하지 않는 단순한 집합을 제거하는 것을 포함한다. 다른 변수는 터미널 또는 비-터미널(non-terminal) 변수일 수 있다. 1개의 비-터미널 변수 및 단순한 집합은 구성요소에 대한 모든 집합내의 비-터미널 변수를 다른 변수(또는 V1=-V2 형식의 단순한 집합의 경우에는 상기한 다른 변수의 부정값)로 대체함으로써 제거된다. 한가지 제한은 비-터미널 변수에 대한 가능한 정성 값은 다른 변수에 대해 가능한 정성 값의 서브세트이어야 한다는 것이다.Instructor 308 also reduces the number of variables and constraints in the model by reducing constraints. Constraint reduction examines a set of components, in the form V1 = V2 or V1 = -V2, and terminal variables (that describe the condition of the terminal of the component) are simple sets that do not exceed one of the variables. It includes removing it. Other variables may be terminal or non-terminal variables. One non-terminal variable and a simple set are removed by replacing the non-terminal variable in all the sets for the component with another variable (or the negative value of the other variable described above in the case of a simple set of the form V1 = -V2). . One limitation is that the possible qualitative values for non-terminal variables should be a subset of the possible qualitative values for other variables.

구속 감소 프로세스는 모델 계층의 최적 레벨에서 시작된다. 최저 레벨에서 제거되는 변수는 또한 그 보다 높은 계층 레벨로부터 제거된다. 그 계층의 후속 레벨에서, 더 많은 변수가 제거될 수 있는데, 그 이유는 한 레벨의 터미널을 기술하는 변수가 그 보다 높은 모델 계층 레벨에서 구성요소의 터미널을 기술하지 않을 수도 있기 때문이다. 예를 들어, 기본 구성요소가 함께 그룹화될 때는 전력 공급 장치의 많은 기본 구성요소 터미널 변수가 비-터미널 변수로 된다.The constraint reduction process begins at the optimal level of the model hierarchy. Variables removed at the lowest level are also removed from higher hierarchical levels. At subsequent levels of the hierarchy, more variables may be removed, because variables describing one level of terminal may not describe the terminal of the component at a higher model hierarchy level. For example, when the base components are grouped together, many of the base component terminal variables of the power supply become non-terminal variables.

QRS가 적절히 동작하려면, 예시 데이터 파일(310)은 모델링되고 있는 시스템의 정확한 표현을 포함해야 한다. 예시 데이터 파일(310)은 모델 테스터(312)에 대한 입력으로서 제공되며, 이 모델 테스터(312)는 그래픽 사용자 인터페이스(302)를 통해 사용자와 상호작용하여 예시 데이터 파일(310)의 구성요소를 실행한다. 모델 테스터(312)는 정성적 물리학을 이용함으로써 구성요소를 실행하여 고장을 검출하고 진단하거나 구성요소의 동작 상태를 발생하여, 그래픽 사용자 인터페이스(302)를 통해 사용자에게 정보를 제공한다. 예를 들어, 예시 데이터 파일(310)에 있는 밸브의 경우, 구성요소 테스터(312)는 그 밸브가 폐쇄되어, 밸브로부터 나오는 유량 및 밸브로 들어가는 유량이 0으로 되는 제1상태, 밸브가 개방되어, 밸브로 들어가는 유량이 양의 값이고 밸브로부터 나오는 유량이 양의 값으로 되는 제2상태, 밸브가 개방되어, 밸브로 들어가는 유량이 음의 값이고 밸브로부터 나오는 유량이 음의 값으로 되는 제3상태와, 밸브가 개방되어, 밸브로 들어가는 유량이 0이고 밸브로부터 나오는 유량이 또한 0으로 되는 제4상태를 발생할 수 있다.For the QRS to work properly, the example data file 310 must contain an accurate representation of the system being modeled. The example data file 310 is provided as input to the model tester 312, which interacts with the user through the graphical user interface 302 to execute the components of the example data file 310. do. The model tester 312 utilizes qualitative physics to execute the component to detect and diagnose failures or generate operating states of the component, providing information to the user through the graphical user interface 302. For example, for a valve in the example data file 310, component tester 312 may be configured to provide a first state in which the valve is closed such that the flow rate from the valve and the flow rate into the valve are zero, the valve is open. A second state in which the flow rate entering the valve is positive and the flow rate exiting the valve is positive, and the valve is opened so that the flow rate entering the valve is negative and the flow rate exiting the valve becomes negative And a fourth state in which the valve is open and the flow rate entering the valve is zero and the flow rate exiting the valve is also zero.

상태가 발생하는 것에 의해 사용자는 구성요소 모델의 디버깅을 할 수 있게 된다. 사용자가 구성요소에 대해 너무 많은 구속을 제공했다면, 모델 테스터(312)는 그 구성요소에 대한 모든 가능한 상태를 발생하지 못할 것이다. 예를 들어, 상기한 밸브 예를 이용하여, 사용자가 밸브에 대해 너무 많은 구속을 제공했다면, 모델 테스터(312)는 상기한 4개의 동작 상태중에서 3개만으로 발생할 수도 있다. 이와 마찬가지로, 사용자가 너무 적은 구속을 제공했다면, 모델 테스터(312)는 과다의 부적법한 상태를 발생할 수도 있다. 예를 들어, 상술한 밸브 예를 이용하여, 사용자가 밸브가 폐쇄된 때에 밸브에 대한 유출량 및 유입량이 0임을 지정하는 밸브의 구속을 제공하지 않았다면, 모델 테스터(312)는 밸브가 폐쇄되고 밸브에 대한 유입량 및 유출량이 0이 아닌 양의 값으로 되는 상태를 발생할 수도 있다.The occurrence of a state allows the user to debug the component model. If the user provided too many constraints on a component, the model tester 312 will not generate all possible states for that component. For example, using the valve example described above, if the user provided too much restraint for the valve, the model tester 312 may only occur in three of the four operational states described above. Likewise, if the user provided too little restraint, the model tester 312 may generate an excessive and illegal condition. For example, using the valve example described above, if the user did not provide a restraint of the valve specifying that the outflow and inflow for the valve were zero when the valve was closed, the model tester 312 would close the valve and It may also occur that the inflows and outflows for these are non-zero positive values.

사용자는 또한 테스트 사례 데이터 파일(314)을 선택적으로 발생할 수도 있으며, 이 테스트 사례 데이터 파일(314)은 워크스테이션의 디스크상에 저장된다. 테스트 사례 데이터 파일(314)은 예시 데이터 파일(310)에 저장된 구성요소의 할당된 변수값의 사전결정된 세트를 포함한다. 예를 들어, 테스트 사례 데이터 파일(314)은 전기적 저항에 대한 할당된 변수 값의 제1 및 제2세트를 포함할 수도 있다. 제1세트의 경우, 저항을 통해 흐르는 전류는 양의 값을 가지며, 저항 양단간의 전압은 양의 값을 갖는다. 제2세트의 경우, 저항을 통해 흐르는 전류는 음의 값을 갖고 저항 양단간의 전압도 음의 값을 갖는다. 테스트 사례 데이터 파일(314)은 특정 구성요소에 대한 모든 테스트 경우를 포함할 필요가 없다. 상기한 저항 예의 경우, 저항에 대한 전류 및 전압이 0인 경우는 사용되지 않는다.The user may also optionally generate a test case data file 314, which is stored on the workstation's disk. The test case data file 314 includes a predetermined set of assigned variable values of the components stored in the example data file 310. For example, test case data file 314 may include first and second sets of assigned variable values for electrical resistance. In the first set, the current flowing through the resistor has a positive value, and the voltage across the resistor has a positive value. In the second set, the current flowing through the resistor is negative and the voltage across the resistor is also negative. Test case data file 314 need not include all test cases for a particular component. In the case of the resistor example described above, the case where the current and voltage for the resistor is zero is not used.

또한, 테스트 데이터 파일(314)은 무효 사례, 즉, 구성요소의 집합을 위반하는 변수값 세트를 포함할 수도 있다. 예를 들어, 테스트 사례 데이터 파일(314)은 저항 양단간의 전압이 양의 값을 갖고 저항을 통해 흐르는 전류가 음의 값을 갖는 저항에 대한 경우를 포함할 수도 있다. 테스트 사례 데이터 파일(314)은 구성요소 테스터(312)에 대한 입력으로서 제공되며, 이 구성요소 테스터(312)는 사전결정된 사례 세트로부터의 값을 테스트하고 있는 구성요소의 변수로 대체한다. 구성요소 테스터(312)는 그 결과를 사용자 인터페이스(302)를 통해 사용자에게 보고한다. 생성 시점에서 사용자에 의해 테스트 데이터 파일(314)내의 각각의 사례가 제공되는 스트링(string)은 사용자 인터페이스(302)를 통해 사용자에게 또한 보고됨에 따라, 예를 들어 무효인 경우에 대한 스트링은 그 경우 자체를 식별할 수 있다.The test data file 314 may also include a set of variable values that violate invalid cases, ie, a set of components. For example, the test case data file 314 may include a case for a resistor in which the voltage across the resistor has a positive value and the current flowing through the resistor has a negative value. Test case data file 314 is provided as input to component tester 312, which replaces values from a predetermined set of cases with variables of the component under test. Component tester 312 reports the results to user via user interface 302. As the string at which each instance in the test data file 314 is provided by the user at the time of creation is also reported to the user via the user interface 302, for example the string for the invalid case is It can identify itself.

QRS 소프트웨어를 PMA(30)에 대한 것으로 도시하고 모델 구성을 Symbolics 3640 워크스테이션상에서 설정하는 것으로 예시하였으나, 당업자라면 QRS 또는 모델 구성을 각종 계산 시스템에 적용할 수 있음을 이해할 것이다. 마찬가지로, QRS 소프트웨어를 LISP로 기록한 것으로 하였으나, 본 발명은 필요한 기능을 지지할 수 있는 임의의 컴퓨터 언어를 사용하여 실행될 수도 있을 것이다. 본 명세서에 예시한 고장 분리 시스템이 규칙 기반형 시스템을 사용한 후에 QRS를 사용하는 것으로 하였으나, 당업자라면 규칙 기반형 시스템을 전혀 사용하지 않고 QRS가 동작되게 할 수 있음이 이해될 것이다.Although the QRS software is illustrated as for the PMA 30 and the model configuration is set up on a Symbolics 3640 workstation, those skilled in the art will appreciate that the QRS or model configuration can be applied to various computational systems. Similarly, while QRS software is written in LISP, the present invention may be implemented using any computer language capable of supporting the required functionality. Although the fault isolation system illustrated herein uses QRS after using a rule based system, it will be understood by those skilled in the art that the QRS can be operated without using a rule based system at all.

또한, 정성적 물리학을 고장 분리 및 모델 구성요소의 디버깅에 사용하는 것으로서 하였으나, 당업자라면 정성적 물리학을 본 명세서에 예시한 적용예 이외의 많은 다른 적용예에도 사용할 수 있음이 이해될 것이다. 본 발명은 정성적으로 모델링될 수 있는 임의 형태의 시스템에 대한 고장 분리에도 사용될 수 있다. 또한, (코어 예측, 동적 가정 순서 프로세스 및 집합 캐쉬 프로세스와 같은) 정성적 물리학 모델링에 대한 개선에 관한 본 발명의 특징은 본 명세서에 예시한 것들 이외의 적용예를 갖는다. 코어 예측 및 동적 가정 순서 프로세스의 구속 전파 특징은 (변수가 임의의 가능한 값을 취할 수 없을 때마다 불일치 예측 세트를 발생하지 않고) 불일치 모델의 무효화에 사용될 수 있다. 마찬가지로, 결과적인 고장 분리 시스템이 저하된 방식으로 수행된다 할 지라도, 정성적 물리학 모델링은 코어 예측, 동적 가정 순서 프로세서 또는 집합 캐쉬 프로세스를 사용하지 않고 고장 분리에 사용될 수 있다. 동적 가정 순서 프로세스가 값의 대입을 위해 최대 수의 목표 집합에 나타나는 변수를 선택하는 것으로서 본 명세서에 예시하고 있으나, 제2 또는 제3의 최대 수의 목표 집합에 나타나는 변수를 선택하는 바와 같은 다른 방안을 사용하여, 여전히 동적 가정 순서 프로세스의 몇 가지 장점을 도출할 수 있다.In addition, although qualitative physics is used for fault isolation and debugging of model components, it will be understood by those skilled in the art that qualitative physics may be used for many other applications other than the applications illustrated herein. The invention can also be used for fault isolation for any type of system that can be modeled qualitatively. In addition, features of the present invention regarding improvements to qualitative physics modeling (such as core prediction, dynamic hypothesis ordering processes, and aggregation cache processes) have applications other than those illustrated herein. The constraint propagation feature of the core prediction and dynamic hypothesis ordering process can be used to invalidate the mismatch model (without generating a mismatch prediction set whenever a variable cannot take any possible value). Similarly, even if the resulting fault isolation system is performed in a degraded manner, qualitative physics modeling can be used for fault isolation without using core prediction, dynamic hypothesis order processors or aggregate cache processes. Although the dynamic assumption ordering process is illustrated herein as selecting variables that appear in the maximum number of target sets for assignment of values, other approaches such as selecting variables that appear in the second or third maximum number of target sets. We can still derive some of the advantages of the dynamic assumption ordering process.

지능 테스트 선택 코드 모듈(100)의 타입 I 및 타입 II에 대해 본 명세서에서 예시한 임계값은 변경될 수도 있다. 이와 마찬가지로, 테스트 스코어의 계산에 사용된 특정 방정식, 또는 본 명세서에 사용한 기준은 본 발명의 사상 및 범주를 벗어나지 않고서 수정될 수 있다. 본 명세서에서 예시한 지능 테스트 선택 코드 모듈(100)은 고장 분리 이외에도, 구성요소의 설계시, 구성요소의 테스트를 위한 최상의 측정을 결정하고, 이에 따라, 구성요소에 대한 테스트 지점을 배치하는 바와 같은 다른 적용예를 갖는다.The thresholds illustrated herein for Type I and Type II of the intelligent test selection code module 100 may be changed. Likewise, the specific equations used in the calculation of the test scores, or the criteria used herein, may be modified without departing from the spirit and scope of the invention. The intelligent test selection code module 100 illustrated herein, in addition to fault isolation, determines the best measurements for testing of the component when designing the component, and thus places test points for the component. It has another application.

본 명세서에 예시한 동시적으로 발생하는 구성요소 고장의 수(예를 들어, 구성요소 고장이 없음, 하나의 구성요소 고장, 두 개의 구성요소의 동시적 고장, 등)에 대한 가정의 순서, 및 이에 따른 가설 발생의 순서는 본 발명의 사상 및 범주를 벗어나지 않고서 수정될 수도 있다. 마찬가지로, 동시 고장으로 가정되는 구성요소의 수가 증가될 때마다 사용자에게 프롬프트하고 응답을 결정하는 단계는, 사용자에게 알리지 않고서 QRS가 그 수를 자동적으로 증가시키고 고장 분리를 계속함으로써 제거될 수도 있다. QRS는 전체적으로 기본 구성요소로 이루어진 모델에 대해 동작할 수 있으며, 따라서 모델 예시 데이터 요소(106)에 포함된 모델이 계층적인 것을 요구하지 않는다.The order of assumptions about the number of concurrently occurring component failures illustrated herein (eg, no component failure, one component failure, simultaneous failure of two components, etc.), and The order of hypothesis generation may be modified without departing from the spirit and scope of the invention. Similarly, prompting the user and determining the response each time the number of components assumed to be concurrent failures is increased may be eliminated by the QRS automatically increasing the number and continuing failure isolation without notifying the user. The QRS may operate on a model consisting entirely of basic components, and thus do not require that the model included in the model example data element 106 be hierarchical.

모델 구축기에 대한 하나의 적용예(즉, QRS의 모델 예시 데이터 요소(106)를 구성하기 위해 모델 구축기를 사용함)를 본 명세서에 예시하였으나, 당업자라면, 모델 구축기가 다른 많은 적용예를 가질 수 있음을 알 것이다. 본 명세서에 예시한 것 이외의 다른 프로세스는 모델 예시 데이터 요소(106)의 생성에 사용될 수 있다. 또한, QRS는 본 명세서에 예시한 최적화 서브세트(예를 들어, 구속감소, 키워드 추출, LISP 속성 리스트로부터 LISP 심볼로의 데이터 변수 유형의 변환, 등)만이 인스탄시에이터(308)에 의해 모델에 대해 수행되는 모델 예시에 대해 동작할 수 있으나, 그 결과 QRS의 성능이 저하될 수도 있다. QRS는 또한 구성요소 데이터 파일(306)에 대해 직접 동작하도록 구성될 수도 있으나, 이러한 시스템은 본 명세서에 예시한 실시예보다 실행 속도가 더 느리게 될 수도 있다. 모델 예시는 본 명세서에 예시한 것이 아닌 방법을 사용하여 테스트될 수도 있다.Although one application to the model builder (ie, using the model builder to construct the model example data element 106 of QRS) is illustrated herein, those skilled in the art can have many other applications. Will know. Processes other than those illustrated herein can be used in the generation of model example data elements 106. In addition, QRS models only the subset of optimizations exemplified herein (eg, constraint reduction, keyword extraction, conversion of data variable types from LISP attribute lists to LISP symbols, etc.) by the instance 308. It may operate on a model example performed for, but as a result may degrade the performance of the QRS. The QRS may also be configured to operate directly on the component data file 306, but such a system may be slower to execute than the embodiments illustrated herein. Model examples may be tested using methods other than those illustrated herein.

본 발명에서는 사용자가 관찰을 하는 것으로 하였으나, 고장 분리가 행해지고 있는 기계와 PMA(30)간의 데이터 접속을 제공하고 그 데이터 접속을 통해 QRS가 정보를 기계에 요청하게 하며, 그 기계가 또한 그 데이터 접속을 통해 정보를 제공하게 함으로써 관찰 획득 프로세서를 자동화할 수 있다. 또한, QRS는 규칙 기반형 시스템으로부터의 관찰에 의한 초기화시 관찰 데이터 요소(94)가 단일의 기본 구성 요소에 대한 기게 고장을 분리하는데 충분한 양의 정보를 포함한다면, 부가적인 관찰르 사용자에게 프롬프트하지 않고서 고장 분리를 행할 수도 있다. 또한, 어떤 관찰이 수행하고자 하는 것인가를 판정하는데 다른 방법(무작위 선택법을 포함)을 사용함으로써 지능 테스트 선택 코드 모듈(100) 없이도 고장 분리를 행할 수 있으나, 이 경우에는 QRS가 기계 고장을 분리하는데 소요되는 시간이 더 길어질 수도 있다.In the present invention, the user observes, but provides a data connection between the machine in which the fault isolation is being performed and the PMA 30, through which the QRS requests information from the machine, and the machine also connects to the data. It is possible to automate the observation acquisition process by providing the information through. In addition, QRS does not prompt additional observation users if the observation data element 94 contains enough information to isolate the failure for a single base component upon initialization by observation from a rule-based system. Fault isolation can also be performed without Also, by using other methods (including random selection) to determine what observations to perform, fault isolation can be performed without the intelligent test selection code module 100, but in this case QRS is required to isolate the machine fault. It may take longer.

본 발명을 대표적인 실시예에 대해 도시되고 기술되었으나, 당업자라면 본 발명의 사상 및 범주를 벗어나지 않고서도 각종 변경, 생략 및 부가가 가능함을 알아야 할 것이다.While the invention has been shown and described with respect to exemplary embodiments, those skilled in the art will recognize that various changes, omissions and additions may be made without departing from the spirit and scope of the invention.

Claims (25)

다수의 기계 모델을 테스트함으로써 기계의 고장을 분리하는 방법-상기 모델의 각각은 다수의 기계 구성요소가 고장난 것으로 가정하고, 상기 테스트는 상기 모델의 방정식을 통해 기계 파라미터의 실제 값을 전파(propagating)하여 기계 파라미터의 값에 대한 예측 세트(a set of predictions)를 생성하는 단계, 상기 모델중에서 일치하지 않는(inconsistent) 예측 세트를 생성하는 모델의 방정식을 폐기(disregarding)하는 단계, 및 상기 모델중에서 일치하는(comsistent) 예측 세트를 생성하는 모델의 방정식을 저장하는 단계를 포함한다-에 있어서, 상기 기계 구성요소의 정성적 물리학 기술(qualitative physics descriptions)을 이용하여 상기 모델을 발생하는 단계와, 기계 파라미터의 부가적인 실제 값을 획득하는 단계와, 상기 부가적인 실제 값과 일치하지 않는 변수에 대한 값을 예측하는 각각의 모델을 폐기하는 단계를 포함하는 기계 고장 분리 방법.How to isolate a failure of a machine by testing a number of machine models—each of the models assumes that a number of machine components have failed, and the test propagates the actual values of machine parameters through the equations of the model Generating a set of predictions for a value of a machine parameter, discarding an equation of the model that produces an inconsistent prediction set in the model, and matching in the model Storing an equation of a model that produces a consistent set of predictions, wherein the model is generated using qualitative physics descriptions of the mechanical components, and machine parameters. Obtaining an additional actual value of and obtaining a value for the variable that does not match the additional actual value. Discarding each predictive model. 제1항에 있어서, 상기 기계 파라미터의 부가적인 실제 값을 획득하는 단계는, 컴퓨터 디스플레이상에 질의를 배치하여 특정 입력을 사용자에게 프롬프트(prompt)하는 단계와, 사용자 키보드 입력을 프로세스하여 사용자의 응답을 판정하는 단계를 포함하는 기계 고장 분리 방법.The method of claim 1, wherein obtaining additional actual values of the machine parameters comprises: placing a query on a computer display to prompt a user for a particular input; and processing a user keyboard input to respond to a user's response. Determining the failure of the machine. 제1항에 있어서, 상기 발생 단계는, 제1모델 세트는 어떤 구성요소도 고장나지 않았음을 가정하고, 제2모델 세트는 하나의 구성요소가 고장났음을 가정하며, 제3모델 세트는 두 개의 구성요소가 동시에 고장났음을 가정하고, 모든 후속 모델 세트는 제각기 그의 선행하는 모델 세트보다 하나 더 많은 구성요소가 동시에 고장났음을 가정하는 식으로 상기 모델의 발생을 순차적으로 순서화하는(ordering) 단계를 포함하는 기계 고장 분리 방법.The method of claim 1, wherein the generating step assumes that the first model set has not failed any component, the second model set assumes that one component has failed, and the third model set has two Sequentially ordering the generation of the model, assuming that the two components have failed at the same time, and every subsequent model set assumes that one more component has failed at the same time than each of its preceding model sets. Machine failure separation method comprising a. 제3항에 있어서, 상기 후속 모델 세트의 발생을 순서화하는 단계는 상기 후속 모델 세트를 발생하기 위한 허가를 질의에 대해 사용자가 긍정적으로 응답하는 것에 따라서만 발생하는 기계 고장 분리 방법.4. The method of claim 3, wherein ordering the generation of the subsequent model set occurs only as a user responds positively to the query for permission to generate the subsequent model set. 제4항에 있어서, 상기 정성적 물리학 기술은 몇몇 구성요소가 부구성요소로 이루어지도록 계층적으로 배열되는 기계 고장 분리 방법.5. The method of claim 4 wherein the qualitative physics technique is arranged hierarchically so that some components are made up of subcomponents. 제5항에 있어서, 사용자에게 입력을 프롬프트하여 폐기될 수 없는 상기 저장된 모델이 하나이상 존재하는 것에 따라서, 상기 저장된 모델과 연관된 고장난 구성요소의 부구성요소의 고장을 가정하는 새로운 모델이 발생하는 기계 고장 분리 방법.6. The machine of claim 5, wherein a new model is created that assumes a failure of a subcomponent of a failed component associated with the stored model, as one or more of the stored model cannot be discarded by prompting a user for input. How to isolate faults. 제1항에 있어서, 타입 I 기계 파라미터 세트를 형성하는 단계-상기 타입 I 기계 파라미터 세트의 각각에 대해, 상기 파라미터의 모든 가능한 값은 상기 모델중의 적어도 하나와 연관된 예측이 일치하지 않게 한다-와, 상기 타입 I 기계 파라미터 세트로부터 관찰을 위한 파라미터를 선택하는 단계를 더 포함하는 기계 고장 분리 방법.The method of claim 1, further comprising: forming a type I machine parameter set, for each of the type I machine parameter sets, all possible values of the parameter cause the prediction associated with at least one of the models to be inconsistent. And selecting a parameter for observation from said type I machine parameter set. 제7항에 있어서, 상기 타입 I 기계 파라미터 세트의 각가에 대한 테스트 스코어를 계산하는 단계-상기 테스트 스코어는 상기 파라미터의 각각에 대한 관찰의 요망도(desirability)를 표시한다-를 더 포함하며, 상기 선택 단계는 최고로 높은 테스트 스코어를 갖는 상기 타입 I 세트로부터 관찰을 위한 상기 파라미터중의 특정 파라미터를 선택하는 것을 포함하는 기계 고장 분리 방법.8. The method of claim 7, further comprising calculating a test score for each value of the type I machine parameter set, wherein the test score indicates a desirability of observation for each of the parameters. The selecting step includes selecting a particular parameter of the parameter for observation from the type I set having the highest test score. 제8항에 있어서, 타입 II 파라미터 세트를 형성하는 단계-상기 타입 II 파라미터 세트의 각각에 대해, 상기 타입 II 파라미터의 전부는 아니지만 몇 개의 가능한 값은, 상기 모델중의 적어도 하나와 연관된 예측이 일치하지 않게 한다-와, 상기 타입 II 파라미터 세트 각각에 대한 테스트 스코어를 계산하는 단계-상기 테스트 스코어는 상기 타입 II 파라미터로부터의 상기 파라미터 각각에 대한 관찰의 요망도를 표시한다-를 더 포함하며, 상기 선택 단계는 상기 타입 I 세트의 모든 파라미터에 대한 테스트 스코어가 사전결정된 임계값보다 낮은 경우, 최고로 높은 테스트 스코어를 갖는 상기 타입 II 파라미터 세트로부터 관찰을 위한 상기 파라미터중의 특정 파라미터를 선택하는 것을 포함하는 기계 고장 분리 방법.10. The method of claim 8, further comprising: forming a type II parameter set—for each of the type II parameter sets, not all but some possible values of the type II parameters match the prediction associated with at least one of the models. And calculating a test score for each of said type II parameter sets, said test scores indicating a desired degree of observation for each of said parameters from said type II parameters. The selecting step includes selecting a particular one of the parameters for observation from the type II parameter set having the highest test score if the test scores for all parameters of the type I set are lower than a predetermined threshold. How to isolate machine failure. 제9항에 있어서, 상기 타입 I 및 타입 II 세트에 대한 테스트 스코어는 다음과 같은 단계들, 즉, 각각의 파라미터의 각각의 가능한 값에 대한 이득을 계산하는 단계-상기 파라미터가 상기 값과 동일하게 관찰되는 경우의 폐기되는 모델 수를 모델의 총 수로 나누어 계산한다-와, 각각의 모델에 대한 고장났다고 가정된 구성요소와 실험적인 구성요소 고장률 정보(empirical component failure rate information)를 상관(correlating)시킴으로써 각각의 모델에 대한 유효도(validity)의 확률을 계산하는 단계와, 파라미터에 대한 특정 값을 예측하는 각각의 모델에 대한 추정 유효도를 합산함으로써 각각의 파라미터에 대한 각각의 가능한 값을 측정하는 확률을 계산하는 단계와, 각각의 파라미터 각각의 값에 대한 이득과 각각의 파라미터에 대한 각각의 값을 측정하는 확률과의 곱을 파라미터 단위로 합산함으로써 상기 파라미터 각각의 관찰 이용도를 계산하는 단계와, 각각의 파라미터를 관찰하는데 필요한 저장되고, 실험적으로 도출되는 시간양으로 각각의 파라미터의 테스트 이용도를 나눔으로써 각각의 파라미터에 대한 테스트 스코어를 계산하는 단계에 의해 계산되는 기계 고장 분리 방법.The method of claim 9, wherein the test scores for the Type I and Type II sets are as follows: calculating a gain for each possible value of each parameter, wherein the parameter is equal to the value. Calculate the number of discarded models, if observed, by dividing the total number of models-and correlating the assumed component failure and experimental component failure rate information for each model. Calculating the probability of validity for each model, and the probability of measuring each possible value for each parameter by summing the estimated validity for each model predicting a particular value for the parameter. Calculating a value, and a probability of measuring each value for each parameter and a gain for each value of each parameter. Calculating the observed availability of each of the parameters by summing the product by parameter, and dividing the test utilization of each parameter by the amount of stored, experimentally derived time needed to observe each parameter. A method for isolating a machine failure, which is calculated by calculating a test score for a machine. 제10항에 있어서, 상기 사전결정된 임계값은 0.5인 기계 고장 분리 방법.11. The method of claim 10 wherein the predetermined threshold is 0.5. 정성적 물리학 모델의 불일치를 판정하는 방법에 있어서, 모델과 연관된 파라미터 테이블로부터 특정 파라미터를 선택하는 제1단계-기지의 경우, 다른 파라미터가 도출될 수 있게 하거나 또는 상기 모델이 일치하지 않는 것으로 간주될 수 있게 하는 파라미터를 포함하는 모델에 대한 방정식에 상기 특정 파라미터가 나타난다-와, 상기 제1선택 단계에 후속하여, 상기 파라미터에 상수 값을 일시적으로 할당하는 제2단계-상기 상수 값은 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 값이다-와, 상기 제2단계에 후속하여, 상기 상수 값을 상기 모델의 방정식을 통해 전파하여 일치를 판정하는 제3단계와, 상기 상수 값중 특정 상수 값이 일치하는 예측 세트를 초래할 때까지 또는 상기 파라미터에 대한 모든 가능한 값이 상기 파라미터에 일시적으로 할당될 때까지 상기 제2 및 제3단계를 반복적으로 수행하는 제4단계와, 상기 제3단계가 상기 상수 값중 특정 상수 값을 상기 파라미터에 할당함으로써 일치하는 예측 세트를 초래하는 경우, 상기 상수 값을 모델의 방정식을 통해 전파하여 다른 미지의 파라미터에 대한 일시적인 상수 값을 판정하는 제5단계와, 상기 제4 및 제5단계에 후속하여, 모든 미지의 파라미터에 대해 상기 제1, 2, 3, 4, 및 5단계를 반복적으로 수행하기 위한 순환(recursion)을 이용하는 단계-상기 순환은, 상기 제4단계가 일치하는 예측 세트를 초래하지 않고 파라미터에 할당되는 모든 가능한 값을 초래할 때마다, 새로운 값을 이전에 할당된 파라미터에 할당하도록 되돌아가며, 모델에 대한 일치하는 예측 세트를 생성하는, 모델의 미지의 파라미터에 일시적으로 할당될 수 있는 값을 조합하지 않는 경우, 모델은 일치하지 않는 것으로 간주된다-를 포함하는 정성적 물리학 모델의 불일치 판정 방법.A method of determining inconsistencies of a qualitative physics model, wherein in the case of a first-stage selection of a particular parameter from a parameter table associated with the model, other parameters may be derived or the model may be considered inconsistent. The particular parameter appears in an equation for a model that includes a parameter that enables the parameter; and, after the first selection step, a second step of temporarily assigning a constant value to the parameter, wherein the constant value is assigned to the parameter. Is a value included in the list of possible values, and, after the second step, a third step of propagating the constant value through an equation of the model to determine a match, and a specific constant value of the constant value matches. Until all the possible values for the parameter result in a set of predictions A fourth step of repeatedly performing the second and third steps until assigned, and if the third step results in a matching prediction set by assigning a specific constant value of the constant value to the parameter, the constant value Is propagated through an equation of the model to determine temporary constant values for other unknown parameters, and subsequent to the fourth and fifth steps, the first, second, third, Using a recursion to perform steps 4, and 5 repeatedly—the recursion results in a new value each time the fourth step results in all possible values assigned to the parameter without causing a matching prediction set. Return to assign the previously assigned parameter, and generate a value that can be temporarily assigned to an unknown parameter of the model, generating a matching set of predictions for the model. If the sum does not, the model is deemed inconsistent-way mismatch determination of a qualitative physics model comprising a. 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 방법에 있어서, 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 제1단계와, 상기 제1선택 단계에 후속하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 제2단계와, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 제1 및 제2단계를 연속적으로 수행하는 제3단계와, 상기 제3단계에 후속하여, 상기 파라미터에 대한 단지 하나의 특정 상수 값만이 모델에 대해 일치하는 예측 세트를 초래하는 경우, 상기 상수 값을 상기 파라미터에 영구적으로 할당하는 단계를 포함하는 정성적 물리학 모델과 연관된 미지의 피라미터에 대한 값을 예측하는 방법.A method of predicting a value for an unknown parameter associated with a qualitative physics model, comprising: a first step of temporarily assigning a constant value to the parameter, the constant value being included in a list of possible values for the parameter; Subsequently, a second step of propagating the constant value through an equation of a model to detect inconsistency, and a third step of continuously performing the first and second steps for all possible values for the parameter; Subsequent to the third step, if only one specific constant value for the parameter results in a matching prediction set for the model, assigning the constant value to the parameter permanently. Predicting a value for an unknown parameter associated with the. 정성적 물리학 모델의 불일치를 판정하는 방법에 있어서, 모델의 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 제1단계와, 상기 제1선택 단계에 후속하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 제2단계와, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 제1 및 제2단계를 반복적으로 수행하는 제3단계와, 상기 파라미터에 대한 어떠한 상수 값도 모델에 대해 일치하는 예측 세트를 초래하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주되는 단계를 포함하는 정성적 물리학 모델의 불일치 판정 방법.A method of determining a discrepancy of a qualitative physics model, the method comprising: a first step of temporarily assigning a constant value to the parameter, the constant value being included in a list of possible values for a parameter of the model, and subsequent to the first selection step, A second step of propagating a constant value through an equation of the model to detect inconsistencies, a third step of repeatedly performing the first and second steps for all possible values for the parameter, and If the constant value does not result in a matching set of predictions for the model, then the model is considered inconsistent. 정성적 물리학 모델의 불일치를 판정하여 상기 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 방법에 있어서, 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 제1단계와, 상기 제1선택 단계에 후속하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 제2단계와, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 제1 및 제2단계를 반복적으로 수행하는 제3단계와, 상기 제3단계에 후속하여, 상기 파라미터에 대한 단지 하나의 특정 상수 값만이 모델에 대한 일치하는 예측 세트를 초래하는 경우, 상기 상수 값을 상기 파라미터에 영구적으로 할당하는 단계와, 상기 제3단계에 후속하여, 상기 파라미터에 대한 어떠한 상수 값도 모델에 대한 일치하는 예측 세트를 초래하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주되는 단계를 포함하는 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 방법.A method of determining a discrepancy of a qualitative physics model to predict a value for an unknown parameter associated with the qualitative physics model, the method comprising temporarily assigning a constant value to the parameter, the constant value being included in the list of possible values for the parameter. A first step, subsequent to the first selection step, a second step of propagating the constant value through an equation of a model to detect inconsistencies; and the first and second steps for all possible values for the parameter. A third step of repeatedly performing and subsequent to the third step, if only one specific constant value for the parameter results in a matching set of predictions for the model, permanently assigning the constant value to the parameter Assigning, and following the third step, any constant values for the parameters that match the predictive predictions for the model. If not causing said model, said model is considered to be inconsistent, the method for predicting a value for an unknown parameter associated with a qualitative physics model. 제1항에 있어서, 상기 발생 단계는, 모델의 구성요소의 터미널과 연관되지 않은 제1파라미터가 제2파라미터 또는 음의 제2파라미터와 동일하다는 것을 제공하는 방정식을 설정하는(locating) 단계-상기 제2파라미터의 가능한 값은 상기 제1파라미터의 가능한 값의 상위집합(superset)이다-와, 상기 방정식을 제거하는 단계와, 나머지 식에서 모두 발생되는 상기 제1파라미터를 상기 제2파라미터 또는 상기 음의 제2파라미터로 대체하는 단계를 포함하는 기계 고장 분리 방법.The method of claim 1, wherein the generating step comprises: locating an equation that provides that a first parameter that is not associated with a terminal of a component of the model is equal to a second parameter or a negative second parameter—the The possible value of the second parameter is a superset of the possible values of the first parameter—the step of eliminating the equation and the first parameter occurring in the remainder of the equation, the second parameter or the negative A method of isolation of a mechanical failure comprising the step of replacing with a second parameter. 기계의 고장을 분리하는 장치-다수의 기계 모델을 테스트하는 수단을 갖고, 상기 모델의 각각은 다수의 기계 구성요소가 각각 고장난 것으로 가정하며, 상기 테스트 수단은, 상기 모델의 방정식을 통해 기계 파라미터의 실제 값을 전파하여 기계 파라미터의 값에 대한 예측 세트를 생성하는 수단, 상기 모델중에서 일치하지 않는 예측 세트를 생성하는 모델의 방정식을 폐기하는 수단, 및 상기 모델중에서 일치하는 예측 세트를 저장하는 수단을 포함한다-에 있어서, 상기 기게 구성요소의 정성적 물리학 기술을 이용하여 상기 모델을 발생하는 수단과, 기계 파라미터의 부가적인 실제 값을 획득하는 수단과, 상기 부가적인 실제 값과 일치하지 않는 변수에 대한 값을 예측하는 각각의 모델을 폐기하는 수단을 포함하는 기계 고장 분리 장치.A device for isolating the failure of a machine has a means for testing a number of machine models, each of which assumes that a number of machine components have each failed, and the test means is adapted to determine the machine parameters through the equations of the model. Means for propagating an actual value to generate a prediction set for the value of a machine parameter, means for discarding an equation of the model that produces an inconsistent prediction set in the model, and means for storing a matching prediction set in the model. Means for generating the model using qualitative physics techniques of the machine components, means for obtaining additional actual values of machine parameters, and for variables that do not match the additional actual values. Means for discarding each model for predicting a value for the failure. 제17항에 있어서, 상기 기계 파라미터의 부가적인 실제 값을 획득하는 수단은, 특정 입력을 사용자에게 프롬프트하기 위한 컴퓨터 디스플레이와, 사용자의 응답을 수신하기 위한 사용자 키보드를 구성되는 기계 고장 분리 장치.18. The apparatus of claim 17, wherein the means for obtaining additional actual values of the machine parameter comprises a computer display for prompting the user for a particular input and a user keyboard for receiving a response from the user. 제17항에 있어서, 타입 I 기계 파라미터 세트를 형성하는 수단-상기 I 기계 파라미터 세트의 각각에 대해, 상기 파라미터의 모든 가능한 값은 상기 모델중의 적어도 하나와 연관된 예측이 일치하지 않게 한다-과, 상기 타입 I 기계 파라미터 세트로부터 관찰을 위한 파라미터를 선택하는 수단을 더 포함하는 기계 고장 분리 장치.18. The apparatus of claim 17, further comprising: means for forming a type I machine parameter set, for each of the I machine parameter sets, all possible values of the parameter cause the prediction associated with at least one of the models to be inconsistent; And means for selecting a parameter for observation from said type I machine parameter set. 정성적 물리학 모델의 불일치를 판정하는 장치에 있어서, 모델과 연관된 파라미터 테이블로부터 특정 파라미터를 선택하는 선택 수단-기지의 경우, 다른 파라미터가 도출될 수 있게 하거나 또는 상기 모델이 일치하지 않는 것으로 간주될 수 있게 하는 파라미터를 포함하는 모델에 대한 방정식에 상기 특정 파라미터가 나타나다-과, 상기 선택 수단에 응답하여, 상기 파라미터에 상수 값을 일시적으로 할당하는 제1할당 수단-상기 상수 값은 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 값이다-과, 상기 제1할당 수단에 응답하여, 상기 상수 값을 상기 모델의 방정식을 통해 전파하여 일치를 판정하는 전파 수단과, 상기 상수 값중 특정 상수 값이 일치하는 예측 세트를 초래할 때까지 또는 상기 파라미터에 대한 모든 가능한 값이 상기 파라미터에 일시적으로 할당될 때까지 상기 제1할당 수단 및 상기 전파 수단을 반복적으로 작동시키는 반복 수단과, 상기 반복 수단에 응답하여, 상기 상수 값중 특정 상수 값이 상기 파라미터에 할당될 때 상기 반복 수단이 일치하는 예측 세트를 초래하는 경우, 상기 상수 값중 특정 상수 값을 상기 파라미터에 할당하는 제2할당 수단과, 모든 미지의 파라미터에 대해 상기 선택 수단, 상기 제1할당 수단, 상기 반복 수단, 및 상기 제2할당 수단을 반복적으로 작동시키고, 상기 반복 수단이 일치하는 예측 세트를 초래하지 않고 파라미터에 할당되는 모든 가능한 값을 초래할 때마다, 새로운 값을 이전에 할당된 파라미터에 할당하도록 되돌아가는 순환 수단-모델에 대한 일치하는 예측 세트를 생성하는, 모델의 미지의 파라미터에 일시적으로 할당될 수 있는 값을 조합하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주된다-을 포함하는 정성적 물리학 모델의 불일치 판정 장치.In an apparatus for determining a discrepancy of a qualitative physics model, in the case of a selection means-base that selects a particular parameter from a parameter table associated with the model, other parameters may be derived or the model may be considered inconsistent. The particular parameter appears in the equation for the model including the parameter which makes it possible to:-and, in response to the selection means, first assigning means for temporarily assigning a constant value to the parameter, wherein the constant value is possible for the parameter. A propagation means for propagating the constant value through an equation of the model to determine a match, in response to the first assigning means, and a prediction in which a specific constant value of the constant value matches. Until a result or set all possible values for the parameter Repeating means for repeatedly operating the first assigning means and the propagation means until temporarily assigned, and in response to the repeating means, the repeating means coincides when a specific constant value of the constant values is assigned to the parameter. Second assigning means for allocating a specific constant value of the constant values to the parameter when inducing a prediction set, and the selecting means, the first assigning means, the repeating means, and the second allocation for all unknown parameters For a recursive means-model that recursively activates the means and reverts to assigning a new value to a previously assigned parameter whenever the repeating means results in all possible values assigned to the parameter without causing a matching prediction set. Matches values that can be temporarily assigned to unknown parameters in the model, producing a matching set of predictions. If not, the model is deemed inconsistent-mismatch device for determining the qualitative physics model that includes. 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 장치에 있어서, 상기 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 일시적 할당 수단과, 상기 일시적 할당 수단에 응답하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 전파 수단과, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 할당 수단 및 전파 수단을 반복적으로 작동시키는 반복 수단과, 상기 반복 수단에 응답하여, 상기 상수 값만이 모델에 대해 일치하는 예측 세트를 초래하는 경우, 상기 상수 값중 특정 값을 상기 파라미터에 영구적으로 할당하는 수단을 포함하는 정성적 물리학 모델과 연관된 미지의 파라미터에 대한 값을 예측하는 장치.An apparatus for predicting a value for an unknown parameter associated with a qualitative physics model, comprising: temporary assignment means for temporarily allocating a constant value to the parameter, the constant value being included in a list of possible values for the parameter; In response, propagation means for propagating the constant value through an equation of a model to detect inconsistency, repeating means for repeatedly operating the assignment means and propagation means for all possible values for the parameter, In response, when only the constant value results in a consistent set of predictions for the model, predicting a value for an unknown parameter associated with a qualitative physics model comprising means for permanently assigning a specific value of the constant value to the parameter. Device. 정성적 물리학 모델의 불일치를 판정하는 장치에 있어서, 파라미터에 대한 가능한 값의 리스트에 포함되는 상수 값을 상기 파라미터에 일시적으로 할당하는 일시적 할당 수단과, 상기 일시적 할당 수단에 응답하여, 상기 상수 값을 모델의 방정식을 통해 전파하여 불일치를 검출하는 전파 수단과, 상기 파라미터에 대한 모든 가능한 값에 대해 상기 일시적 할당 수단 및 전파 수단을 반복적으로 작동시키는 반복 수단과, 상기 반복 수단에 응답하여, 상기 파라미터에 대한 어떠한 상수 값도 모델에 대해 일치하는 예측 세트를 초래하지 않는 경우, 상기 모델은 일치하지 않는 것으로 간주되는 모델 폐기 수단을 포함하는 정성적 물리학 모델의 불일치 판정 장치.An apparatus for determining a discrepancy of a qualitative physics model, comprising: temporary assignment means for temporarily allocating a constant value included in a list of possible values for a parameter to the parameter, and responsive to the temporary assignment means. Propagation means for propagating through equations in the model to detect inconsistencies, repetition means for repeatedly operating the temporary assignment means and propagation means for all possible values for the parameter, and in response to the repetition means, And if no constant value results in a consistent set of predictions for the model, the model comprises means for discarding the model that is considered inconsistent. 제17항에 있어서, 모델 구성요소의 하나 이상의 정성적 상태를 발생하는 수단과, 상기 상태를 나타내는 정보를 사용자에게 제공하는 수단을 포함하는 기계 고장 분리 장치.18. The apparatus as claimed in claim 17 comprising means for generating one or more qualitative states of a model component and means for providing a user with information indicative of said states. 제23항에 있어서, 상기 상태를 상기 구성요소에 대해 할당된 값의 사전결정된 세트와 비교하는 수단을 더 포함하는 기계 고장 분리 장치.24. The apparatus of claim 23, further comprising means for comparing the condition with a predetermined set of values assigned for the component. 제24항에 있어서, 상기 발생 수단, 상기 제공 수단, 및 상기 비교 수단은 컴퓨터 워크스테이션을 이용하여 수행되는 기계 고장 분리 장치.25. The apparatus of claim 24, wherein said generating means, said providing means, and said comparing means are performed using a computer workstation.
KR1019910014183A 1991-08-17 1991-08-17 Machine failure isolation using qualitative physics KR100231958B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910014183A KR100231958B1 (en) 1991-08-17 1991-08-17 Machine failure isolation using qualitative physics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910014183A KR100231958B1 (en) 1991-08-17 1991-08-17 Machine failure isolation using qualitative physics

Publications (2)

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

Family

ID=19318697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910014183A KR100231958B1 (en) 1991-08-17 1991-08-17 Machine failure isolation using qualitative physics

Country Status (1)

Country Link
KR (1) KR100231958B1 (en)

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 (en) * 2019-07-03 2020-12-08 (주)호성디엠에스 Apparatus for coupling pad spring

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100266928B1 (en) Parallel processing qualitative reasoning system
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 (en) Apparatus and method for automatically diagnosing technical systems by effective storage and evaluation of information on treatment
US5604841A (en) Hierarchical restructuring generic test templates and reusable value spaces for machine failure isolation using qualitative physics
JP2001022820A (en) Verifying method of sequential circuit
US5353381A (en) Intelligent test selection for machine failure isolation using qualitative physics
EP0757815B1 (en) Machine failure isolation using qualitative physics
KR100231958B1 (en) Machine failure isolation using qualitative physics
CN112765827A (en) Reliability analysis method of function-related system
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 (en) Complex system task reliability test case design method under fault propagation model
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
Han et al. A model-based diagnosis system for identifying faulty components in digital circuits
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
Vandeventer et al. Speeding up behavioral test pattern generation using an algorithmic improvement

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