Method for operating a real-time expert system in a graphical programming environment
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
84 Citations
27 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. 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. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification