Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” 28-30 June 2004.

Slides:



Advertisements
Similar presentations
SP Business Suite Deployment Kick-off
Advertisements

Project Management Summary Castor Development Team Castor Readiness Review – June 2006 German Cancio, Giuseppe Lo Presti, Sebastien Ponce CERN / IT.
Developing the NSDL User Portal Dean Krafft, Cornell University
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
MSc Education Supporting Infrastructure Emil Doychev Vladimir Valkanov University of Plovdiv Bulgaria.
Simulation Project Organization update & review of recommendations Gabriele Cosmo, CERN/PH-SFT Application Area Internal.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
Quality Assurance and Testing in LCG CHEP 2004 Interlaken, Switzerland 30 September 2004 Manuel Gallas, Jakub MOSCICKI CERN
SPI Software Process & Infrastructure GRIDPP Collaboration Meeting - 3 June 2004 Jakub MOSCICKI
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing LCG Applications Area GridPP 7 th Collaboration Meeting LCG/SPI LCG.
SPI Software Process & Infrastructure Project Status Application Area Review – 30 March 2005.
EMI INFSO-RI EMI SA2 Report Quality Assurance Alberto Aimar (CERN) SA2 WP Leader.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
EMI INFSO-RI EMI Quality Assurance Processes (PS ) Alberto Aimar (CERN) CERN IT-GT-SL Section Leader EMI SA2 QA Activity Leader.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Yannick Patois – CVS and Autobuild tools at CCIN2P3 – hepix - October, n° 1 CVS setup at CC-IN2P3 and Datagrid edg- build tools CVS management,
J.T Moscicki CERN LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Software Packaging and Distribution LCG Application.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 Software Process panel SPI GRIDPP 7 th Collaboration Meeting 30 June – 2 July 2003 A.Aimar -
The LCG SPI project in LCG Phase II CHEP’06, Mumbai, India Feb. 14, 2006 Andreas Pfeiffer -- for the SPI team
L. Mancera IT/API LCG SPI project: Code documentation1 Code Documentation Luis Mancera LCG Software Process & Infrastructure (CERN, 10/23/02)
Proposal for the new group web infrastructure SFT Group meeting 3/7/2009 Yves Perrin.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
LCG-SPI: SW-Testing LCG AppArea internal review (20/10/03)
20/09/2006LCG AA 2006 Review1 Committee feedback to SPI.
Feedback from the POOL Project User Feedback from the POOL Project Dirk Düllmann, LCG-POOL LCG Application Area Internal Review October 2003.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects Overview A.Aimar EP/SFT CERN LCG Software Process.
SEAL Project Core Libraries and Services 18 December 2002 P. Mato / CERN Shared Environment for Applications at LHC.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
Feedback from LHC Experiments on using CLHEP Lorenzo Moneta CLHEP workshop 28 January 2003.
Servicing HEP experiments with a complete set of ready integrated and configured common software components Stefan Roiser 1, Ana Gaspar 1, Yves Perrin.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
SEAL Project Overview LCG-AA Internal Review October 2003 P. Mato / CERN.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview LCG Application Area Internal.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
Collaborative Development Services Learning From the Open Source Agile Development Process Richard Kilmer, InfoEther LLC.
1 Comments to SPI. 2 General remarks Impressed by progress since last review Widespread adoption by experiments and projects Savannah, ExtSoft Build system.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects GRIDPP 7 th Collaboration Meeting 30 June – 2 July.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects Status and work plan for H July 2003 A.Aimar.
News from EP SFT John Harvey FOCUS Meeting – October 3 rd 2003.
A. Aimar - IT/API LCG - Software Process & Infrastructure1 SPI - News and Status Update CERN,
J.T Moscicki CERN LCG - Software Process & Infrastructure1 Quality Assurance LCG Application Area Internal Review October 2003 Jakub T. Moscicki.
SPI Software Process & Infrastructure Project Plan 2004 H1 LCG-PEB Meeting - 06 April 2004 Alberto AIMAR
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
EMI INFSO-RI SA2: Quality Assurance Status Report Alberto Aimar(SA2) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure SPI Infrastructure for LCG Software Projects CHEP 2003 A.Aimar EP/SFT CERN LCG Software Process.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview (38 slides, 22 screen dumps)
Comments on SPI. General remarks Essentially all goals set out in the RTAG report have been achieved. However, the roles defined (Section 9) have not.
SPI Report for the LHCC Comprehensive Review Stefan Roiser for the SPI project.
Application Support Environment Based on experience in High Energy Physics at CERN Presented at the UNESCO/CERN Workshop April 2002 Jürgen Knobloch.
SPI Infrastructure for LCG Software Projects
SPI external software build tool and distribution mechanism
SPI Software Process & Infrastructure
LCG Software Quality Assurance
Leanne Guy EGEE JRA1 Test Team Manager
Design and Implementation
LCG Monte-Carlo Events Data Base: current status and plans
User Feedback from SEAL
First Internal Pool Release 0.1
Module 01 ETICS Overview ETICS Online Tutorials
Presentation transcript:

Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” June 2004 Alberto Aimar SPI: Software Process & Infrastructure

