WEPKS —  Poster   (12-Oct-11   13:30—15:00)
Chair: R. Wilcke, ESRF, Grenoble, France
Paper Title Page
WEPKS001 Agile Development and Dependency Management for Industrial Control Systems 767
  • B. Copy, M. Mettälä
    CERN, Geneva, Switzerland
  The production and exploitation of industrial control systems differ substantially from traditional information systems; this is in part due to constraints on the availability and change life-cycle of production systems, as well as their reliance on proprietary protocols and software packages with little support for open development standards [1]. The application of agile software development methods therefore represents a challenge which requires the adoption of existing change and build management tools and approaches that can help bridging the gap and reap the benefits of managed development when dealing with industrial control systems. This paper will consider how agile development tools such as Apache Maven for build management, Hudson for continuous integration or Sonatype Nexus for the operation of "definite media libraries" were leveraged to manage the development life-cyle of the CERN UAB framework [2], as well as other crucial building blocks of the CERN accelerator infrastructure, such as the CERN Common Middleware or the FESA project.
[1] H. Milcent et al, "UNICOS: AN OPEN FRAMEWORK", THD003, ICALEPCS2009, Kobe, Japan
[2] M. Dutour, "Software factory techniques applied to Process Control at CERN", ICALEPCS 2007, Knoxville Tennessee, USA
slides icon Slides WEPKS001 [10.592 MB]  
poster icon Poster WEPKS001 [1.032 MB]  
WEPKS002 Quick EXAFS Experiments Using a New GDA Eclipse RCP GUI with EPICS Hardware Control 771
  • R.J. Woolliscroft, C. Coles, M. Gerring, M.R. Pearson
    Diamond, Oxfordshire, United Kingdom
  Funding: Diamond Light Source Ltd.
The Generic Data Acquisition (GDA)* framework is an open source, Java and Eclipse RCP based data acquisition software for synchrotron and neutron facilities. A new implementation of the GDA on the B18 beamline at the Diamond synchrotron will be discussed. This beamline performs XAS energy scanning experiments and includes a continuous-scan mode of the monochromator synchronised with various detectors for Quick EXAFS (QEXAFS) experiments. A new perspective for the GDA's Eclipse RCP GUI has been developed in which graphical editors are used to write xml files which hold experimental parameters. The same xml files are marshalled by the GDA server to create Java beans used by the Jython scripts run within the GDA server. The underlying motion control is provided by EPICS. The new Eclipse RCP GUI and the integration and synchronisation between the two software systems and the detectors shall be covered.
* GDA website: http://www.opengda.org/
poster icon Poster WEPKS002 [1.277 MB]  
WEPKS003 An Object Oriented Framework of EPICS for MicroTCA Based Control System 775
  • Z. Geng
    SLAC, Menlo Park, California, USA
  EPICS (Experimental Physics and Industrial Control System) is a distributed control system platform which has been widely used for large scientific devices control like particle accelerators and fusion plant. EPICS has introduced object oriented (C++) interfaces to most of the core services. But the major part of EPICS, the run-time database, only provides C interfaces, which is hard to involve the EPICS record concerned data and routines in the object oriented architecture of the software. This paper presents an object oriented framework which contains some abstract classes to encapsulate the EPICS record concerned data and routines in C++ classes so that full OOA (Objected Oriented Analysis) and OOD (Object Oriented Design) methodologies can be used for EPCIS IOC design. We also present a dynamic device management scheme for the hot-swap capability of the MicroTCA based control system.  
poster icon Poster WEPKS003 [0.176 MB]  
WEPKS004 ISAC EPICS on Linux: The March of the Penguins 778
  • J.E. Richards, R.B. Nussbaumer, S. Rapaz, G. Waters
    TRIUMF, Canada's National Laboratory for Particle and Nuclear Physics, Vancouver, Canada
  The DC linear accelerators of the ISAC radioactive beam facility at TRIUMF do not impose rigorous timing constraints on the control system. Therefore a real-time operating system is not essential for device control. The ISAC Control System is completing a move to the use of the open source Linux operating system for hosting all EPICS IOCs. The IOC platforms include GE-Fanuc VME based CPUs for control of most optics and diagnostics, rack mounted servers for supervising PLCs, small desktop PCs for GPIB and serial "one-of-a-kind" instruments, as well as embedded ARM processors controlling CAN-bus devices that provide a suitcase sized control system. This article focuses on the experience of creating a customized Linux distribution for front-end IOC deployment. Rationale, a roadmap of the process, and efficiency advantages in personnel training and system management realized by using a single OS will be discussed.  
