The only thing worse than an experiment you can’t control is an experiment you can. May 6, 2019 V. Gyurjyan CHEP2007.

Slides:



Advertisements
Similar presentations
Distributed components
Advertisements

Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Performance and Exception Monitoring Project Tim Smith CERN/IT.
Designing a HEP Experiment Control System, Lessons to be Learned From 10 Years Evolution and Operation of the DELPHI Experiment. André Augustinus 8 February.
An Introduction to Software Architecture
DAQ Status Graham. EMU / EB status EMU framework prototype is complete. Prototype read, process and send modules are complete. XML configuration mechanism.
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
DAQ Status Report GlueX Collaboration – Jan , 2009 – Jefferson Lab David Abbott (In lieu of Graham) GlueX Collaboration Meeting - Jan Jefferson.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
AGENT BASED FRAMEWORK FOR EXPERIMENT CONTROL SYSTEMS … JEFFESON LAB V. GYURJYAN, D. ABBOTT, G. HEYES, E. JASTRZEMBSKI, C. TIMMER, E. WOLIN AFECS.
David Abbott CODA3 - DAQ and Electronics Development for the 12 GeV Upgrade.
DAQ Issues for the 12 GeV Upgrade CODA 3. A Modest Proposal…  Replace aging technologies  Run Control  Tcl-Based DAQ components  mSQL  Hall D Requirements.
Data Acquisition for the 12 GeV Upgrade CODA 3. The good news…  There is a group dedicated to development and support of data acquisition at Jefferson.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
David Abbott - Jefferson Lab DAQ group Data Acquisition Development at JLAB.
31 March 2009 MMI OntDev 1 Autonomous Mission Operations for Sensor Webs Al Underbrink, Sentar, Inc.
COOL: Control Oriented Ontology Language Component Option State Service Channel Process Rule Conclusions The control oriented ontology language has been.
V Gyurjyan, D Abbott, J Carbonneau, G Gilfoyle, D Heddle, G Heyes, S Paul, C Timmer, D Weygand V. Gyurjyan JLAB data acquisition and analysis group.
DAQ Status & Plans GlueX Collaboration Meeting – Feb 21-23, 2013 Jefferson Lab Bryan Moffit/David Abbott.
CODA run-control JLAB DAQ Group V. Gyurjyan C. Timmer A. Smith New Horizons governor school.
CODA Graham Heyes Computer Center Director Data Acquisition Support group leader.
Event Management. EMU Graham Heyes April Overview Background Requirements Solution Status.
IceCube DAQ Mtg. 10,28-30 IceCube DAQ: Implementation Plan.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
B. Franek, poster presented at Computing in High Energy and Nuclear Physics, Praha – Czech Republic, 21 – 27 March 2009 This framework provides: -A method.
Development of concurrent and distributed programs with the Actor model and Akka César Aguilera Padilla Thematic CERN School of Computing Split, 27th of.
AGENT SERVICES FRAMEWORK FOR HANDHELD DEVICES SUPERVISOR: DR MUHAMMAD ASLAM Domain: Artificial Intelligence(AI) Muhammad Ali (09-MS-CE-11),
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Introduction to DBMS Purpose of Database Systems View of Data
PVSS an industrial tool for slow control
UML Diagrams By Daniel Damaris Novarianto S..
Netscape Application Server
Object-Oriented Analysis and Design
Chapter 1: Introduction
CMS – The Detector Control System
System Design and Modeling
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
JCOP Review Closeout March 13, 2003 Chip Watson, Robin Lauckner,
CLARA Based Application Vertical Elasticity
Storage Virtualization
Distributed System Concepts and Architectures
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment.
Service-centric Software Engineering
Service-centric Software Engineering 1
Software Architecture
Design and Implementation
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Internet Protocols IP: Internet Protocol
SNMP (Simple Network Management Protocol) based Network Management
Design Principles of the CMS Level-1 Trigger Control and Hardware Monitoring System Ildefons Magrans de Abril Institute for High Energy Physics, Vienna.
AFECS Multi-Agent Framework for Experiment Control Systems
Clas Reconstruction and Analyses framework
Physics data processing with SOA
Chapter 1: Introduction
Chapter 1: Introduction
The Performance and Scalability of the back-end DAQ sub-system
Chapter 1: Introduction
Design Yaodong Bi.
Tools for the Automation of large distributed control systems
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 1: Introduction
Software Development Process Using UML Recap
Standards, Models and Language
Presentation transcript:

