Paper | Title | Page |
---|---|---|
TUAAUST01 | GDA and EPICS Working in Unison for Science Driven Data Acquisition and Control at Diamond Light Source | 529 |
|
||
Diamond Light Source has recently received funding for an additional 10 photon beamlines, bringing the total to 32 beamlines and around 40 end-stations. These all use EPICS for the control of the underlying instrumentation associated with photon delivery, the experiment and most of the data acquisition hardware. For the scientific users Diamond has developed the Generic Data Acquisition (GDA) application framework to provide a consistent science interface across all beamlines. While each application is customised to the science of its beamline, all applications are built from the framework and predominantly interface to the underlying instrumentation through the EPICS abstraction. We will describe the complete system, illustrate how it can be configured for a specific beamline application, and how other synchrotrons are, and can, adapt these tools for their needs. | ||
![]() |
Slides TUAAUST01 [9.781 MB] | |
TUAAULT02 | Tango Collaboration and Kernel Status | 533 |
|
||
This paper is divided in two parts. The first part summarises the main changes done within the Tango collaboration since the last Icalepcs conference. This will cover technical evolutions but also the new way our collaboration is managed. The second part will focus on the evolution of the so-called Tango event system (asynchronous communication between client and server). Since its beginning, within Tango, this type of communication is implemented using a CORBA notification service implementation called omniNotify. This system is currently re-written using zeromq as transport layer. Reasons of the zeromq choice will be detailed. A first feedback of the new implementation will be given. | ||
![]() |
Slides TUAAULT02 [1.458 MB] | |
TUAAULT03 | BLED: A Top-down Approach to Accelerator Control System Design | 537 |
|
||
In many existing controls projects the central database/inventory was introduced late in the project, usually to support installation or maintenance activities. Thus construction of this database was done in a bottom-up fashion by reverse engineering the installation. However, there are several benefits if the central database is introduced early in machine design, such as the ability to simulate the system as a whole without having all the IOCs in place, it can be used as an input to the installation/commissioning plan, or act as an enforcer of certain conventions and quality processes. Based on our experience with the control systems, we have designed a central database BLED (Best and Leanest Ever Database), which is used for storage of all machine configuration and parameters as well as control system configuration, inventory, and cabling. First implementation of BLED supports EPICS, meaning it is capable of storage and generation of EPICS templates and substitution files as well as archive, alarm and other configurations. With a goal in mind to provide functionality of several existing central databases (IRMIS, SNS db, DBSF etc.) a lot of effort has been made to design the database in a way to handle extremely large set-ups, consisting of millions of control system points. Furthermore, BLED also stores the lattice data, thus providing additional information (e.g. survey data) required by different engineering groups. The lattice import/export tools among others support MAD and TraceWin Tools formats which are widely used in the machine design community. | ||
![]() |
Slides TUAAULT03 [4.660 MB] | |
TUAAULT04 | Web-based Execution of Graphical Workflows : a Modular Platform for Multifunctional Scientific Process Automation | 540 |
|
||
The Passerelle process automation suite offers a fundamentally modular solution platform, based on a layered integration of several best-of-breed technologies. It has been successfully applied by Synchrotron Soleil as the sequencer for data acquisition and control processes on its beamlines, integrated with TANGO as a control bus and GlobalScreen as the Scada package. Since last year it is being used as the graphical workflow component for the development of an eclipse-based Data Analysis Work Bench, at ESRF. The top layer of Passerelle exposes an actor-based development paradigm, based on the Ptolemy framework (UC Berkeley). Actors provide explicit reusability and strong decoupling, combined with an inherently concurrent execution model. Actor libraries exist for TANGO integration, web-services, database operations, flow control, rules-based analysis, mathematical calculations, launching external scripts etc. Passerelle's internal architecture is based on OSGi, the major Java framework for modular service-based applications. A large set of modules exist that can be recombined as desired to obtain different features and deployment models. Besides desktop versions of the Passerelle workflow workbench, there is also the Passerelle Manager. It is a secured web application including a graphical editor, for centralized design, execution, management and monitoring of process flows, integrating standard Java Enterprise services with OSGi. We will present the internal technical architecture, some interesting application cases and the lessons learnt. | ||
![]() |
Slides TUAAULT04 [10.055 MB] | |
TUAAUKP05 |
Trends in Programming Languages | |
|
||
Over the last couple of years, two major trends have occurred in programming languages. One is the demise of Java as the jack of all trades in programming languages. New languages are developed, driven by the need for better support for concurrency and multicore, functional programming and meta programming. Second, the feasibility for niche communities to build their own languages has increased by the advent of language workbenches, tools that support the rapid development of DSLs, languages customized for a given task or problem domain. In this talk, I provide a quick overview of these trends, as well as the relevant languages and tools. | ||
![]() |
Slides TUAAUKP05 [9.351 MB] | |
TUTMUKP02 |
Implementing DSLs with Xtext and MPS | |
|
||
This tutorial is an introduction to development of domain-specific languages, based on the 'Trends in Programming Languages' talk on Tuesday morning. I show a couple of example DSLs used in various technical domains. Then I provide details on two language workbenches: Eclipse Xtext and JetBrains MPS. Both are Java-based Open Source products that support the rapid development of DSLs, but they use radically different approaches: Xtext is parser-based, MPS is a projectional editor. The goal of the tutorial is to illustrate the usefulness of DSLs, showcase the productivity of language workbenches for developing languages, and give participants a head start in using Xtext and MPS. The tutorial is mostly example-based: I will demonstrate the implementation of a small DSL in each of the tools. | ||
![]() |
Slides TUTMUKP02 [14.590 MB] | |
WEAAUST01 | Sardana: The Software for Building SCADAS in Scientific Environments | 607 |
|
||
Sardana is a software for supervision, control and data acquisition in large and small scientific installations. It delivers important cost and time reductions associated with the design, development and support of the control and data acquisition systems. It enhances Tango with the capabilities for building graphical interfaces without writing code, a powerful python-based macro environment for building sequences and complex macros, and a comprehensive access to the hardware. It scales well to small laboratories as well as to large scientific institutions. It has been commissioned for the control system of Accelerators and Beamlines at the Alba Synchrotron. | ||
![]() |
Slides WEAAUST01 [6.978 MB] | |
WEAAULT02 | Model Oriented Application Generation for Industrial Control Systems | 610 |
|
||
The CERN Unified Industrial Control Systems framework (UNICOS) is a software generation methodology that standardizes the design of slow process control applications [1]. A Software Factory, named the UNICOS Application Builder (UAB) [2], was introduced to provide a stable metamodel, a set of platform-independent models and platform-specific configurations against which code and configuration generation plugins can be written. Such plugins currently target PLC programming environments (Schneider UNITY and SIEMENS Step7 PLCs) as well as SIEMENS WinCC Open Architecture SCADA (previously known as ETM PVSS) but are being expanded to cover more and more aspects of process control systems. We present what constitutes the UAB metamodel and the models in use, how these models can be used to capture knowledge about industrial control systems and how this knowledge can be leveraged to generate both code and configuration for a variety of target usages.
[1] H. Milcent et al, "UNICOS: AN OPEN FRAMEWORK", ICALEPCS2009, Kobe, Japan, (THD003) [2] M. Dutour, "Software factory techniques applied to Process Control at CERN", ICALEPCS 2007, Knoxville Tennessee, USA |
||
![]() |
Slides WEAAULT02 [1.757 MB] | |
WEAAULT03 | A Platform Independent Framework for Statecharts Code Generation | 614 |
|
||
Control systems for telescopes and their instruments are reactive systems very well suited to be modeled using Statecharts formalism. The World Wide Web Consortium is working on a new standard called SCXML that specifies an XML notation to describe Statecharts and provides a well defined operational semantic for run-time interpretation of the SCXML models. This paper presents a generic application framework for reactive non real-time systems based on interpreted Statecharts. The framework consists of a model to text transformation tool and an SCXML interpreter. The tool generates from UML state machine models the SCXML representation of the state machines and the application skeletons for the supported software platforms. An abstraction layer propagates the events from the middleware to the SCXML interpreter facilitating the support of different software platforms. This project benefits from the positive experience gained in several years of development of coordination and monitoring applications for the telescope control software domain using Model Driven Development technologies. | ||
![]() |
Slides WEAAULT03 [2.179 MB] | |
WEAAUKP04 |
The Power of Hybridization | |
|
||
Botanical hybridization combines the best characteristics of plants. Differential equations are often solved by transforming into a space where the solutions become trivial. Programming languages always do some things well but not others: Python punts when it comes to user interfaces, Java's artificial complexity prevents rapid development and produces tangles, and it will be a while before we see benefits from C++ concurrency work. The "weight" of languages increases the cost of experimentation, impeding your ability to fail fast and iterate. If you must use a single language to solve your problem, you are binding yourself to the worldview limitations and the mistakes made by the creator of that language. Consider increasing your wiggle room, complementing a language that is powerful in one area with a different language powerful in another. This is not easy. You'll probably prefer pounding out a solution in your one chosen language – only discovering the impenetrable roadblock after you've built a mass of code, long after passing from a brief experiment into "the critical path on which all depends". Language hybridization can speed the experiment forward to quickly discover your real problems, giving you more time to fix them. After making a case for hybridizing your thinking in general, I will present a number of simple examples showing the hooks that are already built into languages (such as Python's ctypes) and tools created to aid hybridization (like XML-RPC). Along the way, I'll point out pitfalls, the most devious of which is "assumptions about performance". | ||
![]() |
Slides WEAAUKP04 [19.325 MB] | |
WEMAU009 |
Plant Information Modeling in Prototype Control Systems | |
|
||
The world of control systems can be roughly divided into mature, well established systems and one-of-a-kind, prototype control systems. Developing prototype control systems is a challenging task as there are no comparable systems that can serve as blueprints. As software engineers we've been working in the realm of prototype control systems for over 5 years. During this time we noticed various recurrent problems we had to solve over and over again. Looking out for help in science and industry we've found a gap between research activities in the Control Layer and in the Human Machine Interface layer. While the Control Layer seems to attract the majority of research interest, the HMI layer seems to be rather a side show. The majority of problems we've identified developing prototype control systems at the HMI Layer can be put down to a missing plant information model. The world of plant information modeling is currently dominated by versatile object-oriented methods as well as emerging techniques like CAEX and OPC UA. Approaching these concepts from the software engineering side raises however many questions on how to adapt these concepts to existing control systems and software tools. In this talk we give a brief overview of common problems we've identified developing prototype control systems, present the state of the art in plant information modeling and propose a service oriented, minimally invasive solution which we've been able to evaluate for over one year with our industry partner. Finally we point at challenges we haven't found solutions for yet. | ||
WEMAU010 | Web-based Control Application using WebSocket | 673 |
|
||
The Websocket [1] brings asynchronous full-duplex communication between a web-based (i.e. java-script based) application and a web-server. The WebSocket started as a part of HTML5 standardization but has now been separated from the HTML5 and developed independently. Using the WebSocket, it becomes easy to develop platform independent presentation layer applications of accelerator and beamline control software. In addition, no application program has to be installed on client computers except for the web-browser. The WebSocket based applications communicate with the WebSocket server using simple text based messages, so the WebSocket can be applicable message based control system like MADOCA, which was developed for the SPring-8 control system. A simple WebSocket server for the MADOCA control system and a simple motor control application was successfully made as a first trial of the WebSocket control application. Using google-chrome (version 10.x) on Debian/Linux and Windows 7, opera (version 11.0 beta) on Debian/Linux and safari (version 5.0.3) on MacOSX as clients, the motors can be controlled using the WebSocket based web-application. The more complex applications are now under development for synchrotron radiation experiments combined with other HTML5 features.
[1] http://websocket.org/ |
||
![]() |
Poster WEMAU010 [44.675 MB] | |
WEMAU011 | LIMA: A Generic Library for High Throughput Image Acquisition | 676 |
|
||
A significant number of 2D detectors are used in large scale facilities' control systems for quantitative data analysis. In these devices, a common set of control parameters and features can be identified, but most of manufacturers provide specific software control interfaces. A generic image acquisition library, called LIMA, has been developed at the ESRF for a better compatibility and easier integration of 2D detectors to existing control systems. The LIMA design is driven by three main goals: i) independence of any control system to be shared by a wide scientific community; ii) a rich common set of functionalities (e.g., if a feature is not supported by hardware, then the alternative software implementation is provided); and iii) intensive use of events and multi-threaded algorithms for an optimal exploit of multi-core hardware resources, needed when controlling high throughput detectors. LIMA currently supports the ESRF Frelon and Maxipix detectors as well as the Dectris Pilatus. Within a collaborative framework, the integration of the Basler GigE cameras is a contribution from SOLEIL. Although it is still under development, LIMA features so far fast data saving on different file formats and basic data processing / reduction, like software pixel binning / sub-image, background subtraction, beam centroid and sub-image statistics calculation, among others. | ||
![]() |
Slides WEMAU011 [0.073 MB] | |
WEMAU012 | COMETE: A Multi Data Source Oriented Graphical Framework | 680 |
|
||
Modern beamlines at SOLEIL need to browse a large amount of scientific data through multiple sources that can be scientific measurement data files, databases or Tango [1] control systems. We created the COMETE [2] framework because we thought it was necessary for the end users to use the same collection of widgets for all the different data sources to be accessed. On the other side, for GUI application developers, the complexity of data source handling had to be hidden. These 2 requirements being now fulfilled, our development team is able to build high quality, modular and reusable scientific oriented GUI software, with consistent look and feel for end users. COMETE offers some key features to our developers: Smart refreshing service , easy-to-use and succinct API, Data Reduction functionality. This paper will present the work organization, the modern software architecture and design of the whole system. Then, the migration from our old GUI framework to COMETE will be detailed. The paper will conclude with an application example and a summary of the incoming features available in the framework.
[1] http://www.tango-controls.org [2] http://comete.sourceforge.net |
||
![]() |
Slides WEMAU012 [0.083 MB] | |
WEPKS001 | Agile Development and Dependency Management for Industrial Control Systems | 767 |
|
||
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 WEPKS001 [10.592 MB] | |
![]() |
Poster WEPKS001 [1.032 MB] | |
WEPKS002 | Quick EXAFS Experiments Using a New GDA Eclipse RCP GUI with EPICS Hardware Control | 771 |
|
||
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 WEPKS002 [1.277 MB] | |
WEPKS003 | An Object Oriented Framework of EPICS for MicroTCA Based Control System | 775 |
|
||
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 WEPKS003 [0.176 MB] | |
WEPKS004 | ISAC EPICS on Linux: The March of the Penguins | 778 |
|
||
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 |
|
||
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 WEPKS005 [0.717 MB] | |
WEPKS006 | UNICOS Evolution: CPC Version 6 | 786 |
|
||
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 WEPKS006 [0.449 MB] | |
WEPKS008 | Rules-based Analysis with JBoss Drools : Adding Intelligence to Automation | 790 |
|
||
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 |
|
||
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 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 |
|
||
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 WEPKS010 [0.307 MB] | |
WEPKS011 | Use of ITER CODAC Core System in SPIDER Ion Source | 801 |
|
||
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 |
|
||
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 |
|
||
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 WEPKS014 [6.856 MB] | |
WEPKS015 | Automatic Creation of LabVIEW Network Shared Variables | 812 |
|
||
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 WEPKS015 [0.265 MB] | |
WEPKS016 | Software for Virtual Accelerator Designing | 816 |
|
||
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 WEPKS016 [0.559 MB] | |
WEPKS018 | MstApp, a Rich Client Control Applications Framework at DESY | 819 |
|
||
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 WEPKS018 [0.474 MB] | |
WEPKS019 | Data Analysis Workbench | 823 |
|
||
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 WEPKS019 [2.249 MB] | |
WEPKS020 | Adding Flexible Subscription Options to EPICS | 827 |
|
||
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 WEPKS020 [0.996 MB] | |
WEPKS021 | EPICS V4 in Python | 830 |
|
||
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 |
|
||
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 WEPKS022 [0.429 MB] | |
WEPKS023 | Further Developments in Generating Type-Safe Messaging | 836 |
|
||
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 WEPKS023 [3.219 MB] | |
WEPKS024 | CAFE, A Modern C++ Interface to the EPICS Channel Access Library | 840 |
|
||
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 WEPKS024 [0.637 MB] | |
WEPKS025 | Evaluation of Software and Electronics Technologies for the Control of the E-ELT Instruments: a Case Study | 844 |
|
||
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 WEPKS025 [3.039 MB] | |
WEPKS026 | A C/C++ Build System Based on Maven for the LHC Controls System | 848 |
|
||
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 WEPKS026 [0.518 MB] | |
WEPKS027 | Java Expert GUI Framework for CERN's Beam Instrumentation Systems | 852 |
|
||
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 WEPKS027 [1.838 MB] | |
WEPKS028 | Exploring a New Paradigm for Accelerators and Large Experimental Apparatus Control Systems | 856 |
|
||
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 |
|
||
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 |
|
||
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 WEPKS030 [1.504 MB] | |
WEPKS032 | A UML Profile for Code Generation of Component Based Distributed Systems | 867 |
|
||
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 WEPKS032 [1.925 MB] | |
WEPKS033 | UNICOS CPC6: Automated Code Generation for Process Control Applications | 871 |
|
||
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 WEPKS033 [0.730 MB] | |