The only thing worse than an experiment you



























- Slides: 27

The only thing worse than an experiment you can’t control is an experiment you can. 2/25/2021 V. Gyurjyan CHEP 2007

AFECS Multi-agent Framework for Experiment Control Systems Vardan Gyurjyan, David Abbott, Graham Heyes, Ed Jastrzembski, Carl Timmer, Elliott Wolin V. Gyurjyan CHEP 2007

Project Goal o Develop a framework for building control systems n n n o open architecture hierarchical network distributed Provide a set of tools to deploy: n n n test and control systems alarm systems control visualization systems, etc. 2/25/2021 V. Gyurjyan CHEP 2007

Experiment Control System Requirements o Control components of the experiment. o Full description of the experiment components. o Framework reflects o Fault tolerance and recovery. o Create and deploy finite state machines. 2/25/2021 V. Gyurjyan CHEP 2007

Design Philosophy of AFECS o Pure Java. o Collaborating autonomous agents. o Each agent represents a hardware or software component. o Messages between agents invoke actions. o Agents behave as finite state machines. o Agents communicate with physical components through standard protocols. 2/25/2021 V. Gyurjyan CHEP 2007

AFECS Agent Categories o Normative agents N administrative agent n n o Crate and manage all other agents Environment administration Supervisor agents S Control groups of Component agents o Component agents A Represent hardware or software components of the real world control system. 2/25/2021 V. Gyurjyan CHEP 2007

Component Agents mimic the state of the real (physical) component, they can invoke actions which change the physical component state. A A IPC AFECS (control) world. IPC Real world. HV power supply 2/25/2021 Target system V. Gyurjyan Gas system CHEP 2007

Inter-Process Communication Channel IPC Agents communicate with their associated physical components using range of communication protocols including: o o o Tcl-DP (legacy protocol) c. Msg (publish-subscribe messaging protocol, JLAB) EPICS channel access protocol SNMP (simple network management protocol) JDBC OS shell interface 2/25/2021 V. Gyurjyan CHEP 2007

Inter-Agent Communication Channel ACC o o All agent communication is through message transfer. Message format is ACL (Agent Communication Language) defined by FIPA (Foundation for Intelligent Physical Agents). Each message is one of several predefined types. Types o Message structure: - Not understood Sender Receiver Content (Data Object or Ontology Object) Language Ontology Protocol Refuse -reason ACC is hidden from the users. 2/25/2021 V. Gyurjyan CHEP 2007 Failure -reason Inform (Done ontology action) Agree

Supervisor Agent Supervisor agents have discrete states and they respond to messages from other agents (supervisor or component). S 2/25/2021 V. Gyurjyan A A HV crate 1 HV crate 2 CHEP 2007 DC HV control supervisor agent A HV crate 3 Agents representing Individual power supplies DC HV crates

Agents Groupings o Physical (AFECS container) A java virtual machine (JVM) is an agent container. Container is a process. Agent is a set of threads in the process. o N S A Logical (AFECS domain) Agents are grouped into virtual clusters or domains according to their functions. Agents in each domain may be visible to other domains. S S A 2/25/2021 V. Gyurjyan CHEP 2007 S A A A

Domain o Reduces complexity of large control systems. o Encourages modularity and encapsulation. (only a few agents and their behaviors are visible outside of the domain limits) o o Promotes control system hierarchical structure. Can be redesigned and tested independently, without affecting the rest of the control system. (as long as the behavior of the visible agents remains the same) 2/25/2021 V. Gyurjyan CHEP 2007

AFECS Platform Distribution o Agents are physically distributed n n at the configuration time at runtime S S N A 2/25/2021 V. Gyurjyan CHEP 2007 S A A A

Hierarchy of domains Physical Components Normative Agents NR NA NC A CODA ROC S CODA EMU A Supervisor agent Front-End A EPICS IOC 1 S S A EPICS CAG S A Trigger soft S Trigger hard A Online ANA A IPC Grand supervisor AFECS Platform ACC IPC IPC WEB 2/25/2021 GUI/user V. Gyurjyan CHEP 2007

Physical Component Integration Administrative domain and container NC AFECS platform NR Description of the control NA Agent Fred Component Fred 2/25/2021 V. Gyurjyan CHEP 2007

Control System Description Designing a control system requires precise descriptions of physical components and their software abstractions. Afecs uses the COOL language for these descriptions. 2/25/2021 V. Gyurjyan CHEP 2007

Control Oriented Ontology Language COOL o Defines an agent model of the experiment. o Describes functionalities of physical components (state machines) o Describes the semantics of control. o Developed using RDFS. o Is intuitive and human readable. o Can be generated using GUI. 2/25/2021 V. Gyurjyan CHEP 2007

2/25/2021 V. Gyurjyan CHEP 2007

AFECS COOL Specific Tools o GUI using COOL to build configuration files describing control system. o db 2 cool: converts current CODA config database to COOL config files. o sml 2 cool: translates state manager language config files to COOL config files. 2/25/2021 V. Gyurjyan CHEP 2007

