LHC Computing Grid > LCG App Area > SPI Home

12-Nov-2004 16:26

SPI - Software Process & Infrastructure

SPI Quick Links

SPI Home
SPI Index Page

SPI Workbook
SPI Wiki

SPI Services Links

LCG Workbook

Savannah Portal
External Software
Software Testing

Build servers
Software Configuration

Software Download
Quality Assurance

LCG App. Area

Home Page
LCG Agenda

PI Project
POOL Project
SEAL Project
Simulation Project

SPI Project

External Links

EP Division
I T Division


LHC experiments


In collaboration with

since 04.04.2003

Project Description

1.1 Purpose

The goal of the project is to provide:

  • basic environment for physics SW development
  • general scientific libraries class libraries
  • software development tools
  • documentation tools and document templates
  • compiler expertise
  • support activity necessary to ensure that a common grid-enabled environment is available at all grid sites

The reason for such a Process & Infrastructure project is to have a homogeneity in the development of the different packages of the application area.

The reference for work of the project are the requirements specified in the document RTAG2 Final Report (6 May 2002): Managing LCG Software.

1.2 Deliverables

The project will deliver standard tools and templates for the different activities of software development (specification, design, development, testing, etc.).
It will also provide general services needed by LCG projects, such as CVS repositories, Web servers, software libraries.

1.3 Known problems and restrictions

The project aims at providing an infrastructure for the LHC Application Area projects but its work will be available to all CERN experiments that want to use its services. Priority will be given to the LCG project when resources will be overloaded.

1.4 Repository of the project

The CVS repository is reachable via a browser at the CVS repository interface.

Responsible person Alberto Aimar

2 Technology surveys

2.1 Contacts

The Babar Workbook

Fermilab: documentation and software

2.3 External references

Thoughts on Software process by T.Wenaus.

Thoughts on policy, process methodology, iterative development, coding, release process, automated builds, testing, software distribution and central support, platforms, coding standards and conventions, software metrics, documentation, tools, meetings and workshops, roles, immediate tasks, immediately needed facilities and infrastructure.

3 SPI Infrastructure

3.1 CVS repository structure overview

The SPI project repository is organized in the following way:

Components: Components on which SPI is working on.

Services: Services on which SPI is working on.

SpiInfrastructure: Development documents and artifacts used by the SPI project.

3.2 Mailing Lists

project-lcg-peb-spi@cern.ch is a CERN ListBox mailing list for the LCG SPI . You need a CERN mail account to get in and subscribe yourself via the Listbox Web Interface.

An alternative is to send mail to majordomo@listbox.cern.ch with 'subscribe project-lcg-peb-spi' in the content of the message. Or send an email to project-lcg-peb-spi-support@cern.ch and we subscribe you.

Mailing list of the LCG Application Area

The SPI project is part of the LCG Application Area, you may want to subscribe to its mailing list: project-lcg-peb-apps@cern.ch. Please look at the general Application Area page for how to subscribe to it.

4 Services and Components

This section contains links to the documents of each general service and components.

By all means we will use existing experience and services
available in the Laboratory and in HEP.

General Services
AFS delivery Area App. delivery area on AFS

CVS server

CVS server available to all LCG App projects, LCGapp server
Build Platform Platform to compile the LCG packages and run the global tests
Software Library Libraries used by the LCG projects, pre-installed for all supported platforms
Development tools Tools available to the LCG projects in order to use the SPI infrastructure
Web Server Web server for Developer and User Web


Send your ideas on any of the contents of this web
to project-LCG-PEB-SPI-support@cern.ch

All components are under review and discussion after the 12.9.2002 meeting.

Components Description
Coding Design Guidelines Simple guidelines for LCG SPI code development, naming, etc.
CVS Organization Structure for development, directory tree etc.Summary, without the survey part.
Testing Workpackage testing, Unit testing, test descriptions
Code documentation Doxygen, LXR, CVSweb, ViewCVS, etc. for browsing code and derived information

Memory testing

Check for memory leaks.
Software Documentation Simple set of small templates to document projects and workpackages, releases and documentation.
Configuration Management Release and tagging strategy, with tool support
Development Web Internal web for a software project
External Users Web Web for the users of the package/project (could merge with previous)
Nightly builds Automatic build system
Bug reporting Forms and tools to manage bug and user feedback
Planning material Templates for project plan, project reports, risk management, etc.
User specifications Use cases, user stories, user requirements, etc.
Software Design Design templates and patterns, design documentation, Esc
Development Process The above components is a seamless but simple process or list of practices