WEPKS005 State Machine Framework and its Use for Driving LHC Operational States* 782
  • M. Misiowiec, V. Baggiolini, M. Solfaroli Camillocci
    CERN, Geneva, Switzerland
  The LHC follows a complex operational cycle with 12 major phases that include equipment tests, preparation, beam injection, ramping and squeezing, finally followed by the physics phase. This cycle is modeled and enforced with a state machine, whereby each operational phase is represented by a state. On each transition, before entering the next state, a series of conditions is verified to make sure the LHC is ready to move on. The State Machine framework was developed to cater for building independent or embedded state machines. They safely drive between the states executing tasks bound to transitions and broadcast related information to interested parties. The framework encourages users to program their own actions. Simple configuration management allows the operators to define and maintain complex models themselves. An emphasis was also put on easy interaction with the remote state machine instances through standard communication protocols. On top of its core functionality, the framework offers a transparent integration with other crucial tools used to operate LHC, such as the LHC Sequencer. LHC Operational States has been in production for half a year and was seamlessly adopted by the operators. Further extensions to the framework and its application in operations are under way.
* http://cern.ch/marekm/icalepcs.html
poster icon Poster WEPKS005 [0.717 MB]  
WEPKS006 UNICOS Evolution: CPC Version 6 786
  • E. Blanco Vinuela, J.M. Beckers, B. Bradu, Ph. Durand, B. Fernández Adiego, S. Izquierdo Rosas, A. Merezhin, J.O. Ortola Vidal, J. Rochez, D. Willeman
    CERN, Geneva, Switzerland
  The UNICOS (UNified Industrial Control System) framework was created back in 1998, since then a noticeable number of applications in different domains have used this framework to develop process control applications. Furthermore the UNICOS framework has been formalized and their supervision layer has been reused in other kinds of applications (e.g. monitoring or supervisory tasks) where a control layer is not necessarily UNICOS oriented. The process control package has been reformulated as the UNICOS CPC package (Continuous Process Control) and a reengineering process has been followed. These noticeable changes were motivated by many factors as (1) being able to upgrade to the new more performance IT technologies in the automatic code generation, (2) being flexible enough to create new additional device types to cope with other needs (e.g. Vacuum or Cooling and Ventilation applications) without major impact on the framework or the PLC code baselines and (3) enhance the framework with new functionalities (e.g. recipes). This publication addresses the motivation, changes, new functionalities and results obtained. It introduces in an overall view the technologies used and changes followed, emphasizing what has been gained for the developer and the final user. Finally some of the new domains where UNICOS CPC has been used will be illustrated.  
poster icon Poster WEPKS006 [0.449 MB]  
WEPKS008 Rules-based Analysis with JBoss Drools : Adding Intelligence to Automation 790
  • E. De Ley, D. Jacobs
    iSencia Belgium, Gent, Belgium
  Rules engines are less-known as software technology than the traditional procedural, object-oriented, scripting or dynamic development languages. This is a pity, as their usage may offer an important enrichment to a development toolbox. JBoss Drools is an open-source rules engine that can easily be embedded in any Java application. Through an integration in our Passerelle process automation suite, we have been able to provide advanced solutions for intelligent process automation, complex event processing, system monitoring and alarming, automated repair etc. This platform has been proven for many years as an automated diagnosis and repair engine for Belgium's largest telecom provider, and it is being piloted at Synchrotron Soleil for device monitoring and alarming. After an introduction to rules engines in general and JBoss Drools in particular, we will present some practical use cases and important caveats.  
WEPKS009 Integrating Gigabit Ethernet Cameras into EPICS at Diamond Light Source 794
  • T.M. Cobb
    Diamond, Oxfordshire, United Kingdom
  At Diamond Light Source we have selected Gigabit Ethernet cameras supporting GigE Vision for our new photon beamlines. GigE Vision is an interface standard for high speed Ethernet cameras which encourages interoperability between manufacturers. This paper describes the challenges encountered while integrating GigE Vision cameras from a range of vendors into EPICS.  
