ESO - G.Chiozzi ESO Instrumentation Software Workshop 2008 - 1 VLT Control Software …and beyond.

Slides:



Advertisements
Similar presentations
Chapter 13 Review Questions
Advertisements

Oracle BPEL, How To Get Ready For It OpenWorld 2007 Sunday, November 11.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
MIT iCampus iLabs Software Architecture Workshop June , 2006.
Software Architecture Design Instructor: Dr. Jerry Gao.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
ESO - G.Chiozzi SPIE 2010 – Evolution of the VLT instrument control system toward industry standards Mario J. Kiekebusch, Gianluca Chiozzi,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Designing a HEP Experiment Control System, Lessons to be Learned From 10 Years Evolution and Operation of the DELPHI Experiment. André Augustinus 8 February.
The ALMA Common Software: a developer friendly CORBA-based framework G.Chiozzi d, B.Jeram a, H.Sommer a, A.Caproni e, M.Pesko bc, M.Sekoranja b, K.Zagar.
An Introduction to Software Architecture
ALMA Common Software Basic Track Introduction to the ACS Framework.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
SCADA. 3-Oct-15 Contents.. Introduction Hardware Architecture Software Architecture Functionality Conclusion References.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
JCOP Workshop September 8th 1999 H.J.Burckhart 1 ATLAS DCS Organization of Detector and Controls Architecture Connection to DAQ Front-end System Practical.
Identify steps for understanding and solving the
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Topics of presentation
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
ICALEPCS 2001 Nov , 2001 ACS Common Software for the ALMA Project G.Chiozzi, B.Gustafsson, B.Jeram, P.Sivera – ESO M.Plesko, M.Sekiranja, G.Tkacik,
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
P. Duhoux European Southern Observatory July 2002 TSW Tutorial LSF - the LCU Server Framework easy creation of LCU applications with Object Oriented approach.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
1 Trends in Software for large astronomy projects G.Chiozzi, A.Wallander – ESO, Germany K.Gillies – Gemini Observatory, La Serena, Chile B.Goodrich, S.Wampler.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 VLTSW Infrastructure VLT Software Roadmap Doc. No.:
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Workstation Software Framework 2 (WSF2)
Online Software November 10, 2009 Infrastructure Overview Luciano Orsini, Roland Moser Invited Talk at SuperB ETD-Online Status Review.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
An Introduction to Software Engineering
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
Distribution and components
Introduction to Cloud Computing
by Prasad Mane (05IT6012) School of Information Technology
ALMA Common Software Training-Course Session 4 - ACS Docs
Programmable Logic Controllers (PLCs) An Overview.
Chapter 2: System Structures
Component--based development
An Introduction to Software Architecture
Design Yaodong Bi.
Presentation transcript:

ESO - G.Chiozzi ESO Instrumentation Software Workshop VLT Control Software …and beyond

ESO - G.Chiozzi ESO Instrumentation Software Workshop Agenda This presentation will give: An introduction to the structure of the VLT control SW from the perspective of teams developing an instrument We will see an overview of: The Where, the What and the Why The big picture and the philosophy. The main elements of the VLT Common Software and Instrumentation Software frameworks. What are the basic services provided? How can you find information, examples and help?

ESO - G.Chiozzi ESO Instrumentation Software Workshop Where is the VLTSW used? VLT Unit Telescopes VLTI facilities VLT Auxiliary Telescopes VISTA VST 3.6 NTT……. All ESO optical telescopes and their instruments are based on the VLT Common Software and on the VLT Instrumentation Software

ESO - G.Chiozzi ESO Instrumentation Software Workshop What is the VLTSW? The VLTSW is the implementation of a common infrastructure for the development of control applications. It consists of several layers: On the lower levels are APIs for the communication infrastructure and common general services At the higher level we have complete software frameworks Purpose of a framework is to: provide a programming model provide common paradigm abstractions mask heterogeneity satisfy performance, reliability and security requirements

ESO - G.Chiozzi ESO Instrumentation Software Workshop Why the VLTSW? An infrastructure framework is the key to the separation between Functional and Technical Architecture Application developers care for the Functional Architecture: Responsibilities, interfaces and primary relationships and interactions between subsystems Physics and algorithms Hardware deployment and distribution The Technical Architecture is provided by the infrastructure team: Communication mechanisms, networking, general services Software deployment and activation Programming model

ESO - G.Chiozzi ESO Instrumentation Software Workshop What are the advantages? If everybody uses a common framework: The architecture, design and implementation are uniform across systems This: Allows centralizing support Makes maintenance easier Ensure compatibility of technical interfaces Allows to reuse resources and skills on different projects Allows to propagate improvements automatically by distributing centralized changes.

ESO - G.Chiozzi ESO Instrumentation Software Workshop Can we quantifying the advantages Can we measure the impact of adopting the VLTSW as a common infrastructure? Very difficult: all numbers are debatable But we have some good examples

ESO - G.Chiozzi ESO Instrumentation Software Workshop Size of Instrumentation code reduced A.Longinotti, M.Kiekebush – 2008

ESO - G.Chiozzi ESO Instrumentation Software Workshop Instrumentation Sw development time A.Longinotti – 2002

ESO - G.Chiozzi ESO Instrumentation Software Workshop Size of Telescope Control Software reduced UT  VISTA: 2/3 less

