FESA FRONT-END SOFTWARE ARCHITECTURE [FESA] Michel Arruat, Leandro Fernandez, Stephen Jackson, Frank Locci, Jean-Luc Nougaret, Maciej Peryt, Anastasiya.

Slides:



Advertisements
Similar presentations
Software Design Deriving a solution which satisfies software requirements.
Advertisements

Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
 M.A - BIS Workshop – 4th of February 2015 BIS software layers at CERN Maxime Audrain BIS workshop for CERN and ESS, 3-4 of February 2015 On behalf of.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Establishing the overall structure of a software system
© , Michael Aivazis DANSE Software Architecture Challenges and opportunities for the next generation of data analysis software Michael Aivazis.
Introduction to Web Applications Instructor: Enoch E. Damson.
Course Instructor: Aisha Azeem
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Overview of Data Management solutions for the Control and Operation of the CERN Accelerators Database Futures Workshop, CERN June 2011 Zory Zaharieva,
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
The Design Discipline.
W. Sliwinski – eLTC – 7March08 1 LSA & Safety – Integration of RBAC and MCS in the LHC control system.
Designing a HEP Experiment Control System, Lessons to be Learned From 10 Years Evolution and Operation of the DELPHI Experiment. André Augustinus 8 February.
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Cluster Reliability Project ISIS Vanderbilt University.
European Organization for Nuclear Research LHC Gas Control System Applications G.Thomas, J.Ortola Vidal, J.Rochez EN-ICE Workshop 23 April 2009.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecting Web Services Unit – II – PART - III.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Chapter 6 Architectural Design.
FAIR Accelerator Controls Strategy
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
LHC Cryogenics Control: INTEGRATION OF THE INDUSTRIAL CONTROLS (UNICOS) AND FRONT-END SOFTWARE ARCHITECTURE (FESA) APPLICATIONS Enrique BLANCO Controls.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Eugenia Hatziangeli Beams Department Controls Group CERN, Accelerators and Technology Sector E.Hatziangeli - CERN-Greece Industry day, Athens 31st March.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
CERN Control Standards Front-End Computer Layer Stéphane Deghaye BE/CO/FE
ProActive components and legacy code Matthieu MOREL.
Protocol Derivation Assistant Matthias Anlauff Kestrel Institute
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
Creating SmartArt 1.Create a slide and select Insert > SmartArt. 2.Choose a SmartArt design and type your text. (Choose any format to start. You can change.
1 FESA architecture v.1.0 Framework Configuration & Data-entry Tool 5 th December 2003.
“The LHC GCS Framework” Geraldine Thomas CERN, IT-CO A complete PLC and PVSS automatic code Generation.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
DIAMON Project Project Definition and Specifications Based on input from the AB/CO Section leaders.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
Tunnel Cryogenics Instrumentation & Controls for the LHC Enrique Blanco AB/CO IS.
1 The CERN project for a common Front-End Software Architecture A. Guerrero (2), J.-J. Gras (2), J.-L. Nougaret (1), M. Ludwig (2), M. Arruat (1), S. Jackson.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Industrial Control Engineering Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE 
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
Online Software November 10, 2009 Infrastructure Overview Luciano Orsini, Roland Moser Invited Talk at SuperB ETD-Online Status Review.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
LSA Core overview 6 / 11 / 2007 Wojciech Śliwiński (AB-CO-AP) on behalf of LSA team.
FESA Overview Leandro Fernandez On behalf of the FESA Team 6/22/2010FESA Overview1.
Timing Review FESA Requirements with respect to the current Timing implementation FESA Team FE section TimingReview FESA Requirements.
FESA evolution and the vision for Front-End Software
Inventory of Distributed Computing Concepts and Web services
FESA 3.0 für Klassenentwickler: Erfahrungen und Erkenntnisse; Allgemeine Diskussion der Gerätemodellentwicklung
JavaServer Faces: The Fundamentals
Constructing MDA-based Application Using Rational XDE for .NET
Software Architecture & Design
Presentation transcript:

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

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

FESA What is FESA ? Application Domain  Equipment Software running on front-end computers: FESA 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” ]

FESA What is FESA ? 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. FESA Framework RTAction execute () ServerAction execute () EventSource postEvent () Scheduler schedule () 1..n Device refines MyClass

FESA What is FESA ? Series of Graphical Tools  Developing a FESA 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.  Benefits of this architecture:  Java code remains unchanged.  Evolution is handled by the XML Schemas. Generic XML editor XML Schema Design Tool Schema = Design Schema Deploy Tool Schema = Deploy Schema Instantiation Tool Schema = Instantiation Schema

FESA What is FESA ? Design Tool  Driven by the FESA Design Schema that encodes the meta-model.  XML is used as a high level modelling Language. Fesa classes are XML-centric design.  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.

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

FESA What is FESA ? 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.

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

FESA What is FESA ? 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) Cycle Selector (Timing ) Property list (Design) Property detail (Design) Generic viewers

FESA How FESA ensure Equipment Software portability across CERN Accelerator ….…. PSB CPS SPS LHC 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]

FESA How FESA ensure Equipment Software portability across CERN  In order to ensure FESA classes portability across CERN Accelerator, FESA 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 FESA classes can be reused across all CERN accelerators. Design and Implementation are accelerator independent.

FESA Quick turn in the FESA developer’s shoes Design Implements Instantiate Test  Case study: developing a FESA 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.

FESA How FESA handle evolution?  FESA evolution is mainly driven by requirements coming from Equipment Groups.  Integrating new features in FESA 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:  FESA tools: java code is really stable.  Equipment software custom code.  FESA 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.

FESA 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 FESA expert and have no desire to deal with Linux or C++.  No additional work.  No new concept or complexity  No duplication of description GIGABIT Ethernet VME front-end Fesa classes PC front-end Fesa classes Siemens PLC Schneider PLC

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

FESA 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.

FESA Other extensions  Composition relation-ship between FESA classes.  Façade: complex FESA class can decomposed into sub-FESA 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.

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