A.Aimar Software Engineering 2 Overview of software development activities Users profiles Most of the developers and users develop software for their work, for themselves or for their group Thousands of end-users write their own software and have a lot of hands-on experience in their domain Experiments infrastructures Each experiment has its software infrastructure and standards To suit specific experiment’s needs Tools and languages All languages are used C++, Java, Python, Perl, Fortran, shell programming, etc All products in all domains are used Widely used frameworks (Geant 4, Root, etc) Software organization Each experiment has its own software organization Human factor is extremely important, projects are made of people Different organizations and with different cultures Is a very diverse and heterogeneous environment to support But is also an intellectually rich environment, where users know a lot and can give a lot of help and advice

A.Aimar Software Engineering 3 Example: Context of LCG App.Area software SPI:LCG Infrastructure Common services Similar ways of working Tools, templates, training General QA and tests LCG Application Area LCG Application Area software projects SEAL: Core common software POOL: Persistency PI: Physics Interfaces SIMU: Simulation …etc… LHC core packages and frameworks (LHC experiments, ~ hundred developers) LHC end- user applications Thousands of users, writing software Hundred institutes, universities

A.Aimar Software Engineering 4 Software Engineering activities General services needed by each project CVS repository, Web Site, Software Library, Procurement Mailing Lists, Bug Reports, Task Management, Collaborative Facilities Solutions for the software development phases Tools, Templates, Policies, Support, Documentation and Examples Coding Analysis and Design Development Release Specifications Testing Build systems Deployment and Installation Documentation Quality Assurance Software DevelopmentGeneral Services CVS service Collaborative FacilitiesTask ManagementMailing Lists Web Portal External Software

A.Aimar Software Engineering 5 Our approach to Software Engineering/Development Have different and separated services -Simple solutions, easy to learn, commonly needed services -Leave any process for later Develop as little as possible Establish simple deliverables Everything is done starting from existing infrastructure -LCG and LCG projects (Pool, Seal, etc) -LHC experiments -IT division -Big projects (Geant4, Root, etc) We did not start from tools for requirements, design, etc. We started from development-related work -repository, releases, testing, bug report, etc Work with the users, learn from them

A.Aimar Software Engineering 6 Example of services (provided for LCG App.Area) External Software Installations Savannah Project Portal Testing Frameworks Development of policies, templates QA checklists and reports Software Distribution CVS server and release area management Code Documentation (doxygen, lxr, viewcvs) Software Configuration Software Librarian, builds and releases Documentation and Workbook Standards  Examples of a few services follow

