Knowledge-based systems Tutorial Introduction to G2 Rozália Lakner University of Veszprém Department of Computer Science Contents Main characteristics of G2 Main components of G2 knowledge base Reasoning in G2 Development of knowledge base 2 Main characteristics of G2 3 G2 – a real-time expert system used for rapid prototyping and implementing expert systems G2 possess features and properties of an expert system shell user-friendly interfaces inference engine (and simulator) forward and backward reasoning elements of knowledge base (items) well-structured natural language in a high-level graphic-oriented environment objects, workspaces, connections, relations, variables, parameters, rules, procedures, functions tools for developing knowledge base 4 5 Main components of G2 knowledge base 6 G2 - Objects representation of some part of the application picture of each object: icon generated manually (permanent objects) has a table of attributes (contains the knowledge about the object) object classes water-tank, valve, coffee-machine attributes, icon are inherited own specific attributes object hierarchy actual application objects: instances 7 8 Variables, parameters built-in object classes represent things that have changing values similarities attributes, classes, icon, history keeping differences temperature, level, … a value of a variable may expire a parameter always has current value (initial value) a variable has validity interval data-seeking sources for variable’ value internal data server inference engine (backward changing) G2 simulator 9 Workspaces rectangular areas can contain items (objects, connections, rules, …) workspace-hierarchy enabling/disabling workspaces permanent/temporary workspaces 10 Connections, relations connection relationship between objects (created manually) graphically links two objects together (flow-pipe, electrical wire) represents abstract relationship (partnership, ownership) classes of connections objects can be referred based on connection possible to write generic rules (any tank connected to any valve) relation relationship between objects (created dynamically, „conclude” action) classes of relations has not graphical representation doesn’t saved as part of a knowledge base 11 Rule types 1 If rules (common rules) for any valve V if the state of V = 1 then change the center stripe-color of every flow-pipe connected to V to sky-blue When rules (cannot be used in reasoning) for any container-or-vessel CV when the value of the inventory of CV = 0 then conclude that the temperature of CV has no value Initial rules (invoked when KB starts or restarts) initially for any container-or-vessel CV if the inventory of CV > 0 then conclude that the temperature of CV = 15 12 Rule types 2 Unconditional rules (rules without condition part) initially for any valve V unconditionally conclude that the state of V = 0 Whenever rules (event-controlled rules) whenever auto-manual-state receives a value and when the value of auto-manual-state is auto then start auto() 13 Main attributes of rules options (how can use the rule) scan interval (how often to invoke the rule) rule priority (in case of overloading) depth-first backward chaining precedence (conflict resolution) timeout for rule completion (how long G2 may try to evaluate the condition part) 14 Procedures sequence of operations executed by G2 like high-level procedural languages main part of procedures procedure header (name, typed argument list, return type) local declarations procedure body (begin, sequence of procedure statements, end) 15 Reasoning in G2 16 Real-time inference engine 1 functions of inference engine (IE): reasons about the current state of the application communicates with the end-user iniciates other activity based upon what it has inferred IE operates on the following sources of information: the knowledge contained in the knowledge base simulated values values received from sensors and other external sources 17 Real-time inference engine abilities of IE: scan rules: repeatedly invoke a rule at regular time interval (scan interval) wakeup rules: when a variable receives a value, the inference engine wakes up the rule that was waiting for the value of the variable data seeking: get value from the specified data server (when the value of the variable is expired) chaining the rules (reasoning) backward chaining: IE infers the value of a variable with the help of rules (when the value of a variable is not given by a sensor or a formula) forward chaining: IE invoke a rule when its condition part is satisfied by another rule 18 G2 simulator special data server in G2 19 Development of knowledgebase 20 Developer interface graphic-oriented environment creating the model of the application graphically (schematic) objects are represented by icons objects are placed in workspaces objects are connected graphically pop-up menus for objects (attribute table, delete, change size and colour, move, …) 21 Developer interface 2 well-structured natural language in a high-level referring to an item: by name: coffee-machine by class name: the vessel as an instance of a class is nearest to another item on schematic: the level-icon nearest to coffee-machine as an instance of a class that is connected to an object by an input or output connection: the valve connected at the output of coffee-machine 22 Developer interface 3 interactive text editor text-edit workspace inserting text from other items or scrapbook syntax-checking marking incorrect text warning message suggestion for correction 23 Developer interface interactive icon editor graphic tool design icons graphically converting into G2 grammar layers, regions main parts of icon editor icon view buttons for creating graphic elements icon size display cursor location display layer pad and layer display 24 Developer interface 5 tools for managing large KBs clone objects and statements operate on a group of objects inspect utility (browse KB) – finding items easy describe facility (informations about item) – data server, rules organize knowledge hierarchically (workspaces, subworkspaces, activate/ deactivate) merge KBs 25 Developer interface 6 documentation in KB: free texts (only for documentation, is not part of KB) tracing and debugging facilities warning messages (errors, unusual conditions) trace messages current value of variable, expression (each time it receives one) starting and finishing time of evaluating of variable, formula, rule, procedure, function set breakpoints highlight invoked rules access control facilities restrict the choices a user has on the menus restrict moving items, making connections, … restrict accessing to the attribute table restrict editing of attributes mode of operation (specify restrictions): operator, administrator, developer, … 26 User interface 1 displays end-user controls screen items showing the value of variable, parameter, expression control an application by the user messages, message board items that display text are used for communication 27 User interface displays readout table chart value of variable in a round scale freeform table value of variable in a vertical display dial plots of one or more variables history of values change over time meter variable, parameter and its value tabular form of variable’s values end-user controls messages, message board 28 User interface end-user controls action buttons radio buttons assign „on” or „off” value for variable or parameter slider assign a predefined value for variable or parameter check box execute an action (start, conclude, show, …) enter numeric value for variable or parameter by sliding a pointer type-in box enter a value for variable or parameter from keyboard 29 G2 – Aplication examples ABB Power -- expert monitoring and diagnostics of power plant processes Ashland Petroleum -- expert monitoring and optimization of energy systems. Ford Motor Company -- expert control of flexible manufacturing systems. Lafarge -- expert control of cement kilns for improved throughput, reduced energy costs, and reduced equipment maintenance. =>25 plants Petrobras -- expert operator advisory systems for optimizing power generation and distribution. Seagate Technology -- expert monitoring, diagnosis, and operator advice improves yields of disk-drive manufacturing. Shell Expro -- expert optimization pumps up oil field production. 30 http://www.gensym.com/manufacturing/g2_success.shtml G2/ Intelligent Objects Knowledge modules for monitoring and operation of process equipment: •Fired Heaters •Compressors •Columns •Treaters •Pumps •Heat Exchangers •Sensors •Analyzers •Controllers •Tanks •Vessels Intelligent Objects deliver configurable equipment knowledge out-of-the-box, and can be readily extended for plant-specific requirements. Proactive Detection of Equipment Problems - Intelligent Objects proactively monitor equipment conditions to detect problems early and alert operators to take action - before the problem reaches the alarm limits of a traditional process control system Rapid Deployment - Deployment time for a first Intelligent Object is rapid - it can typically be ready to go online within weeks for complex equipment, such as a fired heater or a compressor, and in days for basic equipment, such instruments, vessels, heat exchangers, or controllers. Unit and Plant Wide Diagnostic Capability - Intelligent Objects can work together to 31 provide automated diagnosis of process problems that are impacting an entire unit or plant. Optegrity Optegrity is a platform from Gensym for rapidly developing and deploying abnormal condition management applications in the process manufacturing industries Applications built on the Optegrity platform work in real time using information from existing control systems, data historians and databases to: •Proactively monitor process conditions throughout a production unit or plant to detect problems early in order to avoid or minimize disruptions •Analyze, filter and correlate alarms to speed up operator responses •Rapidly isolate the root cause of unit and plant wide problems to accelerate resolution •Guide operators through recovery to enhance safety levels while effectively responding to problems •Predict the impact of process disruptions so operators can prioritize actions NeurOn-Line Gensym's NeurOn-Line platform delivers neural network applications that improve process performance by predicting quality and process conditions in real time. With NeurOn-Line, engineers quickly build and deploy neural network models based on historical process data 32 that capture the relationships between product quality and process conditions.