Diamon/Laser Design proposal Marek Misiowiec BE/CO/AP May 2010.

Slides:



Advertisements
Similar presentations
Introduction to the Spring Framework
Advertisements

January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Wojciech Buczak, Wojciech Sliwinski BE-CO-IN for the Middleware team Vito Baggiolini, Roman Gorbonosov BE-CO-DA.
Controls Configuration Service Overview GSI Antonio on behalf of the Controls Configuration team Beams Department Controls Group Data & Applications.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Database Infrastructure Major Current Projects –CDF Connection Metering, codegen rewrite, hep w/ TRGSim++ – Dennis –CDF DB Client Monitor Server and MySQL.
Overview of Data Management solutions for the Control and Operation of the CERN Accelerators Database Futures Workshop, CERN June 2011 Zory Zaharieva,
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Web application architecture
controls Middleware – OVERVIEW & architecture 26th June 2013
Chapter 2 Database System Concepts and Architecture
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
New Direction Proposal: An OpenFabrics Framework for high-performance I/O apps OFA TAC, Key drivers: Sean Hefty, Paul Grun.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
An Introduction to Software Architecture
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
AUTOBUILD Build and Deployment Automation Solution.
Middle-tier servers for CMW Bartek Paszkowski AB-CO-FC.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
CERN LASER Alarm System Katarina Sigerud, CERN ACS workshop, 9 October 2005.
Overview of MSS System Human Actors Non-Human Actors In-house developed components Third party products.
JCOP Workshop September 8th 1999 H.J.Burckhart 1 ATLAS DCS Organization of Detector and Controls Architecture Connection to DAQ Front-end System Practical.
14 December 2006 CO3 Data Management section Controls group Accelerator & Beams department Limits of Responsibilities in our Domains of Activities Ronny.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Final presentation Simon Zambrovski Tutor: Muhammad Farhat Kaleem Design choices and strategies for implementing WS-BusinessActivity.
ACET Accelerator Controls Exploitation Tools Progress and plans, December 2012.
WWWWhat timing services UUUUsage summary HHHHow to access the timing services ›I›I›I›Interface ›N›N›N›Non-functional requirements EEEExamples.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 12-5 Software Engineering Design Goals.
Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE  Questions? RADE Applications EN-ICE-MTA.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
BE-CO-DO - Development tools (Eclipse, CBNG, Artifactory, …) - Atlassian (Jira, Wikis, Bamboo, Crucible), CO Testbed - DIAMON/LASER - JMS (Java messaging.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Chapter 6: Using Middleware Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt October 20, 2008.
Strategy to achieve smooth upgrades during operations Vito Baggiolini BE/CO 1.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
DIAMON Project Project Definition and Specifications Based on input from the AB/CO Section leaders.
1 A Scalable Distributed Data Management System for ATLAS David Cameron CERN CHEP 2006 Mumbai, India.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Industrial Control Engineering Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE 
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
DIAMON. What is DIAMON ? Technology stack Current Situation & Plans.
SUSE Linux Enterprise Server for SAP Applications
Chapter 2 Database System Concepts and Architecture
CO HW Monitoring Architecture
Introduction to J2EE Architecture
Web Application Architectures
Cloud computing mechanisms
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Web Application Architectures
Automation of Control System Configuration TAC 18
Web Application Architectures
Presentation transcript:

Diamon/Laser Design proposal Marek Misiowiec BE/CO/AP May 2010

Core Overview Multi-tier, distributed, fail-safe system processing diagnostic data collected repeatedly from a variety of sources. Raw data of different shapes is transformed into unified formats and further analyzed on a middle layer according to well-defined rules. analyzed on a middle layer according to well-defined rules. Actions may be taken, in form of alarms or monitoring information delivered to clients. Processed data is made available as JAPC parameters or for dedicated GUIs. It is stored in long term archive too. Downward communication with the source devices is possible. 2 devs apps DAQ raw data unified data SRV clients client view

Core Overview Diamon/Laser core responsibilities: Diamon/Laser core responsibilities: data acquisition for various sources – push & pull modesdata acquisition for various sources – push & pull modes communication through layers, publishingcommunication through layers, publishing data transformation, processing, analysis, conditioningdata transformation, processing, analysis, conditioning failover, database separation, scalingfailover, database separation, scaling complementary functionalities: complementary functionalities: rules enginerules engine logging, archiving, configuration updateslogging, archiving, configuration updates non-core: non-core: definitions & rules, data provider’s workflowdefinitions & rules, data provider’s workflow GUIs, dedicated client applicationsGUIs, dedicated client applications 3

Importance of a change Nowadays: upgrades mess upgrades mess stale sources, legacy constraints, dusty componentsstale sources, legacy constraints, dusty components meeting only part of the requirements meeting only part of the requirements partial data, simplistic thresholds, no conditioningpartial data, simplistic thresholds, no conditioning monitoring based on alarms - Diamon on Laser monitoring based on alarms - Diamon on Laser misuse of the system, overheadmisuse of the system, overhead mediocre scalingmediocre scaling badly-behaving sources/clients cannot be detached/isolatedbadly-behaving sources/clients cannot be detached/isolated legacy solutions hiding in Laser world legacy solutions hiding in Laser world SonicMQ, OC4J, EJBs, Hibernate, SleepycatSonicMQ, OC4J, EJBs, Hibernate, Sleepycat...and no standard CO components in place...and no standard CO components in place 4

Importance of a change We would like to: widely use CO solutions and help to establish others worth it widely use CO solutions and help to establish others worth it better drive interactions with the bottom and upper tiers better drive interactions with the bottom and upper tiers consolidate logics in system core consolidate logics in system core be able to draw more conclusions on collected data be able to draw more conclusions on collected data sustain upgrades, updates, dependency changes sustain upgrades, updates, dependency changes 5

Transition 6

Transition 7

Transition 8

Transition 9

Transition 10

Technical outcome Then: unified view of complete data unified view of complete data sound construction on CO materials sound construction on CO materials OC4J -> Spring, Hibernate -> JDBC Templates, EJBs -> POJOs SonicMQ -> ActiveMQ, multitude of data formats -> JAPC in-house database -> CCDB + LoggingOC4J -> Spring, Hibernate -> JDBC Templates, EJBs -> POJOs SonicMQ -> ActiveMQ, multitude of data formats -> JAPC in-house database -> CCDB + Logging wider choice of middleware: CMW, YAMI, JMSwider choice of middleware: CMW, YAMI, JMS focusing logics in one place focusing logics in one place rules, thresholds, alarm generationrules, thresholds, alarm generation conditioning: machine mode, working hours, state of subsystemsconditioning: machine mode, working hours, state of subsystems driving the whole process driving the whole process detachable sources, clientsdetachable sources, clients less restart/reboot downtimeless restart/reboot downtime convergence with similar effortsconvergence with similar efforts 11

information exchange 12 japc-ext-yamijapc-ext-cmwjapc-ext-snmpjms-to-japc proxyjapc-ext-? Core Services rules thresholds alarm generator externals conditions publisher w-flow consoles client middleware: JMS client inter actions other apps JAPC provider Config DB archiver Archive DB Core DAQ [1] DAQ [2]DAQ [n] tackle problematic sources Clic agents CMW srcs Laser Wie, Twi ? other sources source middleware protocols

Available technologies Building blocks: CO standard components eg. JAPC CO standard components eg. JAPC CO less standard, but demanded eg. japc-ext-yami CO less standard, but demanded eg. japc-ext-yami Laser dev code base, ready to reuse eg. caching, distribution Laser dev code base, ready to reuse eg. caching, distribution TIM being refurbished and struggling with similar future TIM being refurbished and struggling with similar future other CO projects: INCA other CO projects: INCA 13

Lessons learned from Laser eradication of legacy concepts & technologies pays off eradication of legacy concepts & technologies pays off to scale well, we need to distribute processing power to scale well, we need to distribute processing power a supervisor over multiple workersa supervisor over multiple workers dividing is difficultdividing is difficult separation of concerns separation of concerns single processing unit as a set of loosely coupled actions single processing unit as a set of loosely coupled actions patterns: chain of responsibilities, observablepatterns: chain of responsibilities, observable upward flow: source input -> processing -> publishingupward flow: source input -> processing -> publishing cater for database outages through local caching cater for database outages through local caching JMS+RMI as a middleware for all parties involved JMS+RMI as a middleware for all parties involved more advanced features of JMS channel helpmore advanced features of JMS channel help...but no JAPC concepts were introduced at all...but no JAPC concepts were introduced at all 14

Device/property model to clarify the current incoherent view to clarify the current incoherent view strong incentives: strong incentives: speak one languagespeak one language let everyone fit (Logging)let everyone fit (Logging) common tools, well-established in CO worldcommon tools, well-established in CO world migration of legacy sources migration of legacy sources expose propertiesexpose properties eradicate laser-source as it iseradicate laser-source as it is interaction with devices through JAPC calls interaction with devices through JAPC calls domain entities: domain entities: Alarm, Alarms, Diagnostic,...Alarm, Alarms, Diagnostic,... 15

JAPC extensions to unify view on a variety of devices/applications to unify view on a variety of devices/applications available now: available now: CMW (japc-ext-cmwrda) and JMS (remote) as most popularCMW (japc-ext-cmwrda) and JMS (remote) as most popular we need some more: we need some more: YAMI through japc-ext-yami is already available, used in new Clic agentYAMI through japc-ext-yami is already available, used in new Clic agent SNMP through japc-ext-snmp under developmentSNMP through japc-ext-snmp under development 16

Bottom tier Experience gained in: current Diamon and Laser current Diamon and Laser eg. CMW Alarm Monitor as a huge data acquisition processeg. CMW Alarm Monitor as a huge data acquisition process LHC Concentrators, similar problems LHC Concentrators, similar problems INCA data acqusition layer INCA data acqusition layerProgress: 17 source typecurrentplanned/done Clic AgentsJMS, YAMIjapc-ext-yami CMW Alarm MonitorLaser gatewayJAPC device Laser sourcesC/Java laser-sourceLaser-to-JAPC proxy Wiener, TwidoSNMP central agentsjapc-ext-snmp Pingcentral agentJAPC device

Already developed JAPC extensions JAPC extensions current version of YAMI meets our requirements current version of YAMI meets our requirements Diamon Clic agent Diamon Clic agent fully YAMI-based, JAPC valuesfully YAMI-based, JAPC values CMW Alarm Monitor refurbished CMW Alarm Monitor refurbished 6000 subscriptions to GM and FESA devices6000 subscriptions to GM and FESA devices will be incorporated into new corewill be incorporated into new core proxy between Laser production alarms and JAPC values proxy between Laser production alarms and JAPC values for the legacy sourcesfor the legacy sources 18

Open questions Still to think over: best components and collaborations to choose best components and collaborations to choose level of distribution and scaling level of distribution and scaling shared memory, distributed cache shared memory, distributed cache storage: short-term, long-term, Logging DB storage: short-term, long-term, Logging DB rules handling: homemade, proprietary rules handling: homemade, proprietary...and many others...and many others 19