A.Aimar Software Engineering 7 External Software Service We install software needed by projects Open Source and Public Domain software (libraries and tools) like: Compilers (icc, ecc) HEP made packages Scientific libraries (GSL) General tools (python) Test tools (cppunit, qmtest) Database software (mysql, mysql++) Documentation generators (lxr, doxygen) XML parsers (XercesC, gccxml) There are currently 50 different packages, plus others under evaluation. For more than 300 installations The platforms, are those needed by the users Linux RedHat 7.3 and compilers -gcc 3.2 and (rh73_gcc32 and gcc323) -icc 7.1 (rh73_icc71) -ecc 7.1 (rh73_ecc71) Windows -Vis. C++ 7.1: (win32_vc71). Mac OSX (osx103_gcc33) Platforms always been reviewed We also provide configuration and installation area A unique location Standard structure package_name/version/ platform/package_ content

A.Aimar Software Engineering 8

A.Aimar Software Engineering 9 Build and software configuration SPI provides a common configuration for all releases of LCG software Which versions of all packages that are used for any given release This is done following the decisions of the LCG Application Area and the needs of the LHC experiments projects If the release does not provide a clear configuration the software layers above will even not be able to build The role of a central software librarian is to coordinate the software builds and distribution for all supported platforms The experiments build using different build systems developed in house We do the build using one of those systems Work is going on to study other solutions not developed in house (autoconf/automake tools) We support and generate information for all build systems used by the experiments Because the experiments need to have the configuration for building their software with their own tool

A.Aimar Software Engineering 10 Integration Tests System Tests Examples Software testing Integration test System test Acceptance test Unit test Software developer Sw-testing team LHC experiments Use in Exp. Work Package Test Automated testing Testing and QA Services Software testing should be an integral part of the software development The goal was to provide something that can be run automatically as often as needed (releases, development, etc) SPI provides Test frameworks CppUnit, PyUnit, Oval Qmtest Test support Test policies Test doc Different platforms/compilers

A.Aimar Software Engineering 11 Quality Assurance Service - QA activity is to help the projects not to control them assess and improve the quality of the software provide tools to collect useful metrics/statistics which help to asses quality; generate reports; verify if project setup is correct with policies. QA Tools and Focus Automatic reports Development/integration of automatic tools QA Checklist on each Release Build the release Run automatic tests Code and Test Inventory Documentation/Examples Inventory Savannah Statistics LCG Policies Configuration of a build system CVS directory structure

A.Aimar Software Engineering 12 Example of QA Report

A.Aimar Software Engineering 13 Savannah Portal Service Functionality: Bug tracking Task management Mailing lists, news, faqs Access to CVS repository Download area, etc The Web portal for software projects Customized from GNU (SourceForge as origin) Totally web based Single entry point to all projects Uniform access to project information Set up common web infrastructure for a project without coding What we changed installation from GNU, general bug fixing and improvements integration with AFS authentication Integration with standard services already available What we do administration (project approval) maintenance (submitted bugs) development (support requests) Status >90 hosted projects >700 registered users

A.Aimar Software Engineering 14 Savannah Service –

A.Aimar Software Engineering 15 Experience with open source Savannah is an example of using a tool from an open source project Our specific developments were all done by us One needs to invest manpower to participate and follow the project closely You do not find ‘volunteers’ to implement what you need: you have to do it Important to establish a collaboration with the open source developers A lot of these project depend on the “openness” of the developers outside our control: we invite the open source main developer once a year One has to know that still there is work to keep up with the software No control on the products and on the features, little influence on how and when releases are done But is adaptable to our needs and we can integrated it in our environment (user registration, files access, etc) Is a good starting point for specific improvements One would have discussed for months even before starting a savannah-like product Another advantage is that the product/company will not disappear So even if we do not control it we know that will still be there

A.Aimar Software Engineering 16 Summary on Software Engineering services Software Engineering is widely spread, in an non-uniform way Different projects focus on different aspects Depends on the needs of the project and on the people involved There is a set of services that recently have been set up and are used by several projects and experiments External Software Service Quality Assurance and Policies Savannah Project Portal Software Testing Software Configuration,…etc Provide simple and modular solutions so that projects and experiments can choose and pick what to use The services are generic and to some extend customizable by the individual projects Follow a simple strategy Work with the users and ask for their help Develop as little as possible in order to have little future maintenance For more information on SPI: