ICAM System Architecture and Implementations

As mentioned in the Overview and Motivation page, ICAM was conceived and designed
as an agent-based intelligent supervisory system.  The supervisor is implemented as a rule-based expert system, coded in Gensym's G2 artificial intelligence shell; its main function is to invoke, monitor and coordinate the activities of the agents.  The agents are built in the Mathworks' MATLAB environment, including code for the algorithms as well as supporting logic and diagnostics to allow them to be, to the extent possible, "self-aware" -- for example, several agents use linearized process models to carry out their activities; the linearized model identification agent reports how well this model fits the experimental data and the other agents use that information to set their expectations as to how well they can perform their tasks.  This architecture allows great flexibity in adding and modifying functionality to the ICAM system.  A layered architectural schematic for ICAM is shown in Figure 1.



Figure 1.  ICAM Architecture


Status:  We surveyed the field, to determine the state-of-the-art and learn from prior related projects; developed a detailed conceptual model for ICAM; and modelled it's behavioural and data-flow aspects.  We also developed, implemented, tested and delivered five major agents for ICAM: the fault detection, isolation and accommodation agent (FDIA Agent), the linearized model identification agent (LMId Agent), the nonlinear dynamic data reconciliation agent (NDDR Agent), the steady-state / transient determination agent (SSTD Agent) and a high-fidelity simulation of a three-phase separator (Pilot Plant Agent) which models the first phase of processing crude oil from a well-head, to be used for ICAM testing, refinement and demonstration.  The Pilot Plant Agent is represented by the "Oil & Gas Processes" block in Figure 1.

First prototype:  Based on this groundwork, we built the first prototype implementation of ICAM, ICAM Phase I or ICAM-I, which was completed in June 2008.  It was comprised of the Supervisor, which monitored and controlled the activity of the five agents named above.  Numerous scenarios were conducted successfully, including running the process simulator to produce real-time data for the agents to process, having the SSTD Agent assess when the process variables are in either transient or steady state, running the LMId Agent to identify linearized models at various set points, running the NDDR Agent to reduce noise levels and reconcile the signals, and executing a variety of sensor and actuator faults and having the FDIA Agent handle them appropriately.  This design and prototype were products of Dr. Atalla Sayda's PhD research; it is described in more detail in "Prototype Design of a Multi-agent System for Integrated Control and Asset Management of Petroleum Production Facilities", Proc. American Control Conference, Seattle, Washington, 11-13 June 2008; all the rest of this activity has been reported in the UNB team's publications.

Current development / second prototype:  A sixth ICAM agent was recently developed, the wireless networked control systems coordination agent (WNCSC Agent).  The function and design of the WSNC Agent was established in the Fall of 2009, and MATLAB code was developed this Winter (2010).  We are currently reassessing and reimplementing the infrastructure for ICAM; again, we are using MATLAB for the computational platform and G2 for the applied artificial intelligence environment; however, we are simplifying inter-agent communications by using sockets to link G2 and various MATLAB processes.  We are building a second prototype implementation of ICAM with this infrastructure, ICAM Phase II or ICAM-II.  We plan to complete ICAM-II in August 2010.  This prototype will include the WSNC Agent, and will be interfaced with CBU's WINTeR Testbed.  a schematic for this is depicted on the ICAM/WINTeR Integration page
.

Return to the UNB PAWS Home Page

Information supplied by: Jim Taylor
Last update: 12 May 2010
Email requests for further information to: Jim Taylor (jtaylor@unb.ca)