The only thing worse than an experiment you can’t control is an experiment you can. May 6, 2019 V. Gyurjyan CHEP2007

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

Project Goal Develop a framework for building control systems open architecture hierarchical network distributed Provide a set of tools to deploy: test and control systems alarm systems control visualization systems, etc. May 6, 2019 V. Gyurjyan CHEP2007

Experiment Control System Requirements Control components of the experiment. Full description of the experiment components. Framework reflects Fault tolerance and recovery. Create and deploy finite state machines. Control data-taking activities by coordinating the operations of the DAQ sub-systems, online software components, slow control system components and third-party software components, as well as industrial control systems Provide a facilities to describe external control processes within the system, which will in turn encapsulate foreign components (industrial control systems, etc.) and allow already existing components to communicate with those foreign components as familiar ones Provide facilities, allowing detailed specification of the experiment components/objects, such as their states, actions and associated conditions, etc. Means to group individual control systems into the control domains, operating in the general experiment control environment. Every control domain, representing experiment subsystem, can operate independently, yet will summarize information for the above level domains or expand actions to the lower levels. Provide mechanisms to ensure the fault tolerance and problem recovery of the system. Provide facilities to create and deploy finite state machines. Provide web interface for alarm reporting, alarm configuration, and control data visualization. May 6, 2019 V. Gyurjyan CHEP2007

Design Philosophy of AFECS Pure Java. Collaborating autonomous agents. Each agent represents a hardware or software component. Messages between agents invoke actions. Agents behave as finite state machines. Agents communicate with physical components through standard protocols. May 6, 2019 V. Gyurjyan CHEP2007

AFECS Agent Categories Normative agents administrative agent Crate and manage all other agents Environment administration Supervisor agents Control groups of Component agents Component agents Represent hardware or software components of the real world control system. S A May 6, 2019 V. Gyurjyan CHEP2007

Component Agent Agents mimic the state of the real (physical) component, they can invoke actions which change the physical component state. A A A AFECS (control) world. IPC IPC IPC Real world. HV power supply Target system Gas system May 6, 2019 V. Gyurjyan CHEP2007

Inter-Process Communication Channel IPC Agents communicate with their associated physical components using range of communication protocols including: Tcl-DP (legacy protocol) cMsg (publish-subscribe messaging protocol, JLAB) EPICS channel access protocol SNMP (simple network management protocol) JDBC OS shell interface May 6, 2019 V. Gyurjyan CHEP2007

Inter-Agent Communication Channel ACC 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. Message structure: - Sender - Receiver - Content (Data Object or Ontology Object) - Language - Ontology - Protocol ACC is hidden from the users. Types Not understood Agree Refuse -reason Failure -reason Inform (Done ontology action) May 6, 2019 V. Gyurjyan CHEP2007

Supervisor Agent Supervisor agents have discrete states and they respond to messages from other agents (supervisor or component). S DC HV control supervisor agent A A A Agents representing Individual power supplies HV crate 1 HV crate 2 HV crate 3 DC HV crates May 6, 2019 V. Gyurjyan CHEP2007

Agents Groupings 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. 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. N S A S S S A A A A May 6, 2019 V. Gyurjyan CHEP2007

