The ALMA Software and Release Management Ruben Soto Software Operations Group & Release Manager Joint ALMA Observatory.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

ALMA Cycle 2 Capability Jongsoo Kim ALMA EA Korea node.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array The March to Early.
ITIL: Service Transition
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
ALMA: The March to Early Science Al Wootten, ALMA/NA Project Scientist Cometary Radio Astronomy.
ALMA TACand the proposal process Lister Staveley-Smith Member, ALMA Review Panel.
Object-oriented Analysis and Design
October 2005ALMA Cost Review1 Atacama Large Millimeter Array Science IPT Review Bilateral Project Scientists: Al Wootten, (Lead) Tom Wilson, (Deputy) Ryohei.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
CXC Implementing 2007 NRC Portals of the Universe Report Chandra X-ray Center Recommended Best Practices Roger Brissenden and Belinda Wilkes 25 April 2012.
December 2007Chile Observatories Earthquake Preparedness Workshop1 Atacama Large Millimeter/submillimeter Array ALMA Eduardo Donoso.
Hunt for Molecules, Paris, 2005-Sep-20 Software Development for ALMA Robert LUCAS IRAM Grenoble France.
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)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
ALMA Integrated Computing Team Coordination & Planning Meeting #3 Socorro, June 2014 New AM organization and improving the acceptance procedure Masao.
Descripción y Areas del Dpto. de Computación de ALMA (ADC) Tzu-Chiang Shen Gerente del Grupo de Software Departamento de Computación ALMA Joint ALMA Observatory.
ALMA Common Software Basic Track Introduction to the ACS Framework.
ALMA Common Software Basic Track Software Engineering Basics.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
ALMA Operations and the North American ALMA Science Center Al Wootten NRAO.
Workshop in ALMA Logs Prepared by Juan Pablo Gil – Arturo Hoffstadt
Software Integration and Test Techniques in a Large Distributed Project: Evolution, Process Improvement, Results Paola Sivera - ESO.
ICT Coordination and Planning Meeting #1 (17-19 April 2013) ALMA Dashboard 1.0 Giorgio Filippi The Atacama Large Millimeter/submillimeter Array.
EA ARC Ken Tatematsu East-Asian ARC Manager. ARC organization Difference between ARCS: NA: concentrated in Charlottesville Europe: distributed in different.
A Search for Hydroxlyamine (NH 2 OH) Towards IRC+10216, Orion-S, Orion(KL), SgrB2(N), SgrB2(OH), W512M, W3(IRS5) R. L. Pulliam NRAO / North American ALMA.
ALMA Integrated Computing Team Coordination & Planning Meeting #2 Santiago, January 2014 Control Group Planning Rafael Hiriart, Control Group Lead.
ALMA Software B.E. Glendenning (NRAO). 2 ALMA “High Frequency VLA” in Chile Presently a European/North American Project –Japan is almost certainly joining.
ALMA Common Software Basic Track Component implementation guidelines.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Doug Tody E2E Perspective EVLA Advisory Committee Meeting December 14-15, 2004 EVLA Software E2E Perspective.
Software Quality Assurance
N. RadziwillEVLA NSF Mid-Project Report May 11-12, 2006 NRAO End to End (e2e) Operations Division Nicole M. Radziwill.
ALMA Common Software Basic Track Test Driven Development Unit testing and TAT.
ALMA Common Software Basic Track Logging and Error Systems.
ALMA Common Software Basic Track A walk through ACS functionality.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
2007Sep06 EAC Butler - Software Overview 1 Software Overview Bryan Butler.
ALMA Polarization Commissioning and Verification Status Kouichiro Nakanishi (Joint ALMA Observatory/NAOJ) on behalf of ALMA Polarization Commissioning.
Early Science Specification and Expected Array Evolution Masao Saito EA ALMA Project Scientist EA PS Report1 2nd ALMA Users Meeting 2011/1/13.
Computing ALMA Board Meeting November 2015 Jorge Ibsen Head of ADC, ICT Lead Contributions from: ADC Management (JAO): Achermann, Parra, Saldias, Shen,
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array.
ALMA and the Call for Early Science The Atacama Large (Sub)Millimeter Array (ALMA) is now under construction on the Chajnantor plain of the Chilean Andes.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
N. RadziwillEVLA Advisory Committee Meeting May 8-9, 2006 NRAO End to End (e2e) Operations Division Nicole M. Radziwill.
Atacama Large Millimeter/ submillimeter Array - ALMA ASAC Charges For Oct 31 ASAC Report to ALMA Board Al Wootten JAO Interim Project Scientist.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
ALMA Common Software Basic Track Project Lifecycle.
ALMA Common Software Basic Track Configuration Database.
ALMA Common Software Basic Track Component/Container Model and Lifecycle Management.
Charlottesville, November ALMA CSV Update Alison Peck Current status.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Jeff Kern NRAO/ALMA.  Scaling and Complexity ◦ SKA is not just a bigger version of existing systems  Higher Expectations  End to End Systems  Archive.
Dashboard upcoming features A Hales, ALMA and M Chavan, ESO
TK2023 Object-Oriented Software Engineering
ACA TP Spectrometer Manabu Watanabe (NAOJ)
ALMA Common Software Basic Track
ALMA Software Scheduling subsystem Planning for cycle5 onwards
From delivery to acceptance
PRTS & KPI Nick Whyborn – Vasco Cortez
Shift Log Tool Refactoring
Obsprep Planning, 2017 Alan Bridger
Upgrade to Oracle12c in February 2017 José Parra
ACS ALMA Common software Demo Setup
Welcome K. Y. Lo Director, NRAO
Atacama Large Millimeter Array Science IPT Review
Presentation transcript:

