WEAAU —  Software Technology   (12-Oct-11   08:30—10:25)
Chair: J. Klora, CELLS-ALBA Synchrotron, Cerdanyola del Vallès, Spain
Paper Title Page
WEAAUST01 Sardana: The Software for Building SCADAS in Scientific Environments 607
  • T.M. Coutinho, G. Cuní, D.F.C. Fernández-Carreiras, J. Klora, C. Pascual-Izarra, Z. Reszela, R. Suñé
    CELLS-ALBA Synchrotron, Cerdanyola del Vallès, Spain
  • A. Homs, E.T. Taurel
    ESRF, Grenoble, France
  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 icon Slides WEAAUST01 [6.978 MB]  
WEAAULT02 Model Oriented Application Generation for Industrial Control Systems 610
  • B. Copy, R. Barillère, E. Blanco Vinuela, R.N. Fernandes, B. Fernández Adiego, I. Prieto Barreiro
    CERN, Geneva, Switzerland
  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 icon Slides WEAAULT02 [1.757 MB]  
WEAAULT03 A Platform Independent Framework for Statecharts Code Generation 614
  • L. Andolfato, G. Chiozzi
    ESO, Garching bei Muenchen, Germany
  • N. Migliorini
    ENDIF, Ferrara, Italy
  • C. Morales
    UTFSM, Valparaíso, Chile
  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 icon Slides WEAAULT03 [2.179 MB]  
The Power of Hybridization  
  • B.E. Eckel
    Self Employment, Private address, USA
  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 icon Slides WEAAUKP04 [19.325 MB]