Domain Reduces complexity of large control systems. Encourages modularity and encapsulation. (only a few agents and their behaviors are visible outside of the domain limits) 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) Control data-taking activities by coordinating the operations of the DAQ sub-systems, online software components, slow control system components and third-party software components, as well as industrial control systems Provide a facilities to describe external control processes within the system, which will in turn encapsulate foreign components (industrial control systems, etc.) and allow already existing components to communicate with those foreign components as familiar ones Provide facilities, allowing detailed specification of the experiment components/objects, such as their states, actions and associated conditions, etc. Means to group individual control systems into the control domains, operating in the general experiment control environment. Every control domain, representing experiment subsystem, can operate independently, yet will summarize information for the above level domains or expand actions to the lower levels. Provide mechanisms to ensure the fault tolerance and problem recovery of the system. Provide facilities to create and deploy finite state machines. Provide web interface for alarm reporting, alarm configuration, and control data visualization. May 6, 2019 V. Gyurjyan CHEP2007

AFECS Platform Distribution Agents are physically distributed at the configuration time at runtime S S S N A A A A May 6, 2019 V. Gyurjyan CHEP2007

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

Physical Component Integration Administrative domain and container AFECS platform NC NR Description of the control NA Agent Fred Component Fred May 6, 2019 V. Gyurjyan CHEP2007

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. May 6, 2019 V. Gyurjyan CHEP2007

Control Oriented Ontology Language COOL Defines an agent model of the experiment. Describes functionalities of physical components (state machines) Describes the semantics of control. Developed using RDFS. Is intuitive and human readable. Can be generated using GUI. May 6, 2019 V. Gyurjyan CHEP2007

May 6, 2019 V. Gyurjyan CHEP2007

AFECS COOL Specific Tools GUI using COOL to build configuration files describing control system. db2cool: converts current CODA config database to COOL config files. sml2cool: translates state manager language config files to COOL config files. May 6, 2019 V. Gyurjyan CHEP2007

COOL GUI May 6, 2019 V. Gyurjyan CHEP2007

COOL Example May 6, 2019 V. Gyurjyan CHEP2007 <rdf:RDF' xmlns:cool='http://coda.jlab.org/COOL/cool#' > <cool:Control rdf:ID="R1ExternalProcess"> <cool:hasComponent rdf:resource="#ROC1"/> <cool:hasComponent rdf:resource="#RC"/> <cool:hasOption rdf:resource="#OPTION"/> </cool:Control> <cool:Option rdf:ID="OPTION"> <cool:hasCoda2Component>false</cool:hasCoda2Component> <cool:hasDataFile>/tmp/test.dat</cool:hasDataFile> </cool:Option> <cool:Component rdf:ID="ROC1"> <cool:hasIpc>cMsg</cool:hasIpc> <cool:hasType>ROC</cool:hasType> <cool:hasName>Roc1</cool:hasName> <cool:hasPriority>44</cool:hasPriority> <cool:hasExternalProcess rdf:resource="#PROC1"/> </cool:Component> <cool:Component rdf:ID="RC"> <cool:hasType>RCS</cool:hasType> <cool:hasName>R1ExternalProcess</cool:hasName> <cool:hasPriority>77</cool:hasPriority> <cool:Process rdf:ID="PROC1"> <cool:hasCommandIpc>shell</cool:hasCommandIpc> <cool:isPartOfState>predownload</cool:isPartOfState> <cool:hasCommandName>emacs</cool:hasCommandName> </cool:Process> </rdf:RDF> May 6, 2019 V. Gyurjyan CHEP2007

AFECS Implementations 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.) CLAS experiment web based monitoring system. http://clasweb.jlab.org/clasonline/rc/hallB/e-cr.htm May 6, 2019 V. Gyurjyan CHEP2007

Run-Control GUI May 6, 2019 V. Gyurjyan CHEP2007

Conclusions 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. May 6, 2019 V. Gyurjyan CHEP2007

Thank you May 6, 2019 V. Gyurjyan CHEP2007

Terminology 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), 3rd party control system, 3rd 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. May 6, 2019 V. Gyurjyan CHEP2007

Hierarchical control system EPICS SMI++ AFECS Portability no yes Hierarchical control system Web interface Control abstraction Standard IPC Description language Description language extensibility (ontology support) May 6, 2019 V. Gyurjyan CHEP2007