Jeff Kern NRAO/ALMA.  Scaling and Complexity ◦ SKA is not just a bigger version of existing systems  Higher Expectations  End to End Systems  Archive.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Copyright © 2001 Bolton Institute Faculty of Technology Multimedia Integration and Applications Lecture 9: Production Management Damien Markey.
Monitoring and Pollutant Load Estimation. Load = the mass or weight of pollutant that passes a cross-section of the river in a specific amount of time.
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
Defining the Activities. Documents  Goal Statement defines why helps manage expectations  Statement of Work what gets delivered defines scope  Software.
Implementation of Project Governance at the Center Level
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
1 First, some interesting numbers: ~2,000 ~80 2 >200 [To be defined on March 23]
Effective Methods for Software and Systems Integration
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Hunt for Molecules, Paris, 2005-Sep-20 Software Development for ALMA Robert LUCAS IRAM Grenoble France.
Complexity Optimization Strategic advantage via cutting edge mathematical optimization technology.
Software Project Management
Configuration Management T3 Webinar Feb 21, 2008 Chuck Larsen ITS Program Coordinator Oregon Department of Transportation.
Software Testing Life Cycle
RUP Implementation and Testing
Understand Application Lifecycle Management
50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
The ALMA Software and Release Management Ruben Soto Software Operations Group & Release Manager Joint ALMA Observatory.
ALMA Software B.E. Glendenning (NRAO). 2 ALMA “High Frequency VLA” in Chile Presently a European/North American Project –Japan is almost certainly joining.
Copyright 2008 Introduction to Project Management, Second Edition 2  Many people have heard the following sayings: ◦ If you fail to plan, you plan to.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
Ruth Pordes November 2004TeraGrid GIG Site Review1 TeraGrid and Open Science Grid Ruth Pordes, Fermilab representing the Open Science.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
N. RadziwillEVLA Advisory Committee Meeting May 8-9, 2006 NRAO End to End (e2e) Operations Division Nicole M. Radziwill.
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
1)History of water fall model. 2)Features of water fall model. 3)Phase of water fall model. 4)Brief description of phases. 5)Advantages. 6)Disadvantages.
State of Georgia Release Management Training
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 Software Maintenance and Evolution CSSE 575: Session 4, Part 2 Software Maintenance Process Steve Chenoweth Office Phone: (812) Cell: (937)
Gustaaf van MoorselEVLA Advisory Committee Meeting December 14-15, 2004 EVLA Computing End-to-end (E2e) software.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
What is a WBS? A Work Breakdown Structure is not a list of tasks, a schedule or an organization chart. Rather it provides the basis on which a task.
Prof. Shrikant M. Harle.  The Project Life Cycle refers to a logical sequence of activities to accomplish the project’s goals or objectives.  Regardless.
Software Engineering “Practical Approach”
Pragmatics 4 Hours.
How IoT Initiatives are Changing Product Development.
CMMI Q & A.
Computing Architecture
CSE 403 Software Engineering
The Effects on Development
Introduction to Computers
Software System Integration
Automated Testing and Integration with CI Tool
Logical Architecture & UML Package Diagrams
Presentation transcript:

Jeff Kern NRAO/ALMA

 Scaling and Complexity ◦ SKA is not just a bigger version of existing systems  Higher Expectations  End to End Systems  Archive Services  VO Applications

 Largest Ground Based Radio Astronomy Project  International Collaboration ◦ NAOJ / ESO / NRAO  Remote Deployment  Distributed Development

 In ALMA I would estimate at least a third of our issues have been just a configuration issue.  Configuration is a decentralized problem ◦ Depends on both development and deployment  Time Dependent ◦ Not constrained to a “Release Cycle”  Crosses many project boundaries ◦ Software, Hardware, Operations “Oh the code works fine, that’s just a configuration issue.”

 Computational tasks are usually easy. ◦ Interesting, lots of research on these types of problems. ◦ Centralized, one developer can usually solve the problem. ◦ Scaling can be a problem, but can design for it.  Information flow causes problems. ◦ Coordinating the information to be stored and agreeing on format. ◦ Synchronization across a large distributed system.

 In ALMA Configuration Depends on: o Hardware Engineer o Software System o Maintenance System o Scheduling System o Observing Preparation Tool o Operations Staff o Hardware Version o Firmware Version o Calibration Data o Software Version o Deployment Scenario  In ALMA Configuration is needed by:

 This is a project task, not just a computing team issue.  Comprehensive Requirements Capture. ◦ Strong, well staffed System Engineering team. ◦ Design the configuration management system with all stakeholders from start of project. ◦ Do a few key use cases in detail.  Interface Control Documents ◦ Need responsive change control system to be effective. ◦ Should include “Theory of Operations”

 ALMA’s Approach ◦ Concentrations of people in the larger teams with a few people at other locations to cross-pollinate. ◦ Smaller teams are fairly isolated. ◦ Some people split amongst teams.  Advantages ◦ Intra-team communication good. ◦ Collocated hardware and software expertise.  Disadvantages ◦ Us vs. Them mentality very easy to fall into. ◦ Integration and release is very difficult. ◦ Split effort is less effective.

 The advantages of collocating a team are too great to ignore.  Break down the “Us vs. Them” mentality by forming cross team groups to deliver specific functionality. ◦ In ALMA jargon: Function Based Teams. ◦ 3-6 Month spans (ALMA targets 2 months) ◦ At least one, and sometimes two face to face meetings.  Could be expanded beyond the Computing team (i.e. a team to deliver a hardware component).

 Integration is the careful assembly of the software components into a working whole. ◦ More to this than a simple build and test process.  Integration team should know: ◦ What the software is supposed to do. ◦ How it is supposed to work. ◦ The use cases of the clients in detail. ◦ How to determine why it’s not working when it fails. I advocate transitioning the architecture team to an integration role as the system matures.

 Cannot commission a system from Scheduling Blocks. ◦ Low level hardware control ◦ Very different exception handling ◦ Different use cases.  Most Difficult Problems Come First ◦ Fastest data acquisition ◦ Debugging hardware and software simultaneously, need lots of monitoring and logging. ◦ Edge cases of the system, missing hardware etc. Mitigation: Invest in time travel?

 Configuration Management ◦ Project level issue ◦ Include this from the beginning ◦ Careful requirements capture with all stakeholders.  Distributed Development ◦ Integration Team ◦ Matrix Management  Commissioning Comes Before Operations ◦ Plan accordingly