CERN Accelerating science

This website is no longer maintained. Its content may be obsolete. Please visit for current CERN information.

next up previous
Next: PAW Release Highlights Up: Application Software & Databases Previous: Application Software & Databases

Activities of the Application Software and Database Group

  A.M. Osborne CN/ASD


This article concerns the activities of the HEP programming part of the ASD group in CN. The infrastructure database component largely retains the activities described in a previous article (CNL 218).

The major components and themes of the group's activities have been centered on Data Analysis (PAW, Ntuples), Data Management (FATMEN, HEPDB), Simulation (GEANT3), Investigation of Parallel Architectures (GPMIMD-2 project) and of course CERNLIB. It should be stressed from the outset that a very large fraction of these activities has heavily relied on the active and important participation of many members of the HEP community, both at CERN and outside laboratories and institutions. Given that the group has only 12 full-time staff programmers, this collaborative working style will have to continue over the years if the necessary software is to be in place for the LHC startup. While we will often refer to the needs of the LHC experiments, it goes without saying that we intend to support the requirements of newer experiments such as NA48. The NA45 experiment has decided to move to the C++/object-oriented world in a much shorter time-frame than the LHC and much can thus be learnt in a physics production environment over the next few years.

Support for Current Experiments

The current software, known collectively as CERNLIB and which is largely FORTRAN and C based, is now basically put into maintenance mode. CERNLIB 96A, whose major new features were a new query processor for PAW, an event level-parallel GEANT3 (a fruit of the collaboration with the GPMIMD-2 project) and a code base now installed and maintained via CVS (Concurrent Versions System), will be the last FORTRAN release of the program library to contain major new features. In general, we expect to have future releases at a maximum rate of one per year, although this will principally be concerned with operating system changes and bug fixes. After extensive discussions with the current CERN experiments, we believe that this overall strategy is accepted in the user community. As announced in CNL 221, the major group effort for the current CERNLIB will, this year, be on providing a fully supported Windows/NT version. We intend to make a general clean-up of the library for NT (only) and not provide there tools or packages that are obsolete.

Future Strategy

CERN overall expects to shed approximately a quarter of its current manpower by the time of the LHC startup. We cannot expect to be immune from this attrition; indeed we have `lost' 2.5 full-time staff equivalents over the past year - through retirement and transfers to other divisions and the provision of manpower for coordination of CN activities with the LHC experiments. In order to cope with this and further diminution of the group's programming strength, and still be able to pursue the main themes of data analysis, data management, simulation and the evolution of CERNLIB, all of which are accepted as necessary for the LHC experiments, we are basing our future strategy on the following elements:

All new software development is being done in a framework of modern software engineering, employing, for example, ESA guidelines for the software process. We have bought heavily into the object-oriented technology and methodologies. The first step in any new development is the gathering of user requirements, a process that closely involves the physics experiments. Since the Computing Technical Proposals (CTP) of the LHC experiments are not yet finalised, the requirements gathering remains an ongoing process. The requirements phase is then followed by analysis and design with its relevant documentation. Output from work currently being done is also an input to the CTPs.

Principal themes being developed for the LHC-era

The group is now heavily engaged, together with the LHC experiments and other physicists worldwide, on providing components of the LHC era software environment based on object-oriented technology with C++ as the implementation language. The four main areas that we are pursuing, each of which relies on existing expertise within the group, are:

RD45: Data-management

The RD45 project, approved in February 1995, is investigating solutions to the problem of object persistence (frequently referred to as the "I/O" problem), for LHC-era HEP experiments. Strong emphasis has been placed on understanding whether standard, commercial solutions can be used as components in the eventual solution. The initial goals were to produce a requirements specification for the management of persistent objects typical of HEP data together with criteria for evaluating potential implementations, to perform an evaluation of the suitability of ODMG's Object Definition Language for specifying an object model describing HEP event data and, starting from such a model, develop a prototype using commercial ODBMSes and evaluate its functionality and performance.

The project has made two status reports to the LCRB - an interim status report in November 1995, and a full report in February of this year. At the time of the interim report, a rider was added to the requirements specification milestone: to produce a `Statement of Probable Capabilities' for a HEP persistent object management system based on commercial ODBMSes and large-market mass storage systems.

A document that addresses this milestone, as well as the status report produced for the February LCRB review, can be found via the RD45 Web page, accessible via the URL:

RD45 was recently approved for a second year, with the following milestones and comments:

The project has made excellent progress in identifying and applying solutions for object persistence for HEP based on standards and commercial products. The milestones set (as reviewed by the LCRB in November 1995) have been met.

The LCRB agrees with the programme of future work outlined in the RD45 report, and has identified several activities as particularly important. The LCRB recommends continuation of RD45 for a future year with the following milestones:


RD44 (GEANT4) is a world-wide collaboration of scientists aiming to re-design a major piece of CERN software within an object-oriented environment. The result of this development is continuously compared with the functionality of the current version of GEANT (3.21). This project is fundamentally testing the suitability of the object-oriented approach for simulation in HEP, where performance, flexibility and functionality are crucial issues. RD44 contributes to the production of a general framework for the LHC off-line software to complement other R&D projects more focused on reconstruction (MOOSE) and object persistency (RD45).

RD44 was approved in November 1994 for one year. During the first year the number of collaborators has doubled (to about 70) and many of the HEP laboratories and experiments in the world are participating in the project. In such a large, geographically dispersed collaboration, communication is an important issue. Frequent travel and video-conferences have helped to establish the needed communication channel.

The milestones set for 1995 were to produce a global object-oriented analysis and design of an improved GEANT simulation toolkit for HEP and develop in C++ a prototype of the geometry and tracking kernel, for geantinos and muons, and evaluate its performance.

User requirements have been collected and published according to the ESA PSS-05 standard. Three deliverables have been produced; the User Requirements document, the System charter statement and System function statement. The problem domain has been analysed, leading to the determination of the sub-domains listed below. Corresponding working groups have been set up according to the expertise and areas of interest of the collaborators. Finally, class categories and their dependencies have been identified, though a stable version of the corresponding deliverable was produced only after several design iterations.

Several object-oriented methodologies have been studied and the relative CASE tools have been used for evaluation. object-oriented Analysis and Design have been performed for each sub-domain, delivering the following documentation: the class diagrams, the class specifications and the scenario diagrams. RD44 concluded its first year of work by producing an initial prototype, the main elements of which include geometry functionality, tracking and event management, muon physics, GEANT3 to GEANT4 conversion, and tracking in STEP compliant BREP solids. The performance has been shown to be better than GEANT3 under equivalent conditions.

The conclusions of the review at the end of 1995 were that RD44 had successfully decomposed the task into sub-domains making effective use of the skills of the collaborators, that there was an efficient intercontinental collaboration which had attracted new collaborators with complementary skills and interests, and that there was a convincing indication that GEANT4 will be faster than GEANT3. The project has been re-approved for a second year, with the milestone of delivering a first working version for selected users by early 1997. The main activities required by the LHCC for next year are:

Further information can be found via the RD44 Web page, accessible via the URL:

New Group Structure

In order to reflect better the activities of the group, the organisational structure is now:

The LHC++ effort is a general activity within the group.

next up previous
Next: PAW Release Highlights Up: Application Software & Databases Previous: Application Software & Databases

Michel Goossens
CN Division
Tel. 3363
Thu May 30 20:08:07 METDST 1996