The ALMA Software and Release Management Ruben Soto Software Operations Group & Release Manager Joint ALMA Observatory

Agenda 1.ALMA Software Components (Structure and Division) 2.Software Delivery Process (History, Present and Evolution)

1. ALMA Software Components

ALMA Software Components ALMA software components cover end to end system to operate the observatory. From the cradle… Proposal Preparation Proposal Review through infancy to adulthood … Program Preparation Dynamic Scheduling of Programs Observation Calibration & Imaging Data Delivery & Archiving up to afterlife: Archival Research & VO Compliance

ALMA Software Components ALMA software components are classified as part of ONLINE or OFFLINE subsystems by depending of their functionality.

Data flow

Offline Software Proposal submission, project rating and preparation, projects lifecycle and general observatory interfaces are considered part of the OFFLINE software. Several web tools have been created for different purposes. They are basically: Based in Java Servlet technology (and ZK platform). Using Apache tomcat as servlet container. Using https protocol for data security. Some examples of offline tools are..

Offline Tools ALMA-OT: Proposal submission and observation preparation

Offline Tools Project Tracker: Tracking project lifecycle

Offline Tools Phase 1 Manager (ph1m): Project rating

Offline Tools Shift Log (Web): Tracking observatory operations

Online Software The purpose of the online software is to monitor and control the ALMA telescope and to execute scheduling blocks from approved scientific observing projects. Online software (applications) are implemented: Over distributed framework based on CORBA and developed for ALMA Observatory: ALMA Common Software (ACS). ACS provides component communication, error and exception handling, alarm system, etc. Applications are programmed on C++, Java and Python languages Hardware response is managed by real time operating system (RTAI).

Online Software Online software consider the following subsystems: ACS, CONTROL, BL CORR, ACA CORR, TELCAL, SCHEDULING and PIPELINE Infrastructure. PIPELINE heuristics and data reduction software (CASA) are not considered as part of ALMA Software

Or in simpler terms

Online Software Architecture (physical)

ALMA Sites in Chile ONLINE CTRL/BL-CORR ONLINE TELCAL ONLINE ACACORR OFFLINE ONLINE ACACORR ONLINE ACACORR ONLINE ACACORR INTEGRATION & TESTING The ALMA Development and Operations Centers

2. Software Delivery Process

Beginning of ALMA Software releases were delivered every 6 months, each one contained lots of new functionality at ONLINE and OFFLINE sides. Testing was executed at the developer centers and integration was done at the operational site. Testing was focused only at the core functionality (regression tests) but not at the new one added. New functionality verification was delegated to science groups.

Beginning of ALMA Simulation was not mature to isolate a significant number of integration problems! -> Several errors were found when using production hardware (i.e. array elements!) increasing the cost of correcting them. Too many changes were introduced while integrating, adding instability to a already fragile system. Release stabilization took months before being ready for science commissioning.

