FRONT-END SOFTWARE ARCHITECTURE [FESA]

Similar documents
The CESAR Project using J2EE for Accelerator Controls

THE LHC CONTROL SYSTEM

Report. Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution

The coolest place on earth

ARES: AUTOMATIC RELEASE SERVICE

Cost-effective development of flexible self-* applications

Database Developers Forum APEX

Final implementation of RBAC for collimators

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

Application of Virtualization Technologies & CernVM. Benedikt Hegner CERN

The coolest place on earth

Oracle EXAM - 1Z Oracle Application Integration Architecture 11g Essentials. Buy Full Product.

Using LCS Help. In This Section

Oracle Developer Day

Finding bugs in the LHC: Verification methods for PLC programs

QOS Quality Of Service

Challenges in component based programming. Lena Buffoni

Detector controls meets JEE on the web

Program generation for schema-based, typed data access

Vista Controls Vsystem * at the ISIS pulsed neutron facility Bob Mannix, Tim Gray ISIS Controls Group STFC, Rutherford Appleton Laboratory UK

Oracle SOA Suite 11g: Build Composite Applications

Configuration of Windows 2000 operational consoles and accounts for the CERN accelerator control rooms

Dictionary Driven Exchange Content Assembly Blueprints

Agenda. Summary of Previous Session. XML for Java Developers G Session 6 - Main Theme XML Information Processing (Part II)

Incorporating applications to a Service Oriented Architecture

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

"Charting the Course... Agile Database Design Techniques Course Summary

OASIS: STATUS REPORT

Oracle SOA Suite 12c: Build Composite Applications

Software Reuse and Component-Based Software Engineering

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

21ST century enterprise. HCL Technologies Presents. Roadmap for Data Center Transformation

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Using the VMware vrealize Orchestrator Client

OPC Gateway Data Sheet

ActiveVOS Technologies

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

Integrated Controller Realizing Machine Control and Advanced Motion Control, MICREX-SX Series

Fault Detection using Advanced Analytics at CERN's Large Hadron Collider

Instant Messaging Interface for Data Distribution Service

L1 and Subsequent Triggers

INSPECTOR, A ZERO CODE IDE FOR CONTROL SYSTEMS USER INTERFACE DEVELOPMENT

Variability Implementation Techniques for Platforms and Services (Interim)

Service Design Description for the xxx Service <xyz Technology>

From Object Composition to Model Transformation with the MDA

State of the Dolphin Developing new Apps in MySQL 8

Experiment

Wir schaffen Wissen heute für morgen REUSABLE PATIENT SAFETY SYSTEM FRAMEWORK FOR THE PROTON THERAPY CENTRE AT PSI

ONOS YANG Tools. Thomas Vachuska Open Networking Foundation

Ellipse Web Services Overview

Minsoo Ryu. College of Information and Communications Hanyang University.

Oracle SOA Suite 12c : Build Composite Applications

SUMMARY: MODEL DRIVEN SECURITY

S1000D and Interactive Electronic Technical Publications. S1000D Webinar Series, Session 4 SDL Structured Content Technologies

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Visteon Position Paper i. Visteon Position Paper

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

From Models to Components. Rapid Service Creation with

Tomasz Włostowski Beams Department Controls Group Hardware and Timing Section. Developing hard real-time systems using FPGAs and soft CPU cores

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

> Semantic Web Use Cases and Case Studies

FlexiNet Matthew Faupel & Richard Hayton

Overview and Demonstration

J2EE AntiPatterns. Bill Dudney. Object Systems Group Copyright 2003, Object Systems Group

Jeppesen Solution Integrator Overview DOCUMENT VERSION 1.0

Test requirements in networked systems

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Quantitative and formal methods for the industrial control systems at CERN: dreams and reality

Beginning To Define ebxml Initial Draft

Oracle SOA Suite 12c: Build Composite Applications. About this course. Course type Essentials. Duration 5 Days

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Lesson 14 SOA with REST (Part I)

Introduction to Dependable Systems: Meta-modeling and modeldriven

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Expert Guidance on Migrating from Magento 1 to Magento 2

