Il mandato del gruppo Sviluppo Software (Software Development – SD)
prevede due scopi principali:

  • Sviluppare soluzioni software nel contesto delle iniziative scientifiche e tecnologiche dell’INFN.
  • Investigare metodologie pratiche per migliorare la qualità del software sviluppato non solo all’interno del gruppo ma più in generale dal personale INFN.

Prodotti software

I prodotti software sviluppati all’interno del gruppo ricadono in due
aree principali: middleware per sistemi distribuiti e software per gli
esperimenti di fisica. Siamo impegnati nel continuo miglioramento del
nostro modo di lavorare e investiamo in modo significativo
nell’adozione di tecnologie che possano semplificare e automatizzare
le varie fasi del processo di sviluppo.

Nell’area del middleware per i sistemi distribuiti supportiamo,
manteniamo e evolviamo prodotti ampiamente utilizzati come VOMS, Argus
e StoRM.

VOMS (Virtual Organization
Membership Service) è un’attribute authority che si pone come
repository centrale di informazioni di autorizzazione associate a
membri di una Organizzazione Virtuale. Fornisce supporto per la
classificazione degli utenti in gruppi gerarchici, tenendo traccia dei
loro ruoli e di altri attributi, che poi può codificare come
attribute certificate di tipo X.509 o come asserzioni di tipo SAML,
usate in ambienti di tipo Grid per scopi autorizzativi. Il prodotto
include una interfaccia amministrativa sotto forma di applicazione
web.

Argus è un servizio di autorizzazione
in grado di produrre decisioni coerenti all’interno di servizi
distribuiti (interfacce utente, portali, elementi di calcolo e
storage). Il servizio è basato sullo standard XACML e offre la
possibilità di definire politiche autorizzative per determinare se a
un utente è permesso o meno eseguire una certa azione su una
particolare risorsa.

StoRM (STOrage Resource Manager)
è un servizio per la gestione di storage basato su sistemi a disco,
secondo l’interfaccia standard SRM. StoRM è la soluzione SRM adottata
dal centro di calcolo Tier-1 ospitato al CNAF, basato sul file system
GPFS per la gestione dello spazio disco e su TSM per la gestione dei
nastri.

Nell’area del software per gli esperimenti di fisica abbiamo
collaborazioni in corso con LHCb, per
l’investigazione di interconnessioni veloci e per lo sviluppo del
componente di Event Building del futuro sistema di acquisizione dati,
con
KM3NeT(-Italia),
per lo sviluppo del sistema di selezione e acquisizione dati, e con
Euclid, per lo sviluppo del software di
controllo di uno degli strumenti a bordo. Il nostro contributo
specifico include sia lo sviluppo del codice sia l’assistenza
nell’adozione di buone pratiche di ingegneria del software.

 

Software quality

Il successo di ogni ricerca scientifica dipende sempre più da un uso
efficiente delle risorse informatiche a disposizione e il software è
una delle risorse fondamentali. E’ dunque di importanza strategica che
il software sia sviluppato secondo standard qualitativi elevati,
cercando al tempo stesso di mantenere i costi entro livelli
sostenibili. Questa consapevolezza ha non solo formato l’attitudine
delle persone appartenenti al gruppo ma è stata anche motivo di
ispirazione per un’iniziativa volta ad estendere i benefici
dell’esperienza acquisita anche all’esterno del CNAF.

Un insieme di servizi è a disposizione di tutti i ricercatori INFN per
aiutarli a sviluppare, testare e gestire il loro software: project
tracking, continuous integration e quality
assurance, repository di
codice. I servizi sono gestiti in
collaborazione con i Servizi
Nazionali.

Come parte dell’attività di quality assurance, una collaborazione con
il progetto Geant4 investiga l’eventuale
correlazione tra la qualità delle varie release di Geant4 a partire
da metà degli anni 90, misurata in base a varie metriche, e la
qualità delle osservabili fisiche ottenute dalle simulazioni. I
risultati potranno poi essere usati per affinare il processo di
sviluppo di Geant4 e potranno rappresentare un punto di riferimento
per altri prodotti software.