poster icon Poster WEPKS009 [0.976 MB]  
WEPKS010 Architecture Design of the Application Software for the Low-Level RF Control System of the Free-Electron Laser at Hamburg 798
  • Z. Geng
    SLAC, Menlo Park, California, USA
  • V. Ayvazyan
    DESY, Hamburg, Germany
  • S. Simrock
    ITER Organization, St. Paul lez Durance, France
  The superconducting linear accelerator of the Free-Electron Laser at Hamburg (FLASH) provides high performance electron beams to the lasing system to generate synchrotron radiation to various users. The Low-Level RF (LLRF) system is used to maintain the beam stabilities by stabilizing the RF field in the superconducting cavities with feedback and feed forward algorithms. The LLRF applications are sets of software to perform RF system model identification, control parameters optimization, exception detection and handling, so as to improve the precision, robustness and operability of the LLRF system. In order to implement the LLRF applications in the hardware with multiple distributed processors, an optimized architecture of the software is required for good understandability, maintainability and extendibility. This paper presents the design of the LLRF application software architecture based on the software engineering approach and the implementation at FLASH.  
poster icon Poster WEPKS010 [0.307 MB]  
WEPKS011 Use of ITER CODAC Core System in SPIDER Ion Source 801
  • C. Taliercio, A. Barbalace, M. Breda, R. Capobianco, A. Luchetta, G. Manduchi, F. Molon, M. Moressa, P. Simionato
    Consorzio RFX, Associazione Euratom-ENEA sulla Fusione, Padova, Italy
  In February 2011 ITER released a new version (v2) of the CODAC Core System. In addition to the selected EPICS core, the new package includes also several tools from Control System Studio [1]. These tools are all integrated in Eclipse and offer an integrated environment for development and operation. The SPIDER Ion Source experiment is the first experiment planned in the ITER Neutral Beam Test Facility under construction at Consorzio RFX, Padova, Italy. As the final product of the Test Facility is the ITER Neutral Beam Injector, we decided to adhere since the beginning to the ITER CODAC guidelines. Therefore the EPICS system provided in the CODAC Core System will be used in SPIDER for plant control and supervision and, to some extent, for data acquisition. In this paper we report our experience in the usage of CODAC Core System v2 in the implementation of the control system of SPIDER and, in particular, we analyze the benefits and drawbacks of the Self Description Data (SDD) tools which, based on a XML description of the signals involved in the system, provide the automatic generation of the configuration files for the EPICS tools and PLC data exchange.
[1] Control System Studio home page: http://css.desy.de/content/index_eng.html
WEPKS012 Intuitionistic Fuzzy (IF) Evaluations of Multidimensional Model 805
  • I.D. Valova
    ICER, Sofia, Bulgaria
  There are different logical methods for data structuring, but no one is perfect enough. Multidimensional model of data is presentation of data in a form of cube (referred as infocube or hypercube) with data or in form of "star" type scheme (referred as multidimensional scheme), by use of F-structures (Facts) and set of D-structures (Dimensions), based on the notion of hierarchy of D-structures. The data, being subject of analysis in a specific multidimensional model is located in a Cartesian space, being restricted by D-structures. In fact, the data is either dispersed or "concentrated", therefore the data cells are not distributed evenly within the respective space. The moment of occurrence of any event is difficult to be predicted and the data is concentrated as per time periods, location of performed event, etc. To process such dispersed or concentrated data, various technical strategies are needed. The use of intuitionistic fuzzy evaluations- IFE provide us new possibilities for alternative presentation and processing of data, subject of analysis in any OLAP application. The use of IFE at the evaluation of multidimensional models will result in the following advantages: analysts will dispose with more complete information for processing and analysis of respective data; benefit for the managers is that the final decisions will be more effective ones; enabling design of more functional multidimensional schemes. The purpose of this work is to apply intuitionistic fuzzy evaluations of multidimensional model of data.  
