Computing Technical Design Report

3.2 Methodology and Domain Decomposition

3.2.1 An Object-Oriented Methodology

ATLAS has adopted an object-oriented development methodology, based primarily on the C++ programming language, but with some components implemented using FORTRAN and Java. A component-based model has been adopted, whereby applications are built up from collections of plug-compatible components based on a variety of configuration files. This capability is supported by a common framework that provides common data-processing support. This approach results in great flexibility in meeting the basic processing needs of the experiment and in responding to changing requirements throughout its lifetime. The heavy use of abstract interfaces allows for different implementations to be provided, supporting different persistency technologies, or optimized for the offline or high-level trigger environments.

A rather light-weight development process has been adopted, with emphasis on guidance and use of automated tools and extensive testing and validation rather than a rigid enforcement of strict protocols. Experience has shown that such an approach is better matched to the primarily physicist developer community of a high-energy physics experiment than a heavy-weight process. However, there are clearly potential disadvantages to such an approach in the areas of robustness and reliability, and more emphasis has been placed on the formal development process in core areas of the software.

3.2.2 Domain Decomposition

Several orthogonal domain decompositions have been identified. The first spans the ATLAS detector subsystems:

The primary data-processing activities that must be supported for all of these detector subsystems are:

Further domain decompositions cover the infrastructure needed to support the software development activity, and components that derive from the overall architectural vision. The overall structure is the following:



4 July 2005 - WebMaster

Copyright © CERN 2005