The aim is to outline the requirements of future software, to assess which pieces are already available today and to start sketching the road ahead.
Where we are:
- Current frameworks: Examine the functionalities provided by the Gaudi and Allen frameworks, including memory management, algorithm scheduling, event loops, multi-threading support, etc.; as well as the integration and compatibility with Geant4, generators and analysis-related ecosystems.
- Infrastructure: Assess available testing, debugging, and profiling tools, along with infrastructure for machine learning integration.
Where others are and want to go:
- Within HEP: How did other HEP experiments design their software frameworks, what are their requirements and plans for the future?
- Beyond HEP: Explore software development with industry insights.
Where we want to go:
- Specific requirements of LHCb software projects: Determine the infrastructure needs, desired throughput levels, development simplicity, the integration of non-LHCb software, etc. for DPA, Online, RTA, Simulation.
- Common requirements across projects: Identify shared needs for testing, maintenance, machine learning infrastructure, heterogeneous architectures, and platform-independent distributed computing solutions, etc.
- Development work-flow: Envision a software development process for the future.
The road ahead
- Integrating Allen and Gaudi: Explore possible avenues for closer integration of Allen and Gaudi frameworks, addressing event loops, memory management, services...
- Common configuration: Is a common configuration layer across various flavours of frameworks needed?
The timetable of the LHCb-internal part can be found here: https://indico.cern.ch/event/1341333/