AGENT BASED FRAMEWORK FOR EXPERIMENT CONTROL SYSTEMS … JEFFESON LAB V. GYURJYAN, D. ABBOTT, G. HEYES, E. JASTRZEMBSKI, C. TIMMER, E. WOLIN AFECS.

Slides:



Advertisements
Similar presentations
Database Architectures and the Web
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
OASIS Reference Model for Service Oriented Architecture 1.0
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
Chapter 2 Database Environment Pearson Education © 2014.
Course Instructor: Aisha Azeem
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Elliott Wolin PCaPAC 2008 Ljubljana, Slovenia. Outline 1. Introduction 2. What is Publish/Subscribe Messaging 3. What is cMsg a) Client view b) Developer.
The Client/Server Database Environment
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Enterprise Resource Planning
Database Environment 1.  Purpose of three-level database architecture.  Contents of external, conceptual, and internal levels.  Purpose of external/conceptual.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Introduction to J2EE Architecture Portions by Kunal Mehta.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
第十四章 J2EE 入门 Introduction What is J2EE ?
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
David Abbott CODA3 - DAQ and Electronics Development for the 12 GeV Upgrade.
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.
1 Welcome to CSC 301 Web Programming Charles Frank.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
Bayu Adhi Tama, M.T.I 1 © Pearson Education Limited 1995, 2005.
David Abbott - Jefferson Lab DAQ group Data Acquisition Development at JLAB.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
COOL: Control Oriented Ontology Language Component Option State Service Channel Process Rule Conclusions The control oriented ontology language has been.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
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.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Chapter 2 Database Environment.
CODA run-control JLAB DAQ Group V. Gyurjyan C. Timmer A. Smith New Horizons governor school.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
B. Franek, poster presented at Computing in High Energy and Nuclear Physics, Praha – Czech Republic, 21 – 27 March 2009 This framework provides: -A method.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Chapter 2 Database System Concepts and Architecture
The Client/Server Database Environment
SOA (Service Oriented Architecture)
OO Methodology OO Architecture.
Chapter 9: The Client/Server Database Environment
Database Architectures and the Web
Introduction to J2EE Architecture
Multi-agent system for web services
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 Database Environment Pearson Education © 2009.
Inventory of Distributed Computing Concepts and Web services
Data, Databases, and DBMSs
Inventory of Distributed Computing Concepts
Database Environment Transparencies
AFECS Multi-Agent Framework for Experiment Control Systems
Clas Reconstruction and Analyses framework
Physics data processing with SOA
The only thing worse than an experiment you can’t control is an experiment you can. May 6, 2019 V. Gyurjyan CHEP2007.
Presentation transcript:

AGENT BASED FRAMEWORK FOR EXPERIMENT CONTROL SYSTEMS … JEFFESON LAB V. GYURJYAN, D. ABBOTT, G. HEYES, E. JASTRZEMBSKI, C. TIMMER, E. WOLIN AFECS

Outline SOA and intelligent agent technologies cMsg – A Publish/Subscribe inter-process communication channel ECS framework design criteria COOL - Control oriented ontology language Current implementations Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

SOA and intelligent agent technologies

SOA Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Style of building reliable systems that deliver functionality as services Loose coupling between interacting services

Service Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Atomic unit of an SOA. Encapsulates logic, data, or process. Autonomous Location Transparency It is defined by the messages it can accept and the responses it can give. Messages can be one-way, synchronous or asynchronous. They can be integrated to provide higher-level services It can be completely self-contained, or it may depend on the availability of other services or other resources.

Service interaction Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Service Registry Service Provider Service Consumer Discover Advertise Interact

Loose Coupling Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Flexibility Scalability Replaceability Fault tolerance Service Registry Service Provider Consumer Service Provider Service Provider Advertise Data storage Discover Services are stateless

SO vs. OO Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab OO advocates tight coupling, i.e. users have static knowledge of the object. SOA promotes the design of the system in which it is not necessary that requests and responses are handled by the same set of communicating entities. Service has an internal thread of control. SayHelloWorld “Hello World” OO SO Object Service SayHelloWorld “Sorry I am busy”

Agent is a service Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab creative adaptive mobile social persistent Goal-oriented Agent

Agent Internal and External Environments Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab External Environment : user, other agents, applications, information sources, their relationships, platforms, servers, networks, etc. Balance Internal Environment : architecture, goals, abilities, sensors, effectors, profile, knowledge, etc. Agent

What does it mean? Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Intelligent Agent is an entity that is able to keep continuous balance between its internal and external environments (it has at least one goal) in such a way that in the case of imbalance agent can: change external environment to be in balance with the internal one (creative) change internal environment to be in balance with the external one (adaptive) find out and move to another place within the external environment where balance occurs without any changes (mobile) closely communicate with one or more other agents to be able to create a community, which internal environment will be able to be in balance with the external one (social)

cMsg – A Publish/Subscribe inter- process communication system

What is Publish/Subscribe Messaging Asynchronous, distributed, location transparency  Distinct from client/server Publisher: publish or send messages to “subjects”  “launch-and-forget” mode  many publishers can publish to the same subject Subscriber: subscribe to subjects and supply callbacks  “subscribe-and-forget” mode  many subscribers can subscribe to the same subject A process can be both a publisher and subscriber  a process can even receive messages it produces! Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