IBM Security Access Manager for Enterprise Single Sign-On Version AccessStudio Guide IBM SC

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

SCRIPT: An Architecture for IPFIX Data Distribution

Studio 2008 Change Table

Web services (GSE NL)

Software Design COSC 4353/6353 D R. R A J S I N G H

<Insert Picture Here> Oracle SQL Developer Data Modeler 3.0: Technical Overview

Overview of Sentence Order Reference Document Development Process

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Self-driving Datacenter: Analytics

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3

Distribution and web services

Using Configuration Building Blocks

Industry-leading Application PaaS Platform

A Model-Driven Framework for Domain Specific Process Design and Governance

Mixup: a Development and Runtime Environment for Integration at the Presentation Layer

Software Design and Analysis CSCI 2040

Appendix A - Glossary(of OO software term s)

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Using Configuration Building Blocks

How-To Guide SAP NetWeaver Document Version: How To... Configure CM Services in SAP NetWeaver 7.3 and up

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE

Retrofitting Ground Systems to improve Cyber Security

Transcription:

FRONT-END SOFTWARE ARCHITECTURE [] Michel Arruat, Leandro Fernandez, Stephen Jackson, Frank Locci, Jean-Luc Nougaret, Maciej Peryt, Anastasiya Radeva, Maciej Sobczak, Marc Vanden Eynden Accelerators & Beams Department, CERN

Outline What is? How ensure Equipment Software portability across CERN Accelerator Quick turn in the developer s shoes How handle evolution Some recent extensions Conclusions

What is? Application Domain Equipment Software running on front-end computers: class. Surrounding Software Components: Control Middleware: communication infrastructure Device/Property model. Narrow API: same calls for all equipment classes (access methods: get/set/subscribe). A device belongs to a Device Class Timing: timing events are distributed over a dedicated network to local timing receiver. Handles timing hardware. Provides interface for timing events connection. Hardware: Standard modules comes with drivers and /or libraries [see: Remote Device Access in the New CERN Accelerator Controls Middleware ICALEPCS 01] [see: The CERN LHC Central Timing, a Vertical Slice ]

What is? Real-time Framework Object-oriented real-time Framework: Captures the structure and the control flow of the application domain. Defines the application domain s design pattern. The Framework is the application. Equipment Specialist provides application-specific behaviour. Framework EventSource postevent() Scheduler schedule() 1..n RTAction execute() 1..n Device ServerAction execute() refines MyClass

What is? Series of Graphical Tools Developing a class requires the developer to produce three XML documents: Design, Deployment, Instantiation. Dedicated tool based on a Generic XML editor (Java application) configured by dedicated W3C s XML Schema are used to supply each XML document. The XML Schema is used to express the data model to which the XML document must conform. XML Schema Generic XML editor Design Tool Deploy Tool Schema = Design Schema Schema = Deploy Schema Benefits of this architecture: Java code remains unchanged. Evolution is handled by the XML Schemas. Instantiation Tool Schema = Instantiation Schema

What is? Design Tool Driven by the Design Schema that encodes the meta-model. XML is used as a high level modelling Language. Equipment specialist thinks equipment s design in terms of: Public interface: properties. Device-model: software abstraction of the hardware. Server actions. Real-time actions. Logical events. Scheduling: triggering rules.

What is? Deployment Tool Deployment : driven by the Deployment schema. Generated on the fly based on the current list of classes. classes can be merged in the same server or deployed as individual server. Start-up mode: automatic or manual.

What is? Instantiation Tool Instantiation : driven by the Instantiation schema. Generated on the fly based on the Design document. Used to configure a set of devices on a front-end.

What is? Code Generation Device RTAction execute() ServerAction execute() XSLT refines MyDevice Control execute() SetSettings execute() Generated Code: entirely handled by Custom Code: Action skeletons are generated by Thanks to the formal language used to design equipment software the framework is refined by automatic code generation rather than hand-coding.

What is? A Testing tool It s a complete generic Java application: XSL templates convert Design and Instantiation documents into Java property. Front-end and devices list (Instantiation) Property detail (Design) Cycle Selector (Timing ) Property list (Design) Generic viewers

