Your SlideShare is downloading. ×
SPI Software Process
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

SPI Software Process

431
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
431
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SPI Software Process & Infrastructure http://spi.cern.ch EGEE France - 11 June 2004 Yannick Patois yannick.patois@cern.ch SPI Services Overview General Services CVS service External Software Web Portal Collaborative Facilities Task Management Mailing Lists Software Development Development Coding Analysis and Design Release Quality Assurance Testing Specifications Deployment and Build systems Documentation Installation Provide General Services needed by each project • CVS repository, Web Site, Software Library • Mailing Lists, Bug Reports, Task Management, Collaborative Facilities Provide solutions specific to the Software Development phases • Tools, Templates, Policies, Support, Documentation, Examples Y.Patois SPI - Software Process & Infrastructure 2 1
  • 2. SPI Project Guidelines • Have different and separated services - Simple solutions, easy to learn, commonly needed services - Leave any process for later • Work with the users • 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 (G4, Root, etc) • We did not start from tools for requirements, design, etc. • We started from development-related work - repository, releases, testing, bug report, etc The rest of the talk describes SPI services Y.Patois SPI - Software Process & Infrastructure 3 SPI Services (April 2004) • External Software • CVS server and AFS management • Savannah Project Portal for LCG App. Area • Testing Frameworks • Code Documentation (doxygen, lxr, viewcvs) • Development of LCG policies, templates • Automatic Nightly Build (Nicos) • QA checklists and reports • Software Librarian, builds and releases (new, was Scram • Software Distribution support) • LCG Software Configuration • Documentation and LCG Workbook Y.Patois SPI - Software Process & Infrastructure 4 2
  • 3. SPI Web Site - http://spi.cern.ch Y.Patois SPI - Software Process & Infrastructure 5 SPI External Software Service • We install software needed by The platforms, are those needed by projects. the users • Open Source and Public Domain • Linux RedHat 7.3 and compilers software (libraries and tools) - gcc 3.2 and 3.2.3 like: (rh73_gcc32) • Compilers (icc, ecc) - icc 7.1 (rh73_icc71) • HEP made packages - ecc 7.1 (rh73_ecc71) • Scientific libraries (GSL) • Windows • General tools (python) - Visual Studio .NET 7.1: • Test tools (cppunit, qmtest) (win32_vc7). • Database software (mysql, • Mac OSX (osx103_gcc33) mysql++) • Documentation generators • Platforms always been reviewed (lxr, doxygen) • We also provide configuration • XML parsers (XercesC) and installation area • There are currently 50 different • A unique AFS location packages, plus others under evaluation. For more than 300 • Standard structure installations package_name/version/ platform/package_ content Y.Patois SPI - Software Process & Infrastructure 6 3
  • 4. External Software – http://spi.cern.ch/extsoft Y.Patois SPI - Software Process & Infrastructure 7 SPI Savannah Portal Service • Functionality: • What SPI changed • Bug tracking • installation from GNU, general • Task management bug fixing and improvements • Mailing lists, news, faqs • integration with AFS • Access to CVS repository authentication • Download area, etc • Integration with standard services already available • The Web portal for software projects • Customized from GNU • What SPI does (SourceForge as origin) • administration (project approval) • maintenance (submitted bugs) • Totally web based • development (support requests) • Single entry point to all projects • Status • Uniform access to project • >90 hosted projects information • >650 registered users • Set up common web infrastructure for a project without coding Y.Patois SPI - Software Process & Infrastructure 8 4
  • 5. Savannah Service – http://savannah.cern.ch Y.Patois SPI - Software Process & Infrastructure 9 SPI Testing 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) Automated testing SPI provides Software testing Use in Exp. • Test frameworks Acceptance test LHC • CppUnit, Oval experiments Examples • Qmtest System test Sw-testing System • Test support team Tests • Test policies Integration test Software Integration • Test doc developer Tests Unit test Work Package Test • Different platforms/compilers Y.Patois SPI - Software Process & Infrastructure 10 5
  • 6. Testing Support – http://spi.cern.ch/testing Y.Patois SPI - Software Process & Infrastructure 11 Quality Assurance Service - http://spi.cern.ch/qa • The main goal of QA activity help sw projects • 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 Y.Patois SPI - Software Process & Infrastructure 12 6
  • 7. Quality Assurance Activities QA Checklist on each Release QA Reports • Build the release • Run automatic tests • Automatic reports • Statistics • Generated at every release • Test Inventory • Published on the SPI web site • Documentation/Examples Inventory • Savannah Statistics • Code Inventory • Soon be generated by anybody • Rule Checker , Logiscope from the web • LCG Policies • Configuration of a build system • CVS directory structure • Evaluation and usage of external • Well-defined, transparent, open tools • clear rules and checklist of assessed • Rule Checker items • Logiscope, Test coverage • anybody at anytime may see statistics • SLOC, Valgrind, ignominy • create reports themselves • anybody may contribute Y.Patois SPI - Software Process & Infrastructure 13 QA Reports Y.Patois SPI - Software Process & Infrastructure 14 7
  • 8. SPI Software Distribution Service • Simple solution to use • Simple tool to install • local installations (external sites, • successful for users: laptops,...) - POOL @ Karlsruhe • using simplest approach - BNL nightly builds, CMS • python downloader + tar format - developers at home, etc • replicate the central AFS tree (in a optimized way) • very easy to use and • package dependency from reliable SCRAM • Different use-cases should • ...until a complete, long-term have different solutions solution available • Our tool is adequate as a temporary solution for LCG • Looking into pacman as a Application Area Distribution suitable solution • but long-term solutions must be • SPI will adopt what Grid investigated: Deployment decides to - pacman, LCFGng .... provide Y.Patois SPI - Software Process & Infrastructure 15 Software Distribution – http://spi.cern.ch/lcgsoft Y.Patois SPI - Software Process & Infrastructure 16 8
  • 9. Summary • The set of services is working and fully available • Savannah Project Portal • Software Testing • External Software Service • Quality Assurance and Policies • Software Distribution • …and many more • We have followed a simple strategy • Work with the users • Ask their help • Develop as little as possible in order to have little maintenance • Provide simple and modular solutions • We have commitment to provide a sustainable service • Most people moved on to new projects, as it was planned • The services are used by LCG projects, and many outside LCG (LHC experiments, EGEE JRA1, IT department, etc.) • The services are generic and to some extend customizable by SPI according to EGEE needs Y.Patois SPI - Software Process & Infrastructure 17 9