February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL1 How to progress fast towards a new OO HEP library? Some ideas on prerequisites and impediments.

Slides:



Advertisements
Similar presentations
Note: Lists provided by the Conference Board of Canada
Advertisements

© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Chapter 2 The Software Process
Maria Grazia Pia, INFN Genova 1 Part V The lesson learned Summary and conclusions.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
Software Configuration Management
Managing the Information Technology Resource Jerry N. Luftman
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Chapter 2 A Strategy for the Appraisal of Public Sector Investments.
Software projects Management & Development Alireza Saebi
Trigger and online software Simon George & Reiner Hauser T/DAQ Phase 1 IDR.
Capability Maturity Model
Effective Methods for Software and Systems Integration
SYSTEM ANALYSIS AND DESIGN
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
College Preparation : When and how much? Complete Learning Academy.
CPTE 209 Software Engineering Summary and Review.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
N By: Md Rezaul Huda Reza n
Project Management Chapter 3. Objectives Become familiar with estimation. Be able to create a project workplan. Understand why project teams use timeboxing.
Ianna Gaponenko, Northeastern University, Boston The CMS IGUANA Project1 George Alverson, Ianna Gaponenko, and Lucas Taylor Northeastern University, Boston.
REVIEW OF NA61 SOFTWRE UPGRADE PROPOSAL. Mandate The NA61 experiment is contemplating to rewrite its fortran software in modern technology and are requesting.
Designing a HEP Experiment Control System, Lessons to be Learned From 10 Years Evolution and Operation of the DELPHI Experiment. André Augustinus 8 February.
From Compensation and Benefits Review Jan/Feb 2000 Presented by Andrea Phillips and Alyssa Phillips.
Professional Software Engineering: Fact or Fiction -Steve McConnell and Leonard Tripp Reprinted: IEEE Software, November/December 1999 Software Engineering:
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
SOFTWARE REUSE 28 March 2013 William W. McMillan.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Georgia Institute of Technology CS 4320 Fall 2003.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse.
19 November 98 1 Jürgen Knobloch ATLAS Computing ATLAS Computing - issues for 1999 Jürgen Knobloch Slides also on:
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
3/30/04 16:14 1 Lessons Learned CERES Data Management Presented to GIST 21 “If the 3 laws of climate are calibrate, calibrate, calibrate, then the 3 laws.
RAVE – a detector-independent vertex reconstruction toolkit W. Waltenberger, F. Moser, W. Mitaroff Austrian Academy of Sciences Institute of High Energy.
Stephen Wolbers CHEP2000 February 7-11, 2000 OO Expertise for Fermilab Experiments Stephen Wolbers CHEP2000 February 7-11, 2000.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Not Invented Here: The Re-use of Commercial Components in HEP Computing Jeremy Walton The Numerical Algorithms Group Ltd, UK.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
SEAL Project Overview LCG-AA Internal Review October 2003 P. Mato / CERN.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Discussion - HITSC / HITPC Joint Meeting Transport & Security Standards Workgroup October 22, 2014.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Lecture VIII: Software Architecture
12 March, 2002 LCG Applications Area - Introduction slide 1 LCG Applications Session LCG Launch Workshop March 12, 2002 John Harvey, CERN LHCb Computing.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
Ianna Gaponenko, Northeastern University, Boston The CMS IGUANA Project1 George Alverson, Ianna Gaponenko and Lucas Taylor Northeastern University, Boston.
PCAP Close Out Feb 2, 2004 BNL. Overall  Good progress in all areas  Good accomplishments in DC-2 (and CTB) –Late, but good.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
12 March, 2002 LCG Applications Area - Introduction slide 1 LCG Applications Session LCG Launch Workshop March 12, 2002 John Harvey, CERN LHCb Computing.
Data Preservation in HEP Use Cases, Business Cases, Costs & Cost Models Grid Deployment Board International Collaboration for Data.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
System.
Chapter 11: Software Configuration Management
Tools of Software Development
Chapter 11: Software Configuration Management
Software Engineering I
Capability Maturity Model
Simulation and Physics
Capability Maturity Model
SEAL Project Core Libraries and Services
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Logical Architecture & UML Package Diagrams
Presentation transcript:

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL1 How to progress fast towards a new OO HEP library? Some ideas on prerequisites and impediments

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL2 Outline Disclaimer Some thoughts Summary and Outlook

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL3 Disclaimer This is not a talk about prerequisites: software project management software engineering software architecture data models I have no new ‘silver bullet’ to offer! go and read (one of many good books): “How to run successful projects II” by Fergus O’Connel

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL4 Disclaimer(2) This is only my biased, imperfect view. The whole talk is meant to trigger discussion.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL5 A few observations on software projects Fraunhofer Institute for Software and Systems Engineering (Berlin, Germany): 33% of software projects fail Of those which don’t fail: 80% last substantially longer than planned and cost more than estimated Track record in HENP is of the same order of magnitude!!

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL6 Software projects: A comparison If you want to build a summer house it is sufficient to employ a bricklayer who will do it using his experience. If you want to build a skyscraper or a bridge you need foremen, engineers, architects and an agreed process. Nobody would do it with a 1000 bricklayers only!!! (except physicists) A bridge lasts 100 years, very good software lasts years at most, much software in HEP experiments survives < 5 years.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL7 How to progress fast towards a new OO HEP library? Using OO in HENP for now is a fact, and a requirement. We should careful evaluate which parts are HENP specific. CERNLIB style libraries: Quite some code and algorithms are ‘reinvented’ over and over => incompatible

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL8 Fergus O’Connel: The silver bullet (1) Planning the [software, mka ] project 1: Visualize the goal; set your eyes on the prize 2: Make a list of jobs to be done 3: There must be one leader 4: Assign people to jobs 5: Manage expectations, allow a margin error, have a fallback position

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL9 Fergus O’Connel: The silver bullet (2) Implementing the plan/Achieving the goal 6: Use an appropriate leadership style 7: Know what is going on 8: Tell people what is going on 9: Repeat 1-8 until 10 10: The prize (“oh what fun, my job is done”)

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL10 Planning - 1: Visualize the goal A new OO HEP library?!! Contains all experiment-non-specific but HEP- specific algorithms Elements for common solutions for HEP problems Robust, debugged, available for different OS’s compatible to all or most commonly used non- HEP packages Leverage knowledge from public domain or IT industry allows HEP to concentrate on HEP-specific problems May need adaptation for HEP

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL11 Example: CMS Software Tasks This talk Why not have a HEP framework?

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL12 Issues for Core Software Types Non - HEP software Version evolution on multi-platforms Distribution and possible licensing Cost Long term availability of commercial product HEP Software Manpower costs for development and maintenance Technical requirements for “common items” Layered Architecture Standard Application Program Interfaces (APIs) Phasing: early linkage with key experiment-specific architecture decisions

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL13 Example: LHC ++ LHC++ is a HEP-wide effort to provide a suite of OO software covering roughly the functionality of CERNLIB Use public domain or commercial SW when appropriate Develop own HEP software if necessary Collect and distribute SW; take care of possible licensing Develop a well-engineered toolkit of software components Build interface layers for HEP usage Develop/acquire, maintain and replace components separately Build different applications from components Use standards and standard solutions Use of standards may help in maintaining and developing software over the long lifetime of the experiment LHC++ has ‘one big’ problem: already the name indicates that is it not meant to be a HEP-wide solution ;-)

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL14 LHC++ components Standard components C++ libraries, STL: Object Space Basic mathematics: NAG C library ODBMG database: Objectivity/DB Standard graphics: OpenGL, OpenInventor, Qt,... HEP components Simulation tools: Pythia7, Geant4 Data analysis, graphics, visualisation: HEPVis, HEPTags,… Mathematical libraries: Gemini, HEPfitting Histogramming: HTL Foundation level class libraries: CLHEP, HepODBMS

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL15 Planning - 3: There must be one leader A leader is required who can lead who is leading who is identified with the project and wants to be successful One and only one leader is required, not a committee. Bridges are not build by 1000 bricklayers who do what they want.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL16 Implementation - 7: Know what is going on Use the plan to guide the project.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL17 Implementation - 8: Tell people what is going on Progress reviews, updated ‘work-plans’ or WBS’s. Good and bad surprises should be published instantly in order to adapt.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL18 Implementation - 9: Repeat 1-8 until 10 Be prepared to take long term commitment to finish project there is no shortcut to finish the project without cutting back in requirements. need to compromise on short-term goals

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL19 Implementation - 10: The prize Now the maintenance starts: needs resources and commitment, again: conflict of interest for scientists who want to operate experiment and do HEP science. We have to get serious: Learn to involve professionals from IT disciplines (like engineers in detector building). HEP software designers needs a career path like detector designers and builders. We should assign a higher status to those who release their scientific code with open source licenses.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL20 How to progress fast towards a new OO HEP library? My preferred model is: an idea/goal is connected to a person (leader, PI) an approval process happens resources must be allocated at universities, IT-divisions, in experiments progress is tracked feedback and early buy-in by customers operations and maintenance phase must be covered. Use ‘silver bullet’ steps This is how experiments are build, also applied to successful software projects.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL21 How to convince experiments to use a new OO HEP library? Experience shows: It is hard to impossible to coordinate or enforce usage of common products. Different time-scales and decisions in experiments make common development difficult. Chance for Success: Persuade with good quality software and functionality. As systems become more complex, calculations that are verifiable in principle are not verifiable in practice without public access to the code. Authors of open scientific code should be recognized in the same way as they are recognized for scientific papers.

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL22 Summary and Outlook We have to develop and grow the understanding of the benefit of a common library to achieve a common long-term goal. Good ideas and leadership must be acknowledged and supported with resources. We want the best algorithms and modules available to HEP, this needs the best people! The academic career path for HEP software builders must be better developed. Publishing code should be equivalent to publishing a paper!

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL23 Planning - 2: Make a list of jobs to be done

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL24 Planning - 4: Assign people to jobs Each job has a name

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL25 Planning - 5: Manage expectations, allow a margin error, have a fallback position

February 8, 2000 CHEP2000, Padova M.Kasemann, FNAL26 Implementation - 6: Use an appropriate leadership style