Introducing Changes Increase delivery frequency Originally from every six months to bi-monthly schema (including testing and integration) Reduce scope per release Features must be ordered according to observatory milestones (proposal submission, project rating, start cycle observations, etc). Define clear software delivery phases adding a formal handover between each phase Introduce two (new) roles: Release Manager and Acceptance Manager

Introducing Changes Define clear software delivery phases adding a formal handover between each phase Phase A: Implementations and developer tests Phase B: Verification by Integration & Testing Team (Computing) Phase C: Validation by commissioning team (Science) Formalize negotiation about release contents, deadline and software acceptances Introduce two roles: Release Manager (Computing) and Acceptance Manager (Science)

Example of Release Content

Incremental Release Process (Today) Incremental process allowed also optimizing tests resources, including developers, testers, and client testers Release Manager is responsible of incremental release calendar and negotiate release contents with acceptance manager

Software Acceptances Incremental releases are accepted for science milestones (cycle-X proposal, project rating, start cycle-X observing) : According to observatory’s milestones Incremental releases have passed verification and validation phases Acceptances tests have been successfully carried on. Acceptance Process has the following steps: Test Report Review Acceptance Testing Acceptance Meeting Software deployment on production environment (JAO and ARCs)

Software Acceptances Acceptance Manager is responsible for creating acceptance calendar according to observatory milestones.

Incremental and Accepted Release Schedule

Software Requests Once a release is accepted for science observations all changes are controlled. Software Configuration Control Board (SCCB) is responsible for approving or rejecting software requests. SCCB is compound by science, engineering and computing representatives SCCB meets once per week for resolving software requests. Software requests involves: Database persistent model changes. Software patches Service releases (whole application updates) Change requests (changes at the software tools)

The Future ALMA is transitioning from construction to operations: Less access (technical time) to the operational HW (testing). Continuous operation will require software robustness instead of new functionality. Software should be more stable. Operational model will impact SW delivery process: Less testing time with access to operational HW. Simulation capabilities should be improved. Number of features will decrease per release. A more agile paradigm can be implemented.

Transition to Agile Approach Continuous integration model: There is a stable (“accepted”) branch used for science observations. Developers commit new features in their local repository (or branches) as a software patch compatible with integration branch. Patch is scheduled to be verified by Integration & Testing team during a time slot of a technical time. If feature passed verification; it is committed into the integration branch. Otherwise, patch is rejected to be integrated and scheduled for a new technical time.

Continuous integration model: After verification, feature must be validated by Science group from integration branch. If validation success, a new accepted branch is created from the integration branch and used for science observations. Otherwise, accepted branch remains the same until fix problems with the new features. Note this model does not require acceptance process but… Transition to Agile Approach

Agile Approach Workflow

Considerations This model will require more discipline from developers, testers and science commissioning team. Developers must schedule the features according to Observatory milestone well in advance (specially big or difficult ones) Verification phase start early in order to get the features working fine for validation. High (and quick) interaction between tester and developers is expected Scientists must be available for complete validation and get the new software ready for science observations.

A verification phase under simulated environment can be added preliminary to the operational HW testing (online system). Online system validation usually takes many time before be declared as success, so it will require special validation period (less “agile”). Offline software still produced big number of features improvements. Considerations

The Atacama Large Millimeter/submillimeter Array (ALMA), an international astronomy facility, is a partnership of Europe, North America and East Asia in cooperation with the Republic of Chile. ALMA is funded in Europe by the European Organization for Astronomical Research in the Southern Hemisphere (ESO), in North America by the U.S. National Science Foundation (NSF) in cooperation with the National Research Council of Canada (NRC) and the National Science Council of Taiwan (NSC) and in East Asia by the National Institutes of Natural Sciences (NINS) of Japan in cooperation with the Academia Sinica (AS) in Taiwan. ALMA construction and operations are led on behalf of Europe by ESO, on behalf of North America by the National Radio Astronomy Observatory (NRAO), which is managed by Associated Universities, Inc. (AUI) and on behalf of East Asia by the National Astronomical Observatory of Japan (NAOJ). The Joint ALMA Observatory (JAO) provides the unified leadership and management of the construction, commissioning and operation of ALMA. Thanks! Questions? Further information: Contact point: