| Paper | Title | Page |
|---|---|---|
| WEA001 | Bringing the Power of Dynamic Languages to Hardware Control Systems | 358 |
|
||
|
Funding: Marie Curie Early Stage Research Training Fellowship of the European Community's Sixth Framework Programme under contract number MEST-CT-2005-020216-ELACCO Hardware control systems are normally programmed using high-performance languages like C or C++ and increasingly also Java. All these languages are strongly typed and compiled which brings usually good performance but at the cost of a longer development and testing cycle and the need for more programming expertise. Dynamic languages which were long thought to be too slow or not powerful enough for control purposes are, thanks to modern powerful computers and advanced implementation techniques, fast enough for many of these tasks. We present examples from the LHCb Experiment Control System (ECS), which is based on a commercial SCADA software (PVSS II). We have successfully used Python to integrate hardware devices into the ECS. We present the necessary lightweight middle-ware we have developed, including examples for controlling hardware and software devices. We also discuss the development cycle, tools used and compare the effort to traditional solutions. |
||
|
Slides | |
| WEA002 | Ontology Language to Support Description of Experiment Control System Semantics, Collaborative Knowledge-Base Design, and Ontology Reuse | 361 |
|
||
|
Funding: Jefferson Lab, United States Department of Energy, Office of Science of DOE, Jefferson Science Associates LLC In this paper we discuss the control domain specific ontology that is built on top of the domain-neutral Resource Definition Framework (RDF). Specifically, we will discuss the relevant set of ontology concepts along with the relationships among them in order to describe experiment control components and generic event-based state machines. Control Oriented Ontology Language (COOL) is a meta-data modeling language that provides generic means for representation of physics experiment control processes and components, and their relationships, rules and axioms. It provides a semantic reference frame that is useful for automating the communication of information for configuration, deployment and operation. COOL has been successfully used to develop a complete and dynamic knowledge-base for experiment control systems, developed using the AFECS framework. |
||
| WEA003 | Evolutionary Plans For EPICS Version 3 | 364 |
|
||
|
Funding: Work supported by U. S Departiment of Energy Office of Science, Office of Basic Energy Sciences, under Contract No. DE-AC02-06CH11357 With the Experimental Physics and Industrial Control System (EPICS) toolkit being used around the world, modifications to the core software must be very carefully designed to avoid breaking existing applications; this often limits the changes and new functionality that can be introduced. A new way to extend the EPICS input-output controller (IOC) was discovered recently that should be fully compatible with most channel access (CA) client programs; if the IOC supports optional postfix modifiers to the process variable (PV) field names it publishes, it becomes possible to add several features to the EPICS toolkit. However if those field modifiers can be written in standard JavaScript Object Notation (JSON) syntax they can encode a complex data structure and become very powerful, permitting client-specific configuration of individual CA channels without necessitating any changes to the network protocol. This paper will describe how EPICS Base is adding support for JSON encoding and field modifiers, and will discuss other features such as record aliases that have been introduced to help control systems evolve. |
||
|
Slides | |
| WEA004 | New Wave of Component Reuse with Spring Framework - AP Case Study | 367 |
|
||
|
Funding: CERN The myth of component reuse has always been a 'holy grail' of software engineering. The motivation varies from less time, effort and money expenditure to higher system quality and reliability which is especially important in the domain of high energy physics and accelerator controls. Identified as an issue by D. McIlroy in 1968, it has been generally addressed in many ways with various success rates. But only recently with the advent of fresh ideas like the Spring Framework with its powerful yet simple 'Inversion of Control ' paradigm the solution to the problem has started to be surprisingly uncomplicated. Gathered over years of experience this document explains best practices and lessons learned applied at CERN for the design of the operational software used to control the accelerator complex and focuses on features of the Spring Framework that render the component reuse achievable in practice. It also provides real life use cases of mission-critical control systems developed by the Application Section like LHC Software Architecture, Injector Control Architecture or Software Interlock System that have built their own success mostly upon a stack of reusable software components. |
||
| WEA005 | Monitoring Applications Once They Are in the User Community | 370 |
|
||
|
Funding: U. S. Dept of Energy Once an application is released to the user community, obtaining prompt and high quality information on application use and reliability can be a challenge. All Linux and Solaris applications used at RHIC and associated accelerators, have been instrumented so that application and crash information is gathered, stored and forwarded to the appropriate developer for immediate analysis. To support this process databases were created to track developer and application information. In order, to keep these databases relevant, a web based application release procedure was upgraded to collect information and automatically update the databases. Additional applications that support developer and user interaction have been developed that utilize various components of this system. An application history server records when an application is started, stopped, by whom, and which machine. An application feedback system allows users to instantly communicate with the application developers. Future work is planned that will store crash information for performance analysis. |
||
| WEA006 | Data Distribution Service as an Alternative to CORBA Notify Service of the ALMA Common Software | 373 |
|
||
| The ALMA Common Software (ACS) provides the infrastructure for the Atacama Large Millimeter Array and other projects. ACS, based on CORBA, offers basic services and common design patterns. One of these services is the Notification Channel. Based on the CORBA Notify Service, it allows the implementation of applications based on the publisher-subscriber pattern. This is very useful for handling asynchronous messages between components, and fosters data-centric architectures and de-coupling between different components of an application. The Notify Service has several limitations, such as being resource intensive and not scaling well with the number of subscribers. The Data Distribution Service (DDS) provides an alternative standard for publisher-subscriber communication for real-time systems, offering better performance and featuring decentralized message processing, scalable peer-to-peer communication, and a wide set of QoS policies. We describe the integration of DDS into the ACS CORBA environment, replacing the Notify Service. Benefits and drawbacks are analyzed. A benchmark is presented, comparing the performance of both implementations. |