COOL GUI 2/25/2021 V. Gyurjyan CHEP 2007

COOL Example <rdf: RDF' xmlns: cool='http: //coda. jlab. org/COOL/cool#' > <cool: Control rdf: ID="R 1 External. Process"> <cool: has. Component rdf: resource="#ROC 1"/> <cool: has. Component rdf: resource="#RC"/> <cool: has. Option rdf: resource="#OPTION"/> </cool: Control> <cool: Option rdf: ID="OPTION"> <cool: has. Coda 2 Component>false</cool: has. Coda 2 Component> <cool: has. Data. File>/tmp/test. dat</cool: has. Data. File> </cool: Option> <cool: Component rdf: ID="ROC 1"> <cool: has. Ipc>c. Msg</cool: has. Ipc> <cool: has. Type>ROC</cool: has. Type> <cool: has. Name>Roc 1</cool: has. Name> <cool: has. Priority>44</cool: has. Priority> <cool: has. External. Process rdf: resource="#PROC 1"/> </cool: Component> <cool: Component rdf: ID="RC"> <cool: has. Ipc>c. Msg</cool: has. Ipc> <cool: has. Type>RCS</cool: has. Type> <cool: has. Name>R 1 External. Process</cool: has. Name> <cool: has. Priority>77</cool: has. Priority> </cool: Component> <cool: Process rdf: ID="PROC 1"> <cool: has. Command. Ipc>shell</cool: has. Command. Ipc> <cool: is. Part. Of. State>predownload</cool: is. Part. Of. State> <cool: has. Command. Name>emacs</cool: has. Command. Name> </cool: Process> </rdf: RDF> 2/25/2021 V. Gyurjyan CHEP 2007

AFECS Implementations o New run control for the JLAB data acquisition system. (V. Gyurjyan, et al. “Jefferson Lab Data Acquisition Run Control System”, Proceeding of the CHEP conference. CERN-2005 -002, Volume 1, page 151. ) o CLAS experiment web based monitoring system. http: //clasweb. jlab. org/clasonline/rc/hall. B/e-cr. htm 2/25/2021 V. Gyurjyan CHEP 2007

Run-Control GUI 2/25/2021 V. Gyurjyan CHEP 2007

Conclusions o o Java based framework for designing and implementing hierarchical, distributed control systems with intelligent agents. Encourages abstraction, encapsulation, and modularity. Provides a special ontology language (COOL) to describe hierarchical control structure, control logic, and state machines. Has been successfully used to develop run control system for the JLAB data acquisition system, and CLAS experiment web based monitoring system. 2/25/2021 V. Gyurjyan CHEP 2007

Thank you 2/25/2021 V. Gyurjyan CHEP 2007

Terminology o o o o o Physical Component. A hardware or software entity, being controlled by the framework. Examples are: CODA ROC, CODA EMU (Event Management Unit, EB, ER, etc. ), EPIC IOC, EPICS CAG (channel access gateway), 3 rd party control system, 3 rd party hardware, Online analyses application, farm node, etc. Agent. A Java software entity representing actual physical component or components. Supervisor Agent: Agent encapsulating control domain specific finite state machine, and control specific knowledge base. Normative Agent: Agent responsible for platform and agent administration and management. Control Domain. Agents grouped into virtual clusters or domains with their specialized functionalities. For example: DAQ run control domain, DC High voltage domain, Epics domain, etc. Agent Platform. Distributed environment, containing Main Container and multiple Agent Containers. Provides facilities whereby agents can be located, identified, communicated and manipulated (migration over the containers, cloning, etc. ). Agent Container. Java virtual machine, providing a complete runtime environment for agent deployment and concurrent execution. Main Container or Front-End. Agent container where normative agents for agent registration and configuration(ARC), agent platform administration (PA), and Jade platform support agents (AMS, DF) are running. IPC. Inter process communication channel between physical component and representative agent. 2/25/2021 V. Gyurjyan CHEP 2007

EPICS 2/25/2021 SMI++ AFECS Portability no no yes Hierarchical control system no yes Web interface no no yes Control abstraction no yes Standard IPC yes yes Description language no yes Description language extensibility (ontology support) no no yes V. Gyurjyan CHEP 2007
If i could only teach you one thing
Not knowing is worse than knowing
How strongly do you agree with the following statement
Luke 12:56-57
Trust is the only thing
Melodia impossible
More than one thing
Degrees of comparison for dry
Young comparative superlative
Potassium sources in food
Irregular adverbs
Neither better nor worse
Postconventional morality
You have more potential than you think
Take only photographs leave only footprints
More er than
Percents less than 1
Greater than less than fractions
Key words for inequality signs
Fraction odd one out
Your love is deeper than the ocean higher than the heavens
Alphablocks
Greater than less than examples
5730x5
Greater than god and more evil
Who shall decree a thing
Motivated last thing you want do
Saying i love you is the hardest thing to do