Patent US492879A successfully refreshed from Google Patents.
Patent US2392999A successfully refreshed from Google Patents.
Patent US5133045A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5133045A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for operating a real-time expert system in a graphical programming environment

Assignee: MathWorks Inc
•
Filing: 1991-11-06
•
Granted: 1992-07-21
•
Expires: 2011-11-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method is disclosed for operating a real-time multirate and discrete even computer system for simulation and automatic code generation of modelled systems requiring both expert system technology and conventional algorithms. Simulation of a system to be modelled proceeds on data inputs to yield outputs as responses of the simulated system to data inputs for assembling an organized catalog of blocks, both conventional and expert system, based on the operational rates and time skews. These blocks can be assembled for automatic code generation so that all blocks operating with identical rates and time skews can be organized within a single subsystem. Code is then generated for each subsystem, including code for a scheduler to run the entire system thus modelled. Each expert system block generates its own inference engine, and set of parameters representing the knowledge base, and storage allocation for the data base.

Inventors

  • 👤 Shawn A. Gaither
  • 👤 Sunil C. Shah

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 22:52
CPC Classifications
G; G06; G06N; G06N5/00; G06N5/04; G06F; G06F30/00; G06F30/20; G06F2111/00; G06F2111/08

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 307 words
A method of operating a multirate real-time expert system, comprising: providing a computer having at least one central processing unit and memory for storing data and software; storing, in said memory, system definition data representing said multirate real-time system as a set of interconnected functional blocks, including data specifying computations to be performed each time one of said functional blocks is executed, said system definition data also specifying external input signals and external output signals for said multirate real-time system; defining subsets of said functional blocks as subsystems of the multirate real-time system; at least one subset of said functional blocks comprising a rule-based expert subsystem, said data specifying computations to be performed by said rule-based expert subsystem including data representing a plurality of logical rules, rule selection software for selecting a subset of said rules for execution, and rule execution software for executing the selected subset of rules to produce a set of output signal values; defining in said memory a double buffer interface for storing input and output signal values associated with said functional blocks, including defining: (A) an output signal buffer for holding output signal values generated by said functional blocks during execution thereof, and (B) a sample and hold buffer for each said subsystem; scheduling and executing said specified computations associated with said defined subsystems; and prior to executing said specified computations associated with each said defined subsystem, copying into said sample and hold buffer for each said defined subsystem all input signal values to be used by said specified computations, and holding said input signal values copied into said sample and hold buffer invariant during execution of said specified computations associated with each said defined subsystem; whereby a consistent set of input signal values is presented to said rule-based expert system regardless of changing values of associated ones of said input signals.
Claim 2
Independent Claim 307 words
A method of operating a multirate real-time expert system, comprising: providing a computer having at least one central processing unit and memory for storing data and software; storing, in said memory, system definition data representing said multirate real-time system as a set of interconnected functional blocks, including data specifying computations to be performed each time one of said functional blocks is executed, said system definition data also specifying external input signals and external output signals for said multirate real-time system; defining subsets of said functional blocks as subsystems of the multirate real-time system; at least one subset of said functional blocks comprising a rule-based expert subsystem, said data specifying computations to be performed by said rule-based expert subsystem including data representing a plurality of logical rules, rule selection software for selecting a subset of said rules for execution, and rule execution software for executing the selected subset of rules to produce a set of output signal values; defining in said memory a double buffer interface for storing input and output signal values associated with said functional blocks, including defining: (A) an output signal buffer for holding output signal values generated by said functional blocks during execution thereof, and (B) a sample and hold buffer for each said subsystem; scheduling and executing said specified computations associated with said defined subsystems; and prior to executing said specified computations associated with each said defined subsystem, copying into said sample and hold buffer for each said defined subsystem all input signal values to be used by said specified computations, and holding said input signal values copied into said sample and hold buffer invariant during execution of said specified computations associated with each said defined subsystem; whereby a consistent set of input signal values is presented to said rule-based expert system regardless of changing values of associated ones of said input signals.
Claim 3
Dependent Claim 127 words
The method of claim 1, wherein said output signal buffer comprises: two equal size output buffers for each defined subsystem, each equal size output buffer holding output signal values and internal state variables of said defined subsystem; and flag means, for each defined subsystem, having a value indicating which of said two equal size output buffers is used during each execution of said functional blocks in said subsystem; said scheduling step including changing the value of said flag means associated with each defined subsystem prior to execution of said functional blocks in said defined subsystem, and copying into said sample and hold buffer specified output signals from the one of said two equal size output buffers of other defined subsystems not currently designated by said flag means.
Claim 4
Dependent Claim 111 words
The method of claim 1, defining for each said subsystem a computation initiation condition comprising a computational trigger condition for asynchronous subsystems and a computational repetition rate and skew period for synchronous subsystems; said rule-based expert subsystem comprising a synchronous subsystem having an associated computational repetition rate and skew period; said scheduling and executing step including: defining said computational repetition rate and skew period for said rule-based expert subsystem based on a specified output signal schedule of times at which output signals from said rule-based expert subsystem are needed; and scheduling initiation of execution of said specified computations associated with said rule-based expert subsystem based on said defined output signal schedule.
Claim 5
Dependent Claim 61 words
The method of claim 1, defining for each of a plurality of said subsystems a computational repetition rate and skew period based on a specified output signal schedule of times at which output signals from subsystems are needed; and scheduling initiation of execution of said specified computations associated with said plurality of said subsystems based on said defined output signal schedule.
Claim 6
Dependent Claim 47 words
The method of claim 1, said data representing a plurality of logical rules includes a set of pre-computed interrelations between data and rules which is stored as a linked list of interrelations used by said rule selection software for selecting a subset of said rules for execution.
Claim 7
Dependent Claim 24 words
The method of claim 1, said rule selection software includes software for forming a selectable hierarchical ordering of heuristics by which rules are selected.
Claim 8
Dependent Claim 26 words
The method of claim 1, said rule selection software allows confidence levels and priority levels associated with said plurality of logical rules to vary with time.
Claim 9
Dependent Claim 16 words
The method of claim 1, said multirate real-time system including a plurality of rule-based expert subsystems.
Claim 10
Dependent Claim 33 words
The method of claim 7, wherein each of said plurality of rule-based expert subsystems comprises a distinct synchronous subsystem of said multirate real-time system having an associated computational repetition rate and skew period.
Claim 11
Independent Claim 323 words
A method of simulating operation of a multirate real-time expert system, comprising: providing a computer having at least one central processing unit and memory for storing data and software; storing, in said memory, system definition data representing said multirate real-time system as a set of interconnected functional blocks, including data specifying computations to be performed each time one of said functional blocks is executed, said system definition data also specifying external input signals and external output signals for said multirate real-time system; said specified computations simulating operation of corresponding portions of said multirate real-time expert system; defining subsets of said functional blocks as subsystems of the multirate real-time system; at least one subset of said functional blocks comprising a rule-based expert subsystem, said data specifying computations to be performed by said rule-based expert subsystem including data representing a plurality of logical rules, rule selection software for selecting a subset of said rules for execution, and rule execution software for executing the selected subset of rules to produce a set of output signal values; defining in said memory a double buffer interface for storing input and output signal values associated with said functional blocks, including defining: (A) an output signal buffer for holding output signal values generated by said functional blocks during execution thereof, and (B) a sample and hold buffer for each said subsystem; scheduling and executing said specified computations associated with said defined subsystems; and prior to executing said specified computations associated with each said defined subsystem, copying into said sample and hold buffer for each said defined subsystem all input signal values to be used by said specified computations, and holding said input signal values copied into said sample and hold buffer invariant during execution of said specified computations associated with each said defined subsystem; whereby a consistent set of input signal values is presented to said rule-based expert system regardless of changing values of associated ones of said input signals.
Claim 12
Independent Claim 323 words
A method of simulating operation of a multirate real-time expert system, comprising: providing a computer having at least one central processing unit and memory for storing data and software; storing, in said memory, system definition data representing said multirate real-time system as a set of interconnected functional blocks, including data specifying computations to be performed each time one of said functional blocks is executed, said system definition data also specifying external input signals and external output signals for said multirate real-time system; said specified computations simulating operation of corresponding portions of said multirate real-time expert system; defining subsets of said functional blocks as subsystems of the multirate real-time system; at least one subset of said functional blocks comprising a rule-based expert subsystem, said data specifying computations to be performed by said rule-based expert subsystem including data representing a plurality of logical rules, rule selection software for selecting a subset of said rules for execution, and rule execution software for executing the selected subset of rules to produce a set of output signal values; defining in said memory a double buffer interface for storing input and output signal values associated with said functional blocks, including defining: (A) an output signal buffer for holding output signal values generated by said functional blocks during execution thereof, and (B) a sample and hold buffer for each said subsystem; scheduling and executing said specified computations associated with said defined subsystems; and prior to executing said specified computations associated with each said defined subsystem, copying into said sample and hold buffer for each said defined subsystem all input signal values to be used by said specified computations, and holding said input signal values copied into said sample and hold buffer invariant during execution of said specified computations associated with each said defined subsystem; whereby a consistent set of input signal values is presented to said rule-based expert system regardless of changing values of associated ones of said input signals.
Claim 13
Dependent Claim 127 words
The method of claim 10, wherein said output signal buffer comprises: two equal size output buffers for each defined subsystem, each equal size output buffer holding output signal values and internal state variables of said defined subsystem; and flag means, for each defined subsystem, having a value indicating which of said two equal size output buffers is used during each execution of said functional blocks in said subsystem; said scheduling step including changing the value of said flag means associated with each defined subsystem prior to execution of said functional blocks in said defined subsystem, and copying into said sample and hold buffer specified output signals from the one of said two equal size output buffers of other defined subsystems not currently designated by said flag means.
Claim 14
Dependent Claim 111 words
The method of claim 10, defining for each said subsystem a computation initiation condition comprising a computational trigger condition for asynchronous subsystems and a computational repetition rate and skew period for synchronous subsystems; said rule-based expert subsystem comprising a synchronous subsystem having an associated computational repetition rate and skew period; said scheduling and executing step including: defining said computational repetition rate and skew period for said rule-based expert subsystem based on a specified output signal schedule of times at which output signals from said rule-based expert subsystem are needed; and scheduling initiation of execution of said specified computations associated with said rule-based expert subsystem based on said defined output signal schedule.
Claim 15
Dependent Claim 61 words
The method of claim 10, defining for each of a plurality of said subsystems a computational repetition rate and skew period based on a specified output signal schedule of times at which output signals from subsystems are needed; and scheduling initiation of execution of said specified computations associated with said plurality of said subsystems based on said defined output signal schedule.
Claim 16
Dependent Claim 47 words
The method of claim 10, said data representing a plurality of logical rules including a set of pre-computed interrelations between data and rules which is stored as a linked list of interrelations used by said rule selection software for selecting a subset of said rules for execution.
Claim 17
Dependent Claim 24 words
The method of claim 10, said rule selection software including software for forming a selectable hierarchical ordering of heuristics by which rules are selected.
Claim 18
Dependent Claim 27 words
The method of claim 10, wherein said rule selection software allows confidence levels and priority levels associated with said plurality of logical rules to vary with time.
Claim 19
Dependent Claim 16 words
The method of claim 10, said multirate real-time system including a plurality of rule-based expert subsystems.
Claim 20
Dependent Claim 33 words
The method of claim 17, wherein each of said plurality of rule-based expert subsystems comprises a distinct synchronous subsystem of said multirate real-time system having an associated computational repetition rate and skew period.
Claim 21
Dependent Claim 325 words
A multirate real-time expert computer system, comprising: a computer having at least one central processing unit and memory for storing data and software; system definition means coupled to said memory for storing, in said memory, system definition data representing said multirate real-time system as a set of interconnected functional blocks, including data specifying computations to be performed each time one of said functional blocks is executed, said system definition data also specifying external input signals and external output signals for said multirate real-time system; said system definition means defining subsets of said functional blocks as subsystems of the multirate real-time system; at least one subset of said functional blocks comprising a rule-based expert subsystem, said data specifying computations to be performed by said rule-based expert subsystem including data representing a plurality of logical rules, rule selection software for selecting a subset of said rules for execution, and rule execution software for executing the selected subset of rules to produce a set of output signal values; a double buffer interface in said memory for storing input and output signal values associated with said functional blocks, including (A) an output signal buffer for holding output signal values generated by said functional blocks during execution thereof, and (B) a sample and hold buffer for each said subsystem; an execution scheduler which schedules and initiates execution of said specified computations associated with said defined subsystems; and sample and hold means, responsive to said execution scheduler, for copying into said sample and hold buffer, prior to executing said specified computations associated with each said defined subsystem, all input signal values to be used by said specified computations, and for holding said input signal values copied into said sample and hold buffer invariant during execution of said specified computations associated with each said defined subsystem; whereby a consistent set of input signal values is presented to said rule-based expert system regardless of changing values of associated ones of said input signals.
Claim 22
Dependent Claim 325 words
A multirate real-time expert computer system, comprising: a computer having at least one central processing unit and memory for storing data and software; system definition means coupled to said memory for storing, in said memory, system definition data representing said multirate real-time system as a set of interconnected functional blocks, including data specifying computations to be performed each time one of said functional blocks is executed, said system definition data also specifying external input signals and external output signals for said multirate real-time system; said system definition means defining subsets of said functional blocks as subsystems of the multirate real-time system; at least one subset of said functional blocks comprising a rule-based expert subsystem, said data specifying computations to be performed by said rule-based expert subsystem including data representing a plurality of logical rules, rule selection software for selecting a subset of said rules for execution, and rule execution software for executing the selected subset of rules to produce a set of output signal values; a double buffer interface in said memory for storing input and output signal values associated with said functional blocks, including (A) an output signal buffer for holding output signal values generated by said functional blocks during execution thereof, and (B) a sample and hold buffer for each said subsystem; an execution scheduler which schedules and initiates execution of said specified computations associated with said defined subsystems; and sample and hold means, responsive to said execution scheduler, for copying into said sample and hold buffer, prior to executing said specified computations associated with each said defined subsystem, all input signal values to be used by said specified computations, and for holding said input signal values copied into said sample and hold buffer invariant during execution of said specified computations associated with each said defined subsystem; whereby a consistent set of input signal values is presented to said rule-based expert system regardless of changing values of associated ones of said input signals.
Claim 23
Dependent Claim 130 words
The multirate real-time expert computer system of claim 19, wherein said output signal buffer comprises: two equal size output buffers for each defined subsystem, each equal size output buffer holding output signal values and internal state variables of said defined subsystem; and flag means, for each defined subsystem, having a value indicating which of said two equal size output buffers is used during each execution of said functional blocks in said subsystem; said execution scheduler changing the value of said flag means associated with each defined subsystem prior to execution of said functional blocks in said defined subsystem, and copying into said sample and hold buffer specified output signals from the one of said two equal size output buffers of other defined subsystems not currently designated by said flag means.
Claim 24
Dependent Claim 118 words
The multirate real-time expert computer system of claim 19, said system definition means defining for each said subsystem a computation initiation condition comprising a computational trigger condition for asynchronous subsystems and a computational repetition rate and skew period for synchronous subsystems; said rule-based expert subsystem comprising a synchronous subsystem having an associated computational repetition rate and skew period; said execution scheduler (A) defining said computational repetition rate and skew period for said rule-based expert subsystem based on a specified output signal schedule of times at which output signals from said rule-based expert subsystem are needed, and (B) scheduling initiation of execution of said specified computations associated with said rule-based expert subsystem based on said defined output signal schedule.
Claim 25
Dependent Claim 71 words
The multirate real-time expert computer system of claim 19, said system definition means defining for each of a plurality of subsystems a computational repetition rate and skew period based on a specified output signal schedule of times at which output signals from subsystems are needed; and said execution scheduler scheduling initiation of execution of said specified computations associated with said plurality of said subsystems based on said defined output signal schedule.
Claim 26
Dependent Claim 51 words
The multirate real-time expert computer system of claim 19, said data representing a plurality of logical rules including a set of pre-computed interrelations between data and rules which is stored as a linked list of interrelations used by said rule selection software for selecting a subset of said rules for execution.
Claim 27
Dependent Claim 28 words
The multirate real-time expert computer system of claim 19, said rule selection software including software for forming a selectable hierarchical ordering of heuristics by which rules are selected.
Claim 28
Dependent Claim 31 words
The multirate real-time expert computer system of claim 19, wherein said rule selection software allows confidence levels and priority levels associated with said plurality of logical rules to vary with time.
Claim 29
Dependent Claim 20 words
The multirate real-time expert computer system of claim 19, said multirate real-time system including a plurality of rule-based expert subsystems.
Claim 30
Dependent Claim 37 words
The multirate real-time expert computer system of claim 26, wherein each of said plurality of rule-based expert subsystems comprises a distinct synchronous subsystem of said multirate real-time system having an associated computational repetition rate and skew period.

References Cited (Backward Citations)

US4656603A Cited
US4813013A Cited
US4796179A Cited
US4827418A Cited
US4949267A Cited
US4975865A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-07-21 1996-01-20 1996-07-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-07-21 2000-01-20 2000-07-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-07-21 2004-01-20 2004-07-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag