lhcblogo.gif (8544 bytes)

Architecture Review
LHCb software strategy

 

Architecture

We are convinced of the importance of the architecture, by which we mean the identification of software components, the definition of their interfaces and the relationships among them. As soon as we can specify the components we need, we will look to see what components exist that can be reused. These components can be commercial (e.g. Objectivity, IrisExplorer, OpenInventor) or the result of HEP-specific developments ( e.g. GEANT4, WIRED, ROOT,...). In the case that we have specific needs we will develop the components ourselves.


Frameworks

According to Joe Sventek (Barcelona March '97) , "a framework is an artefact that guarantees the architecture is respected". Frameworks will be assembled from the components developed and used to provide templates for specific applications developed by LHCb physicists and engineers. Examples of frameworks include those for event reconstruction, simulation, interactive data analysis, algorithm development, data quality monitoring and event display. The use of frameworks will help to ensure a common approach is taken in different domains and will encourage the application of good principles system-wide.


Incremental Development

We will use an incremental approach to development. Our aim is to implement a first version of the software framework by the end of '98 which will allow those developing pattern recognition algorithms to access simulated events via the transient event component. We will then gradually add functionality with aim of making a new release approximately every two months. The aim of this approach is to keep the development effort driven by the needs of the physicists and to give them real code such that they can provide rapid feedback. In this way we hope to keep both the engineers developing the frameworks and the physicists developing the algorithms working closely together and, at the same time, smooth the transition to using OO programming methods.