WEPKS014 NOMAD – More Than a Simple Sequencer 808
  • P. Mutti, F. Cecillon, A. Elaazzouzi, Y. Le Goc, J. Locatelli, H. Ortiz, J. Ratel
    ILL, Grenoble, France
  NOMAD is the new instrument control software of the Institut Laue-Langevin. A highly sharable code among all the instruments’ suite, a user oriented design for tailored functionality and the improvement of the instrument team’s autonomy thanks to a uniform and ergonomic user interface are the essential elements guiding the software development. NOMAD implements a client/server approach. The server is the core business containing all the instrument methods and the hardware drivers, while the GUI provides all the necessary functionalities for the interaction between user and hardware. All instruments share the same executable while a set of XML configuration files adapts hardware needs and instrument methods to the specific experimental setup. Thanks to a complete graphical representation of experimental sequences, NOMAD provides an overview of past, present and future operations. Users have the freedom to build their own specific workflows using intuitive drag-and-drop technique. A complete drivers’ database to connect and control all possible instrument components has been created, simplifying the inclusion of a new piece of equipment for an experiment. A web application makes available outside the ILL all the relevant information on the status of the experiment. A set of scientific methods facilitates the interaction between users and hardware giving access to instrument control and to complex operations within just one click on the interface. NOMAD is not only for scientists. Dedicated tools allow a daily use for setting-up and testing a variety of technical equipments.  
poster icon Poster WEPKS014 [6.856 MB]  
WEPKS015 Automatic Creation of LabVIEW Network Shared Variables 812
  • T. Kluge
    Siemens AG, Erlangen, Germany
  • H.-C. Schröder
    ASTRUM IT GmbH, Erlangen, Germany
  We are in the process of preparing the LabVIEW controlled system components of our Solid State Direct Drive® experiments [1, 2, 3, 4] for the integration into a Supervisory Control And Data Acquisition (SCADA) or distributed control system. The predetermined route to this is the generation of LabVIEW network shared variables that can easily be exported by LabVIEW to the SCADA system using OLE for Process Control (OPC) or other means. Many repetitive tasks are associated with the creation of the shared variables and the required code. We are introducing an efficient and inexpensive procedure that automatically creates shared variable libraries and sets default values for the shared variables. Furthermore, LabVIEW controls are created that are used for managing the connection to the shared variable inside the LabVIEW code operating on the shared variables. The procedure takes as input an XML spreadsheet defining the required input. The procedure utilizes XSLT and LabVIEW scripting. In a later state of the project the code generation can be expanded to also create code and configuration files that will become necessary in order to access the shared variables from the SCADA system of choice.
[1] O. Heid, T. Hughes, THPD002, IPAC10, Kyoto, Japan
[2] R. Irsigler et al, 3B-9, PPC11, Chicago IL, USA
[3] O. Heid, T. Hughes, THP068, LINAC10, Tsukuba, Japan
[4] O. Heid, T. Hughes, MOPD42, HB2010, Morschach, Switzerland
poster icon Poster WEPKS015 [0.265 MB]  
WEPKS016 Software for Virtual Accelerator Designing 816
  • N.V. Kulabukhova, A.N. Ivanov, V.V. Korkhov, A. Lazarev
    St. Petersburg State University, St. Petersburg, Russia
  The article discusses appropriate technologies for software implementation of the Virtual Accelerator. The Virtual Accelerator is considered as a set of services and tools enabling transparent execution of computational software for modeling beam dynamics in accelerators on distributed computing resources. Distributed storage and information processing facilities utilized by the Virtual Accelerator make use of the Service-Oriented Architecture (SOA) according to a cloud computing paradigm. Control system toolkits (such as EPICS, TANGO), computing modules (including high-performance computing), realization of the GUI with existing frameworks and visualization of the data are discussed in the paper. The presented research consists of software analysis for realization of interaction between all levels of the Virtual Accelerator and some samples of middleware implementation. A set of the servers and clusters at St.-Petersburg State University form the infrastructure of the computing environment for Virtual Accelerator design. Usage of component-oriented technology for realization of Virtual Accelerator levels interaction is proposed. The article concludes with an overview and substantiation of a choice of technologies that will be used for design and implementation of the Virtual Accelerator.  
poster icon Poster WEPKS016 [0.559 MB]  
WEPKS018 MstApp, a Rich Client Control Applications Framework at DESY 819
  • W. Schütte, K. Hinsch
    DESY, Hamburg, Germany
  Funding: Deutsches Elektronen-Synchrotron DESY