How ensure Equipment Software portability across CERN Accelerator LHC.. SPS CPS PSB Experimental area Experimental area Experimental Area.. Accelerators share: Same physical devices. Same layer Hardware. But: Timing events specifics by accelerator. Device s setting multiplexing: cycles defines virtual devices. Switching to the next cycle causes a switch of device s setting. [see: The CERN LHC Central Timing, a Vertical Slice]

How ensure Equipment Software portability across CERN In order to ensure classes portability across CERN Accelerator, provides a complete abstraction of the timing at different levels: Design: design is not accelerator s timing dependent. Timing events are logical events: concretization into accelerator events is done at the instantiation stage. Implementation: multiplexing device s setting are managed by the framework transparently for the custom code. In this way classes can be reused across all CERN accelerators. Design and Implementation are accelerator independent.

Quick turn in the developer s shoes Case study: developing a class which generate periodically a sine wave of 100 sampling with a phase shift. It shall be possible to change amplitude and frequency of the sine wave. Design Implements Instantiate Test

How handle evolution? evolution is mainly driven by requirements coming from Equipment Groups. Integrating new features in requires to modify: The meta-model XML Schema. XSL templates used to generate the custom code. Framework source code: implementation of the new features. What remains unchanged: tools: java code is really stable. Equipment software custom code. Release policy: Three operational release: the new one makes obsolete the oldest one. Retrofit tool: completely automatic. Upgrade the different XML documents, and the code generation.

Recent extensions:plc integration More and more accelerator devices are connected to PLC. Control hardware layer for complex devices can be a mixture of VME modules and PLC. Requirements: PLC programmers are not expert and have no desire to deal with Linux or C++. No additional work. No new concept or complexity No duplication of description PC front-end Fesa classes VME front-end Fesa classes GIGABIT Ethernet Schneider PLC Siemens PLC

Recent extensions: PLC integration meta-model defines plc-class as a restriction of a standard class model Integrated a PLC into consist of: Instantiate a plc-class design. Design the device-data (everything-else is preconfigured). Instantiate the device instances Load in the PLC development tool the device data structure automatically generated Develop the PLC logic as usual Device data model Automatic Generation of the device data structure exchanged between PLC and front-end

Recent extensions: Transaction Requirement: to guarantee that several settings acting on different devices deployed on various front-ends will be taken in account at the same time or none of them in case of error. Implementation: Two phase commit transaction. Property has to be flagged as transactional. Requires the timing system to fire Commit or Roll-back event. Result: Completely handled by the Framework. Custom Code has only to supply a ValidateSetting method. Front-end A Setting property + Transaction Id Validate Setting Send Acknowledge CommitEvent Commit Transaction Coordinator SendSettings Commit the Transaction Send Commit Event Timing Event "CommitEvent" Payload= transactionid TransactionCompleted Front-end B Validate Setting Send Acknowledge EventName= CommitEvent Event payload = Transaction Id CommitEvent CommitTransaction Central Timing Send CommitEvent CommitEvent Close

Other extensions Composition relation-ship between classes. Façade: complex class can decomposed into sub- classes. Composition: Has-a relationship. Critical Settings Management: guarantees setting integrity for critical parameters. Implementing using public-key cryptography and a digital signature. Run-time diagnostic: topic-oriented diagnostic to have a finer granularity in the trace options. Monitoring: permanently survey the scheduling and the control flow of any equipment software. Again all these extensions have been managed transparently for the Equipment Software.

Conclusion In spite of the huge diversity of devices, has successfully standardized a high level language and an object oriented framework. About 250 classes deployed on ~ 600 frontend computers (most of them on the LHC, but also on the LHC injectors). reduces the time spent developing and maintaining equipment software and brings a strong consistency across all equipment software. The development environment is based on a modelling tool, and keeps model and implementation synchronized. provides an XML-Centric Equipment Software design approach. All the recent extensions have proven the flexibility and the capability of the complete infrastructure to handle evolution.