KR100987876B1 - 전문가 시스템을 위한 커스텀 룰 시스템 및 방법 - Google Patents

전문가 시스템을 위한 커스텀 룰 시스템 및 방법 Download PDF

Info

Publication number
KR100987876B1
KR100987876B1 KR1020037003824A KR20037003824A KR100987876B1 KR 100987876 B1 KR100987876 B1 KR 100987876B1 KR 1020037003824 A KR1020037003824 A KR 1020037003824A KR 20037003824 A KR20037003824 A KR 20037003824A KR 100987876 B1 KR100987876 B1 KR 100987876B1
Authority
KR
South Korea
Prior art keywords
rule
user
custom
steps
database
Prior art date
Application number
KR1020037003824A
Other languages
English (en)
Other versions
KR20030040464A (ko
Inventor
윌리엄스스코트
스카치텔리알랜
Original Assignee
벤트리 네바다, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 벤트리 네바다, 엘엘씨 filed Critical 벤트리 네바다, 엘엘씨
Publication of KR20030040464A publication Critical patent/KR20030040464A/ko
Application granted granted Critical
Publication of KR100987876B1 publication Critical patent/KR100987876B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 커스텀 룰 시스템(10) 및 방법은 커스텀 룰(62)을 룰 스텝(100)으로 저장하고, 이들 룰 스텝(100)을 그래픽 표시로 디스플레이하며, 그에 따라 이들 그래픽 표시는 전문가 시스템을 위한 커스텀 룰로부터 가시적으로 선택되고 상호 접속된다.

Description

전문가 시스템을 위한 커스텀 룰 시스템 및 방법{CUSTOM RULE SYSTEM AND METHOD FOR EXPERT SYSTEMS}
본 발명은 일반적으로 전문가 시스템을 위한 커스텀 룰 시스템 및 방법(custom rule system and method)에 관한 것으로, 특히 기계 장치를 포함하는 자산을 보호하고 관리하는 데 이용되는 전문가 시스템을 위한 커스텀 룰 시스템 및 방법에 관한 것이다.
오늘날, 전문가 시스템 쉘(expert system shell)은, 사용자가 전문가 시스템, 특히 기계 장치를 포함하는 자산을 보호하고 관리하는 전문가 시스템을 구축하는 프레임워크(framework)를 제공하는 데 이용된다.
전형적으로 및 본래, 개발자는 전문가 시스템의 그래픽 모델을 생성함으로써 개략도를 형성하는 전문가 시스템 쉘을 우선적으로 이용함으로써 전문가 시스템을 구축한다. 룰은 애플리케이션에 대한 컴퓨터 언어로 기록되고, 전문가 시스템이 포함해야만 하는 것들에 대한 전문가의 지식과, 주어진 조건 세트, 즉, 경향으로부터 어떤 결론을 내려야 하는지, 고장 판단 방법, 손실을 최소로 하고 안전성과 생산성을 최대로 하기 위해 어떤 행동을 취해야 하는지 등에 대해 응답하기 위한 방법에 대한 전문가의 지식을 포함한다.
하나의 예시적인 전문가 시스템으로써 본 출원의 양수인인 네바다주 민덴 소재의 벤틀리 네바다 코퍼레이션이 판매한 머신 상태 관리기TM 2000이라는 명칭을 가진 제품이 있다. 이 시스템은 강력한 기능, 특히 새로운 속성 및 룰 세트가 그 시스템에 추가될 수 있게 하는 기능을 가지며, 자동화된 진단 및 기계 장치 정보 관리를 위한 새로운 패러다임을 제시한다. 1996년 11월 27일자 출원되어 공동으로 양도된, "Knowledge manager Relying On A Hierarchical Default Expert System : Apparatus and Method"라는 명칭을 갖는 미국특허번호 제5,905,989호의 전체가 본 명세서에서 참조로서 인용된다.
그렇지만, 전문가 시스템을 위해 기록될 필요가 있는 새로운 룰 또는 커스텀 룰을 사용자가 컴퓨터 언어로 기술해야 하며, 따라서 새로운 룰의 기록이 매우 어렵게 된다. 전형적으로, 룰은 텍스트 편집기의 도움을 받아 텍스트로 기록된다. 분석기(parser)는 텍스트를 심볼들로 변환하며, 심볼들은 해독기 또는 컴파일러(compiler)로 전송되고, 그에 따라 결과 룰(resultant rule)이 획득된다. 따라서, 사용자는 각 특정 전문가 시스템마다 룰이 기록될 컴퓨터 언어를 습득해야 하며, 그러한 특정 전문가 시스템에 대해 이전 룰이 기록된 방식을 숙지하고 이해해야 한다. 이에 따라 많은 시간 투자 후에 단일 룰이 기록될 수 있게 된다. 문장 구조상 정확하지 않은 룰의 생성이 편재하는데, 이는 컴퓨터 언어를 습득하고 전문가 시스템을 이해하고 있는 경우에도 그러하다.
또한, 몇몇 유형의 위저드 인터페이스(wizard interface)는 질문을 요청하고 응답으로부터 코드를 기록하는데 이용된다. 그러나, 이것은, 텍스트가 파싱(parsing)되어 심볼로 변환되고 그 다음 결과 룰의 획득을 위해 심볼이 해독기나 컴파일러로 전달되어야 한다는 점과, 사용자가 이전 룰의 기록 방식을 이해하고 있어야 한다는 점에 있어서, 여전히 문제가 있다.
따라서, 룰 기반 전문가 시스템의 사용자가, 컴퓨터 언어를 알지 못하고, 임의의 특정 전문 시스템이 작업하는 방법을 이해하지 못해도, 그들 자신의 추가적인 룰을 쉽게 기록할 수 있는 시스템 및 방법이 필요하다. 또한, 전문가 시스템이 다른 룰을 실행하는 것에 영향을 주지 않고도 룰 기반 전문가 시스템의 사용자가 그들 자신의 추가적인 룰을 쉽게 기록할 수 있는 시스템 및 방법이 필요하다. 또한, 문법 구조상 정확하지도 않고 그에 따라 실행에 대해 유효하지도 않는 커스텀 룰의 생성 가능성을 제거하는 시스템 및 방법이 필요하다. 지금까지의 룰 기록 방법은 사용자가 원하는 것은 무엇이든 생성하고, 그 다음에 유효 룰이 획득될 때까지 해독되고, 편집되고, 파싱되고, 컴파일링될 필요가 있는 에러 리스트를 사용자에게 제공하기 위한 것이었다. 커스텀 룰을 생성하고 처리하는 데 소비되는 시간을 줄이는 시스템 및 방법이 필요하다.
본 발명은 여러가지 측면에서 종래 기술보다 탁월하다. 첫째, 본 발명은 룰 기반 전문가 시스템의 사용자가, 컴퓨터 언어를 알지 못하고, 임의의 특정 전문가 시스템이 작업하는 방법을 이해하지 못할 지라도, 또한 전문가 시스템에서 다른 룰을 실행하는 것에 영향을 주지 않고서도, 그들 자신의 추가적인 룰을 쉽게 기록할 수 있는 시스템 및 방법을 제공한다. 또한, 본 발명은 문법 구조상 정확하지도 않고 그에 따라 실행에 대해 유효하지도 않는 커스텀 룰의 생성 가능성을 제거하는 시스템 및 방법을 제공한다. 또한, 본 발명은 커스텀 룰을 생성하고 처리하는데 소비되는 시간을 줄이는 시스템 및 방법을 제공한다.
하나의 바람직한 형태에 있어서, 본 발명은 메모리 또는 데이터 베이스 내에 개별적으로 저장된 다수의 룰 스텝을 포함한다. 메모리 또는 데이터 베이스는, 룰 윈도우를 디스플레이하고 저장된 룰 스텝들을 포함하는 배열 구조를 그래픽 형태로 디스플레이하는 디스플레이 및 인터페이스를 가진 적어도 하나의 컴퓨터에 작동 가능하게 결합된다. 커스텀 룰을 생성하는 데 이용될 개별적인 룰 스텝들이 선택되어, 디스플레이된 배열 구조로부터 룰 윈도우로 끌어 놓인다. 룰 윈도우 내의 룰 스텝들은, 그 룰 스텝과 접속 및 그 룰에 관련된 데이터에 대한 참조 및 커스텀 룰을 생성하도록 적절하게 연결되고, 그 접속은 저장되며, 그에 따라 컴퓨터가 그 스텝들과 접속 및 데이터를 인식하여, 생성된 커스텀 룰을 실행할 때 이용할 수 있게 된다.
따라서, 본 발명의 하나의 특징은 룰 스텝으로서 커스텀 룰을 저장하고, 그 다음, 룰 스텝을 그래픽 표현으로 디스플레이하고 이러한 그래픽 표현을 선택하고 상호 접속함으로써, 커스텀 룰을 가시적으로 형성할 수 있도록 하는 시스템 및 방법을 제공하는 데 있다.
본 발명의 산업적 이용 가능성은 이하에 개시된 본 발명의 목적을 통해 입증될 것이다.
따라서, 본 발명의 주요 목적은 기계 장치를 포함하는 자산을 보호하고 관리하는 데 이용되는 전문가 시스템을 위한 커스텀 룰을 생성하는, 신규하고 유용한 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 룰 기반 전문가 시스템의 사용자가 임의 유형의 컴퓨터 언어를 습득하지 않고도, 또한 임의의 특정한 전문가 시스템이 작업하는 방법을 이해하지 못해도 그들 자신의 추가적인 룰을 쉽게 기록할 수 있는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 전문가 시스템에서 다른 룰을 실행하는것에 대해 영향을 주지 않고서도 룰 기반 전문가 시스템의 사용자가 그들 자신의 추가적인 룰을 쉽게 기록할 수 있는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 문법 구조상 정확하지도 않고 또한 실행에 대해 유효하지도 않은 커스텀 룰 생성 가능성을 제거하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 파싱되어야 하는 코드를 기록하지 않아도 되며, 그에 따라 파서(parser)가 필요치 않고 복귀 에러(return error)를 처리하지 않아도 되는 커스텀 룰을 생성하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 데이터베이스내의 포맷을 처리하기 위해 준비시에 스텝으로서 룰을 생성하고 저장하여, 고속의 룰 실행을 제공하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 상호 접속될 수 있는 입력과 출력을 가질 수 있는 실행 가능한 스텝으로서 커스텀 룰을 저장하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 룰 스텝들이 서로 독립적으로 작동하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 이용하고 이해하기가 용이한 아주 단순한 커스텀 룰 인터페이스를 포함하여, 고속의 용이한 룰 엔트리를 허용하는 커스터 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 새로운 커스텀 룰을 생성하기 위해, 저장된 룰 스텝들과 상관 관계가 있는 그래픽 룰 스텝을 선택하고, 끌며, 놓고, 그래픽 룰 스텝 출력과 그래픽 룰 스텝 입력을 상호 접속하고, 각 스텝의 임의의 필요한 구성을 실행함으로써, 사용자가 저장된 룰 스텝으로부터 룰들을 가시적으로 생성하는, 아주 단순한 커스텀 룰 인터페이스를 제공하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 출력중인 유형이 입력에 대한 유효 유형들중 하나와 매칭될 때, 룰 스텝 출력으로부터 룰 스텝 입력으로 접속이 이루어지도록 하여 실행에 대해 유효한 방식으로 사용자가 단지 스텝들을 상호 접속시킴으로써, 유효하지 않은 룰 또는 구문론적 에러의 생성을 방지하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 룰 생성 동안 입력 유형과 스텝 실행 순서를 확인하여 사용자가 유효하지 않은 룰을 생성하지 못하게 하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 자산 문제에 기반하여 추천된 행동을 구동하는 커스텀 룰 및 계산을 사용자가 쉽게 정의하게 하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 실행에 대해 유효한 방식으로만, 사용자가 룰 스텝으로 부터의 룰을 가시적으로 생성하고 상호 접속시키도록 하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 무한 루프가 생성되지 못하게 하는 사용자 인터페이스 및 룰 스텝 처리 방법을 포함하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 특히, 로직, 산술, 통계, 스위치, 상태 및 결과 로직이 함께 연관되어 가시적으로 검증되도록 하는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 룰 생성자가 룰 스텝들을 이해할 필요가 없도록 룰 스텝들이 연결되는 방식 내에 연산자 서열을 통합시키는 커스텀 룰 시스템 및 방법을 제공하는 데 있다.
첫 번째 바람직한 측면에 따르면, 본 발명의 목적은, 프로세서 및 상기 프로세서에 동작가능하게 결합된 메모리와 디스플레이, 상기 메모리 내에 저장된 다수의 룰 스텝들, 상기 디스플레이 상의 배열 구조로서 상기 메모리 내에 저장된 상기 다수의 룰 스텝들을 그래픽으로 표시하는 수단, 상기 디스플레이 상에 커스텀 룰을 가시적으로 생성하기 위해, 상기 배열 구조로부터 상기 그래픽으로 표시된 룰 스텝들 중 적어도 하나를 선택하는 수단을 포함하는, 커스텀 룰을 생성하는 커스텀 룰 시스템을 제공하기 위한 것이다.
두 번째 바람직한 측면에 따르면, 본 발명의 목적은 룰 스텝과 연관된 특정의 실행 가능 코드를 각각으로 가진 다수의 룰 스텝들을 구비하는 데이터베이스, 상기 데이터베이스에 동작 가능하게 연결되어 상기 룰 스텝들을 어레이에 그래픽으로 표시하고 그래픽 윈도우를 제공하는 디스플레이를 포함하는 컴퓨터, 상기 어레이와 상호 작용하여 상기 그래픽으로 표시된 룰 스텝을 선택하고 그 룰 스텝을 상기 어레이에서 그래픽 디스플레이를 위한 그래픽 윈도우로 배치하는 수단, 및 커스텀 룰 생성을 위해, 상기 그래픽 윈도우 내의 상기 그래픽으로 디스플레이된 룰 스텝들을 상호 연결하는 수단을 포함하는 커스텀 룰을 생성하는 커스텀 룰 시스템을 제공하는 데 있다.
세 번째 바람직한 측면에 따르면, 본 발명의 목적은, 각각이 자신과 관련된 어셈블된 코드를 가지며 데이터베이스 내에 저장되는 그래픽으로 표시된 룰 스텝들의 배열 구조, 상기 배열 구조로부터 상기 그래픽으로 표시된 룰 스텝들을 개별적으로 선택하고, 상기 선택된 룰이 실질적으로 종행 포맷(columnar format)으로 배열되도록 상기 선택된 룰들을 그래픽 윈도우에 배치하는 수단, 상기 그래픽 윈도우에 배치된 상기 선택된 룰 스텝들을 그래픽형으로 상호 접속시키는 수단, 및 상기 그래픽 윈도우에 배치되고 상기 그래픽형으로 상호 접속되며 선택된 룰 스텝들을 전문가 시스템에서 내리는 결정을 위해 이용될 커스텀 룰로서 저장하는 수단을 포함하는 커스텀 룰을 생성하는 커스텀 룰 시스템을 제공하는 데 있다.
네 번째 바람직한 측면에 따르면, 본 발명의 목적은, 데이터베이스, 상기 데이터베이스내에 저장된 다수의 룰 스텝, 상기 데이터베이스 내에 저장되며, 각각이 적어도 하나의 필드를 포함하는 적어도 하나의 레코드를 가진 다수의 테이블, 상기 다수의 테이블 중 적어도 하나의 테이블 내에 저장되며, 각각이 상기 데이터베이스 내에 저장된 상기 룰 스텝들 중 적어도 하나와 관련되어 있는 다수의 스텝 참조, 상기 다수의 테이블 중 적어도 하나의 테이블 내에 저장되며, 각각이 상기 데이터베이스 내에 저장된 상기 룰 스텝 참조들 중 적어도 하나의 참조와 관련되어 있는 다수의 룰 참조를 포함하며, 동일한 룰 참조와 관련된 모든 스텝 참조는 개별적인 사용자 생성 커스텀 룰에 포함된 개별적인 룰 스텝을 정의하는, 커스텀 룰 시스템을 제공하는 데 있다.
다섯 번째 바람직한 측면에 따르면, 본 발명의 목적은, 데이터베이스, 상기 데이터베이스 내에 실행 가능 코드로서 저장되는 다수의 룰 스텝, 상기 데이터베이스 내에 저장되고, 각각이 필드를 포함하는 적어도 하나의 레코드를 가진 다수의 테이블, 커스텀 룰을 정의하기 위해 상기 데이터베이스 내에 저장된 개별적인 룰 스텝에 대한 스텝 참조를 포함하는 상기 다수의 필드를 포함하는 커스텀 룰 시스템을 제공하는 데 있다.
여섯 번째 바람직한 측면에 따르면, 본 발명의 목적은, 컴퓨터에 연결된 데이터베이스내에 저장되는 개별적인 룰 스텝, 상기 룰 스텝들을 상기 컴퓨터의 디스플레이상에 그래픽으로 표시하는 수단, 상기 디스플레이의 그래픽 윈도우에 커스텀 룰을 가시적으로 형성하기 위해 다수의 상기 그래픽으로 표시된 룰 스텝들을 선택하고 상호 접속시키는 수단을 포함하는, 커스텀 룰 생성을 위한 커스텀 룰 시스템을 제공하는 데 있다.
일곱 번째 바람직한 측면에 따르면, 본 발명의 목적은, 디스플레이를 가진 컴퓨터상에 커스텀 룰을 생성하기 위한 것으로, 상기 디스플레이 상에 디스플레이되고, 입력, 출력 또는 입력과 출력을 가진 그래픽으로 표시된 룰 스텝 배열 구조; 커스텀 룰의 가시적인 생성을 위해 상기 그래픽으로 표시된 룰 스텝의 출력을 상기 그래픽으로 표시된 룰 스텝의 입력에 연결하는 수단을 포함하는, 커스텀 룰 시스템을 제공하는 데 있다.
여덟 번째 바람직한 측면에 따르면, 본 발명의 목적은, 컴퓨터에 연결된 데이터베이스 내에 실행 가능 코드를 포함하는 개별적인 룰 스텝을 저장하는 단계; 상기 컴퓨터의 디스플레이 상에, 상기 룰 스텝들을 아이콘의 그래픽 배열 구조로서 표시하는 단계; 상기 아이콘의 그래픽 배열 구조와 인터페이스하여 커스텀 룰을 생성하는 단계를 포함하는 커스텀 룰 생성 방법을 제공하는 데 있다.
아홉 번째 바람직한 측면에 따르면, 본 발명의 목적은, 커스텀 룰에 대한 자산을 선택하는 단계, 사용될 입력값 스텝-각 입력값 스텝은 적어도 하나의 출력을 포함함-을 정의하는 단계, 컴퓨터의 그래픽 사용자 인터페이스의 그래픽 윈도우에 상기 입력값 스텝을 표시하는 단계, 상기 그래픽 사용자 인터페이스상에, 각각이 자신과 관련된 어셈블될 룰 스텝 코드를 가지며 상기 컴퓨터에 연결된 데이터베이스 내에 저장된, 그래픽으로 표시된 룰 스텝들의 매트릭스를 표시하는 단계; 상기 그래픽으로 표시된 룰 스텝들의 매트릭스로부터, 적어도 하나의 입력을 포함하는 결과 스텝을 선택하고 상기 결과 스텝을 상기 그래픽 윈도우에 배치하는 단계; 상기 선택된 결과 스텝에 대한 입력이 참(true)일때 생성될 결과를 정의하는 단계; 상기 그래픽으로 표시된 룰 스텝들의 매트릭스로, 부터, 적어도 하나의 입력과 적어도 하나의 출력을 가진 적어도 하나의 연산 스텝을 선택하고, 적어도 하나의 연산 스텝을 상기 입력값 스텝과 결과 스텝 사이에 자리한 위치의 상기 그래픽 윈도우에 배치하는 단계, 상기 입력값 스텝 각각의 상기 적어도 하나의 출력과 상기 연산 스텝의 상기 적어도 하나의 입력을 연결하는 단계; 커스텀 룰의 생성을 위해 상기 연산 스텝의 적어도 하나의 출력과 상기 결과 스텝의 상기 적어도 하나의 입력을 연결하는 단계를 포함하는 커스텀 룰 생성 방법을 제공하는 데 있다.
열 번째 바람직한 측면에 따르면, 본 발명은, 데이터 베이스, 상기 데이터베이스 내에 저장된 다수의 텍스트 식별자 번호, 상기 다수의 식별자 번호와 관련된 텍스트를 포함하는 테이블을 저장하는 수단, 상기 데이터베이스를 상기 다수의 텍스트 식별자 번호로서 기록하고 저장할 수 있도록 요청시에 상기 데이터베이스내에 저장된 상기 다수의 텍스트 식별자 번호의 각각에 대해, 상기 테이블에서 상기 시스템으로 텍스트를 복귀시키는 수단을 포함하는 커스텀 룰 시스템을 제공하는 데 있다.
이러한 본 발명의 목적 및 다른 목적과 장점은 첨부된 도면과 함께 후술한 상세한 설명을 고려하면 명백히 알 수 있을 것이다.
도 1은 커스텀 룰이 룰 스텝으로서 저장된 데이터베이스를 포함하는, 본 발명에 따른 커스텀 룰 시스템의 개략도,
도 2는 본 발명에 따른, 룰 윈도우도, 룰 스텝 테이블도 및 생성된 룰 로직도를 포함하는 커스텀 룰 인터페이스도를 나타내는 일체화된 그래픽 사용자 인터페이스의 스크린 사진을 나타낸 도면,
도 3은 본 발명에 따른, 도 2에 도시된 룰 스텝 테이블도의 확장도,
도 4는 본 발명에 따른 데이터베이스 도표,
도 5는 도 4에 도시된 데이터베이스 도표와 관련된 본 발명에 따른 테이블,
도 6은 기계 장치와 프로세스의 다양한 그룹을 포함하는 산업 플랜트 자산을 보호하고 관리하는 자산 관리 시스템과 함께 이용되는 커스텀 룰 시스템의 개략도,
도 7은 본 발명에 따라 커스텀 룰이 생성될 트레인(train), 머신(machine) 또는 부품으로부터의 계층적 트리 도면을 가진 대화 상자를 포함하는 커스텀 룰 인터페이스 도면을 나타내는 일체화된 그래픽 사용자 인터페이스의 스크린 사진 도면,
도 8은 본 발명에 따라 생성되는 커스텀 룰에 대한 도시를 위해, 선택된 트레인, 머신 또는 부품이 도시된 대화 상자와, 초기값을 선택한 것으로 부터의 다수의 카테고리를 가진 대화 상자를 포함하는 커스텀 룰 인터페이스도를 나타내는 일체화된 그래픽 사용자 인터페이스 도면을 나타내는 스크린 사진 도면,
도 9는 본 발명에 따른 룰 윈도우도, 초기 룰 스텝, 룰 스텝 테이블도 및 생성된 룰 로직도를 포함하는 커스텀 룰 인터페이스도를 나타내는 일체화된 그래픽 사용자 인터페이스의 스크린 사진 도면,
도 10은 도 9의 스크린 사진 도면에서, 룰 스텝 테이블을 구체적으로 도시하지 않고 룰 윈도우도에 미정의 결과 스텝을 부가하며, 그의 대응 로직이 생성된 룰 로직도에 도시된 것을 나타낸 본 발명에 따른 도면,
도 11은 도 10에 도시된 미정의 결과 스텝에 대한 특성 파라메타를 정의하는 경우에 일체화된 그래픽 사용자 인터페이스상에 디스플레이되는 특성 대화 상자를 나타낸 도면,
도 12는 도 10에 도시된 미 정의 결과 스텝에 대한 결과 파라메타를 정의하는 경우에 일체화된 그래픽 사용자 인터페이스상에 디스플레이되는 특성 대화 상자를 나타낸 도면,
도 13은 도 10에 도시된 스크린 사진 도면에서, 미정의 결과 스텝이 스팀 문제 결과(steam problem result)로서 정의되고, 심각성 레벨이 2에서 3으로 변경되며, 대응 로직이 생성된 룰 로직에 도시된 것을 나타낸 본 발명에 따른 도면,
도 14는 도 13에 도시된 스크린 사진 도면에서, 추가적인 룰 스텝이 룰 윈도 우도에 부가되어 있는 것을 나타낸 도면,
도 15는 도 14에 도시된 스크린 사진 도면에서, 모든 룰 스텝들이 상호 접속되어 커스텀 룰의 생성이 완료되며 생성된 룰 로직도에 완성된 룰 로직이 원문대로 도시된 것을 나타낸 본 발명에 따른 도면,
도 16은 레코드 및 레코드에 포함된 필드를 포함한 룰 그룹 테이블을 나타낸 도면,
도 17은 레코드 및 레코드에 포함된 필드를 포함한 룰 테이블을 나타낸 도면,
도 18은 레코드 및 레코드에 포함된 필드를 포함한 룰 스텝 테이블을 나타낸 도면,
도 19는 레코드 및 레코드에 포함된 필드를 포함한 룰 접속 테이블을 나타낸 도면,
도 20은 레코드 및 레코드에 포함된 필드를 포함한 룰 스텝 입력 테이블을 나타낸 도면,
도 21은 레코드 및 레코드에 포함된 필드를 포함한 룰 출력 테이블을 나타낸 도면,
도 22는 레코드 및 레코드에 포함된 필드를 포함한 결과 스텝 테이블을 나타낸 도면,
도 23은 레코드 및 레코드에 포함된 필드를 포함한 도출된 값 스텝 테이블을 나타낸 도면,
도 24는 레코드 및 레코드에 포함된 필드를 포함한 시스템 선택 테이블을 나타낸 도면,
도 25는 레코드 및 레코드에 포함된 필드를 포함한 클래스 계층 테이블을 나타낸 도면,
도 26은 레코드 및 레코드에 포함된 필드를 포함한 영문 텍스트 테이블을 나타낸 도면,
도 27은 레코드 및 레코드에 포함된 필드를 포함한 영문 메모 텍스트 테이블을 나타낸 도면,
도 28은 레코드 및 레코드에 포함된 필드를 포함하는 특성 텍스트 테이블을 나타낸 도면.
다수에 도면에서 동일한 부분에 대해서는 동일한 참조 번호가 부여되어 있으며, 도면을 참조하면 참조번호 10는 본 발명에 따른 커스텀 룰 시스템을 나타낸다.
본질적으로, 도 1을 참조하면, 커스텀 룰 시스템(10)은 3개의 주 모듈인 커스텀 룰 모듈(40)과 디스플레이 모듈(50) 및 커스텀 룰 세트 데이터베이스 모듈(60)을 포함하도록 분할될 수 있다. 커스텀 룰 시스템(10)은 네번째 주 모듈인 정보 추출 모듈(90)을 더 포함할 수 있다. 이러한 모듈들은 임의의 조합 형태로 서로 통합될 수 있으며 또는 개별적으로 존재할 수도 있다. 또한, 이러한 모듈은 단일 컴퓨터상에, 또는 네트워크를 통해 상호 작용하는 다수의 독립적인 컴퓨터상에 상주할 수 있다.
하나의 실시예에 있어서, 시스템(10)은 프로세서(20), 메모리(22), 마우스(44)와 키보드(46)를 가진 입력(42), 디스플레이(54)를 가진 출력(52), 및 데이터 베이스(72)를 구비하는 적어도 하나의 컴퓨터를 포함한다. 시스템 버스(82)는 프로세서(20)와, 메모리(22)와, 입력(42)과, 출력(52) 및 데이터 베이스(72)를 동작 가능하게 연결시킨다.
프로세서(20)는 특히 계산 기능을 수행하고 소프트웨어 프로그램을 실행할 수 있다.
바람직하게, 메모리(22)는 독출 전용 메모리(Read Only Memory : ROM)(24)와, 랜덤 억세스 메모리(Random Access Memory : RAM)으로 잘 알려진 독출/기록 메모리(read/write memory : R/WM)(26)와, 저장 메모리(28)를 포함한다. ROM(24)은 비 휘발성 메모리(전력이 없는 경우에도 저장된 정보를 간직하는 메모리)로서, 전형적으로 운영 체제(30)하에서 프로세서(20)가 동작할 때, 특히 사용자-투명 I/O를 제공하는 기초 입력/출력 시스템(Basic Input/Output System : BIOS)을 저장한다. R/WM(26)은 휘발성 메모리로서, 전력이 없으면 저장된 정보를 간직하지 못한다. 저장 메모리(28)는 하나 이상의 하드 디스크, 플로피 디스크, 컴팩트 디스크, 카세트 테이프, 마그네트 테이프등을 포함한다.
운영 체제(30)는 컴퓨터의 작동을 통제하는 데 이용된다. 운영 체제(30)는 전형적으로 R/WM(26), 및 저장 메모리(28), 예를 들어 하드디스크 상에 저장되며 쉘(32)을 포함할 수 있다. 커스텀 룰 모듈(40) 및 디스플레이 모듈(50)과 같은 하나 이상의 응용 프로그램(34)은 시스템(10)에 의한 실행을 위해 로딩될 수 있다(즉, 저장부에서 메모리에 전달될 수 있다.).
그 다음, 출력(52)은 운영 체제(30)와 임의의 응용 프로그램(34)과 상호 작용하며, 특히 응용 프로그램 윈도우와, 그래픽 객체, 아이콘, R/WM(26)으로부터의 데이터, 저장 메모리(28)로부터의 데이터 및 데이터베이스(72)로부터의 데이터를, 그래픽 사용자 인터페이스(48)와 디스플레이 모듈(50)을 통해 디스플레이(54)상에 디스플레이한다.
전형적으로, 그래픽 사용자 인터페이스(48)는, 하나 이상의 아이콘, 응용 프로그램 윈도우 또는 다른 그래픽 객체가 디스플레이(54)상에 디스플레이되는 데스크탑 메타포(desktop metaphor)를 포함한다. 마우스 또는 다른 입력 장치는 그래픽 사용자 인터페이스(48)와 연계하여, 디스플레이(54)상에 디스플레이되는 관련 그래픽 객체의 선택 및 조작을 통해 하드웨어 부품 및 소프트웨어 객체를 제어하는데 이용된다.
따라서, 사용자는 그래픽 사용자 인터페이스(48)와 연계되는 마우스(44) 및 키보드(46)를 이용하여 데이터를 포함하는 사용자 명령 및 정보를 입력하며, 그에 따라 시스템(10)은 운영 체제(30)와, 커스텀 룰 모듈(40)과 디스플레이 모듈(50)을 포함하는 임의의 응용 프로그램(34)으로부터의 지시에 따라 이러한 입력들에 대해 작동할 수 있게 된다. 전형적으로 키보드는 문자를 입력하는데 이용되지만 마우스 기능을 수행하는데에도 이용될 수 있다.
그래픽 사용자 인터페이스(48)는 이러한 연산 결과를 디스플레이하는 작용을 한다. 개별적인 모듈로서 개념적으로 도시되었지만, 운영 체제(30) 및 쉘(32)이 그래픽 사용자 인터페이스(48)를 제공할 수도 있으며 커스텀 룰 모듈(40)이 디스플레이 모듈(50)을 제공할 수도 있다.
커스텀 룰 세트 데이터베이스 모듈(60)은 데이터베이스(72)상에 상주하며 그 모듈(60)에 개별적으로 저장된 다수의 사용자 생성 커스텀 룰(62)을 포함한다. 커스텀 룰(62)은 다수의 테이블(64)을 포함한다. 테이블(64)은 적어도 하나의 룰 스텝 테이블을 포함하며, 룰 스텝 테이블은 다수의 스텝 참조 및 식별자(ID)를 포함하고, 다수의 스텝 참조 및 식별자는 각각 데이터베이스(72) 내에 저장된 다수의 룰 스텝(100) 중 적어도 하나와 관련된다. 룰 스텝 테이블은 하나 이상의 룰 참조 또는 식별자(ID)를 추가로 포함하며, 그에 따라 동일한 룰 식별자와 관련된 모든 스텝 식별자는 개별적인 사용자 생성 커스텀 룰을 형성하는 개별적인 룰 스텝(100)을 정의한다. 다수의 사용자 생성 커스텀 룰은 다수의 룰 식별자에 의해 정의되며, 룰 식별자 각각은 데이터베이스(72)내에 개별적으로 저장되는 다수의 개별적인 룰 스텝(100)을 구비한다. 또한, 임의의 개별적인 사용자 생성 커스텀 룰을 형성하는 개별적인 룰 스텝(100)간의 상호 접속은 하나 이상의 테이블(64)에 저장된다.
보다 구체적으로, 데이터베이스(72)에 저장된 룰 스텝(100)은 피연산자를 로딩하거나 연산을 처리하는 이진 및 단항 룰 스텝을 포함할 수 있다. 따라서, 룰 스텝(100)은 파싱될 텍스트가 아닌 피연산자 및 연산으로써 저장될 수 있다. 또한, 룰 스텝(100)은 입력 및 출력을 가질 수 있다.
피연산자 룰 스텝은 측정치, 상태값들, 디자인 값, 하드 코딩된 함수, 상수(수치값, 불(Boolean)값, 또는 열거값(enumerated value)), 이전에 정의된 룰로부터의 결과치, 사용자 정의 계산값을 포함할 수 있다. 피연산자 룰 스텝은 피연산자 데이터를 로딩한다.
연산 룰 스텝은 수학적 연산자, 비교 연산자, 불 연산자 및 조건적 로직 연산자와 같은 다수의 연산자를 구비할 수 있다. 수학적 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 최대값(Max) 구하기, 최소값(Min) 구하기 및 절대값(Abs) 구하기를 구비할 수 있다. 비교 연산자는 등호 연산자(equal to operator)(=), 비등호 연산자(not equal to operator)(≠), 미만 연산자(less than operator)(〈), 이하 연산자(less than of equal to operator)(≤), 초과 연산자(greater than operator)(〉), 이상 연산자(greater than of equal to operator)(≥)를 포함한다. 불 연산자는 AND, OR 및 NOT 연산자를 포함한다. 조건적 로직 연산자는 IF-THEN-ELSE 문장(예를 들어, IF input_1 THEN input_2 ELSE input_3)을 포함한다. 연산 룰 스텝은 이전 룰 스텝 결과를 입력으로 획득하며, 연산 룰 스텝의 처리는 다른 룰 스텝과는 무관하다.
정보 추출 모듈(90)은 시스템 버스(82)를 통해 프로세서(20)에 동작 가능하게 연결된다. 본질적으로 추출 모듈(90)은 데이터 획득 장치(92)로부터 정보를 추출하며, 데이터 획득 장치(92)는 기계 장치를 포함하는 자산(96)을 모니터링하는 센서(94)로부터 발생한 데이터를 수집한다. 이 정보는, 특히 기계 장치를 포함하는 자산을 보호하고 관리하는 사용자 생성 커스텀 정보에 따라 처리된다. 예를 들어, 추출된 정보는 시스템 버스(82)를 통해 프로세서(20)로 전달될 수 있다. 프로세서(20)는 임의 문제점의 심각성을 포함하는 모니터링된 자산에 대한 결론을 얻기 위해 그 정보에 대한 임의의 활성 사용자 생성 커스텀 룰을 구동한다. 결론 및 심각성은 데이터베이스(72)에 기록된다. 이러한 결론 및 심각성(아마도 다른 시스템으로부터의 결론 및 다른 데이터베이스로부터의 구성 정보와 함께)은 메시지 라우팅 시스템에 전송되고 처리되어, 이하에서 추가로 설명한 바와 같이, 그 상황에 적절하게 응답하기 위해서는 어느 시간 프레임에 어떤 정보를 누가 수신해야 하는지를 판정한다.
도 2에는 본 발명에 따른 생성된 커스텀 룰의 실시예가 도시된다. 도시된 바와 같이, 그 룰은 수식 "IF A+B 〉C and D≤E THEN My_Result"를 실행한다. 룰 스텝 1 내지 5는, 각각, 변수(A,B,C,D 및 E)에 대한 입력으로서 상수(10,20,30,40 및 50)를 가진 피연산자 룰 스텝이다. 룰 스텝 6 내지 8은, 덧셈 프로세스 연산 스텝, 초과 프로세스 연산 스텝, 이하 프로세스 연산 스텝을 각각 포함하는 연산 룰 스텝이다. 룰 스텝 9는 불 AND 프로세스 연산 스텝이다. 마지막 스텝은, 바람직하게는 결론 또는 이벤트와 사용자 기 정의된 심각성 레벨을 포함하는 결과를 생성하는 결과 프로세스 연산 스텝이다.
본 발명에 따르면, 이러한 예시적인 커스텀 룰 생성 방법 및 순서는, 마우스(44)를 그래픽 사용자 인터페이스(48)과 연계하여 이용하여 파일 메뉴로부터 메뉴 옵션인 "새로운 룰"을 우선적으로 선택하는 단계와; 스텝 팔레트(step pallet) 또는 스텝 매트릭스(102)로부터 개별 룰 윈도우(170)로 그래픽 룰 스텝 표시(데이터 베이스(72)에 저장된 룰 스텝(100)의 그래픽 표시)를 선택하고 조작하는(끌어 놓는) 단계와; 상수를 입력하고 임의의 미정의 결과 스텝을 구축하며 룰 스텝 1 내지 11의 입력 및 출력을 상호 접속시키는 단계를 포함한다. 본 발명에 의해 정의된, 디스플레이된 팔레트 또는 매트릭스는 사용자가 유효 룰 스텝을 선택하는 것만을 제한함을 알아야 한다.
보다 구체적으로, 도 2와 도 3에 도시된 확대된 스텝 매트릭스(102)를 참조하면, 상수 룰 스텝은 룰 스텝 1 및 2에 이용된다. 따라서, 상수 룰 스텝 표시(142)는 도 2에 도시된 바와 같이, 매트릭스(102)로부터 제 1 종행 위치로 연속적으로 끌어 놓인다. 룰 스텝 3 내지 5는 상수 룰 스텝을 포함하고, 상수 룰 스텝 표시(142)는 도 2 에 도시된 바와 같이 매트릭스로부터 제 2 종행 위치로 연속적으로 끌어 놓인다. 덧셈 룰 스텝은 룰 스텝(6)에 이용되며, 그 룰 스텝 표시(104)는 도 2 에 도시된 바와 같이 매트릭스(102)로부터 제 2 종행 위치로 끌어 놓인다. 초과 룰 스텝은 룰 스텝(7)에 이용되며, 그 룰 스텝(120)은 도 2 에 도시된 바와 같이 매트릭스(102)로부터 제 3 종행 위치로 끌어 놓인다. 이하 룰 스텝은 룰 스텝(8)에 이용되고, 그 룰 스텝 표시(118)는 도 2 에 도시된 바와 같이 매트릭스로부터 제 3 종행 위치로 끌어 놓인다. 불 AND 룰 스텝은 룰 스텝(9)에 이용되고 그 룰 스텝 표시(124)는 도 2 에 도시된 바와 같이 매트릭스로부터 제 4 종행 위치로 끌어 놓인다. 미정의 결과 룰 스텝은 룰 스텝(11)에 이용되고 그의 룰 스텝 표시(150)는 매트릭스로부터, 이러한 특정의 커스텀 룰에 대한 룰 스텝의 선택을 결론짓는 제 5 종행 위치로 끌어 놓인다. 사용자는 미 정의 결과 룰 스텝의 결론과 심각성 레벨을 구축하여 그 값을, 예를들어, 키보드에 의한 입력 및 마우스의 조작을 통해 상수(A,B,C,D 및 E)에 제공한다. 그 룰 스텝들은, 예를들어 하나의 룰 스텝 출력상에서 마우스 버튼은 클릭하고 홀딩함에 의해, 그리고, 다른 결과 스텝의 입력을 끌고 버튼을 놓음으로써 상호 접속된다. 이러한 프로세스는 각 룰 스텝의 모든 개별적인 출력이 도시된 다른 룰 스텝의 개별적인 입력에 접속될 때 까지 반복된다. 룰 스텝 출력에서 룰 스텝 입력으로의 각 접속은 데이터베이스(72)에 저장된다. 이 프로세스의 종료 결과가 새로운 커스텀 룰이며, 그 룰은 데이터베이스(72)에 저장되고 요청시 활성화될 수 있다. 따라서, 본 발명에 따르면, 커스텀 룰은 단 하나의 코드 라인도 기록하지 않고 그래픽적으로 생성된다. 사실상, 지금까지 본 실시예의 커스텀 룰을 생성하는데 필요했던 관련 코드가 룰 로직 그래픽 윈도우(172)에 도시된다.
본 발명은 룰을 매우 빠르게 룰을 구동할 수 있게 하는 룰 스텝으로써, 룰을 저장한다. 룰이 텍스트가 아닌 실행 가능한 룰 스텝으로서 저장되기 때문에, 시스템은 모든 룰 스텝을 사전 로딩할 수 있으며, 커스텀 룰이 구동될 때 룰 스텝 처리가 즉시 시작된다. 대안적으로, 시스템은 커스텀 룰에 의해 정의된 순서로 룰 스텝(100)을 로딩할 수 있으며, 이후 커스텀 룰을 처리한다. 룰 스텝으로부터의 출력은 메모리에 저장된다. 룰 스텝이 이전 룰 스텝으로부터 입력을 가질때 마다, 그 값은 메모리에 입수되어 재빨리 복구될 수 있다.
바람직한 형태에 있어서, 룰 스텝은 좌측에서 우측으로 처리되고 동일한 종행 위치 또는 그의 좌측에 있는 임의 스텝의 입력에 대한 룰 접속은 허용되지 않으며, 그에 의해, 모든 스텝 출력을 임의의 다른 스텝이 요구하기 전에 그들이 연산되는 것이 보장된다. 이것은 무한 루프 가능성을 제거한다. 또한, 본 발명은, 임의의 입력 및 출력사이에 접속이 이루어지기 전에 입력/출력 유형을 비교한 결과, 입력/출력 유형이 호환성이 없고 유효하지 않을 경우, 접속 생성을 배제할 수 있다.
본 발명은 루프 유형 처리도 허용한다. 많은 룰 스텝에 있어서, 상부(제 1 레벨) 입력이 루프되어 하부(제 2 레벨) 입력과 비교될 것이다. 여러 유형의 룰 텝에 대해 다수의 제 2 입력 접속이 허용된다. 다수의 제 2 레벨 입력 접속을 허용하는 모든 룰 스텝이 동일한 출력을 생성함이 바람직하며, 그 순서에도 불구하고, 제 2 레벨 입력이 처리된다. 덧셈(+) 룰 스텝이 예시된다. 다섯개의 번호를 서로 더할 수 있는데, 이는 첫번째 번호를 그의 상부 입력에 연결시키고 그 다음 나머지 4개의 번호를 그의 하부 입력에 연결시킴에 의해 이루어진다. 루프는 상부 번호를 하부 입력 중 하나에 부가한다. 모든 하부 입력이 합에 부가될 때까지 결과값이 다음 하부 입력에 부가될 것이다. 모든 번호의 합은 이 스텝으로부터의 출력으로서 저장될 것이다.
도 4 및 도 5를 참조하면 상술한 예시를 완료할 수 있다.
도 4에는, 커스텀 룰 세트 데이터베이스(60)가 텍스트 스트림을 갖는 대신에, 일련의 로직 스텝으로 분해될 수 있는 방법을 나타낸 것으로, 모든 스텝이 하나 이상의 입력 및 프로세스를 가진 데이터 베이스 스키마(152)가 도시된다. 이 데이터 베이스 스키마(152)는 예를들어 4개의 테이블, 즉 이벤트 테이블(154)과, 룰 테이블(156)과, 룰_스텝 테이블(158) 및 입력 테이블(160)을 구비하는 테이블(64)들이다. 이러한 테이블들은 데이터베이스(60)내에 저장되며, 이 테이블 각각은 필드를 가진 하나 이상의 레코드를 포함한다. 다수의 레코드(66)는 각 테이블내에 포함될 수 있으며 동일한 테이블내의 유사한 다수의 레코드 각각은 전형적으로 동일한 각 필드를 포함한다.
예를 들어, 룰 테이블(156) 내의 모든 레코드는 4개의 필드를 포함하며, 수백의 레코드가 수백의 커스텀 룰(62)과 상관될 수 있다. 따라서, 룰 테이블(156)은 다수의 레코드를 포함하며, 그 다음 다수의 필드를 각각 포함할 수 있다.
각 커스텀 룰은 이벤트를 생성하며, 그 결과 모든 룰은 하나 이상의 룰 스텝을 구비한다. 예를 들어, 룰 스텝 테이블(158) 내의 제 4 엔트리는 도 2 에 도시된 상수 스텝과 같은 피연산자 스텝이거나, 또는 도 2 에 도시된 바와 같이 덧셈 스텝, 초과 스텝, 이하 스텝 및 불 AND 스텝과 같은 연산 스텝일 수 있는 스텝 유형이다. 각 스텝은 하나 이상의 입력을 가진다. 상수 스텝인 경우에, 스텝 유형은 피연산자일 수 있으며, 입력은 상수 또는 수집된 데이터 값일 수 있다. 덧셈 스텝과 같은 연산 스텝의 경우, 스텝 유형은 덧셈일 수 있으며 입력은 선행하는 스텝에서 생성된 상수 또는 값과 같은 이전 스텝일 수 있다.
도 5에는 도 2에 도시된 커스텀 룰에 대해 저장된 실질 테이블 엔트리의 예시가 도시된다. 룰 테이블(156)을 개시하면, 그 테이블에 저장된 단일 레코드가 도시된다. 이 레코드는 1의 값을 가진 룰 ID 및 1의 값을 가진 룰-순서 또는 서열(precedence)을 포함한다. conf_start 및 conf_end 필드는 모든 시간동안에 모든 구성을 유지하는 데 이용되며, 이에 대한 것은 이하에 추가로 설명된다.
따라서, 룰 테이블(156)은 룰 ID가 1인 커스텀 룰을 도시하고 있으며, 그 룰 테이블이, 룰 ID 1이 My-result라고 하는 결과를 생성하는 것을 나타낸 이벤트 테이블까지 관련되어 있음을 도시하고 있다. 룰 테이블은 각각이 1이라는 룰 ID를 가진 10개의 상이한 룰 스텝이 있음을 나타낸 룰 스텝 테이블(158)까지 관련되어 있다. 따라서, 1이라는 룰 ID를 가진 룰 스텝 테이블의 모든 엔트리는 룰 1에 속한다.스텝 순서는 스텝 ID와 동일한 순서를 따른다. 첫 번째 5개의 스텝 유형(스텝 ID 1 내지 5)은 모두 1이며 이 예에서는 데이터를 재빨리 획득하거나 또는 로딩하기 위한 호출과 관계가 있다. 스텝 ID 6은 스텝 유형 2이며 이 예에서는 덧셈 프로세스이다. 스텝 ID 7은 스텝 유형 3이며, 이 예에서는 초과 프로세스이다. 스텝 ID 8은 스텝 유형 4이며 이 예에서는 이하 프로세스이다. 스텝 ID 9는 스텝 유형 5이며 이 예에서는 불 AND 프로세스이다. 마지막으로, 스텝 ID 11은 스텝 유형 6이며 이 예에서는 커스텀 룰의 결과 또는 My_Result 이벤트이다.
룰 테이블은 또한 스텝 ID라고 하는 컬럼 표제(column heading) 아래의 다수의 필드를 보여주는 입력 테이블(160)과 관련된다. 스텝 ID 1을 개시하면 프로세서는 스텝 ID 1에 대한 모든 입력을 검색하는데, 이 예에서는 데이터가 로딩될 필요가 있는 입력에 의해 식별되는 단지 하나의 입력만을 포함한다. 따라서, 스텝 1은 A에 대한 값을 재빨리 획득하여 그것이 이용 가능하게 될 수 있도록 메모리에 로딩한다. 보다 구체적으로, 입력 테이블 내의 스텝 ID 1은, 피연산자를 획득하기 위한 예정과 상관되는 스텝 유형 1을 가진 룰 테이블 내의 스텝 ID 1과 상관된다.
유사하게, 스텝 ID 2, 3, 4 및 5는 각각 데이터가 로딩될 필요가 있는 단지 하나의 입력을 포함한다. 따라서, 스텝 2, 3, 4 및 5는 B,C,D 및 E의 값 각각을 획득하고 그들을 메모리에 로딩하여 그들이 이용 가능하게 되도록 하는 스텝이다. 따라서, 스텝 1 내지 5의 피연산자는 변수(A,B,C,D)로 표시되고, 스텝들은 이러한 변수에 대한 실수값 또는 데이터를 획득한다. 이 경우에, A,B,C,D 및 E의 변수에 대한 데이터는 플로트(Flote)라고 하는 표제 아래의 테이블에 저장된 상수이다.
대안적으로, 입력 테이블 내의 세그먼트 ID(SID)는 로딩해야할 데이터와 A,B,C,D 및 E의 변수 각각으로부터 그것을 로딩해야 하는 장소를 조정하는 프로세서에 의해 사용되는 표현 방식을 제공한다.
스텝 ID 6은 두개의 입력, 즉 순서 또는 입력 번호 1 과 순서 또는 입력 번호 2를 가진다. 이러한 입력은 "FromStepOutput" 또는 "FromStepID"라고 하는 각 컬럼 표제 아래에 도시된 스텝 ID 1의 스텝 출력 1과 스텝 ID 2의 스텝 출력 1로부터 발생된다. 이 예에 있어서, 각 출력은 룰 스텝 1 및 2 로부터이다. 따라서 스텝 ID 6에 대한 상위 또는 좌측 입력은 룰 스텝 1의 출력으로부터 발생되고 하부 또는 우측 입력은 룰 스텝 2의 출력으로부터 발생된다. 유사하게, 스텝 ID 7은 룰 스텝 6 및 3의 출력으로부터 발생되는 입력을 가지며, 스텝 ID 8은 룰 스텝 4 및 5의 출력으로부터 발생되는 입력을 가지며, 스텝 ID 9는 룰 스텝 7 및 8의 출력으로부터 발생되는 입력을 가진다. 룰 스텝 9의 출력은 룰 스텝 11에 대한 입력으로서, My_Result라고 하는 결과를 생성한다. 이것은 스텝이 상호 접속되는 방법 및 이러한 상호 접속이 저장되는 방법을 설명한 것이다.
룰 테이블 156을 참조하면, Rule_Order 또는 서열 표제하의 필드로 인해 사용자는 다른 룰에 대한 입력을 위해 하나의 룰의 출력을 이용할 수 있게 된다. 예를 들어, 하나의 룰에 의해 결정되는 방출 스템 고온 이벤트(discharge stem high temperature event)는 다수의 상이한 시간에 동일한 로직을 재작업할 필요없이 하나 이상의 다른 룰에 이용될 수 있다. 따라서, 시스템(10)은 커스텀 룰을 1회 처리하고 그 값을 유지하며 다수의 상이한 시간에 그 값을 재 사용할 수 있게 된다.
그러나, 스템 온도가 높음을 판정하는 룰은 다른 룰이 처리되기 전에 처리되어야 한다. 따라서, 서열이 있어야 한다. 결과적으로, 룰이 그들과 의존 관계를 가지면, 미래의 룰에 이용되는 출력을 가진 룰이 우선적으로 처리되어야 한다. 예를들어, 제 1 결과가 생성되어 제 2 룰에 이용되고, 제 2 결과가 생성되어 제 3 룰에 이용되며, 그들에 대한 서열이 정해지도록 의존 관계 체인이 마련된다. 우선적으로 구동되어야 하는 모든 룰은 예를들어 하나를 획득하고 다음에 구동하는 룰들은 둘을 획득하는 식이다. 이것은, 잘못된 정보가 이용되지 않도록 룰을 구동시키는 순서를 정의한다.
도 6과 도 1을 참조하면, 커스텀 룰 시스템은, 예를 들어 산업 플랜트의 자산을 모니터링하는 다수의 센서(94)와 동작 가능하게 결합된다. 그 다음, 신호 조절, 처리 및 통신 시스템(200)은 다수의 센서(94) 및 기구(202)와 동작 가능하게 결합되고, 정보 추출 모듈(90)을 포함하는 제 1 단 프로세서 및 메모리 시스템(204)에 동작 가능하게 결합된다.
신호 조절, 처리 및 통신 시스템(200)은 데이터 획득 장치(92)에 이용될 수 있으며, 온라인 연속 장치를 포함하는 병렬 장치, 온라인 스캐닝 및 다중화 장치를 포함하는 유선 및 무선 스캐닝/순차 장치, 휴대형 데이터 수집기를 포함하는 오프 라인 진단 및 감시 장치, 오일 분석과 같은 상태 모니터링 장치, 및 프로세서 제어기를 포함하는 프로세서 제어기 및 장치를 포함할 수 있다.
제 1 단 프로세서 및 메모리 시스템(204)는 프로세서(20), 메모리(22), 입력(42), 출력(52), 커스텀 룰 세트 데이터 베이스(60) 및 룰 스텝(100)을 포함하는 데이터 베이스(72)를 구비할 수 있으며, 도 1 에 도시된 바와 같이 시스템 버스(82)를 통해 추출 모듈(90)에 연결된다. 또한, 제 1 단 프로세서 및 메모리 시스템(204)은 시스템 프로세서(206), 전문가 시스템 쉘(208), 추정 엔진(210), 룰 세트 데이터 베이스(212) 및 데이터 베이스(72)에 동작 가능하게 연결된다. 데이터 베이스(72)는 제 1 단 프로세서 및 메모리 시스템(204)에 결합될 수 있으며, 제 1 단 프로세서 및 메모리 시스템(204)과 함께 형성된 복합체일 수 있다.
신호 조절, 처리 및 통신 시스템(200)은 센서로부터 원시 데이터를 수신하고, 이 데이터를 조절하고 처리하여 제 1 단 프로세서 및 메모리 시스템(204)에 전달한다. 제 1 단 프로세서 및 메모리 시스템(204)은 전달된 데이터를 처리하고 저장한다. 이 정보는, 요청되면 정보 추출 모듈(90)로 전달된다. 제 1 단 프로세서 및 메모리 시스템(204)과 시스템 프로세서(206)는, 커스텀 룰 세트 데이터베이스(60)와 룰 세트 데이터 베이스(212)에 따라, 입력(42)과 추정 엔진(210)으로부터의 임의의 입력에 부가하여 정보 추출 모듈(90)에 의해 추출된 정보를 이용하며, 그에 따라 센서(94), 기구(202), 기계 장치 및 프로세스를 포함하는 자산(96)에 대한 결론을 획득한다.
센서, 기구, 기계 장치 및 프로세스에 대한 결론과 그와 관련된 임의의 문제점의 심각성(다른 시스템으로부터의 결론과 다른 데이터 베이스로부터의 구성 정보와 함께)이 제 2 단 프로세서 및 메모리 시스템(214)을 통해 출력단(52) 및/또는 메시지 라우팅 시스템(216)에 전달될 수 있으며, 그에 따라 상황에 적당하게 응답하기 위해서 어느 시간 프레임에 무슨 정보를 누가 수신해야 하는지를 판정하도록 처리된다. 보다 구체적으로, 처리된 파라메타로부터 도출되는 결론 및 심각성은 제 2 단 프로세서 및 메모리 시스템(214)과 메시지 라우팅 시스템(216)에 전달되고, 메시지 라우팅 시스템(216)은 특정의 결론을 출력단(218)을 통해 각 개인(personnel)에게 라우팅하거나 모뎀(222)을 통해 호스트 컴퓨터(220)로 라우팅하고, 그 다음에 특정 결론을 저장하거나 및/또는 그 결론을 각 개인에게 라우팅하도록 주문한다.
보다 구체적으로, 도 6을 참조하면, 시스템(10)은 객체 지향 패러다임을 가진 전문가 시스템 쉘(208)을 포함할 수 있다. 본 발명은 이 쉘(208)을 다른 프로세서(204 또는 206)와 함께 이용하여 데이터베이스(72)에 상주할 수 있는 클래스 계층적 지식 베이스의 프레임워크를 형성한다. 관리될 플랜트 내의 각 자산의 속성 또는 특성의 전반적인 표시와, 이들 속성을 작동시키는 룰 세트 및/또는 커스텀 룰 세트는 계층적 지식 기반의 상부에 상주하는 클래스 내로 정의된다. 계층적 지식 기반의 아래쪽 다음 레벨로 인해 서브 클래스가 계층적 클래스에 첨가된다. 따라서, 플랜트 내의 각 자산의 속성의 보다 구체적인 표시 및 이러한 속성을 작동시키는 방법론은 그들이 매달려 있는 상부 클래스 내의 모든 것을 이어받은 서브 클래스 내로 정의된다.
예를들어, 상부 클래스는 일반적으로 펌프로서 정의되고, 그들에게 종속된 워터 펌프(water pump)라고 하는 서브 클래스가 생성된다. 따라서, 워터 펌프라고 하는 서브 클래스는, 정의된 속성과 펌프라고 하는 계층적 클래스 내에 정의된 방법을 이어받는다. 따라서, 특정 유형의 워터 펌프는 상부 레벨의 계층에 첨가되며, 또한 펌프라고 하는 계층적 클래스 내에 포함된 모든 것을 이어받아 재사용한다. 또한, 서브 클래스는 펌프라고 하는 상부 클래스 내의 속성 및 룰 세트를 부가하거나, 삭제하거나 재정의하도록 정의된다.
일단 상부 클래스가 정의되면, 특정 플랜트 내의 특정 자산은 객체로서 구성된다. 하나의 형태에 있어서, 이러한 객체내의 속성 및 룰 세트는 제 1 단 프로세서 및 메모리 시스템(204)에 기록되어 브릿지(bridge)를 통해 전문가 시스템 쉘까지 파이프 전송되며, 전문가 시스템 쉘(208)의 객체 지향 패러다임에 의해 처리될 객체로 예시된다.
객체는 구성 입력과 지식 입력을 포함할 수 있는 입력(42) 또는 저장 메모리(28)를 이용하여 시스템 내로 첨부될 수 있다. 지식 입력은 저장 메모리(28)와 함께 작업하는 저장 매체를 포함하는데, 이 매체에는 특정 유형의 자산의 소유 속성 및 방법론이 저장되어 있다. 제 1 단 프로세서 및 메모리 시스템(204)은 단순히 모듈로부터 정보를 독출하여 그 정보를 시스템 프로세서(206) 및 쉘(208)에 파이프 전달하며, 그 정보는 특정의 자산을 나타내는 객체로 예시된다. 이러한 처리는 개시된 저장 매체 내에 포함된 임의의 거래 비밀(trade secret) 없이도 이루어질 수 있다. 입력(42)은 구성 정보 및 관리될 자산에 관한 임의의 다른 필요한 정보를 직접 삽입하는 데 이용될 수 있다. 이러한 정보는 저장 매체상에 포함된 정보와 동일한 방식으로 조정된다.
따라서, 감사(audit)가 실행될 각 시간마다, 예를들어 기계 트레인에서 발생하는 시간에 맞추어 스냅 사진을 제공하는 기계 트레인 내의 자산의 상태들을 나타내는 센서(94)로부터 원시 데이터를 획득한다. 제 1 단 프로세서 및 메모리 시스템(204) 및/또는 시스템 프로세서(206)는 이러한 파라메타를 처리한다. 정보 추출 모듈(90)은 이러한 파라메타로부터 정보를 추출하고, 제 1 단 프로세서 및 메모리 시스템(204) 및/또는 시스템 프로세서(206)는 커스텀 룰 세트 데이터베이스(60)의룰과 룰 세트 데이터베이스(212)의 룰에 따라 이러한 추출된 정보를 처리한다. 따라서, 룰 세트 및 커스텀 세트는 데이터베이스에 의해 어셈블될 정보를 조합하고 통합할 수 있다.
처리 파라메타로부터 도출된 결론은 제 2 단 프로세서 및 메모리 시스템(214)과, 메시지 라우팅 시스템(216)에 전송되며, 메시지 라우팅 시스템(216)은 모뎀(222)을 통해 각 직원이나 호스트 컴퓨터(220)로 특정의 결론을 라우팅하도록 주문받아서 특정의 결론을 저장하고 및/또는 각 직원에게 특정의 결론을 라우팅한다.
보다 구체적으로, 시스템(10)의 제 2 단 프로세서 및 메모리 시스템(214)은 복수의 신호를 메시지 라우팅 시스템(216)에 출력한다. 메시지 라우팅 시스템(216)은 자산(96)에 의한 행동 가능한 요구와 상관 관계가 있는 메시지를 출력하기 위한 곳을 판정한다. 바람직하게, 심각성 레벨 신호, 고장 카테고리 신호 및 문제점 신호를 가진 자산은 메시지 라우팅 시스템(216)으로의 출력과 관련된다. 심각성 레벨은 0 심각성, 1 심각성, 2 심각성, 3 심각성 등으로 정의된다. 고장 카테고리 출력은 센서, 기계 장치, 기구 및 프로세스에 대한 정보를 포함할 수 있다. 문제점 출력을 가진 자산은 특정의 자산, 예를 들어 스팀 문제를 가진 터빈에 대한 정보를 포함할 수 있다.
라우팅 시스템(216)은 메시지가 라우팅되어야 할 곳을 판정한다. 예를들어, 메시지는 조작자, 기계 장치 관리자, 기구 및 제어 시스템 관리자, 플랜트 관리자, 센서 및 기구 공급자 및 기계 장치 공급자에게 라우팅된다. 예를 들어, 자산이 기계 장치이고 심각성 레벨이 1이면, 기계 장치 관리부는 보고를 수신한다. 자산이 기구였고 심각성 레벨이 1이었다면, 기구 및 제어부는 보고를 수신한다. 프로세스가 레벨 1의 심각성을 가졌다면, 조작자 및 외부 계약자는 보고를 수신한다.
사용 및 작동에 있어서, 사용자는, 커스텀 룰을 생성하는 그래픽 사용자 인터페이스(48)과 연계하여 마우스를 이용함으로써 커스텀 룰 시스템(10)과 대화한다. 예를들어, 사용자가 "스팀 문제"를 검출하는 룰을 생성하기를 원했을 경우, 프로세스는 다음과 같다.
먼저, 도 7을 참조하면, 사용자는 파일 메뉴(162)로부터 메뉴 선택 "새로운 룰"을 선택하고 그 룰에 이름을 부여한다(예를들어 새로운 룰 1). 커스텀 룰 시스템(10)은, 사용자가 새로운 커스텀 룰을 생성하는 룰을 생성하거나 또는 다음의 선택, 즉 "Totally Custom Rules, Change Stored Rules and Derived Values"를 GUI 상에 디스플레이함에 의해 도출된 결론중에서 선택하도록 재촉할 수 있다. 사용자는 선택을 하고 그 다음에 "next" 아이콘(164)을 클릭하여 다음 대화상자로 이동시킨다. 도 7 에 도시된 바와 같이 이러한 다음 대화 상자(166)는, 룰 온의 구동을 위해 기계 트레인, 기계 장치 또는 부품의 그래픽 객체를 디스플레이한다. 사용자는 마우스를 이용하여 하나 이상의 그래픽 객체를 선택하고 후속적으로 "next" 아이콘(164)을 클릭하여 다음 대화 상자(176)로 이동시키며, 이에 대한 것은 도 8에 도시된다. 이 예에서, HP 터빈이 선택되었음을 알아야 한다.
도 8에 도시된 대화 상자(176)를 참조하면, 사용자는 그 룰을 보여주기 위한 초기값을 선택하도록 재촉받는다. 커스텀 룰 시스템(10)은 데이터베이스 또는 지식 데이터베이스(72)로부터의 정보를 제공하여, 그 정보를 다양한 등급(178)으로 사용자에게 디스플레이한다. 사용자는 선택된 기계 장치에 대한 상이한 등급(178)으로부터 특정의 등급을 선택한다. 그 등급은 트랜스듀서(transducer)로부터의 원시 데이터, 처리 데이터 또는 데이터 베이스로부터의 데이터를 포함한다. 예를 들어, 등급은 구성 데이터, 측정 데이터, 도출 데이터, 커스텀 도출 데이터, 결과 데이터 및 커스텀 결과 데이터를 포함할 수 있다. 사용자는 선택된 등급으로부터 하나 이상의 아이템을 선택한다. 예를들어, 도시된 바와 같이, 측정 등급이 선택되었으면, 사용자는 예를 들어 측정 등급으로부터 스팀 흐름과 스팀 압력 변수를 선택하여 커스텀 룰에 측정치를 부가하며, 그에 의해 스팀 흐름 스텝(180)인 하나의 스텝을 정의하고 도 9에 도시된 스팀 압력 스텝(182)인 하나의 스텝을 정의한다. 후속적으로, 사용자는 "finish" 아이콘(168)을 클릭하여, 도 9에 도시된 바와 같이 룰 그래픽 윈도우(170)와, 스텝 팔레트 또는 매트릭스 윈도우(102) 및 생성된 룰 로직 그래픽 윈도우(172)를 생성하는 커스텀 룰 모듈과 디스플레이 룰 모듈을 생성한다.
도 9를 참조하면, 사용자는 바람직하게 마우스(44)를 이용하여 룰 스텝 표시를 선택하고, 스텝 팔레트 또는 매트릭스(102)로부터, "New Rule" 커스텀 룰이 사용될 추가적인 룰 스텝을 정의하는 결과 윈도우(170)로 룰 스텝 표시를 끌어 놓는다.
보다 구체적으로, 도 9 및 도 10을 참조하면, 사용자는 미정의 결과 룰 스텝 표시(150)를 선택하여 팔레트로부터 룰 윈도우(170)로 끌어 놓을 수 있으며, 이것은 룰 스텝(184)으로 도시된다. 이러한 작용과 함께, 결과 스텝의 텍스트 버전은 하부 룰 로직 그래픽 윈도우 상에 배치되고 2와 동일한 심각성을 포함함을 알아야 한다.
마우스(44)상의 버튼을 클릭하면, 즉, 미정의 결과 룰 스텝(184)상에서 오른쪽 마우스 버튼을 클릭하면 커스텀 룰을 생성하며 도 11 및 도 12에 각각 도시된 바와 같이, 특성 대화 상자(196)와 결과 대화 상자(198)를 생성하는 커스텀 룰 및 디스플레이 모듈을 생성한다. 특성 대화 상자(196)에 의해 사용자는 생성된 결과를 선택하며, 이 예에서는 그 결과를 "스팀 문제"라고 한다. 추가적으로, 특성 대화 상자(196)에 의해 사용자는, 각각 새로운 그래픽 키(230)와, 편집 그래픽 키(232) 및 삭제 그래픽 키(234)를 통해 새로운 결과를 생성하는 것과, 기존의 결과를 편집하는 것 또는 기존의 결과를 삭제하는 것을 선택한다. 임의의 이러한 그래픽 키가 활성화되면, 결과 대화 상자(198)는 도 12에 도시된 바와 같이 나타난다. 그 다음, 사용자는 이름과, 추천된 작용 및 생성된 결과의 세부 사항을 추가하고 편집하고 및/또는 삭제할 수 있다.
또한, 도 13을 참조하면, 사용자는 단순히 마우스를 이용하여 임의 심각성 상자(236)를 클릭함으로서 결과의 심각성을 변경할 수 있다. 이 예에서, 심각성은 도 10에 도시된 바와 같이 심각성 2에서 심각성 3으로 변경되었다. 이것은 하부 룰 로직 그래픽 윈도우(172)상에 배치된 텍스트 버전으로부터 알 수 있을 것이다.
결과 스텝이 부가되고 정의 되었으므로 추가적인 룰 스텝이 부가된다.
도 14를 참조하면, 사용자는 두개의 상수 룰 스텝(186,188)과, 두개의 미만 룰 스텝(190,192) 및 불 OR 룰 스텝(194)을 부가한다. 팔레트(102)는 도 3 및 도 9에 도시된 바와같이 그래픽 사용자 인터페이스(48)상에 나타나지만 명확성을 위해 제거되었음을 알아야 한다.
보다 구체적으로, 도 3과 도 9 및 도 14에 도시된 바와 같이, 사용자는 팔레트(102)로부터 제 1 상수 룰 스텝 표시(142)를 선택하여 그것을 스팀 흐름 룰 스텝(180) 밑으로 끌어 놓음으로써 룰 스텝(186)을 형성하고, 그 다음 사용자는 팔레트(102)로부터 제 2 상수 룰 스텝 표시(142)를 선택하여 그것을 스팀 압력 룰 스텝(182) 아래로 끌어 놓아 룰 스텝(188)을 형성함으로써, 이러한 4개의 룰 스텝(180,182,186,188)이 도 14에 도시된 바와 같이 실질적으로 제 1 종행 위치 내에 배치되도록 한다. 유사하게, 사용자는 제 1 미만 룰 스텝 표시(116)를 선택하여 룰 윈도우로 끌어 놓음으로써 룰 스텝(190)을 형성하고, 그 다음 사용자는 제 2 미만 룰 스텝 표시(116)를 팔레트로부터 선택하여 룰 윈도우로 끌어 놓아 룰 스텝(192)을 형성함으로써 제 1 및 제 2 미만 룰 스텝(190,192)이 제 1 종행 위치의 우측인 제 2 종행 위치 내에 실질적으로 배치되도록 한다. 마지막으로 사용자는 팔레트로부터 불 Or 룰 스텝 표시(126)를 선택하여 룰 윈도우 내로 끌어 놓아 룰 스텝(194)을 형성함으로써 Or 룰 스텝(194)이 제 2 종행 위치의 우측 및 결과 룰 스텝(184)이 배치된 제 5 종행 위치의 좌측인 제 3 종행 위치 내에 실질적으로 배치되도록 한다.
일단 모든 룰 스텝이 룰 윈도우(170) 내에 배치되면, 상수에 대한 입력값은 실행을 위해 모두 잔존하고 커스텀 룰을 종료시키기 위해 모든 스텝을 연결시킨다.
도 15를 참조하면, 사용자는 하나의 룰의 출력 상에서 마우스 버튼을 단지 클릭하고 끌어 그의 오른쪽 칼럼에 배치된 다른 룰의 입력상으로 마우스 버튼을 이동시킨다. 이러한 프로세스는 도 15에 도시된 바와 같이 접속(240,242,244,246,248,250 및 252)이 획득될 때 까지 계속된다. 이와 같이 완료된 커스텀 룰은 특히 룰 스텝 식별자 및 도 2 내지 도 15를 참조하여 본 명세서에서 설명한 접속의 함수로서 저장된다. 룰이 생성되면 생성된 룰 로직 윈도우(172)의 텍스트는 자동적으로 갱신되고 모든 룰 상호 접속이 완료될 때 커스텀 룰의 완료된 커스텀 룰 텍스트 로직을 도시함을 알아야 한다.
바람직하게, 룰 스텝은 그의 좌측에 있는 룰 스텝과 접속될 수 없다. 다시말 해 룰 스텝 접속은 단 방향으로만 진행할 수 있다. 모든 룰 스텝은 전체적으로 자율적이며 각 룰 스텝은 각각의 후속적인 룰 스텝 전에 처리된다.
또한, 커스텀 룰이 생성되면, 커스텀 룰 모듈은 접속이 유효한지를 알기 위해 검사하고, 만약 유효하지 않으면 그 모듈은 접속을 생성하지 않는다. 모듈은 입력 및 출력 유형을 비교함으로서 접속될 수 있는 것과 없는것을 알 수 있도록 프로그램된다. 코드가 기록된 경우와는 다르게 상호 접속이 부적절한 경우에 사용자에게 경고하는 것이 전혀 없다.
완료시 및 커스텀 룰이 점화하면, 실질적인 결과가 사용자에게 표시될 것이다. 커스텀 룰 결과는 이벤트를 점화하지 못하는 서브 결과 값을 생성할 수 있다. 또한, 단일 룰은 변화하는 심각성의 다수의 이벤트를 점화할 수 있다. 또한, 로직 경로는 이벤트 트리거들이 공유할 수 있다.
사용자는, 상술한 바와 같이 그래픽 디스플레이된 스텝 팔레트 또는 매트릭스(102)로부터 아주 다양한 커스텀 룰을 생성할 수 있다. 본 발명의 하나의 바람직한 형태에 있어서, 도 1 및 도 3을 참조하면, 스텝 팔레트 또는 매트릭스(102)에 그래픽으로 표시된 룰 스텝(100)은 다음과 같다.
104로 표시된 덧셈 룰 스텝은 번호 또는 데이터를 서로 가산한다. 덧셈 룰 스텝 표시가 룰 윈도우내에 배치될 때, 그의 그래픽 표시는 그의 우측상의 출력과, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력 및 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부 및 하부의 좌측 입력으로부터의 모든 입력은 순서와 무관하게 서로 가산되고 결과는 우측 출력에 출력된다.
106으로 표시된 뺄셈 룰 스텝은 번호 또는 데이터를 서로 감산한다. 뺄셈 룰 스텝이 룰 윈도우 내에 배치되면, 그의 그래픽 표시는 그의 우측 상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과 바람직하게 다수의 접속을 포함할 수 있는 하부 좌측 입력을 포함한다. 상부 번호는 뺄셈 프로세서의 시작시에 사용되는 제 1 번호이며, 따라서 후속적인 결과치를 획득하기 위해 하나의 하부 번호가 초기에 상부 번호로부터 감산되어 후속하는 하부 번호가 감산된 결과를 획득하는 것을 계속하되, 감산될 하부 번호가 더 이상 없을 때 까지 계속한다. 최종 결과는 우측 출력에 출력된다.
108로 표시된 곱셈 룰 스텝은 번호 또는 데이터를 승산한다. 곱셈 룰 스텝이 룰 윈도우 내에 배치되면, 그의 그래픽 표시는 그의 우측 상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부 및 하부 좌측 입력으로부터의 모든 입력은 순서와 무관하게 서로 승산되고 최종은 우측 출력에 출력된다.
110으로 표시된 나눗셈 룰 스텝은 번호나 데이터를 제산한다. 나눗셈 룰 스텝이 룰 윈도우내에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부 번호는 나눗셈 프로세스의 시작시에 이용되는 제 1 번호이며, 따라서 초기에 임의의 하부 번호가 상부 번호로 제산되고, 그에 의해 후속하는 몫(quotient)을 얻기 위한 후속하는 나눗셈이 실행된 몫을 획득하고, 그러한 나눗셈은 마지막 후속하는 몫으로 제산될 하부 번호가 더 이상 없을 때까지 계속된다. 최종 결과는 우측 출력에 출력된다.
112로 표시된 등호 룰 스텝은 비교 스텝으로서 작용한다. 등호 룰 스텝이 룰 윈도우내에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하며, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부값은 각 하부값과 비교되는데, 각 하부값은 참을 유지하기 위해 동일 조건에서는 상부값과 동일해야 한다. 예를들어 참에 대해서는 1 및 거짓에 대해서는 0의 형태인 참 또는 거짓 최종값은 우측 출력에 출력된다.
114로 표시된 비 등호 룰 스텝은 또한 비교 스텝으로 작용한다. 비 등호 룰 스텝이 룰 윈도우에 배치되면, 그의 그래픽 표시는 그의 우측 상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부값은 각 하부값과 비교되며, 각 하부값은 비 등호 조건이 참을 유지하도록 상부값과 동일하지 않아야 한다. 예를들어 참에 대해 1 및 거짓에 대해 0의 형태인 참 또는 거짓 최종값은 우측 출력에 출력된다.
116으로 표시된 미만 룰 스텝은 비교 스텝으로 작용한다. 미만 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부값은 각 하부값과 비교되며, 각 하부값은 미만 조건이 참을 유지하도록 상부값 미만이어야 한다. 예를 들어 참에 대해 1 및 거짓에 대해 0의 형태인 참 또는 거짓 최종 값은 우측 출력에 출력된다.
118로 표시된 이하 룰 스텝은 비교 스텝으로 작용한다. 이하 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부값은 각 하부값과 비교되며, 각 하부 아이템은 미만 조건이 참을 유지하도록 상부값 이하이어야 한다. 예를들어 참에 대해 1 및 거짓에 대해 0의 형태인 참 또는 거짓 최종 값은 우측 출력에 출력된다.
120으로 표시된 초과 룰 스텝은 비교 스텝으로 작용한다. 초과 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부값은 각 하부값과 비교되며, 각 하부값은 초과 조건이 참을 유지하도록 상부값 미만이어야 한다. 예를들어 참에 대해 1 및 거짓에 대해 0의 형태인 참 또는 거짓 최종 값은 우측 출력에 출력된다.
122으로 표시된 이상 룰 스텝은 비교 스텝으로 작용한다. 이상 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 상부값은 각 하부값과 비교되며, 각 하부값은 이상 조건이 참을 유지하도록 상부값 이하이어야 한다. 예를들어 참에 대해 1 및 거짓에 대해 0의 형태인 참 또는 거짓 최종 값은 우측 출력에 출력된다.
124로 표시된 불 AND 룰 스텝은 로직 스텝으로 작용한다. 불 AND 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 모든 입력은, AND 조건이 참을 유지하도록 임의의 조건을 충족하거나, 참이거나 또는 동일한 값을 가져야 한다. 예를들어 참을 유지하는 AND 조건에 대해 로직 1 및 거짓을 유지하는 AND 조건에 대해 로직 0의 형태인 참 또는 거짓 최종 값은 우측 출력에 출력된다.
126로 표시된 불 OR 룰 스텝은 로직 스텝으로 작용한다. 불 OR 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 임의의 입력은, OR 조건이 참을 유지하도록 임의의 조건을 충족하거나 참이어야 한다. 예를들어 참을 유지하는 OR 조건에 대해 로직 1 및 거짓을 유지하는 OR 조건에 대해 로직 0의 형태인 참 또는 거짓 최종 값은 우측 출력에 출력된다.
128로 표시된 불 NOT 룰 스텝은 로직 스텝으로 작용한다. 불 NOT 룰 스텝이 룰 윈도우에 배치되면 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 그의 좌측상에 입력을 포함한다. NOT 룰 스텝은 입력을 반전시키는 것으로 인버터 룰 스텝이라고도 한다. 예를들어 로직 1의 형태인 참값이 불 NOT 룰 스텝의 입력에 입력 되면, 로직 0의 형태인 거짓값이 불 NOT 룰 스텝의 출력에 출력된다.
130에 의해 표시된 최대 룰 스텝은 최대값을 가진 입력값을 구하여 그것을 출력한다. 최대 룰 스텝이 룰 윈도우내에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 모든 입력은 최대 값을 구하도록 처리되고 이 값은 우측 출력에 출력된다.
132로 표시된 최소 룰 스텝은 최소값을 가진 입력값을 구하여 그것을 출력한다. 최소 룰 스텝이 룰 윈도우에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 다수의 접속을 조정할 수 있는 하부 좌측 입력을 포함한다. 모든 입력은 최소값을 구하도록 처리되며, 이 값은 우측 출력에 출력된다.
134로 표시된 절대(Abs)값 룰 스텝은 입력값의 절대값을 구하여 그것을 출력한다. 절대값 룰 스텝이 룰 윈도우에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하고 그의 좌측상에 입력을 포함한다. 입력은 절대값을 구하도록 처리되며, 이 값은 우측 출력에 출력된다.
136으로 표시된 스위치 룰 스텝은 상부 입력에 입력된 값을 획득하여 그 값이 참이면 중간값을 출력하고 그 값이 거짓이면 하부 입력을 출력한다. 특히, 스위치 룰 스텝이 룰 윈도우내에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하고, 바람직하게 단지 하나의 접속만을 조정할 수 있는 상부 좌측 입력과, 바람직하게 단지 하나의 접속만을 조정할 수 있는 중간 좌측 입력 및 바람직하게 단 지 하나의 접속만을 조정할 수 있는 하부 좌측 입력을 포함한다.
138로 표시된 리스트 룰 스텝은 이러한 상태를 목록으로 분류한다. 용도에 있어서, 예를들어 사용자는, 베어링(bearing)과 같은 등급으로부터 우선적으로 아이템을 선택함으로써, 피연산자 스텝이 룰 스텝 윈도우에 나타난다. 그러면, 사용자는 리스트 룰 스텝과 등호 스텝을 룰 윈도우 내에 배치한다. 사용자는 베어링 등급과 리스트 룰을 등호 스텝에 접속시키며, 그에 따라 리스트 룰 스텝은 개별적으로 선택될 수 있는 베어링과 관련된 값으로 충진된다. 따라서, 사용자는 베어링과 같은 요소와 관련된 모든 값을 알지 못해도 된다.
140으로 표시된 F(X) 룰 스텝은 도출된 값을 출력하는 출력 스텝이다. 사용자는 함수를 정의하고 그것을 개별적인 F(X)룰로서 저장한다. 대안적으로, 사용자는 개별적인 F(X) 룰로서 룰의 출력을 저장할 수 있다. 예를들어, 룰이 덧셈 스텝에 대해 8개의 입력을 포함하고 있고, 제산 스텝에서 출력이 8로 제산되었다면 평균값이 획득되어, F(X) 룰 스텝에 입력되고, F(X) 룰 스텝은, 이 값을 저장하여 후속적인 룰을 형성하는데 사용할 수 있다. F(X) 룰 스텝이 룰 윈도우에 배치되면, 그의 그래픽 표시는 그의 우측상에 출력을 포함하고 정의된 함수에 필요한 만큼 많은 입력을 포함한다.
144로 표시된 템프(Temp) 룰 스텝은 보다 많은 입력 스텝을 선택하도록 사용자가 스크린을 떠올리게 한다.
146으로 표시된 참/거짓 룰 스텝은 사용자에 의해 정의된 참 또는 거짓값을 출력하는 출력 스텝이다.
148로 표시된 룰 스텝은 다른 룰에서 사용될 수 있는 도출값이다.
150에 의해 표시된 결과 룰 스텝은 커스텀 룰의 결과를 출력하는 룰 스텝이다.
도 16 내지 28에는 커스텀 룰 세트 데이터베이스(60)에 포함된 각 테이블(64)에 대한 하나의 바람직한 형태가 도시된다. 각 테이블은 적어도 하나의 필드를 가진 적어도 하나의 레코드를 포함한다.
특히, 도 16에는 다음과 같은 필드, rule_group_id, rule_group_guid, group_priority, is_rule_group_active, rule_group_text_id, rule_group_text, rule_type, is_password_active 및 rule_group_password를 포함하는 레코드를 나타내는 룰 그룹 테이블(260)이 도시된다.
rule_group_id는 룰 그룹에 대한 유일 식별자이다. 기록된 모든 룰은 그룹을 배정받는다. 룰이 속하는 그룹은 그룹화된 룰 세트의 우선 순위(룰이 구동되는 순서)와, 누가 그 룰을 보고 편집하는지 및 룰의 그룹이 활성 상태인지를 판정한다. rule_group_id는 국부 식별자이다. 데이터 베이스들중에서, rule_group_guid는 유효 룰 그룹을 검증하기 위해 검사받아야 한다.
rule_group_guid는 그것이 생성되면 룰 그룹에 할당되는 ID 이다. rule_group_guid는 상이한 데이터베이스간에 유일한 유일 번호이다. 룰 그룹이 하나의 데이터 베이스로부터 다른 데이터 베이스로 복사되면 result_guid는 그와 같이 복사된다.
group_priority는 그 그룹이 속하는 모든 룰이 구동되는 우선 순위이다. 그 룰 그룹 모두가 group_priority의 순서로 독출될 것이다. 그 다음 그룹 룰 각각이 구동될 것이다. 예를들어, group_priority가 1이면 첫번째 룰 그룹이 구동되고 group_priority가 32,767이면 마지막 룰 그룹이 구동될 것이다.
is_rule_group_active가 참이면, 그 룰 그룹의 일부(rule_group_id)인 모든 룰이 구동되어야 한다. is_rule_group_active가 거짓이면, 그 룰 그룹의 일부(rule_group_id)인 룰들의 어느것도 구동되지 않는다.
rule_group_text_id는 룰 그룹을 설명하기 위해 디스플레이되는 텍스트의 text_id이다. rule_group_text_id가 0보다 크거나 작으면 이 텍스트는 단지 사용자에게만 표시된다. rule_group_text_id가 0이면 rule_group_text의 텍스트가 이용되어야 한다.
rule_group_text는 룰 그룹을 설명하기 위해 디스플레이된 텍스트이다. rule_group_text_id가 0이면 이 텍스트는 사용자에게만 표시된다.
rule_type 목록은 룰을 생성했던 유형을 저장한다. 시스템(10)에 의해 사용자는 3가지 다른 유형을 생성한다. 하나는 임의의 다른 룰에 이용될 수 있는 도출된 값이다. 다른 하나는 기존 결과 심각성을 다시 맵핑하는 것에 대한 것이다. 나머지 하나는 사용자 정의된 커스텀 보고 가능 결과에 대한 것이다.
is_password_active 목록은, rule_group_password가 액티브이면 참이다. 이것은 임의의 룰, 도출된 값 또는 커스텀 룰을 보거나 편집하기 위해서는, 정확한 패스워드를 입력시킴에 의해 룰 그룹이 활성화되어야 함을 의미한다.
rule_group_password는 그 그룹 룰과, 커스텀 결과 및 도출된 값을 보고 편 집하기 위한 기능을 활성화시키기 위해 타이핑되어야 하는 패스워드이다.
도 17은 rule_id, beg_rule_conf_id, end_rule_conf_id, rule_text, rule_text_id, is_valid, is_active, is_deleted, rule_priority, rule_group_id, component_key 및 num_result_steps 필드를 구비하는 레코드를 도시한 룰 테이블(262)도이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성됨을 알아야 한다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성됨을 알아야 한다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
rule_text는 룰의 이름으로서 디스플레이되는 텍스트이다. 이 텍스트는 rule_text_id가 0일때 사용자에게만 도시된다.
rule_text_id는 룰의 이름으로서 디스플레이되는 텍스트의 text_id이다. 이 텍스트는 rule_text_id가 0보다 크거나 작을 때 사용자에게만 도시된다. rule_text_id가 0이면, rule_text의 텍스트가 이용되어야 한다.
is_valid는 룰이 양호하고 실행될 수 있음을 열거한다.
is_active는 룰이 액티브하고 룰 프로세싱동안에 실행되어야 함을 열거한다.
is_deleted는 룰이 삭제되었음을 열거한다. 그 룰은 데이터베이스로부터 제거되지 않으며, 그에 따라 룰의 이력을 볼 수 있게 된다.
rule_priority는 룰이 구동되어야 하는 순서를 저장한다. rule_priority는 주어진 룰 그룹내의 룰 처리 순서만을 나타낸다. 각 룰그룹은 group_priority에 의해 우선 순위가 정해진다. 1의 rule_priority는 구동될 첫번째 룰이고, 2,147,483,648의 rule_priority는 구동될 마지막 룰이다.
rule_group_id는 룰 그룹에 대한 유일한 식별자이다. 기록될 각 룰은 그룹을 배정받는다. 룰이 속하는 그룹은 룰 세트가 속하는 그룹화된 룰 세트의 우선 순위(룰이 구동되는 순서)와, 누가 룰을 보고 편집할 수 있는지 및 룰의 그룹이 액티브한지를 판정한다.
component_key는 데이터베이스내의 부품에 대한 유일 식별자이다.
num_result_steps는 주어진 룰(rule_id)에 대한 결과 스텝 수이다.
도 18은 rule_id, beg_rule_conf_id, end_rule_conf_id, step_num, vert_position_num, horz_position_num 및 operation_id 필드를 구비하는 레코드를 도시한 룰 스텝 테이블(264)도이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
step_num은 룰내의 개별적인 룰 스텝의 각각을 식별하는데 이용된다. step_num은 제 1 스텝에 대해 1부터 시작하여 룰에 부가되는 각 추가 스텝마다 하나씩 가산되고 증가된다. step_num은 룰 스텝 테이블에 대한 주요키(primary key)의 일부이다. 각 룰 스텝은 룰 스텝 테이블내의 레코드를 가지며 그것이 생성될 때 step_num을 제공받는다. 각 룰 스텝은 다른 테이블내의 레코드를 가질 수 있으며,step_num은 주어진 룰 스텝에 속하는 다른 레코드를 발견하는데 이용된다.
vert_position_num은 룰 스텝의 수직적 위치를 저장한다. 이것은 룰이 디스플레이상에 디스플레이되는 수직적 위치이다. vert_positio_num은 룰 스텝 처리의 순서를 매기는데 이용된다. horz_position_num은 룰 처리 순서에 있어서 가장 중요 한 것이다.
horz_position_num은 룰 스텝의 수평적 위치를 저장한다. 이것은 룰이 디스플레이상에 디스플레이되는 수평적 위치이다. horz_position_num은 룰 스텝 처리의 순서를 매기는데 이용되는 주요값이다. 동일한 horz_position_num을 가진 모든 룰 스텝이 임의의 순서로 처리될 수 있다.
operation_id는 지원된 연산 각각에 대한 식별자이다. 커스텀 룰 프로세서에 지원된 각 연산 유형인 덧셈, 뺄셈마다 하나의 레코드가 있다.
도 19는 rule_id, beg_rule_conf_id, end_rule_conf_id, connection_num, from_step_num, from_output_num, to_step_num 및 to_input_num 필드를 구비하는 레코드를 도시한 룰 접속 테이블(266)도이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
connection_num은 룰의 접속 수를 저장한다. 이것은 그 룰내의 접속을 탐색하는 우선키의 일부이다. 접속은 룰 스텝 출력에서 룰 스텝 입력으로 이루어진다. 그 룰의 각 접속은 그 자신의 connection_num을 획득한다.
from_step_num은 접속의 출력측을 가진 룰 스텝의 step_num이다.
from_output_num은 접속이 연결되는 룰 스텝 출력의 output_num이다.
to_step_num은 접속의 입력측을 가진 룰 스텝의 step_num이다.
to_input_num은 접속이 연결되는 룰 스텝 입력의 input_num이다.
도 20은 ruel_id, beg_rule_conf_id, end_rule_conf_id, step_num, input_num, step_input_enum_id 및 step_input_enum_id 필드를 구비하는 레코드를 도시한 룰 스텝 입력 테이블(268)도이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 룰 데스크에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
step_num은 룰 내의 개별적인 룰 스텝 각각을 식별하는데 이용된다. step_num은 제 1 스텝에 대해 1부터 시작하여 룰에 부가되는 각 추가 스텝마다 하나씩 가산되고 증가된다. step_num은 룰 스텝 테이블에 대한 주요키(primary key)의 일부이다. 각 룰 스텝은 룰 스텝 테이블내의 레코드를 가지며 그것이 생성될 때 step_num을 제공받는다. 각 룰 스텝은, 다른 테이블내의 레코드를 가질 수 있으며, step_num은 주어진 룰 스텝에 속하는 다른 레코드를 발견하는데 이용된다.
각 룰 연산은 다수의 입력을 가질 수 있다. Input_num은 레코드 데이터가 설명하는 입력이 어느 입력인지를 식별한다.
value_type은 룰 스텝내의 값 또는 룰 스텝외의 값의 유형을 저장한다. 이것은 새로운 룰이 생성될 경우에, 값을 검색하고 적당한 접속 부착물을 검증하는데 이용된다.
step_input_enum_id는 룰 스텝 입력의 enum_id이다. 0의 step_input_enum_id는 입력이 목록값이 아님을 나타낸다.
도 21은 rule_id, beg_rule_conf_id, end_rule_conf_id, step_num, output_num, value_type, b_value, f_value, i_value, e_value, units, sub_units, field_id, component_key, step_output_enum_id 및 loop_num 필드를 구비하는 레코 드를 도시한 룰 출력 테이블(270)도이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
step_num은 룰 내의 개별적인 룰 스텝 각각을 식별하는데 이용된다. step_num은 제 1 스텝에 대해 1부터 시작하여 룰에 부가되는 각 추가 스텝마다 하나씩 가산되고 증가된다. step_num은 룰 스텝 테이블에 대한 주요키(primary key)의 일부이다. 각 룰 스텝은 룰 스텝 테이블내의 레코드를 가지며 그것이 생성될 때 step_num을 제공받는다. 각 룰 스텝은, 다른 테이블내의 레코드를 가질 수 있으며, step_num은 주어진 룰 스텝에 속하는 다른 레코드를 발견하는데 이용된다.
각 룰 연산은 다수의 출력을 가질 수 있다. output_num은 레코드 데이터가 설명하는 출력이 어떤 출력인지를 식별한다.
value_type은 룰 스텝내의 값 또는 룰 스텝외의 값의 유형을 저장한다. 이것은 새로운 룰이 생성될 경우에, 값을 검색하고 적당한 접속 부착물을 검증하는데 이용된다.
b_value는 value_type이 불인 경우에 룰 스텝 출력의 값이다.
f_value는 value_type이 플로트(float)인 경우에 룰 스텝 출력의 value-type이다.
i_value는 value_type이 정수인 경우에 룰 스텝 출력의 값이다. value_type이 목록이면 enum_value 번호가 i_value에 저장된다.
e_value는 value_type이 목록인 경우에 룰 스텝 출력의 enum_id값이다. 실질적인 목록을 탐색하기 위한 enum_vlaue는 i_value 상태이다.
unit는 룰 스텝 출력이 저장되었던 유닛의 유형이다. 이것은 유닛 유형 또는 유닛 유형의 전환을 검증하는데 이용될 수 있다. 이것은 클래스 기반 룰이 부가될 때 가장 필요할 것이다.
sub_units는 룰 스텝 출력이 저장되었던 sub_unit 유형이다. 이것은 서브 유닛 유형 또는 서브 유닛의 변환을 검증하는데 이용될 수 있다. 이것은 클래스기반 룰이 부가될 때 아주 필요하다.
field_id는 데이터베이스 내의 특정 필드를 지정하는데 이용되는 번호이다. 이 번호는 독출될 수 있는 적절한 데이터를 탐색하고 필드 테이블로부터의 필드 정보를 기록하는데 이용될 수 있다.
component_key는 데이터베이스 내의 부품에 대한 유일 식별자이다.
step_output_enum_id는 룰 스텝 출력의 enum_id이다. 0의 값을 가진 step_output_enum_id는 출력이 목록값이 아님을 나타낸다.
loop_num은 하나 이상이 이용될 수 있는 경우에 필드의 수이다. 예를 들어 배출 온도가 있다. 터빈에 대해 다수의 배출 온도가 있을 수 있다. loop_num는 배출 온도 포인트의 수이다.
도 22는 다음의 필드, 즉 rule_id, beg_rule_conf_id, end_rule_conf_id, step_num, result_type, multiple_severities, creat_severity_0_result, auto_staus_checking 및 no_result를 구비하는 레코드를 도시한 결과 스텝 테이블(272)도 이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
step_num은 룰 내의 개별적인 룰 스텝 각각을 식별하는데 이용된다. step_num은 제 1 스텝에 대해 1부터 시작하여 룰에 부가되는 각 추가 스텝마다 하나씩 가산되고 증가된다. step_num은 룰 스텝 테이블에 대한 주요키(primary key)의 일부이다. 모든 룰 스텝은 룰 스텝 테이블내의 레코드를 가지며 그것이 생성될 때 step_num을 제공받는다. 각 룰 스텝은, 다른 테이블내의 레코드를 가질 수 있으며, step_num은 주어진 룰 스텝에 속하는 다른 레코드를 발견하는데 이용된다.
result_type은 보고 가능한 결과를 식별하기 위해 시스템에서 이용되는 번호이다. result_type는 결과에 대한 국부적인 별칭과 보다 유사하다. 이 번호는 다른 데이터베이스내의 동일 유형의 결과와 다를 수 있다. result_guid는 데이터베이스들 간의 결과를 긍정적으로 식별하는데 이용될 수 있는 유일 번호이다.
multiple_severities는 사용자에 의해 선택될 수 있다. 사용자가 다수의 심각성 레벨을 하나의 결과 스텝으로 점화할 수 있기를 원하다면, 그들은 룰 스텝의 특성의 다수의 심각성을 인에이블시킨다. 사용자가 다수의 심각성 선택권을 선택하고 활성화시키면 multiple_severities는 참이다.
creat_severity_0_result는 사용자에 의해 선택될 수 있다. creat_severity_0_result가 참이면 사용자는 심각성 0 결과가 생성되게 선택한 것이다.
auto_staus_checking은 사용자에 의해 선택될 있다. auto_staus_checking이 참이면, 사용자는 룰에 이용된 모든 값을 자동 상태 검사하게 선택한 것이다. 룰에서 임의의 변수 사용이 이용될 수 없으면, 0의 심각성이 생성되고 디스플레이 및 데이터 충족 결과가 또한 생성된다.
no_result는, 결과내의 값이 참으로 평가된 경우에 결과가 생성되지 못하게 하는 입력이 도시되어야 하는 지를 나타내는 플래그이다.
도 23은 다음과 같은 필드, 즉, rule_id, beg_rule_conf_id, end_rule_conf_id, step_num을 구비한 레코드를 도시한 도출된 값 스텝 테이블(274)도이다.
rule_id는 각 룰에 대한 유일 식별자이다. beg_rule_conf_id 및 end_rule_conf_id를 이용하여 룰에 대한 변경을 추적할 수 있다. rule_id는 모든 룰 스텝 테이블의 외부키의 일부로서 이용된다. 이것은 주어진 rule_id에 속하는 모든 룰 스텝을 발견할 수 있는 방법이다.
beg_rule_conf_id는, 룰 또는 룰 스텝이 생성되었을 때, 가장 최근의 rule_conf_id를 저장한다. 시스템에서 변경이 이루어질 때 마다, 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝 또는 변경된 룰이나 룰 스텝을 플래그(flag)하는데 이용된다.
end_rule_conf_id는 룰 또는 룰 스텝이 유효한 마지막 rule_conf_id를 저장한다. 시스템(10)에서 변경이 이루어질 때 마다 새로운 rule_conf_id가 생성된다. rule_conf_id는 모든 새로운 룰, 룰 스텝, 또는 변경된 룰 또는 룰 스텝을 플래그하는데 이용된다.
step_num은 룰 내의 개별적인 룰 스텝 각각을 식별하는데 이용된다. step_num은 제 1 스텝에 대해 1부터 시작하여 룰에 부가되는 각 추가 스텝마다 하나씩 가산되고 증가된다. step_num은 룰 스텝 테이블에 대한 주요키(primary key)의 일부이다. 모든 룰 스텝은 룰 스텝 테이블내의 레코드를 가지며 그것이 생성될 때 step_num을 제공받는다. 각 룰 스텝은, 다른 테이블내의 레코드를 가질 수 있으며, step_num은 주어진 룰 스텝에 속하는 다른 레코드를 발견하는데 이용된다.
derived_value_id는 도출된 값을 식별하기 위해 시스템에 이용된 번호이다. derived_value_id는 도출된 값에 대한 국부 별칭과 보다 유사하다. 이 번호는 다른 데이터베이스내의 동일 유형의 도출된 값과 다를 수 있다. derived_value_guid는 데이터베이스들사이에서 도출될 값을 긍정적으로 식별하는데 이용될 수 있는 유일 번호이다.
도 24는 다음과 같은 필드, 즉, system_options_key, database_major_version, database_minor_version 및 database_custom_version을 구비하는 레코드를 도시한 시스템 선택 테이블(276)도 이다.
system_options_key는 시스템 선택 테이블의 주요키이다. 이 테이블은 단지 하나의 레코드를 가져야 한다.
database_major_version은 데이터베이스의 주 버전이다. 데이터베이스에 대한 주요한 변경이 발생하면 주 버전을 롤링(rolling)시킬 수 있다.
database_minor_version은 데이터베이스의 부 버전이다. 데이터베이스에 대한 부차적 변경이 발생하면 부 버전을 롤링시킬 수 있다. database_major_version 이 증가될 때마다, database_minor_version이 1로 되설정된다.
database_custom_version은 데이터베이스의 커스텀 버전이다. 데이터베이스의 커스텀 버전을 생성하면, database_custom_version으로 이러한 변경을 구분할 수 있게 된다.
도 25는 component_type, ancestor_component_type 및 ancestor_level과 같은 필드를 구비한 레코드를 도시한 클래스 계층 테이블(278)도이다.
component_type은 부품의 유형을 저장한다. 범위내에 정의된 모든 부품을 정의하기 위해 "Component Types"내에 엔트리가 있어야 한다.
ancestor_component_type는 component_type이 획득 데이터베이스로부터 이어받은 부품의 유형을 저장한다.
ancestor_level은 ancestor_component_type이 얼마만큼의 조상 트리(ancestor tree)인지를 나타낸다. 1값을 가진 ancestor_level은 부모 ancestor_component_type이다. 2값을 가진 ancestor_level은 조부모 ancestor_component_type, 등등이다.
도 26은 text_id 및 english_text와 같은 필드를 구비하는 레코드를 도시한 영어 텍스트 테이블(280)도이다.
text_id는 개별 DLL의 스트링 테이블(string table)내의 실질적인 텍스트 값을 탐색하는데 이용되는 번호이다. text_id는 국제화를 보다 쉽게 하는데 이용된다.
다음을 알아야 한다.
text_id는 데이터베이스의 실질 텍스트 대신에 이용된다. 시스템(10)이 텍스트 식별자를 이용하는 이유는 그것이 데이터베이스내의 텍스트를 번호로 정의할 수 있는 반면 실질적인 텍스트는 언어 모듈내의 스트링 테이블내에 저장되어 있기 때문이다. 이것은 국제화를 위해 실행된다. 데이터베이스내에 자신의 텍스트를 두었다면, 시스템(10)의 국제화에 문제를 발생시킨다.
개발자 또는 사용자에 의해 입력될 수 있는 텍스트 값은 text_id 및 정규 텍스트 필드를 포함한다. 이 경우에, text_id 필드를 주목함으로서 항상 시작할 수 있다. text_id 필드가 0보다 크거나 작으면, 언어 모듈내의 값을 탐색한다. text_id가 0이면, 사용자에 의해 타이핑된 실질 텍스트 필드의 값이 이용된다.
text_id를 사용하지 않으면 다음과 같은 몇가지 문제가 발생한다.
데이터베이스가 일본어로 번역되면, 모든 텍스트는 전부 일본어일 것이다. 이것은 사용자가 영어 버전의 디스플레이 모듈을 가지더라도 마찬가지이다.
번역 그룹이 데이터베이스내에서 번역될 필요가 있는 텍스트가 무엇인지를 해석하기가 보다 어려워진다. 현재는, 그들이 실행해야 하는 모든 것을 이용하고 그들의 툴(tool)은 하나의 스트링 테이블내의 모든 텍스트를 번역한다. 이것이 훨씬 쉽고 보다 신뢰성있다. 전체 스트링이 아닌 하나의 스트링이 접속을 가로질러 번호를 통과시키는 것이 필요한 추가적인 장점이 있다.
english_text는 text-id의 영문 버전의 텍스트의 사본이다. 이 필드는 결코 직접 이용될 수 없다. 이 필드는 참조를 위한 것이다. text_id는, 스트링이 스트링 테이블에 존재하지 않으면, 이 테이블로부터 값을 복귀시킬 수 있다. 이것은 text_id의 구 버전이 데이터베이스의 신 버전과 함께 사용중인 경우에만 발생한다. 만약 누군가가 text_id에 대한 값이 없는 text_id를 가진 데이터베이스에 접속된 시스템(10)의 일본어 버전을 가지고 있다면, 이 기능에 의해 블랭크를 제공하기 보다는 그 대신에 텍스트의 영문 버전이 제공될 것이다.
따라서, 필수적으로 텍스트는 텍스트 식별 번호로 저장되어 국제화될 수 있어야 한다. 텍스트 식별 번호는 번호를 상이한 유형의 텍스트, 예를들어 문자, 심볼, 숫자, 단어 또는 문자 스트링, 심볼들, 숫자들, 및/또는 단어들과 관련시킨다. 코드는 텍스트로서 시스템(10)에 복귀될 번호를 언어 모듈에 전송하는데 이용되며, 그에 의해 데이터베이스내의 모든 텍스트가 기록되고 텍스트 식별 번호로서 저장된다. 텍스트 식별 번호는, 임의 언어로 기록될 수 있는 데이터베이스를 획득하기 위해, 저장된 식별 번호에 텍스트 문자를 관련시키는 코드에 의해 추후에 쉽게 번역될 수 있다.
도 27은 text_id 및 english_memo_text와 같은 필드를 구비한 레코드를 도시한 영어 메모 텍스트 테이블(282)도이다. text_id들은 국제화를 보다 쉽게 하기 위해 이용된다.
english_memo_text는, 텍스트가 english_text 필드에 맞추기에 너무 큰 경우에 이용되는 것으로, 영어 버전의 text_id내의 텍스트의 사본이다. 이 필드는 결고 직접 이용되지 못한다. 이 필드는 본 명세서에서 참조를 위한 것이다. text_id는 스트링이 스트링 테이블내에 존재하지 않을 경우 이 테이블로부터의 값을 복귀시킬 수 있다. 이것은, text_id의 구버전이 데이터베이스의 신 버전과 함께 이용되는 경 우에만 발생한다. 만약 누군가가 text_id에 대한 값을 가지고 있지 않은 text_id를 가진 데이터베이스에 접속된 시스템(10)의 일본어 버전을 가지고 있다면, 이러한 기능에 의해 블랭크를 제공하기 보다는 그 대신에 텍스트의 영문 버전이 제공될 것이다.
도 28은 다음과 같은 필드, 즉 property_text_id, pp_text_id, ds_text_id, rack_text_id, mon_text_id, chan_text_id 및 t_text_id를 구비한 레코드를 도시한 특성 텍스트 테이블(284)도이다.
property_text_id는 특성값 각각에 대한 text_id값을 포함하는 레코드에 대한 유일 식별자이다.
pp_text_id는 모든 pp_value 세트를 설명하는데 이용되는 텍스트 id이다.
ds_text_id는 모든 ds_value 세트를 설명하는데 이용되는 텍스트 id이다.
rack_text_id는 모든 rack_value 세트를 설명하는데 이용되는 텍스트 id이다.
mon_text_id는 모든 mon_value 세트를 설명하는데 이용되는 텍스트 id이다.
chan_text_id는 모든 chan_value 세트를 설명하는데 이용되는 텍스트 id이다.
t_text_id는 모든 t_value 세트를 설명하는데 이용되는 텍스트 id이다.
또한, 본 발명에 설명된 것은, 본 명세서에서 설명되고 이하의 청구범위에서 설명된 것처럼 본 발명의 범주 및 명백한 취지를 벗어나지 않고도, 많은 구조적 변형과 적용이 있을 수 있음을 알 수 있을 것이다.

Claims (20)

  1. 커스텀 룰(custom rules)을 생성하는 커스텀 룰 시스템에 있어서,
    프로세서와,
    상기 프로세서에 동작 가능하게 결합되는 메모리 - 상기 메모리는 복수의 피연산자 및 연산 룰 스텝(operation rule steps)을 저장함 - 및 디스플레이와,
    상기 메모리 내에 저장되는 상기 복수의 피연산자 및 연산 룰 스텝의 그래픽 아이콘(graphical icon)을 상기 디스플레이의 제 1 영역 상의 팔레트(a pallet)로서 사용자에게 디스플레이하여, 상기 팔레트가 상기 피연산자 및 연산 룰 스텝들 중 적어도 하나에 각각 대응하는 복수의 개별 그래픽 피연산자 및 연산 아이콘으로 구성되게 하는 수단과,
    사용자로 하여금 상기 팔레트로부터 복수의 아이콘을 순차적으로 선택하고 상기 복수의 순차적으로 선택된 아이콘을 상기 디스플레이 상의 제 2 영역 상에 정렬된 일련의 아이콘으로서 배열하게 하는 수단과,
    사용자로 하여금, 상기 디스플레이의 상기 제 2 영역 상에 상기 정렬된 일련의 아이콘으로서 순차적으로 배열되는 상기 복수의 순차적으로 선택된 아이콘을 상호 접속시켜서, 상기 사용자에 의해 생성되는 상기 사용자에 의해 선택되고 상호 접속된 정렬된 일련의 아이콘으로 구성되는 커스텀 룰을 생성하는 수단과,
    상기 사용자 생성 커스텀 룰을, 상기 사용자에 의해 생성되는 상기 사용자에 의해 선택되고 상호 접속된 정렬된 일련의 아이콘에 대응하는 정렬된 일련의 피연산자 및 연산 룰 스텝으로서 데이터베이스에 저장하여, 상기 피연산자 및 연산 룰 스텝이 상기 데이터베이스에 저장된 순서와 동일한 순서로 프로세싱되어 상기 사용자 생성 커스텀 룰의 프로세싱이 상기 사용자에 의해 생성되는 상기 사용자에 의해 선택되고 상호 접속된 정렬된 일련의 아이콘과 동일한 순서에 따라 수행되도록 하는 수단을 포함하는
    커스텀 룰 시스템.
  2. 제 1 항에 있어서,
    상기 사용자로 하여금 상기 팔레트로부터 복수의 아이콘을 순차적으로 선택하고 상기 복수의 순차적으로 선택된 아이콘을 상기 디스플레이 상의 제 2 영역 상에 정렬된 일련의 아이콘으로서 배열하게 하는 수단은,
    사용자로 하여금 상기 팔레트로부터 상기 디스플레이 상의 제 2 영역으로 상기 복수의 순차적으로 선택된 아이콘을 선택하고, 끌며(drag), 놓게(drop) 하는 수단을 포함하는
    커스텀 룰 시스템.
  3. 제 1 항에 있어서,
    센서로부터 발생하는 정보를 추출하는 추출 모듈과,
    상기 추출 모듈 및 상기 데이터베이스 모두에 동작 가능하게 결합되는 프로세서를 더 포함하되,
    상기 프로세서는, 상기 사용자에 의해 생성되는 상기 사용자에 의해 선택되고 상호 접속된 정렬된 일련의 아이콘과 동일한 순서를 가진 상기 정렬된 일련의 피연산자 및 연산 룰 스텝을 갖는 상기 사용자 생성 커스텀 룰에 따라 상기 추출된 정보를 프로세싱하여, 상기 정렬된 일련의 피연산자 및 연산 룰 스텝의 각 룰 스텝이 상기 데이터베이스에 저장된 바와 같이 프로세싱되게 하는
    커스텀 룰 시스템.
  4. 커스텀 룰을 생성하는 커스텀 룰 시스템에 있어서,
    복수의 피연산자 및 연산 룰 스텝으로 구성되는 데이터베이스 - 상기 룰 스텝 각각은 자신과 관련되는 특정 실행 가능한 코드를 가짐 - 와,
    상기 데이터베이스에 동작 가능하게 접속되며 디스플레이를 포함하는 컴퓨터 - 상기 디스플레이는 상기 데이터베이스 내에 저장되는 상기 복수의 피연산자 및 연산 룰 스텝의 그래픽 표시를 자신의 제 1 윈도우(a first window) 내에 디스플레이되는 복수의 개별 그래픽 피연산자 및 연산 표시 어레이로서 사용자에게 디스플레이하고, 각각의 그래픽 피연산자 및 연산 표시는 상기 복수의 피연산자 및 연산 룰 스텝 중 적어도 하나에 대응함 - 와,
    상기 디스플레이 상에 룰 윈도우(a rules window)를 디스플레이하는 수단과,
    사용자로 하여금 상기 제 1 윈도우에 디스플레이되는 상기 어레이와 인터페이싱하게 하여, 상기 어레이로부터 상기 룰 윈도우로 상기 복수의 개별 그래픽 피연산자 및 연산 표시 다수를 사용자에 의해 정렬된 일련의 선택되고 배치된 표시로서 선택하고 배치하게 하는 수단과,
    사용자로 하여금 상기 다수의 선택되고 배치된 표시를 상호 접속시켜, 상기 사용자에 의해 정렬된 일련의 선택되고 배치되며 상호 접속된 표시에 의해 정의되는 커스텀 룰이 사용자에 의해 생성되게 하는 수단과,
    상기 사용자에 의해 정렬된 일련의 선택되고 배치되며 상호 접속된 표시에 대응하는 정렬된 일련의 피연산자 및 연산 룰 스텝으로서 상기 사용자 생성 커스텀 룰을 상기 데이터베이스에 저장하는 수단과,
    센서로부터 발생하는 정보를 추출하는 추출 모듈과, 상기 추출 모듈 및 상기 데이터베이스 모두에 동작 가능하게 접속되는 프로세서를 포함하되,
    상기 프로세서는, 상기 피연산자 및 연산 룰 스텝을 상기 데이터베이스에 저장된 순서와 동일한 순서로 프로세싱하여 상기 사용자에 의해 정렬된 일련의 사용자에 의해 선택되고 배치되며 상호 접속된 표시와 동일한 순서에 따라 상기 사용자 생성 커스텀 룰이 프로세싱되게 하는
    커스텀 룰 시스템.
  5. 제 4 항에 있어서,
    상기 데이터베이스는 스텝 참조(a step reference)를 저장하며,
    상기 시스템은 상기 스텝 참조를 이용하여, 상기 룰 윈도우에 디스플레이되는 상기 다수의 선택되고 배치된 표시 각각에 대응하는 각 피연산자 및 연산 룰 스텝과 관련되는 상기 특정 실행 가능한 코드를 참조하는
    커스텀 룰 시스템.
  6. 제 5 항에 있어서,
    상기 사용자 생성 커스텀 룰의 상기 프로세싱에 따른 프로세싱 결과를 제공하는 수단을 더 포함하는
    커스텀 룰 시스템.
  7. 제 6 항에 있어서,
    상기 사용자 생성 커스텀 룰의 상기 프로세싱에 따른 상기 프로세싱 결과를 개인(personal)에게 라우팅하는 수단을 더 포함하는
    커스텀 룰 시스템.
  8. 제 7 항에 있어서,
    상기 데이터베이스는 다수의 테이블(table)을 저장하되,
    상기 다수의 테이블 각각은 필드(field)를 포함하는 적어도 하나의 레코드(record)를 가지며,
    다수의 상기 필드는 상기 사용자에 의해 생성된 상기 사용자에 의해 선택되고 배치되며 상호 접속된 표시 각각에 대응하는 각 피연산자 및 연산 룰 스텝에 각각 관련된 상기 스텝 참조를 포함하는
    커스텀 룰 시스템.
  9. 커스텀 룰을 생성하는 방법으로서,
    컴퓨터에 접속되는 데이터베이스 내에 실행 가능한 코드로 구성되는 개별 피연산자 및 연산 룰 스텝을 저장하는 단계와,
    상기 컴퓨터의 디스플레이 상에 상기 피연산자 및 연산 룰 스텝을 피연산자 및 연산 아이콘의 그래픽 배열 구조로서 표시하는 단계와,
    상기 피연산자 및 연산 아이콘의 그래픽 배열 구조와 인터페이싱함으로써 사용자 정의 커스텀 룰을 생성하는 단계로서, 상기 그래픽 배열 구조로부터 상기 디스플레이 상의 그래픽 윈도우로, 다수의 상기 피연산자 및 연산 아이콘을 사용자에 의해 정렬된 시리즈(series)로 선택 및 배치하고, 상기 그래픽 윈도우 내에 배치된 상기 아이콘들을 상호 접속하여 상기 사용자에 의해 정렬된 일련의 선택되고 배치되며 상호 접속된 아이콘에 의해 정의된 상기 사용자 정의 커스텀 룰을 생성하는, 단계와,
    상기 사용자에 의해 정렬된 일련의 선택되고 배치되며 상호 접속된 아이콘에 대응하는 정렬된 일련의 피연산자 및 연산 룰 스텝으로서 상기 사용자 정의 커스텀 룰을 상기 데이터베이스에 저장하며, 상기 정렬된 일련의 피연산자 및 연산 룰 스텝 내의 룰 스텝을 상기 데이터베이스에 저장되는 순서와 동일한 순서에 따라 프로세싱하여 사용자에 의해 선택되고 배치되며 상호 접속된 아이콘의 상기 사용자에 의해 정렬된 시리즈와 동일한 순서에 따라 상기 사용자 정의 커스텀 룰을 프로세싱하게 하는 단계를 포함하는
    커스텀 룰 생성 방법.
  10. 제 9 항에 있어서,
    센서로부터 발생하는 정보를 추출하는 단계와,
    추출 모듈 및 상기 데이터베이스 모두에 동작 가능하게 접속되는 프로세서를 제공하는 단계를 더 포함하고,
    상기 프로세서는 상기 피연산자 및 연산 룰 스텝을 상기 데이터베이스에 저장되는 순서와 동일한 순서로 프로세싱하여 사용자에 의해 선택되고 배치되며 상호 접속된 아이콘의 상기 사용자에 의해 정렬된 시리즈와 동일한 순서에 따라 상기 사용자 정의 커스텀 룰을 프로세싱하게 하는
    커스텀 룰 생성 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020037003824A 2000-09-15 2001-08-31 전문가 시스템을 위한 커스텀 룰 시스템 및 방법 KR100987876B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/663,325 2000-09-15
US09/663,325 US6934696B1 (en) 2000-09-15 2000-09-15 Custom rule system and method for expert systems
PCT/US2001/027106 WO2002023376A1 (en) 2000-09-15 2001-08-31 Custom rule system and method for expert systems

Publications (2)

Publication Number Publication Date
KR20030040464A KR20030040464A (ko) 2003-05-22
KR100987876B1 true KR100987876B1 (ko) 2010-10-13

Family

ID=24661336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037003824A KR100987876B1 (ko) 2000-09-15 2001-08-31 전문가 시스템을 위한 커스텀 룰 시스템 및 방법

Country Status (9)

Country Link
US (1) US6934696B1 (ko)
EP (1) EP1320807A4 (ko)
JP (1) JP5014559B2 (ko)
KR (1) KR100987876B1 (ko)
CN (1) CN1328685C (ko)
AU (1) AU2001286953A1 (ko)
CA (1) CA2421611C (ko)
IL (1) IL154890A0 (ko)
WO (1) WO2002023376A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535883B1 (en) 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
EP1303819A1 (de) * 2000-07-22 2003-04-23 ABB Research Ltd. System und verfahren zur generierung eines xml-basierten fehlermodells
US7027446B2 (en) * 2001-07-18 2006-04-11 P-Cube Ltd. Method and apparatus for set intersection rule matching
US7512555B2 (en) * 2001-11-13 2009-03-31 Gregory M Finn Investment management tool
US7565377B2 (en) * 2001-12-05 2009-07-21 Robert Michael Watson Artificially intelligent fulfillment system
US8356085B2 (en) * 2003-06-20 2013-01-15 Alcatel Lucent Automated transformation of specifications for devices into executable modules
US7231396B2 (en) * 2003-07-24 2007-06-12 International Business Machines Corporation Data abstraction layer for a database
CN100403301C (zh) * 2003-11-12 2008-07-16 青岛高校软控股份有限公司 一种排胶工艺控制知识库的应用方法
CN100364743C (zh) * 2003-11-12 2008-01-30 青岛高校软控股份有限公司 橡胶密炼生产过程的故障监测与专家系统及其使用方法
US9177248B2 (en) 2005-03-30 2015-11-03 Primal Fusion Inc. Knowledge representation systems and methods incorporating customization
US8965949B2 (en) * 2005-04-29 2015-02-24 Xerox Corporation System and method for applying computational knowledge to device data
US8185455B2 (en) * 2005-09-30 2012-05-22 At&T Intellectual Property I, L.P. Auditing system with interactive rule construction user interface
US7525443B2 (en) * 2005-12-01 2009-04-28 General Electric Company Method and apparatus for machine state quantification in machinery management systems
US20080040466A1 (en) * 2006-06-22 2008-02-14 Sun Microsystems, Inc. System and method for object-oriented meta-data driven instrumentation
WO2008110411A1 (en) * 2007-03-14 2008-09-18 International Business Machines Corporation Automatic formatting of computer program source code
AU2016202201B2 (en) * 2007-04-10 2017-07-20 Ab Initio Technology Llc Editing and compiling business rules
US8170972B2 (en) * 2007-05-02 2012-05-01 General Electric Company Conflicting rule resolution system
US8782547B2 (en) * 2007-08-20 2014-07-15 Honeywell International Inc. Configurable building control system display
US8332772B2 (en) * 2007-10-12 2012-12-11 Business Objects Software Limited Providing structured visualizations of expressions in an expressions editor
WO2009091370A1 (en) * 2008-01-17 2009-07-23 Hewlett-Packard Development Company, L.P. Device software customization
US20100107096A1 (en) * 2008-10-25 2010-04-29 Guy Mor Generic Visually Enhanced Platform For Aiding Decision Making Processes
US10474647B2 (en) 2010-06-22 2019-11-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US9235806B2 (en) 2010-06-22 2016-01-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
CN102156424A (zh) * 2010-12-09 2011-08-17 广东高新兴通信股份有限公司 一种自定义事件及处理规则的传感系统及其处理方法
US9164576B2 (en) * 2011-09-13 2015-10-20 Apple Inc. Conformance protocol for heterogeneous abstractions for defining user interface behaviors
CN102346668A (zh) * 2011-09-20 2012-02-08 天津智康医疗科技有限公司 构建规则库的设备
CN102354283A (zh) * 2011-09-20 2012-02-15 天津智康医疗科技有限公司 规则库的构建方法和利用该规则库进行数据检查的方法
EP2879081A1 (en) * 2012-07-24 2015-06-03 Nec Corporation Rule management device, rule management method, and program
US9665090B2 (en) * 2012-07-24 2017-05-30 General Electric Company Systems and methods for rule-based control system reliability
CA3186068A1 (en) * 2012-09-10 2014-03-13 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
CN103838554B (zh) 2012-11-21 2017-12-12 腾讯科技(北京)有限公司 一种互动活动的生成方法和装置
US9912733B2 (en) 2014-07-31 2018-03-06 General Electric Company System and method for maintaining the health of a control system
US10127557B2 (en) * 2016-03-25 2018-11-13 Accenture Global Solutions Limited Dynamic offline card authorization
EP3441918A1 (en) * 2017-08-09 2019-02-13 Siemens Aktiengesellschaft System and method for plant efficiency evaluation
US11610059B2 (en) * 2018-12-07 2023-03-21 Interject Data System, Inc. Systems and methods for a visual interface for grid-based programs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594899A (en) * 1989-09-01 1997-01-14 Amdahl Corporation Operating system and data base having an access structure formed by a plurality of tables
US5796394A (en) * 1995-10-03 1998-08-18 Sony Corporation User interface and rule processing for a personal communications routing system

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0650442B2 (ja) 1983-03-09 1994-06-29 株式会社日立製作所 設備群制御方法およびシステム
US4591983A (en) 1984-07-09 1986-05-27 Teknowledge, Inc. Hierarchical knowledge system
US4644479A (en) 1984-07-31 1987-02-17 Westinghouse Electric Corp. Diagnostic apparatus
JPS61218323A (ja) 1985-03-20 1986-09-27 株式会社東芝 事故判定方法
US4858102A (en) 1985-07-19 1989-08-15 El Paso Technologies Company Distributed logic control system and method
US5189604A (en) 1985-07-19 1993-02-23 El Paso Technologies Company Distributed logic control system and method
US4719586A (en) 1985-11-01 1988-01-12 Moyer Process And Control Company, Inc. Manufacturing process control
US4803039A (en) 1986-02-03 1989-02-07 Westinghouse Electric Corp. On line interactive monitoring of the execution of process operating procedures
US4815014A (en) 1987-02-27 1989-03-21 Westinghouse Electric Corp. Machine assisted execution of process operating procedures
JPS6424719A (en) 1987-07-20 1989-01-26 Komatsu Mfg Co Ltd Controlling apparatus for injection molding machine
JPS6481010A (en) 1987-09-22 1989-03-27 Fanuc Ltd Expert system for machine tool containing nc device
US4855923A (en) 1988-01-06 1989-08-08 Xerox Corporation Parts assembly using signature analysis
US4853175A (en) 1988-03-10 1989-08-01 The Babcock & Wilcox Company Power plant interactive display
US5249260A (en) 1988-08-12 1993-09-28 Hitachi, Ltd. Data input system
JPH07100262B2 (ja) 1988-10-07 1995-11-01 三菱電機株式会社 放電加工終了判定方法及びその装置
US5099436A (en) 1988-11-03 1992-03-24 Allied-Signal Inc. Methods and apparatus for performing system fault diagnosis
US5068080A (en) 1989-02-07 1991-11-26 Westinghouse Electric Corp. Operation state responsive automatic display selection system
EP0389990B1 (en) 1989-03-25 1995-03-01 Mazda Motor Corporation Breakdown diagnosing method of production line
JPH0692914B2 (ja) 1989-04-14 1994-11-16 株式会社日立製作所 機器/設備の状態診断システム
US5119318A (en) 1989-04-17 1992-06-02 Del Partners L.P. Expert control system for real time management of automated factory equipment
US5390287A (en) 1989-04-26 1995-02-14 Obata; Takashi Deduction inference system for solving complex propositional logic problems in response to signals from a plurality of system sensors
JPH03186930A (ja) * 1989-12-16 1991-08-14 Kubota Corp エキスパートシステム
US5355444A (en) 1990-01-23 1994-10-11 International Business Machines Corporation Expert system wtih a plurality of independent knowledge bases
US5161110A (en) 1990-02-27 1992-11-03 Atlantic Richfield Company Hierarchical process control system and method
US5870308A (en) 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
JP3049561B2 (ja) 1990-05-21 2000-06-05 東洋通信機株式会社 プロダクションシステムとプロダクションシステムの変換装置
EP0460892B1 (en) 1990-06-04 1996-09-04 Hitachi, Ltd. A control device for controlling a controlled apparatus, and a control method therefor
US5216612A (en) 1990-07-16 1993-06-01 R. J. Reynolds Tobacco Company Intelligent computer integrated maintenance system and method
JP2534392B2 (ja) 1990-09-21 1996-09-11 三田工業株式会社 画像形成装置のための自己診断および自己修復システム
US5214577A (en) 1990-10-24 1993-05-25 Osaka Gas Co., Ltd. Automatic test generation for model-based real-time fault diagnostic systems
JP3100406B2 (ja) 1991-03-06 2000-10-16 ジヤトコ・トランステクノロジー株式会社 工作機械の故障予知装置
US5251144A (en) 1991-04-18 1993-10-05 Texas Instruments Incorporated System and method utilizing a real time expert system for tool life prediction and tool wear diagnosis
JP3043897B2 (ja) 1991-05-15 2000-05-22 株式会社東芝 プラント運転支援装置
FI100412B (fi) 1991-05-21 1997-11-28 Valmet Paper Machinery Inc Järjestelmä paperikoneen puristinosassa puristushuopien kulun valvonna ssa ja ohjauksessa
EP0525258A1 (en) 1991-07-29 1993-02-03 International Business Machines Corporation Generation of rules-based computer programs
JP2505082B2 (ja) 1991-12-19 1996-06-05 哲男 冨山 機能冗長系を備えた機械システム
FR2692037B1 (fr) 1992-06-03 1997-08-08 Thomson Csf Procede de diagnostic d'un processus evolutif.
CN1086028A (zh) 1992-09-28 1994-04-27 普拉塞尔技术有限公司 知识基础上的诊断报告系统和方法
JP2505974B2 (ja) 1992-12-08 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 複数の適用業務プログラムを統合化グラフィカル・ユ―ザ・インタフェ―ス処理環境へ統合化するための方法
US5398304A (en) 1992-12-22 1995-03-14 Mitsubishi Denki Kabushiki Kaisha Control process for artificial intelligence software shell
US5412756A (en) 1992-12-22 1995-05-02 Mitsubishi Denki Kabushiki Kaisha Artificial intelligence software shell for plant operation simulation
US5402526A (en) 1993-01-05 1995-03-28 Mitsubishi Denki Kabushiki Kaisha Interruptibility/priority control scheme for artificial intelligence software shell
US6002854A (en) 1993-03-29 1999-12-14 Trilogy Developmetn Group, Inc. Method and apparatus for configuring systems
JPH06331781A (ja) 1993-05-26 1994-12-02 Toshiba Corp プラント状態表示装置
US5406502A (en) 1993-06-29 1995-04-11 Elbit Ltd. System and method for measuring the operation of a device
US5521844A (en) 1993-09-10 1996-05-28 Beloit Corporation Printing press monitoring and advising system
US5463567A (en) 1993-10-15 1995-10-31 Caterpillar Inc. Apparatus and method for providing historical data regarding machine operating parameters
US5442562A (en) 1993-12-10 1995-08-15 Eastman Kodak Company Method of controlling a manufacturing process using multivariate analysis
US5506952A (en) * 1994-01-03 1996-04-09 International Business Machines Corporation Method and system for guiding the formation of a correctly structured instruction for data processing systems
AU693912B2 (en) 1994-06-22 1998-07-09 Bruce G. Molloy A system and method for representing and retrieving knowledge in an adaptive cognitive network
US5561610A (en) 1994-06-30 1996-10-01 Caterpillar Inc. Method and apparatus for indicating a fault condition
US5617514A (en) 1994-07-13 1997-04-01 Unisys Corporation Generalized configurator using multiple interacting packers and declaratively defined constraint expressions
US5630025A (en) 1994-07-13 1997-05-13 Unisys Corporation Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation
JPH08137700A (ja) * 1994-11-11 1996-05-31 Yokogawa Electric Corp エキスパートシステムのプログラム作成支援装置。
US5659743A (en) 1994-12-05 1997-08-19 Legent Corporation Method and apparatus for a pattern based spaced management system
US5802255A (en) 1995-06-23 1998-09-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System and method for creating expert systems
JP3247582B2 (ja) * 1995-07-07 2002-01-15 松下電工株式会社 設備異常原因追跡方法
US6065002A (en) 1996-10-31 2000-05-16 Systems And Computer Technology Corporation Simplified interface for relational database access using open database connectivity
US5905989A (en) 1996-11-27 1999-05-18 Bently Nevada Corporation Knowledge manager relying on a hierarchical default expert system: apparatus and method
JPH10187498A (ja) * 1996-12-20 1998-07-21 Nec Corp 障害通知方式
US5917489A (en) * 1997-01-31 1999-06-29 Microsoft Corporation System and method for creating, editing, and distributing rules for processing electronic messages
JPH10326191A (ja) * 1997-05-23 1998-12-08 Mitsubishi Electric Corp エキスパートシステム
US6016960A (en) 1997-07-08 2000-01-25 Intermec Ip Corporation Rule based method and apparatus for processing reflectance signals from machine-readable symbols or images
KR100349068B1 (ko) * 1997-07-29 2002-08-14 야마타케 코포레이션 시스템설계 지원장치
US6314415B1 (en) 1998-11-04 2001-11-06 Cch Incorporated Automated forms publishing system and method using a rule-based expert system to dynamically generate a graphical user interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594899A (en) * 1989-09-01 1997-01-14 Amdahl Corporation Operating system and data base having an access structure formed by a plurality of tables
US5796394A (en) * 1995-10-03 1998-08-18 Sony Corporation User interface and rule processing for a personal communications routing system

Also Published As

Publication number Publication date
CN1474979A (zh) 2004-02-11
US6934696B1 (en) 2005-08-23
CA2421611C (en) 2011-02-08
WO2002023376A1 (en) 2002-03-21
KR20030040464A (ko) 2003-05-22
EP1320807A1 (en) 2003-06-25
JP5014559B2 (ja) 2012-08-29
IL154890A0 (en) 2003-10-31
CA2421611A1 (en) 2002-03-21
CN1328685C (zh) 2007-07-25
JP2004509411A (ja) 2004-03-25
AU2001286953A1 (en) 2002-03-26
EP1320807A4 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
KR100987876B1 (ko) 전문가 시스템을 위한 커스텀 룰 시스템 및 방법
KR100293902B1 (ko) 설비의동작을감시하기위한방법및설비의동작을감시및제어하는시스템
CN101263454B (zh) 本地化软件程序及其中包含的数据的方法
CN1983173B (zh) 图形用户界面设计方法和设备
JP2007536640A (ja) プロセス制御データを修正する方法および装置
CN104412227A (zh) 基于查询的软件系统设计表示
CN104823158A (zh) 用于简化的知识工程的方法与系统
Mayerhofer et al. A model-driven engineering workbench for CAEX supporting language customization and evolution
Benyon et al. Critical Issues in User Interface Systems Engineering
JP2016192034A (ja) 統計モデル作成装置、統計モデル作成方法及び統計モデル作成プログラム
Hatebur et al. A formal metamodel for problem frames
Garanina et al. An ontology-based approach to support formal verification of concurrent systems
Di Ruscio et al. A modeling assistant to manage technical debt in coupled evolution
EP1178401A2 (en) Method and system for information development and access
Borjigin et al. Semiautomated development of textual requirements: Combined NLP and multidomain semantic modeling approach
US5778154A (en) Advisor system and method for determining reservoir properties
JP4929018B2 (ja) セルコンセプトを用いた設計方法、図面作成装置、プログラム、および記録媒体
Fill Semantic evaluation of business processes using SeMFIS
EP3982224A1 (en) Data extraction in industrial automation systems
EP4261678A1 (en) Generation of a technical instruction
Duan et al. Towards Semantically-Aware UI Design Tools: Design, Implementation, and Evaluation of Semantic Grouping Guidelines
US20230143297A1 (en) Production knowledge management system, production knowledge management method, and production knowledge management program
US8132146B2 (en) Input of program instructions in imperative programming languages
US20090299986A1 (en) Query templates with functional template blocks
Hill et al. Design Philosophy for Accelerator Control Rooms

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090403

Effective date: 20100729

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150923

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160926

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 10