ESO - G.Chiozzi ESO Instrumentation Software Workshop WSF code generation A state machine model driven toolkit based on ESO VLT Software ProjectApplications based on WSF Average states per applications Average transitions per application Average lines of code per application % Hand-crafted code per application PRIMA APE NGC DL L.Andolfato, 2008 L.Andolfato – 2008

ESO - G.Chiozzi ESO Instrumentation Software Workshop VLTSW Architecture Basic control architecture: Real Time on VME LCUs Coordination on Linux workstations Middleware with almost identical APIs: CCS on the workstation LCC on the LCUs

ESO - G.Chiozzi ESO Instrumentation Software Workshop Middleware services CCS and LCC both provide: On-line database Message system Scan system Time System Logging System Error and Alarm System CCS provides: Event handling framework (EVH) Portable user interface toolkit Engineering User Interfaces LCC provides: Motor control Drivers (LCC) CCD support

ESO - G.Chiozzi ESO Instrumentation Software Workshop Application frameworks LCU Server Framework (LSF) Allows implementing object oriented LCU applications with a standardized architecture based on C code templates. Workstation Software Framework (WSF) Allows implementing C++ workstation applications based on a finite state machine model INS Common Software The core topic of this workshop. Allows implementing a complete Instrumentation Control Software (both LCU and Workstation sides) configuring code templates.

ESO - G.Chiozzi ESO Instrumentation Software Workshop Building blocks The VLTSW includes other essential building blocks: Telescope Control Software (TCS) The basic Telescope Control Software implementation, used as starting point from which all concrete instances of TCS inherit. Interferometer Supervisory Software (ISS) The Interferometer Supervisor Software is the central control instance of the VLTI facility. It forms the central interface of VLTI to the instruments and users High-level Operation Software (HOS) General purpose tools, allowing both technical and scientific staff to ease the definition and execution of sequences of commands, intended to control the telescopes and instruments. Software Engineering tools

ESO - G.Chiozzi ESO Instrumentation Software Workshop Current core technologies Platforms: Workstation: PC with Linux OS LCU (real time): VME with VxWorks OS IO typically on the LCU backplane Languages: C for real time applications (LCU) C++ for high level coordination (WS) Tcl/Tk for scripting and GUIs Middleware: CCS and LCC based on HP RTAP, further developed in- house

ESO - G.Chiozzi ESO Instrumentation Software Workshop History and evolution Development started ~15 years ago 1 new release per year Now the interfaces are extremely stable Workstation part migrated from Solaris to HP UX to Linux Middleware initially based on RTAP (HP commercial SCADA system) later on re-implemented in-house High level frameworks introduced in steps (EVH, LSF, WSF, INS) New standard devices introduced in steps (controllers, CCDs, sensors) Some components in 2008 and 2009: WSF, NGS, NTTCD, CanRMC, CLIP

ESO - G.Chiozzi ESO Instrumentation Software Workshop Future developments The VLT/VLTI is going to be in operation probably for another 20 years Many instruments are still being implemented or are in the conceptual or design phase Software for the VLT will then be developed still for many years to come, as demonstrated by your interest in this workshop. At the same time, ESO is involved in other projects: ALMA and the E-ELT How will the VLTSW evolve in this context?

ESO - G.Chiozzi ESO Instrumentation Software Workshop The VLTSW roadmap Giving an answer to this question is extremely difficult. There are very many parameters to take into account and advantages and disadvantages of each option need to be carefully weighted Here at ESO we have started a couple of months ago a process of analysis of these parameters It will still take some months before we will have been able to reach a concrete result: A VLTSW Roadmap in the era of ALMA and E-ELT

ESO - G.Chiozzi ESO Instrumentation Software Workshop Some of the parameters in the game The current VLTSW can satisfy the requirements for new instruments (as far as we know and with few exceptions) Some software and hardware technologies are becoming obsolete and will have to be replaced. Some recent technologies promise to make new development more efficient and of higher quality Replacing what works has a cost and a risk to be weighted Refactoring based on the past experience should allow to simplify and improve the current architecture and design Sharing new developments with other projects (E-ELT) should allow early testing and sharing of resources

ESO - G.Chiozzi ESO Instrumentation Software Workshop Examples of technologies Some examples of technologies that will be discussed: Devices and IO in the field: field busses vs. LCUs? Programming languages (Java? LabVIEW?) Model driven development and code generation? More extensive usage of PLCs (for example safety PLCs)? We will have a chance of discussing more these and other aspects in the final open session of this workshop. Think about these issues during the workshop and provide you feedback

ESO - G.Chiozzi ESO Instrumentation Software Workshop Where to find information? This workshop will provide you with links and references The documentation for the exercise is a concise but complete tutorial for self- training The documentation for all VLTSW packages is available online: Read the first document in the first binder! The “Overview” provides a general view on the process of writing software for the VLT project. Read the documents in the INS section Read the “Guidelines for the Development of VLT Application Software” : ftp://ftp.eso.org/pub/vlt/vlt/pub/add-doc/JAN2006/VLT-MAN-ESO pdf ftp://ftp.eso.org/pub/vlt/vlt/pub/add-doc/JAN2006/VLT-MAN-ESO pdf Forums, discussions and FAQs: Forums: Ask your contact person for support!!!

ESO - G.Chiozzi ESO Instrumentation Software Workshop Questions (& Answers)