The control system for PETRA 3 [1] and its pre accelerators extensively use rich clients for the control room and the servers. Most of them are written with the help of a rich client Java framework: MstApp. They total to 106 different console and 158 individual server applications. MstApp takes care of many common control system application aspects beyond communication. MstApp provides a common look and feel: core menu items, a color scheme for standard states of hardware components and standardized screen sizes/locations. It interfaces our console application manager (CAM) and displays on demand our communication link diagnostics tools. MstApp supplies an accelerator context for each application; it handles printing, logging, resizing and unexpected application crashes. Due to our standardized deploy process MstApp applications know their individual developers and can even send them – on button press of the users - emails. Further a concept of different operation modes is implemented: view only, operating and expert use. Administration of the corresponding rights is done via web access of a database server. Initialization files on a web server are instantiated as JAVA objects with the help of the Java SE XMLEncoder. Data tables are read with the same mechanism. New MstApp applications can easily be created with in house wizards like the NewProjectWizard or the DeviceServerWizard. MstApp improves the operator experience, application developer productivity and delivered software quality.
[1] Reinhard Bacher, “Commissioning of the New Control System for the PETRA 3 Accelerator Complex at Desy”, Proceedings of ICALEPCS 2009, Kobe, Japan
poster icon Poster WEPKS018 [0.474 MB]  
WEPKS019 Data Analysis Workbench 823
  • A. Götz, M.W. Gerring, O. Svensson
    ESRF, Grenoble, France
  • S. Brockhauser
    EMBL, Heidelberg, Germany
  Funding: ESRF
Data Analysis Workbench [1] is a new software tool produced in collaboration by the ESRF, Soleil and Diamond. It provides data visualization and workflow algorithm design for data analysis in combination with data collection. The workbench uses Passerelle as the workflow engine and EDNA plugins for data analysis. Actors talking to Tango are used for sending limited commands to hardware and starting existing data collection algorithms. There are scripting interfaces to SPEC and Python. The current state at the ESRF is prototype.
[1] http://www.dawb.org
poster icon Poster WEPKS019 [2.249 MB]  
WEPKS020 Adding Flexible Subscription Options to EPICS 827
  • R. Lange
    HZB, Berlin, Germany
  • L.R. Dalesio
    BNL, Upton, Long Island, New York, USA
  • A.N. Johnson
    ANL, Argonne, USA
  Funding: Work supported by U.S. Department of Energy (under contracts DE-AC02-06CH11357 resp. DE-AC02-98CH10886), German Bundesministerium für Bildung und Forschung and Land Berlin.
The need for a mechanism to control and filter subscriptions to control system variables by the client was described in a paper at the ICALEPCS2009 conference.[1] The implementation follows a plug-in design that allows the insertion of plug-in instances into the event stream on the server side. The client can instantiate and configure these plug-ins when opening a subscription, by adding field modifiers to the channel name using JSON notation.[2] This paper describes the design and implementation of a modular server-side plug-in framework for Channel Access, and shows examples for plug-ins as well as their use within an EPICS control system.
[1] R. Lange, A. Johnson, L. Dalesio: Advanced Monitor/Subscription Mechanisms for EPICS, THP090, ICALEPCS2009, Kobe, Japan.
[2] A. Johnson, R. Lange: Evolutionary Plans for EPICS Version 3, WEA003, ICALEPCS2009, Kobe, Japan.
poster icon Poster WEPKS020 [0.996 MB]  
WEPKS021 EPICS V4 in Python 830
  • G. Shen, M.A. Davidsaver, M.R. Kraimer
    BNL, Upton, Long Island, New York, USA
  Funding: Work supported under auspices of the U.S. Department of Energy under Contract No. DE-AC02-98CH10886 with Brookhaven Science Associates, LLC, and in part by the DOE Contract DE-AC02-76SF00515
A novel design and implementation of EPICS version 4 is undergoing in Python. EPICS V4 defined an efficient way to describe a complex data structure, and data protocol. Current implementation in either C++ or Java has to invent a new wheel to present its data structure. However, it is more efficient in Python by mapping the data structure into a numpy array. This presentation shows the performance benchmarking, comparison in different language, and current status.
WEPKS022 Mango: an Online GUI Development Tool for the Tango Control System 833
  • G. Strangolino, C. Scafuri
    ELETTRA, Basovizza, Italy
  Mango is an online tool based on QTango that allows easy development of graphical panels ready to run without need to be compiled. Developing with Mango is easy and fast because widgets are dragged from a widget catalogue and dropped into the Mango container. Widgets are then connected to the control system variables by choosing them from a Tango device list or by dragging them from any other running application built with the QTango library. Mango has also been successfully used during the FERMI@Elettra commissioning both by machine physicists and technicians.  
