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.

Slides:



Advertisements
Similar presentations
CWE, EC – ESA joint activities on e-collaboration Brussels, 13 April 2005 IST Call 5 Preparatory workshop.
Advertisements

Mafijul Islam, PhD Software Systems, Electrical and Embedded Systems Advanced Technology & Research Research Issues in Computing Systems: An Automotive.
GSMT Control Workshop Tucson, September 11-12, 2001 Pointing Control for a giant segmented mirror telescope Patrick Wallace Rutherford Appleton Laboratory.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Slide 1 Sterling Software Peter Sharer Sterling Software.
Chapter 9: Moving to Design
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Dr. José M. Reyes Álamo 1.  Course website  Syllabus posted.
The Many Contexts of Software Architecture
ESO - G.Chiozzi SPIE 2010 – Evolution of the VLT instrument control system toward industry standards Mario J. Kiekebusch, Gianluca Chiozzi,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Web-based design Flávio Rech Wagner UFRGS, Porto Alegre, Brazil SBCCI, Manaus, 24/09/00 Informática UFRGS.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
ADASS XI Sept30-Oct3, 2001 The ALMA Common Software (ACS) as a basis for a distributed software development G.Raffi, G.Chiozzi (ESO), B.Glendenning (NRAO)
Objective 1.2 Cloud Computing, Internet of Services and Advanced Software Engineering Arian Zwegers European Commission Information Society and Media Directorate.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
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.
ALMA Common Software Basic Track Introduction to the ACS Framework.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Ohio State University Department of Computer Science and Engineering 1 Cyberinfrastructure for Coastal Forecasting and Change Analysis Gagan Agrawal Hakan.
The ALMA Software and Release Management Ruben Soto Software Operations Group & Release Manager Joint ALMA Observatory.
1 Enabling technologies and constraints for software sharing in large astronomy projects G.Chiozzi – ESO, Germany A.Bridger – UK Astronomy Technology Centre,
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
A software framework for the Advanced Technology Solar Telescope Steve Wampler.
A Survey on Programming Model Context Toolkit Gaia ETC (of Equator Project) Tentaculus.
Information System Development Courses Figure: ISD Course Structure.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
C5- IT Infrastructure and Emerging Technologies. Input – Process - Output 2 A computer  Takes data as input  Processes it  Outputs information CPU.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Introduction to Systems Analysis and Design
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,
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
Software Acquisition and Project Management Lesson I: Introduction.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ICCS WSES BOF Discussion. Possible Topics Scientific workflows and Grid infrastructure Utilization of computing resources in scientific workflows; Virtual.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
ESFRI & e-Infrastructure Collaborations, EGEE’09 Krzysztof Wrona September 21 st, 2009 European XFEL.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Computer Science 340 Software Design & Testing Software Architecture.
A middleware-neutral common services software infrastructure Steve Wampler National Solar Observatory ICALEPCS’2005.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Advances In Software Inspection
E-COMMERCE & MOBILE COMPUTING. On Technicals… Considerations for evaluating platform Ecommerce Applications Development Process Integration Options Middlewares.
ESO - G.Chiozzi ESO Instrumentation Software Workshop VLT Control Software …and beyond.
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 New Standards VLT Control System Mario Kiekebusch (On behalf everyone who took part.
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Wojciech Jalmuzna, Technical University of Lodz, Department of Microelectronics and Computer.
Software Engineering “Practical Approach”
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
Software Life Cycle “What happens in the ‘life’ of software”
Chapter 18 MobileApp Design
Chapter 2: System Structures
ACS ALMA Common software Demo Setup
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 7 –Implementation Issues
Design Principles of the CMS Level-1 Trigger Control and Hardware Monitoring System Ildefons Magrans de Abril Institute for High Energy Physics, Vienna.
Luca Simoncini PDCC, Pisa and University of Pisa, Pisa, Italy
Logical Architecture & UML Package Diagrams
Presentation transcript:

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 - National Solar Observatory, Tucson, AZ J.Johnson, K.McCann – W.M.Keck Observatory, Kamuela, HI G.Schumacher – National Optical Astronomy Observatories, La Serena, Chile D.Silva – AURA/Thirty Meter Telescope, Pasadena, CA

2 Aspects analyzed Timeline Timeline Challenges Challenges Architecture Architecture Frameworks Frameworks Development methodologies Development methodologies Technological implementation Technological implementation HW platforms HW platforms Operating systems Operating systems Programming languages Programming languages User Interfaces. User Interfaces.

3 Timeline VLT/VLTI Gemini N/S Keck ALMA LSST ATST E-ELT TMT

4 Challenges of new projects Synchronized multiple distributed control loops (wave front control) Synchronized multiple distributed control loops (wave front control) Multi-level off-loading schemes Multi-level off-loading schemes Fault detection, isolation and recovery (E-ELT M1: 1000 segments with actuators and sensors) Fault detection, isolation and recovery (E-ELT M1: 1000 segments with actuators and sensors) Operational efficiency (TMT requirement: on target in <5 minutes). Operational efficiency (TMT requirement: on target in <5 minutes).

5 Architecture All major facilities in operation: three-tier architecture All major facilities in operation: three-tier architecture High-level coordination systems High-level coordination systems Low-level real time control computers (LCUs) Low-level real time control computers (LCUs) Devices with limited degree of intelligence Devices with limited degree of intelligence Fairly independent sub-systems: slow correction offloading Fairly independent sub-systems: slow correction offloading Wave front control (adaptive optics and interferometry) introduces new requirements: Wave front control (adaptive optics and interferometry) introduces new requirements: Distributed real time synchronization and feedback Distributed real time synchronization and feedback Significant physical separation Significant physical separation Systems of systems, often heterogeneous Systems of systems, often heterogeneous LCUs role is eroded on both sides. LCUs role is eroded on both sides.

6 Frameworks A uniform software framework has a value in simplifying development and maintenance A uniform software framework has a value in simplifying development and maintenance Frameworks adopted: Keck and Gemini: EPICS, RTC ESO Paranal and La Silla: VLT CCS ALMA and other projects: ACS ATST: ATSTCS Common services: Connection Event Command Logging Persistent store Error handling Isolate application from middleware providing a layer of common services Isolate application from middleware providing a layer of common services Separation between technical and functional architecture now formally adopted. Separation between technical and functional architecture now formally adopted. Component based architectures emerged as particularly useful in distributed systems Component based architectures emerged as particularly useful in distributed systems Sharing the technical framework would allow sharing functional components. Sharing the technical framework would allow sharing functional components.

7 Development methodologies and modeling techniques Our constraints: Our constraints: Multi-year observatory design periods Multi-year observatory design periods Review structure and process imposed by funding agencies is oriented to a waterfall approach Review structure and process imposed by funding agencies is oriented to a waterfall approach Floating requirements Floating requirements Methodology evolution: Methodology evolution: Mid ’80s/ mid ‘90s: Structured programming Mid ’80s/ mid ‘90s: Structured programming Mid ’90s/ beginning 2000: Object Oriented and UML (pragmatic approach) Mid ’90s/ beginning 2000: Object Oriented and UML (pragmatic approach) Now: SysML, agile methodologies: Now: SysML, agile methodologies: Requirement management and traceability Requirement management and traceability Integration in a coherent system model as seen from different disciplines. Integration in a coherent system model as seen from different disciplines.

8 Hardware platforms In most existing observatories: In most existing observatories: High level coordination → general purpose WS High level coordination → general purpose WS Real time → Local Control Units (often VME) Real time → Local Control Units (often VME) Devices attached directly to VMEs Devices attached directly to VMEs Many more options are available now: Many more options are available now: High level coordination → Personal Computers High level coordination → Personal Computers (Soft) Real time → PC with real time OS (Soft) Real time → PC with real time OS Intelligent devices on ETH or industrial buses (CAN) Intelligent devices on ETH or industrial buses (CAN) (Hard) Real time → DSPs and FPGAs (Hard) Real time → DSPs and FPGAs Clusters for raw computing power Clusters for raw computing power Virtualization under evaluation. Trend for the future?. Virtualization under evaluation. Trend for the future?.

9 Operating systems The 1990s The 1990s Proprietary UNIX Proprietary UNIX Proprietary RTOS (VxWorks dominating) Proprietary RTOS (VxWorks dominating) The turn of the century: open source The turn of the century: open source Linux Linux Real Time Linux Real Time Linux And now? And now? Questioning Linux Questioning Linux Solaris re-emerging Solaris re-emerging Open source to stay (Solaris) Open source to stay (Solaris) MsWindows (and OPC)? MsWindows (and OPC)? Other players? Other players? OS neutrality Real time Java QNX LabVIEW and LabView-RT PLCs. FPGAs and DSPs.

10 Programming Languages The core language(s): The core language(s): Mid ’80s/ mid ‘90s: C domination Mid ’80s/ mid ‘90s: C domination Mid ’90s/ beginning 2000: C++ takeover Mid ’90s/ beginning 2000: C++ takeover Now: Java explosion, C++ decline, C holds Now: Java explosion, C++ decline, C holds Language Keck VLT C C Capfast Tcl/Tk Others Total The glue: from Tcl/Tk to Python and over The glue: from Tcl/Tk to Python and over LabVIEW’s role growing LabVIEW’s role growing We have to cope with: We have to cope with: Different languages for different purposes Different languages for different purposes Highly distributed systems. Highly distributed systems.

11 User Interface A challenging area. Growing complexity. A challenging area. Growing complexity. We are comfortable with Engineering UI development We are comfortable with Engineering UI development We do not have skills for good Operator UIs We do not have skills for good Operator UIs Java and Tcl/Tk the most used. Java and Tcl/Tk the most used. GUI builders are not adequate GUI builders are not adequate Rapid prototyping: necessary, but with a dark side Rapid prototyping: necessary, but with a dark side We cannot afford specialized UI development teams. We cannot afford specialized UI development teams.

12 Conclusion New facilities are NOT scaled up versions of existing ones. Paradigm changes may be required Analysis of control system evolution in observatories is on-going Analysis of control system evolution in observatories is on-going We have identified clear common trends We have identified clear common trends We aim at: We aim at: Sharing lessons learned Sharing lessons learned Identifying areas for cooperation Identifying areas for cooperation Sharing architectural elements and infrastructure Sharing architectural elements and infrastructure Cooperation is made easier by international collaborations and the open source movement. Cooperation is made easier by international collaborations and the open source movement.

13 Questions?ESO – W.M.Keck Observatory Gemini Observatory ALMAhttp:// ATSThttp://atst.nso.edu LSSThttp:// Thirty Meter Telescope Web Links The authors represent just a subset of the projects in astronomy. Many more colleagues in the astronomical observatory community have given their ideas and time as we have developed this paper.