The mandate of the Software Development (SD) group is two-fold:

  • To maintain and further develop software solutions in the context of
    scientific and technological initiatives that see the involvement of
  • To investigate practical methodologies to improve the quality of the
    software delivered by the group and by INFN researchers and
    technologists at large.

Software products

The software products developed in the group fall into two main areas:
middleware for distributed systems and software for physics
experiments. We strive to continuously improve our way of working and invest
significantly into the adoption of technologies that could simplify
and automatize all the phases of software development.

In the area of middleware for distributed systems we support, maintain
and further evolve widely-used products such as VOMS, Argus and StoRM.

VOMS (Virtual Organization Membership Service) is an attribute authority which serves as a
central repository for authorization information associated to a
member of a Virtual Organization. It provides support for sorting
users into group hierarchies, keeping track of their roles and other
attributes, in order to issue trusted X.509 attribute certificates and
SAML assertions used in the Grid environment for authorization
purposes. The product includes a web application for administration

Argus is an Authorization Service that
renders consistent authorization decisions for distributed services
(e.g. user interfaces, portals, computing elements, storage
elements). The service is based on the XACML standard, and uses
authorization policies to determine if a user is allowed or denied to
perform a certain action on a particular service.

StoRM (STOrage Resource Manager)
is a storage manager service for generic disk-based storage systems,
compliant with the standard SRM interface. StoRM is the SRM solution
adopted by the Tier-1 hosted at CNAF, which is based on GPFS as file
system and TSM as tape manager.

In the area of software for physics experiments we have collaborations
with LHCb, for the investigation of fast
interconnects and the development of the Event Building component of
the future Data Acquisition System, with
for the development of the Trigger and Data Acquisition System, and
with Euclid, for the development of the
control software of one of the instruments on-board. Our specific
contribution includes both code development and guidance in the
adoption of software engineering best practices.


Software quality

The success of any scientific research depends more and more on the
efficiency of the ICT resources employed for the research and software
is one of the most fundamental ICT assets. Consequently it is of
strategic importance that software is produced at high-quality
standards and at the same time keeping its costs at a sustainable
level. This awareness has not only shaped the attitude of the people
in the group when developing our software but has also inspired an
initiative to extend the gained experience outside CNAF.

A set of services is available to all INFN researchers to help them
develop, test and manage their software: project tracking, continuous integration and quality
assurance, code repositories. The services are managed in collaboration
with the National Services group.

As part of the quality assurance activity, a collaboration with the
Geant4 project investigates if there is a
correlation between the quality of the various releases of Geant4
software since the mid ’90s, measured through various software
metrics, and the quality of the physics observables obtained from the
simulations. The results could then be used to tune the development
process of Geant4 and could represent a benchmark for other software