poster icon Poster WEPKS022 [0.429 MB]  
WEPKS023 Further Developments in Generating Type-Safe Messaging 836
  • R. Neswold, CA. King
    Fermilab, Batavia, USA
  Funding: Operated by Fermi Research Alliance, LLC under Contract No. DE-AC02-07CH11359 with the United States Department of Energy.
At ICALEPCS '09, we introduced a source code generator that allows processes to communicate safely using native data types. In this paper, we discuss further development that has occurred since the conference in Kobe, Japan, including adding three more client languages, an optimization in network packet size and the addition of a new protocol data type.
poster icon Poster WEPKS023 [3.219 MB]  
WEPKS024 CAFE, A Modern C++ Interface to the EPICS Channel Access Library 840
  • J.T.M. Chrin, M.C. Sloan
    Paul Scherrer Institut, 5232 Villigen PSI, Switzerland
  CAFE (Channel Access interFacE) is a C++ library that provides a modern, multifaceted interface to the EPICS-based control system. CAFE makes extensive use of templates and multi-index containers to enhance efficiency, flexibility and performance. Stability and robustness are accomplished by ensuring that connectivity to EPICS channels remains in a well defined state in every eventuality, and results of all synchronous and asynchronous operations are captured and reported with integrity. CAFE presents the user with a number of options for writing and retrieving data to and fro the control system. In addition to basic read and write operations, a further abstraction layer provides transparency to more intricate functionality involving logical sets of data; such object sequences are easily instantiated through an XML-based configuration mechanism. CAFE's suitability for use in a broad spectrum of applications is demonstrated. These range from high performance Qt GUI control widgets, to event processing agents that propagate data through OMG's Data Distribution Service (DDS), to script-like frameworks such as MATLAB. The methodology for the modular use of CAFE serves to improve maintainability by enforcing a logical boundary between the channel access components and the specifics of the application framework at hand.  
poster icon Poster WEPKS024 [0.637 MB]  
WEPKS025 Evaluation of Software and Electronics Technologies for the Control of the E-ELT Instruments: a Case Study 844
  • P. Di Marcantonio, R. Cirami, I. Coretti
    INAF-OAT, Trieste, Italy
  • G. Chiozzi, M. Kiekebusch
    ESO, Garching bei Muenchen, Germany
  In the scope of the evaluation of architecture and technologies for the control system of the E-ELT (European-Extremely Large Telescope) instruments, a collaboration has been set up between the Instrumentation and Control Group of the INAF-OATs and the ESO Directorate of Engineering. The first result of this collaboration is the design and implementation of a prototype of a small but representative control system for an E-ELT instrument that has been setup at the INAF-OATs premises. The electronics has been based on PLCs (Programmable Logical Controller) and Ethernet based fieldbuses from different vendors but using international standards like the IEC 61131-3 and PLCopen Motion Control. The baseline design for the control software follows the architecture of the VLT (Very Large Telescope) Instrumentation application framework but it has been implemented using the ACS (ALMA Common Software), an open source software framework developed for the ALMA project and based on CORBA middleware. The communication among the software components is based in two models: CORBA calls for command/reply and CORBA notification channel for distributing the devices status. The communication with the PLCs is based on OPC-UA, an international standard for the communication with industrial controllers. The results of this work will contribute to the definition of the architecture of the control system that will be provided to all consortia responsible for the actual implementation of the E-ELT instruments. This paper presents the prototype motivation, its architecture, design and implementation.  
