Software Technology Evolution
Paper Title Page
WEA3O01 The TANGO Controls Collaboration in 2015 1
  • A. Götz, J.M. Chaize, T.M. Coutinho, J.L. Pons, E.T. Taurel, P.V. Verdier
    ESRF, Grenoble, France
  • G. Abeillé
    SOLEIL, Gif-sur-Yvette, France
  • S. Brockhauser, L.J. Fulop
    ELI-ALPS, Szeged, Hungary
  • M.O. Cernaianu
    IFIN-HH, Bucharest - Magurele, Romania
  • I.A. Khokhriakov
    HZG, Geesthacht, Germany
  • R. Smareglia
    INAF-OAT, Trieste, Italy
  • A. Vazquez-Ortero
    ELI-BEAMS, Prague, Czech Republic
  This paper presents the latest news from the TANGO collaboration. TANGO is being used in new domains. The three ELI pillars - ELI-Beamlines, ELI-ALPS and ELI-NP in Czech Republic, Hungary and Romania respectively have selected TANGO for many of their control systems. In ELI-Beamlines and ELI-Alps, TANGO will play the role of integrating all the hardware and turn-key systems (some delivered with EPICS or Labview) into one integrated system. In ELI-NP, the HPLS and LBTS will be controlled using TANGO, while the GBS will be controlled using EPICS. On the experimental side, ELI-NP will use both TANGO and EPICS control systems. TANGO will be extended with new features required by the laser community. These features will include nanosecond time-stamping. The latest major release of TANGO V9 includes the following features - data pipes, enumerated types, dynamic commands and forwarded attributes. The collaboration has been extended to include the new members and to provide a sustainable source of resources through collaboration contracts. A new website ( has been designed which improves the communication within the community.  
slides icon Slides WEA3O01 [2.339 MB]  
WEA3O02 Recent Advancements and Deployments of EPICS Version 4 1
  • G.R. White, M.V. Shankar
    SLAC, Menlo Park, California, USA
  • A. Arkilic, L.R. Dalesio, M.A. Davidsaver, M.R. Kraimer, N. Malitsky, B.S. Martins
    BNL, Upton, Long Island, New York, USA
  • S.M. Hartman, K.-U. Kasemir
    ORNL, Oak Ridge, Tennessee, USA
  • D.G. Hickin
    DLS, Oxfordshire, United Kingdom
  • A.N. Johnson, S. Veseli
    ANL, Argonne, Ilinois, USA
  • T. Korhonen
    ESS, Lund, Sweden
  • R. Lange
    ITER Organization, St. Paul lez Durance, France
  • M. Sekoranja
    Cosylab, Ljubljana, Slovenia
  • G. Shen
    FRIB, East Lansing, Michigan, USA
  EPICS version 4 is a set of software modules that add to the base of the EPICS toolkit for advanced control systems. Version 4 adds the possibility of process variable values of structured data, an introspection interface for dynamic typing plus some standard types, high-performance streaming, and a new front-end processing database for managing complex data I/O. A synchronous RPC-style facility has also been added so that the EPICS environment supports service-oriented architecture. We introduce EPICS and the new features of version 4. Then we describe selected deployments, particularly for high-throughput experiment data transport, experiment data management, beam dynamics and infrastructure data.  
slides icon Slides WEA3O02 [2.409 MB]  
WEA3O03 Towards Building Reusability in Control Systems - a Journey 1
  • P. Patwari, A.S. Banerjee, G. Muralikrishna, S. Roy Chaudhuri
    Tata Research Development and Design Centre, Pune, India
  Development of similar systems leads to a strong motivation for reuse. Our involvement with three large experimental physics facilities led us to appreciate this better in the context of development of their respective monitoring and control (M&C) software. We realized that the approach to allowing reuse follows the onion skin model that is, building re-usability in each layer in the solution to the problem. The same motivation led us to create a generic M&C architecture through our first collaborative effort which resulted into a fairly formal M&C domain model. The second collaboration showed us the need to have a common vocabulary that could be used across multiple systems to specify respective domain specific M&C solutions at higher levels of abstraction implemented using the generic underlying M&C engine. This resulted in our definition and creation of a domain specific language for M&C. The third collaboration leads us to imagine capturing domain knowledge using the common vocabulary which will substantially further reuse, this thought is already demonstrated through a preliminary prototype. We discuss our learning through this journey in this paper.  
slides icon Slides WEA3O03 [1.812 MB]  
WEB3O01 Open Source Contributions and Using Osgi Bundles at Diamond Light Source 1
  • M.W. Gerring, A. Ashton, R.D. Walton
    DLS, Oxfordshire, United Kingdom
  This paper presents the involvement of Diamond Light Source (DLS) with the open source community, the Eclipse Science Working Group and how DLS is changing to share software development effort better between groups. The paper explains moving from product-based to bundle-based software development process which lowers reinvention, increases reuse and reduces software development and support costs. This paper details specific ways in which DLS are engaging with the open source community and changing the way that research institutions deliver open source code.  
slides icon Slides WEB3O01 [0.936 MB]  
WEB3O02 quasar - A Generic Framework for Rapid Development of OPC UA Servers 1
  • S. Schlenker, B. Farnham, P.P. Nikiel, C.-V. Soare
    CERN, Geneva, Switzerland
  • D. Abalo Miron
    University of Oviedo, Oviedo, Spain
  • V. Filimonov
    PNPI, Gatchina, Leningrad District, Russia
  This paper describes a new approach for generic design and efficient development of OPC Unified Architecture (UA) servers. Development starts with creation of a design XML file, describing an OO information model of the target system or device. Using this model, the framework generates an executable OPC UA server exposing the per-design address space without writing a single line of code while supporting standalone or embedded platforms. Further, the framework generates skeleton code for the interface logic of the target system or device. This approach allows both novice and expert developers to create servers for the systems they are experts in while greatly reducing design and development effort as compared to developments based on COTS OPC UA toolkits. Higher level software such as SCADA systems may benefit from using the design description to generate client connectivity configuration and data representation as well as validation tools. In this contribution, the concept and implementation of this framework is detailed along with examples of actual production-level usage in the detector control system of the ATLAS Experiment at CERN and beyond.  
slides icon Slides WEB3O02 [3.902 MB]  
WEB3O03 Disruptor - Using High Performance, Low Latency Technology in the CERN Control System 1
  • M. Gabriel, R. Gorbonosov
    CERN, Geneva, Switzerland
  Accelerator control systems process thousands of concurrent events per second, which adds complexity to their implementation. The Disruptor library provides an innovative single-threaded approach, which combines high performance event processing with a simplified software design, implementation and maintenance. This open-source library was originally developed by a financial company to build a low latency trading exchange. In 2014 the high-level control system for CERN experimental areas (CESAR) was renovated. CESAR calculates the states of thousands of devices by processing more than 2500 asynchronous event streams. The Disruptor was used as an event-processing engine. This allowed the code to be greatly simplified by removing the concurrency concerns. This paper discusses the benefits of the programming model encouraged by the Disruptor (simplification of the code base, performance, determinism), the design challenges faced while integrating the Disruptor into CESAR as well as the limitations it implies on the architecture.  
slides icon Slides WEB3O03 [0.950 MB]  
WEB3O04 Accelerator Modelling and Message Logging with ZeroMQ 1
  • J.T.M. Chrin, M. Aiba, A. Rawat, Z. Wang
    PSI, Villigen PSI, Switzerland
  ZeroMQ is an emerging message oriented middleware architecture that is being increasingly adopted in the software engineering of distributed control and data acquisition systems within the accelerator community. The rich array of built-in core messaging patterns may, however, be equally applied to within the domain of high-level applications, where the seamless integration of accelerator models and message logging capabilities, respectively serve to extend the effectiveness of beam dynamics applications and allow for their monitoring. Various advanced patterns that include intermediaries and proxies further provide for reliable service-oriented brokers, as may be required in real-world operations. A report on an investigation into ZeroMQ's suitability for integrating key distributed components into high-level applications, and the experience gained, are presented.  
slides icon Slides WEB3O04 [3.537 MB]  
WEB3O05 Why Semantics Matter: a Demonstration on Knowledge-Based Control System Design 1
  • W. Pessemier, G. Deconinck, G. Raskin, P. Saey, H. Van Winckel
    KU Leuven, Leuven, Belgium
  Knowledge representation and reasoning are hot topics in academics and industry today, as they are enabling technologies for building more complex and intelligent future systems. At the Mercator Telescope, we've built a software framework based on these technologies to support the design of our control systems. At the heart of the framework is a metamodel: a set of ontologies based on the formal semantics of the Web Ontology Language (OWL), to provide meaningful reusable building blocks. Those building blocks are instantiated in the models of our control systems, via a Domain Specific Language (DSL). The metamodels and models jointly form a knowledge base, i.e. an integrated model that can be viewed from different perspectives, or processed by an inference engine for model verification purposes. In this paper we present a tool called OntoManager, which demonstrates the added value of semantic modeling to the engineering process. By querying the integrated model, our web-based tool is able to generate systems engineering views, verification test reports, graphical software models, PLCopen compliant software code, Python client-side code, and much more, in a user-friendly way.  
slides icon Slides WEB3O05 [10.403 MB]  
WEM305 LabVIEW Interface for MADOCA II with Key-Value Stores in Messages 1
  • T. Matsumoto, Y. Furukawa, Y. Hamada, T. Matsushita
    JASRI/SPring-8, Hyogo-ken, Japan
  MADOCA II is a next generation of the Message And Database Oriented Control Architecture (MADOCA) and a message driven distributed control framework as in MADOCA, but several functions such as control on Windows and messaging with variable-length data were implemented by using ZeroMQ. A prototype of LabVIEW interface was also developed with a VI library of ZeroMQ and implemented into our control system at SPring-8 since 2013, as presented at last ICALEPCS meeting. However, it is recognized that the interface should be very easy to use to be spread for wide LabVIEW usage. In this paper, a new redesigned LabVIEW interface is presented. In the new interface, messages and variable-length data such as image data can be managed with key-value stores. Applications for client program and equipment management server can be easily constructed. The VIs are based on a dynamic link library (DLL) developed using C++ language. Therefore, the upgrade on the interface is easily carried out with the replacement of DLL. The DLL can be also used from other languages such as Python and C++. The adoption of a new LabVIEW interface into our facility such as control of experimental stations is planned.  
slides icon Slides WEM305 [0.652 MB]  
poster icon Poster WEM305 [0.790 MB]  
WEPGF091 A Formal Specification Method for PLC-based Applications 1
  • D. Darvas, E. Blanco Vinuela
    CERN, Geneva, Switzerland
  • I. Majzik
    BUTE, Budapest, Hungary
  The correctness of the software used in control systems has been always a high priority, as a failure can cause serious expenses, injuries or loss of reputation. To improve the quality of these applications, various development and verification methods exist. All of them necessitate a deep understanding of the requirements which can be achieved by a well-adapted formal specification method. In this paper we introduce a state machine and data-flow-based formal specification method tailored to PLC modules. This paper presents the practical benefits and new possibilities of this method, comprising consistency checking, PLC code generation, and checking equivalence between the specification and its previous versions or legacy code. The usage of these techniques can improve the level of understanding of the requirements and increase the confidence in the correctness of the implementation. Furthermore, they can help to apply formal verification techniques by providing formalised requirements.  
poster icon Poster WEPGF091 [0.565 MB]  
WEPGF092 PLCverif: A Tool to Verify PLC Programs Based on Model Checking Techniques 1
  • D. Darvas, E. Blanco Vinuela, B. Fernández Adiego
    CERN, Geneva, Switzerland
  Model checking is a promising formal verification method to complement testing in order to improve the quality of PLC programs. However, its application typically needs deep expertise in formal methods. To overcome this problem, we introduce PLCverif, a tool that builds on our verification methodology and hides all the formal verification-related difficulties from the user, including model construction, model reduction and requirement formalisation. The goal of this tool is to make model checking accessible to the developers of the PLC programs. Currently, PLCverif supports the verification of PLC code written in ST (Structured Text), but it is open to other languages defined in IEC 61131-3. The tool can be easily extended by adding new model checkers.  
poster icon Poster WEPGF092 [3.741 MB]  
WEPGF093 CXv4, a Modular Control System 1
  • D. Bolkhovityanov, P.B. Cheblakov, F.A. Emanov
    BINP SB RAS, Novosibirsk, Russia
  CX control system is used at VEPP-5 and several other BINP facilities. CX version 4 is designed to provide more flexibility and enable interoperability with other control systems. In addition to device drivers, most of its components are implemented in a modular fashion, including data access at both client and server sides. The server itself is a library. This approach allows clients to access several different control systems simultaneously and natively (without any gateways). CXv4 servers are able to provide data access to clients from diverse CS architectures/protocols, subject to appropriate network module being loaded. The server library, coupled with "null link" client-server access module, allows to create standalone monolythic programs for specific small applications (such as test benches and device test screens/utilities) using the same ready code from large-scale control system but without its complexity. CXv4 design principles and solutions are discussed and first deployment results are presented.  
poster icon Poster WEPGF093 [0.667 MB]  
WEPGF094 A Modular Approach to Develop Standardized HVAC Control Systems with UNICOS CPC Framework 1
  • W. Booth, R. Barillère, M. Bes, E. Blanco Vinuela, B. Bradu, M. Quilichini, M.Z. Zimny
    CERN, Geneva, Switzerland
  At CERN there are currently about 200 ventilation air handling units in production, used in many different applications, including building ventilation, pressurization of safe rooms, smoke extraction, pulsion/extraction of experimental areas (tunnel, cavern, etc), and the ventilation of the computing centre. The PLC applications which operate these installations are currently being revamped to a new framework (UNICOS CPC). This work began 3 years ago, and we are now in a position to standardize the development of these HVAC applications, in order to reduce the cost of initial development (including specification and coding), testing, and long-term maintenance of the code. In this paper the various improvements to the process with be discussed, and examples will be shown, which can thus help the community develop HVAC applications. Improvements include templates for the "Functional Analysis" specification document, standardized HVAC devices and templates for the PLC control logic, and automatically generated test documentation, to help during the Factory Acceptance Test (FAT) and Site Acceptance Test (SAT) processes.  
poster icon Poster WEPGF094 [1.149 MB]  
WEPGF095 Application of PyCDB for K-500 Beam Transfer Line 1
  • P.B. Cheblakov, S.E. Karnaev, O.A. Khudayberdieva
    BINP SB RAS, Novosibirsk, Russia
  Funding: This work has been supported by Russian Science Foundation (project N 14-50-00080).
The new injection complex for VEPP-4 and VEPP-2000 e-p colliders is under construction at Budker Institute, Novosibirsk, Russia. The double-direction bipolar transfer line K-500 of 130 and 220 meters length respectively will provide the beam transportation from the injection complex to the colliders with a frequency of 1 Hz. The designed number of particles in the transferred beam is 2*1010 of electrons or positrons, the energy is 500 MeV. K-500 has dozens of types of magnets, power supplies and electronic devices. It is rather complicated task to store and manage information about such a number of types and instances of entities, especially to handle relations between them. This knowledge is critical for configuration of all aspects of control system. Therefore we have chosen PyCDB to handle this information and automate configuration data extraction for different purposes starting with reports and diagrams and ending with high-level applications and EPICS IOCs' configuration. This paper considers concepts of this approach and shows the PyCDB database sctructure designed for K-500 transfer line. An automatic configuration of IOCs is described as integration with EPICS.
poster icon Poster WEPGF095 [0.750 MB]  
WEPGF096 Managing a Real-time Embedded Linux Platform with Buildroot 1
  • J.S. Diamond, K.S. Martin
    Fermilab, Batavia, Illinois, USA
  Funding: This work was supported by the U.S. Department of Energy under contract No. DE-AC02-07CH11359
Developers of real-time embedded software often need to build the operating system kernel, tools and supporting applications from source to work with the differences in their hardware configuration. The first attempt to introduce Linux-based real-time embedded systems into the Fermilab accelerator controls system used this approach but it was found to be time-consuming, difficult to maintain and difficult to adapt to different hardware configurations. Buildroot is an open source build system with a menu-driven configuration tool (similar to the Linux kernel build system) that automates this process. A customized Buildroot system has been developed for use in the Fermilab accelerator controls system that includes several hardware configuration profiles (including Intel, ARM and PowerPC) and packages for Fermilab support software. A bootable image file is produced containing the Linux kernel, shell and supporting software suite that varies from 3 to 20 megabytes large ' ideal for network booting. The result is a platform that is easier to maintain and deploy in diverse hardware configurations.
poster icon Poster WEPGF096 [1.054 MB]  
WEPGF097 Local Monitoring and Control System for the SKA Telescope Manager: A Knowledge-Based System Approach for Issues Identification Within a Logging Service 1
  • M. Di Carlo, M. Dolci
    INAF - OA Teramo, Teramo, Italy
  • R. Smareglia
    INAF-OAT, Trieste, Italy
  • P.S. Swart, G.M. le Roux
    SKA South Africa, National Research Foundation of South Africa, Cape Town, South Africa
  The SKA Telescope Manager (SKA. TM) is a distributed software application aimed to control the operation of thousands of radio telescopes, antennas and auxiliary systems (e.g. infrastructures, signal processors, …) which will compose the Square Kilometre Array, the world's largest radio astronomy facility currently under development. SKA. TM, as an "element" of the SKA, is composed in turn by a set of sub-elements whose tight coordination is ensured by a specific sub-element called "Local Monitoring and Control" (TM.LMC). TM.LMC is mainly focussed on the life cycle management of TM, the acquisition of every network-related information useful to understand how TM is performing and the logging library for both online and offline sub-elements. Given the high complexity of the system, identifying the origin of an issue, as soon as a problem occurs, appears to be a hard task. To allow a prompt diagnostics analysis by engineers, operators and software developers, a Knowledge-Based System (KBS) approach is proposed and described for the logging service.  
poster icon Poster WEPGF097 [7.144 MB]  
Complete Control System Software Solution Based on CX and PyCDB  
  • F.A. Emanov, D. Bolkhovityanov, P.B. Cheblakov
    BINP SB RAS, Novosibirsk, Russia
  CX is a general-purpose control system software based on a 3-layer model. It is used to control several BINP accelerator facilities. Most facilities' high-level control tasks consist of GUI applications and data processing or control logic implementation. These parts of control activity were implemented as services and GUI applications which use CX software channels for inter-program communications. Services with software-channels CX-server are compose middleware which extends 3-layer model. PyCDB is a configuration database used to configure control system software. In order to make applications development more straightforward Python bindings for CX client libraries were created and PyCDB applied to configure unified GUI applications for CX. Architectural approach and implementation of software set is discussed.  
WEPGF100 DRAMA 2 - An Evolutionary Leap for the DRAMA Environment for Instrumentation Software Development 1
  • T.J. Farrell, K. Shortridge
    AAO, North Ryde, Australia
  The DRAMA Environment provides an API for distributed instrument software development. It originated at the Anglo-Australian Observatory (now Australian Astronomical Observatory) in the early 1990s, in response to the need for a software environment for large distributed and heterogeneous systems, with some components requiring real-time performance. It was first used for the AAO's 2dF fibre positioner project for the Anglo-Australian Telescope. 2dF is still in use today, but has changed dramatically over time. DRAMA is used for other AAO systems and is or has been used at various other observatories looking for a similar solution. Whilst DRAMA has evolved and many features were added, there had been no big changes. It was still a largely C language based system, with some C++ wrappers. It did not provide good support for threading or exceptions. Ideas for proper thread support within DRAMA have been in development for some years, but C++11 has provided many features which allow a high quality implementation. The opportunity provided by C++11 has been taken to make significant changes to the DRAMA API, producing a modern and more reliable interface to DRAMA, known as DRAMA2.  
poster icon Poster WEPGF100 [5.724 MB]  
WEPGF101 A Modular Software Architecture for Applications that Support Accelerator Commissioning at MedAustron 1
  • M. Hager, M. Regodic
    EBG MedAustron, Wr. Neustadt, Austria
  The commissioning and operation of an accelerator requires a large set of supportive applications. Especially in the early stages, these tools have to work with unfinished and changing systems. To allow the implementation of applications that are dynamic enough for this environment, a dedicated software architecture, the Operational Application (OpApp) architecture, has been developed at MedAustron. The main ideas of the architecture are a separation of functionality into reusable execution modules and a flexible and intuitive composition of the modules into bigger modules and applications. Execution modules are implemented for the acquisition of beam measurements, the generation of cycle dependent data, the access to a database and other tasks. On this basis, Operational Applications for a wide variety of use cases can be created, from small helper tools to interactive beam commissioning applications with graphical user interfaces. This contribution outlines the OpApp architecture and the implementation of the most frequently used applications.  
poster icon Poster WEPGF101 [2.130 MB]  
WEPGF102 Solving the Synchronization Problem in Multi-Core Embedded Real-Time Systems 1
  • F. Hoguin, S. Deghaye
    CERN, Geneva, Switzerland
  Multi-core CPUs have become the standard in embedded real-time systems. In such systems, where several tasks run simultaneously, developers can no longer rely on high priority tasks blocking low priority tasks. In typical control systems, low priority tasks are dedicated to receiving settings from the control room, and high priority real-time tasks, triggered by external events, control the underlying hardware based on these settings. Settings' correctness is of paramount importance and they must be modified atomically from a real-time task point of view. This is not feasible in multi-core environments using classic double-buffer approaches, mainly because real-time tasks can overlap, preventing buffer swaps. Other common synchronization solutions involving locking critical sections introduce unpredictable jitter on real-time tasks, which is not acceptable in CERN's control system. A lock-free, wait-free solution to this problem based on a triple buffer, guaranteeing atomicity no matter the number of concurrent tasks, is presented. The only drawback is potential synchronization delay on contention. This solution has been implemented and tested in CERN's real-time C++ framework.  
poster icon Poster WEPGF102 [0.433 MB]  
WEPGF105 EPICS V4 Evaluation for SNS Neutron Data 1
  • K.-U. Kasemir, G.S. Guyotte, M.R. Pearson
    ORNL, Oak Ridge, Tennessee, USA
  Funding: This manuscript has been authored by UT-Battelle, LLC under Contract No. DE-AC05-00OR22725 with the U.S. Department of Energy.
Version 4 of the Experimental Physics and Industrial Control System (EPICS) toolkit allows defining application-specific structured data types (pvData) and offers a network protocol for their efficient exchange (pvAccess). We evaluated V4 for the transport of neutron events from the detectors of the Spallation Neutron Source (SNS) to data acquisition and experiment monitoring systems. This includes the comparison of possible data structures, performance tests, and experience using V4 in production on a beam line.
poster icon Poster WEPGF105 [1.277 MB]  
WEPGF106 CCLIBS: The CERN Power Converter Control Libraries 1
  • Q. King, K.T. Lebioda, M. Magrans de Abril, M. Martino, R. Murillo-Garcia
    CERN, Geneva, Switzerland
  • A. Nicoletti
    EPFL, Lausanne, Switzerland
  Accurate control of power converters is a vital activity in large physics projects. Several different control scenarios may coexist, including regulation of a circuit's voltage, current, or field strength within a magnet. Depending on the type of facility, a circuit's reference value may be changed asynchronously or synchronously with other circuits. Synchronous changes may be on demand or under the control of a cyclic timing system. In other cases, the reference may be calculated in real-time by an outer regulation loop of some other quantity, such as the tune of the beam in a synchrotron. The power stage may be unipolar or bipolar in voltage and current. If it is unipolar in current, it may be used with a polarity switch. Depending on the design, the power stage may be controlled by a firing angle or PWM duty-cycle reference, or a voltage or current reference. All these different cases are supported by the CERN Converter Control Libraries (CCLIBS), which are open-source C libraries that include advanced reference generation and regulation algorithms. This paper introduces the libraries and reviews their origins, current status and future.  
poster icon Poster WEPGF106 [2.797 MB]  
WEPGF107 Multi-Host Message Routing in MADOCA II 1
  • T. Matsumoto, Y. Furukawa, K. Okada
    JASRI/SPring-8, Hyogo-ken, Japan
  MADOCA II is a next generation of Message And Database Oriented Control Architecture (MADOCA) and implemented into control system of SPring-8 and SACLA data acquisition (DAQ) system since 2013. In 2014, SACLA introduced a third beam line to increase the capacity of experiments. Then sophisticated control architecture needed to be developed to prevent miss operations among beamlines. In this paper, multi-host message routing in MADOCA II and its application to SALCA DAQ system to solve the problem is presented. In SACLA DAQ system, a master server was added which intermediates control messages between clients and equipment management servers. Since the access control can be centralized to the master server, reliable operation can be had by avoiding the influence by accidental modification of DAQ setting by end-users. The multi-host message routing was implemented to add an extension in MADOCA II by forwarding specific message objects to other hosts. Some technical issues related to messaging loop and time delay, are also addressed. It is also planned to utilize this technique to other cases in BL at SPring-8 where access control under firewall is required.  
poster icon Poster WEPGF107 [0.816 MB]  
WEPGF112 Flop: Customizing Yocto Project for MVMExxxx PowerPC and BeagleBone ARM 1
  • L. Pivetta, A.I. Bogani, R. Passuello
    Elettra-Sincrotrone Trieste S.C.p.A., Basovizza, Italy
  During the last fifteen years several PowerPC-based VME single board computers, belonging to the MVMExxxx family, have been used for the control system front-end computers at Elettra Sincrotrone Trieste. Moreover, a low cost embedded board has been recently adopted to fulfill the control requirements of distributed instrumentation. These facts lead to the necessity of managing several releases of the operating system, kernel and libraries, and finally to the decision of adopting a comprehensive unified approach based on a common codebase: the Yocto Project. Based on Yocto Project, a control system oriented GNU/Linux distribution called 'Flop' has been created. The complete management of the software chain, the ease of upgrading or downgrading complete systems, the centralized management and the platform-independent deployment of the user software are the main features of Flop.  
poster icon Poster WEPGF112 [1.249 MB]  
WEPGF113 Physics Application Infrastructure Design for FRIB Driver Linac 1
  • G. Shen, Z.Q. He, M. Ikegami, D. Liu, D.G. Maxwell, V. Vuppala
    FRIB, East Lansing, Michigan, USA
  • E.T. Berryman
    NSCL, East Lansing, Michigan, USA
  Funding: Work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC0000661.
FRIB, which is a new heavy ion accelerator facility to provide intense beams of rare isotopes is currently under construction at Michigan State University. Its driver linac accelerates all stable ions up to uranium, and targets to provides a CW beam with the energy of 200MeV/u and the beam power of 400 kW. The beam commissioning of the driver linac has been planned to start from December 2017. A new infrastructure is under development using service oriented architecture for physics applications, which is a 3-tier structure consisting of upper level, middle layer, and low level respectively. The detailed design and its current status will be presented in this paper.
WEPGF115 LabVIEW EPICS Program for Measuring BINP HLS of PAL-XFEL 1
  • H. J. Choi, K.H. Gil, H.-S. Kang, S.H. Kim, K.W. Seo, Y.J. Suh
    PAL, Pohang, Kyungbuk, Republic of Korea
  In PAL-XFEL, a 4th generation light source, the HLS (Ultrasonic-type Hydrostatic Levelling System) developed at BINP (Budker Institute of Nuclear Physics) in Russia was installed and operated in all parts of PAL-XFEL in order to maintain observations of the vertical change building floor by the ground sinking and uplifting. For this, a HLS measuring program was written using NI LabVIEW and an EPICS IOC Server was built using the CA Lab which has been developed at BESSY (Berlin Electron Storage Ring Society for Synchrotron Radiation) in Germany. The CA Lab was improved and verified in order to confirm that it could support EPICS BASE libraries V3.14.12, and EPICS CA Client and that the EPICS IOC Server could be easily constructed by CA Lab in a 64-bit LabVIEW. This made Multi-core CPU (Multi-core Processor / Multi-thread Program) resource of 64bit Computer System (64bit Hardware PC / 64bit Windows OS / 64bit LabVIEW Multi-thread Programming) to be 100 percent utilized. This study proposes a configuration process for the HLS measuring program algorithm and a building process for the EPICS IOC Server by using CA Lab.  
WEPGF116 PvaPy: Python API for EPICS PV Access 1
  • S. Veseli
    ANL, Argonne, Ilinois, USA
  As the number of sites deploying and adopting EPICS Version 4 grows, so does the need to support PV Access from multiple languages. Especially important are the widely used scripting languages that tend to reduce both software development time and the learning curve for new users. In this paper we describe PvaPy, a Python API for the EPICS PV Access protocol and its accompanying structured data API. Rather than implementing the protocol itself in Python, PvaPy wraps the existing EPICS Version 4 C++ libraries using the Boost. Python framework. This approach allows us to benefit from the existing code base and functionality, and to significantly reduce the Python API development effort. PvaPy objects are based on Python dictionaries and provide users with the ability to access even the most complex of PV Data structures in a relatively straightforward way. Its interfaces are easy to use, and include support for advanced EPICS Version 4 features such as implementation of client and server Remote Procedure Calls (RPC).  
poster icon Poster WEPGF116 [0.738 MB]  
  • K. Xuan, C. Li, J.Y. Li, G. Liu, J.G. Wang, L. Wang
    USTC/NSRL, Hefei, Anhui, People's Republic of China
  The Hefei light source was overhauled beginning from 2010 and completed in the end of 2013. The new light source is renamed as HLS-II. A set of high level application tools, including physical quantity based control IOC, lattice calibration tools, orbit feedback, etc., were developed for the light source commissioning and operation. These tools have been playing important roles in the commissioning and operation of the light source. This paper reports some critical applications.  
poster icon Poster WEPGF117 [0.679 MB]  
WEPGF118 Use of Tornado in KAT-­7 and MeerKAT Framework 1
  • C.C.A. de Villiers, B. Xaia
    SKA South Africa, National Research Foundation of South Africa, Cape Town, South Africa
  Funding: SKA South Africa, National Research Foundation of South Africa, Department of Science and Technology, 3rd Floor, The Park, Park Road, Pinelands, Cape Town, South Africa, 7405.
The KAT­-7 and MeerKAT radio telescope control systems ( are built on a rich Python architecture. At its core, we use KATCP (Karoo Array Telescope Communications Protocol), a text­-based protocol that has served the projects very well. KATCP is supported by every device and connected software component in the system. However, its original implementation relied on threads to support asynchronous operations, and this has sometimes complicated the evolution of the software. Since MeerKAT (with 64 dishes) will be much larger and more complex than KAT-7, the Control and Monitoring (CAM) team investigated some alternatives to classical threading. We have adopted Tornado ( as the asynchronous engine for KATCP. Tornado, popular for Web applications, is built on a robust and very efficient coroutine paradigm that in turn is based on Python's generators. Co-routines avoid the complexity of thread re-entrancy and lifetime management, resulting in cleaner and more maintainable user code. This paper will describe our migration to a Tornado co-routine architecture, highlighting the benefits and some of the pitfalls and implementation challenges we have met.
poster icon Poster WEPGF118 [6.029 MB]