publisher publish subscriber subscribe cMsg system subscribe Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

publisher publish subject “x” subscriber subscribe cMsg system subscribe subject “x” publisher subject “x” publisher subject “x” Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Publish Subscribe Publish Subscribe Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab cMsg Server cMsg based P2P Point 1Point 2

cMsg – status A complete publish/subscribe messaging system  Very simple API  C/C++, Java, C# (in progress)  Many Unix flavors, VxWorks, windows (in progress)  Has some synchronous capabilities  Highly customizable and extendable Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

#include // connect to system via Universal Domain Locator cMsg c(UDL, “myName”, “My description”); c.connect(); // create and fill message cMsgMessage msg; msg.setSubject(“mySubject”); msg.setType(“myType”); msg.setText(“This is my text”); // send message c.send(msg); To send a cMsg message Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

#include // connect to cMsg system cMsg c(UDL, “myName”, “My description”); c.connect(); // subscribe to subject/type combination and start receiving c.subscribe(“mySubject”, “myType”, new myCallback(), NULL); c.start(); // do something else… To receive a cMsg message Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

class myCallback : public cMsgCallback { void callback(cMsgMessage *msg, void* userArg) { cout getSubject() << endl; } }; Where callback is: Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

ECS framework design criteria

Project Goal Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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.

ECS Requirements Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Control components of the experiment. Full description of the experiment components. Fault tolerance and recovery. Create and deploy finite state machines.

Design Philosophy of AFECS Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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.

AFECS Agent Categories Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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. N S A

Component Agent Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Agents mimic the state of the real (physical) component, they can invoke actions which change the physical component state. HV power supplyTarget system AA Gas system A AFECS (control) world. Real world. IPC

Inter-Process Communication Channels Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Agents communicate with their associated physical components using range of communication protocols including:  Tcl-DP (legacy protocol)  cMsg P2P  EPICS channel access protocol  SNMP (simple network management protocol)  JDBC (for database clients)  OS shell interface  DIM (in progress)

Supervisor Agent Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Supervisor agents have discrete states and they respond to messages from other agents (supervisor or component). HV crate 1HV crate 2 AA HV crate 3 A Agents representing Individual power supplies DC HV crates S DC HV control supervisor agent

Agents Groupings Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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. S AAAA S S NSA

Domain Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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)

AFECS Platform Distribution Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Agents are physically distributed  at the configuration time  at runtime S AAAA S S N

Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab CODA ROC CODA EMU EPICS IOC 1 EPICS CAG Trigger soft Trigger hard Online ANA A A A A A A A S S S S S NRNANC Physical Components Normative Agents Supervisor agent Grand supervisor Front-End cMsg IPC AFECS Platform IPC GUI/user IPC WEB IPC Hierarchy of domains

Physical Component Integration Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Component Fred NC NA NR Agent Fred Description of the control Administrative domain and container AFECS platform

DESIGNING A CONTROL SYSTEM REQUIRES PRECISE DESCRIPTIONS OF PHYSICAL COMPONENTS AND THEIR SOFTWARE ABSTRACTIONS. COOL - Control oriented ontology language

Control Oriented Ontology Language Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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.

What is an Ontology? Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab An ontology is a specification of a conceptualization. – Tom Gruber An ontology is a way of representing a knowledge, meaning that knowledge is formalized in a symbolic form, that is, to find a symbolic expression that can be interpreted. – Klein and Methlie

No really what is an Ontology? Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab An ontology specifies a description of the  Terminology and concepts  Properties explicitly defining the terms, concepts  Relations among concepts  Rules distinguishing concepts, refining definitions and relations (constraints, restrictions, regular expressions) relevant to a particular domain or area of interest.

Philosophy of Knowledge Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Knowledge we have Knowledge we know we don't know Knowledge we are not aware we don't know

Formalized Knowledge Subject Ontology Domain Ontology Taxonomic Knowledge Process Ontology Relational Knowledge Interface Ontology Assertional KnowledgeMonday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab D2 D4 D5 D6 D7 D8 D9 D1

Domain Ontology Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab A novel and poem are books. A book is a document. document book novelpoem Domain Ontology Taxonomic Knowledge

Process Ontology Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab A document author is a woman. documentwoman Process Ontology Relational Knowledge author

Interface Ontology Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab documentwoman Process Ontology author womanstring Process Ontology name documentstring Process Ontology author

RDF: Resource Description Framework RDF is best suited to formalize triple structure of the knowledge base. Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab Tag Value XMLRDF ResourcePropertyValue SubjectPredicate Object

Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Example Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Example States FSMS1_Ok 1 FSMS1_Warning 5 FSMS1_Error 10 Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Example States off on standby Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Example Rules Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

AFECS COOL Specific Tools Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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.

COOL editor view 1 Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

COOL editor view 2 Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

One other COOL Example Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab <rdf:RDF' xmlns:cool=' > false /tmp/test.dat cMsg ROC Roc1 44 cMsg RCS R1ExternalProcess 77 shell predownload emacs

AFECS Implementations Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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 , Volume 1, page 151.) CLAS experiment web based monitoring system.

Run-Control GUI view 1 Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Run-Control GUI view 2 Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Afecs message browser Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab

Conclusions Monday, October 19, 2015 Vardan Gyurjyan. Jefferson Lab 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.