poster icon Poster WEPKS025 [3.039 MB]  
WEPKS026 A C/C++ Build System Based on Maven for the LHC Controls System 848
  • J. Nguyen Xuan, B. Copy, M. Dönszelmann
    CERN, Geneva, Switzerland
  The CERN accelerator controls system, mainly written in Java and C/C++, consists nowadays of 50 projects and 150 active developers. The controls group has decided to unify the development process and standards (e.g. project layout) using Apache Maven and Sonatype Nexus. Maven is the de-facto build tool for Java, it deals with versioning and dependency management, whereas Nexus is a repository manager. C/C++ developers were struggling to keep their dependencies on other CERN projects, as no versioning was applied, the libraries have to be compiled and available for several platforms and architectures, and finally there was no dependency management mechanism. This results in very complex Makefiles which were difficult to maintain. Even if Maven is primarily designed for Java, a plugin (Maven NAR [1]) adapts the build process for native programming languages for different operating systems and platforms. However C/C++ developers were not keen to abandon their current Makefiles. Hence our approach was to combine the best of the two worlds: NAR/Nexus and Makefiles. Maven NAR manages the dependencies, the versioning and creates a file with the linker and compiler options to include the dependencies. The Makefiles carry the build process to generate the binaries. Finally the resulting artifacts (binaries, header files, metadata) are versioned and stored in a central Nexus repository. Early experiments were conducted in the scope of the controls group's Testbed. Some existing projects have been successfully converted to this solution and some starting projects use this implementation.
[1] http://cern.ch/jnguyenx/MavenNAR.html
poster icon Poster WEPKS026 [0.518 MB]  
WEPKS027 Java Expert GUI Framework for CERN's Beam Instrumentation Systems 852
  • S. Bart Pedersen, S. Bozyigit, S. Jackson
    CERN, Geneva, Switzerland
  The CERN Beam Instrumentation Group software section have recently performed a study of the tools used to produce Java expert applications. This paper will present the analysis that was made to understand the requirements for generic components and the resulting tools including a compilation of Java components that have been made available for a wider audience. The paper will also discuss the eventuality of using MAVEN as deployment tool with its implications for developers and users.  
poster icon Poster WEPKS027 [1.838 MB]  
WEPKS028 Exploring a New Paradigm for Accelerators and Large Experimental Apparatus Control Systems 856
  • L. Catani, R. Ammendola, F. Zani
    INFN-Roma II, Roma, Italy
  • C. Bisegni, S. Calabrò, P. Ciuffetti, G. Di Pirro, G. Mazzitelli, A. Stecchi
    INFN/LNF, Frascati (Roma), Italy
  • L.G. Foggetta
    LAL, Orsay, France
  The integration of web technologies and web services has been, in the recent years, one of the major trends in upgrading and developing control systems for accelerators and large experimental apparatuses. Usually, web technologies have been introduced to complement the control systems with smart add-ons and user friendly services or, for instance, to safely allow access to the control system to users from remote sites. In spite of this still narrow spectrum of employment, some software technologies developed for high performance web services, although originally intended and optimized for these particular applications, deserve some features that would allow their deeper integration in a control system and, eventually, use them to develop some of the control system's core components. In this paper we present the conclusion of the preliminary investigations of a new paradigm for an accelerator control system and associated machine data acquisition system (DAQ), based on a synergic combination of network distributed cache memory and a non-relational key/value database. We investigated these technologies with particular interest on performances, namely speed of data storage and retrieve for the network memory, data throughput and queries execution time for the database and, especially, how much this performances can benefit from their inherent scalability. The work has been developed in a collaboration between INFN-LNF and INFN-Roma Tor Vergata.  
WEPKS029 Integrating a Workflow Engine within a Commercial SCADA to Build End User Applications in a Scientific Environment 860
  • M. Ounsy, G. Abeillé, S. Pierre-Joseph Zéphir, K.S. Saintin
    SOLEIL, Gif-sur-Yvette, France
  • E. De Ley
    iSencia Belgium, Gent, Belgium
  To build integrated high-level applications, SOLEIL is using an original component-oriented approach based on GlobalSCREEN, an industrial Java SCADA [1]. The aim of this integrated development environment is to give SOLEIL's scientific and technical staff a way to develop GUI applications for beamlines external users . These GUI applications must address the 2 following needs : monitoring and supervision of a control system and development and execution of automated processes (like beamline alignment, data collections, and on-line data analysis). The first need is now completely answered through a rich set of Java graphical components based on the COMETE [2] library and providing a high level of service for data logging, scanning and so on. To reach the same quality of service for process automation, a big effort has been made to integrate more smoothly PASSERELLE [3], a workflow engine, with dedicated user-friendly interfaces for end users, packaged as JavaBeans in GlobalSCREEN components library. Starting with brief descriptions of software architecture of the PASSERELLE and GlobalSCREEN environments, we will then present the overall system integration design as well as the current status of deployment on SOLEIL beamlines.
