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