[1] V. Hardion, M. Ounsy, K. Saintin, "How to Use a SCADA for High-Level Application Development on a Large-Scale Basis in a Scientific Environment", ICALEPS 2007
[2] G. Viguier, K. Saintin, https://comete.svn.sourceforge.net/svnroot/comete, ICALEPS'11, MOPKN016.
[3] A. Buteau, M. Ounsy, G. Abeille, "A Graphical Sequencer for SOLEIL Beamline Acquisitions", ICALEPS'07, Knoxville, Tennessee - USA, Oct 2007.
WEPKS030 A General Device Driver Simulator to Help Compare Real Time Control Systems 863
  • M.S. Mohan
    EGO, Pisa, Italy
  Supervisory Control And Data Acquisition systems (SCADA) such as Epics, Tango and Tine usually provide small example device driver programs for testing or to help users get started, however they differ between systems making it hard to compare the SCADA. To address this, a small simulator driver was created which emulates signals and errors similar to those received from a hardware device. The simulator driver can return from one to four signals: a ramp signal, a large alarm ramp signal, an error signal and a timeout. The different signals or errors are selected using the associated software device number. The simulator driver performs similar functions to Epic’s clockApp [1], Tango’s TangoTest and the Tine’s sinegenerator but the signals are independent of the SCADA. A command line application, an Epics server (IOC), a Tango device server, and a Tine server (FEC) were created and linked with the simulator driver. In each case the software device numbers were equated to a dummy device. Using the servers it was possible to compare how each SCADA behaved against the same repeatable signals. In addition to comparing and testing the SCADA the finished servers proved useful as templates for real hardware device drivers.
[1] F.Furukawa, "Very Simple Example of EPICS Device Suport", http://www-linac.kek.jp/epics/second
poster icon Poster WEPKS030 [1.504 MB]  
WEPKS032 A UML Profile for Code Generation of Component Based Distributed Systems 867
  • G. Chiozzi, L. Andolfato, R. Karban
    ESO, Garching bei Muenchen, Germany
  • A. Tejeda
    UCM, Antofagasta, Chile
  A consistent and unambiguous implementation of code generation (model to text transformation) from UML must rely on a well defined UML profile, customizing UML for a particular application domain. Such a profile must have a solid foundation in a formally correct ontology, formalizing the concepts and their relations in the specific domain, in order to avoid a maze or set of wildly created stereotypes. The paper describes a generic profile for the code generation of component based distributed systems for control applications, the process to distill the ontology and define the profile, and the strategy followed to implement the code generator. The main steps that take place iteratively include: defining the terms and relations with an ontology, mapping the ontology to the appropriate UML metaclasses, testing the profile by creating modelling examples, and generating the code.  
poster icon Poster WEPKS032 [1.925 MB]  
WEPKS033 UNICOS CPC6: Automated Code Generation for Process Control Applications 871
  • B. Fernández Adiego, E. Blanco Vinuela, I. Prieto Barreiro
    CERN, Geneva, Switzerland
  The Continuous Process Control package (CPC) is one of the components of the CERN Unified Industrial Control System framework (UNICOS). As a part of this framework, UNICOS-CPC provides a well defined library of device types, a methodology and a set of tools to design and implement industrial control applications. The new CPC version uses the software factory UNICOS Application Builder (UAB) to develop the CPC applications. The CPC component is composed of several platform oriented plug-ins (PLCs and SCADA) describing the structure and the format of the generated code. It uses a resource package where both, the library of device types and the generated file syntax are defined. The UAB core is the generic part of this software, it discovers and calls dynamically the different plug-ins and provides the required common services. In this paper the UNICOS CPC6 package is presented. It is composed of several plug-ins: the Instance generator and the Logic generator for both, Siemens and Schneider PLCs, the SCADA generator (based on PVSS) and the CPC wizard as a dedicated Plug-in created to provide the user a friendly GUI. A management tool called UAB bootstrap will administer the different CPC component versions and all the dependencies between the CPC resource packages and the components. This tool guides the control system developer to install and launch the different CPC component versions.  
poster icon Poster WEPKS033 [0.730 MB]