L'outil informatique dans l'experience ALICE

afternoonhandsomelyΛογισμικό & κατασκευή λογ/κού

17 Νοε 2012 (πριν από 4 χρόνια και 6 μήνες)

306 εμφανίσεις




L’outil informatique dans
l’expérience ALICE
Son utilisation dans les développements du système d’acquisition du spectromètre
di-muon


Introduction
Ce document présente les outils informatiques utilisés au cours du développement de la chaîne
logicielle nécessaire à la mise en œuvre de l’électronique frontale du spectromètre di-muon. Cette
chaîne assure le contrôle et commande du détecteur et gère l’acquisition du flot de données en temps
réel.
Ce document est structuré en 4 parties. Tout d’abord nous présenterons les outils informatiques d’aide
à la gestion de projet. Par la suite nous décrirons les outils utilisés lors du développements des logiciels
nécessaires à la mise en œuvre des 3 organes principaux du détecteur à savoir, le « Trigger Crate
Interface » (TCI), le « Local Data Concentrator » (LDC) et le « Cluster Read Out and Concentrator
System » (CROCUS). Pour une avoir une description de ces 3 parties vitales du détecteur, se reporter
au document « TIPP09.ppt » joint à ce document.
Le système d’acquisition du bras di-muon d’ALICE
Se reporter au document « TIPP09.ppt » joint à ce document.
L’outil informatique à travers la gestion de projets

Méthodologie de gestion de projet
La méthodologie employée dans la gestion de ce projet est directement tirée des procédures
de conception logicielle modernes dites « agiles ». Le choix d’une méthodologie particulière a été
essentiellement guidé par le souci de la satisfaction des besoins et du respect des contraintes.
Parmi ces contraintes, nous pouvons identifier :
 Les contraintes de moyens, le CNRS m’octroie des budgets limités et j’encadre une petite
équipe de développeurs. Avantage : communication facilitée, désavantage : puissance de
travail limitée
 Les contraintes logistiques. Missions de test de prototypes au CERN fréquentes. Les temps de
faisceau y sont précieux : cela impose ponctualité et réactivité
L’outil informatique dans ALICE, Sylvain Rousseau


1 


 Nous devrons être capables de fournir fréquemment des versions partielles de logiciels. Ces
versions devront toutes fois être parfaitement fonctionnelles.
 Nous devrons gérer une forte interaction avec les utilisateurs. Désavantage : support à assurer,
avantage : amélioration de la qualité.
J’ai donc opté pour une méthodologie « agile » basée sur un procédé itératif s’inspirant de l’ « extreme
programming ». J’ai mis en place une méthode itérative s’apparentant à une roue de Deming dont
chaque itération s’attache à améliorer un prototype développé lors du premier cycle de développement
(Figure 1).

Les outils de gestion de projet
Conduite de projet
La conduite de projet se fait grâce à « Microsoft Project ». Ce logiciel permet de
segmenter un projet en tâches et de suivre leur réalisation au cours du temps. La
représentation graphique communément utilisée est le diagramme de Gant (Figure 2).


2
Faisabilité
Risques
3
Spécifications
4
Conception
5
Transition
1
Besoins
Figure

1

:

l
e cycle de développement

L’outil informatique dans ALICE, Sylvain Rousseau

2 


Figure 2 : diagramme de Gant
Figure 3 : Agenda électronique
Agendas partagés : Google agenda/ipnAgenda
L’outil informatique dans ALICE, Sylvain Rousseau


3 


Afin de coordonner les emplois du temps de chacun, on utilise un agenda électronique
de type google Agenda. Un soft de même type est maintenant disponible en interne à l’IPNO (Figure
3).
Documentation : wiki
Les documentations sont développées dans l’outil wiki. Cette facilite la création de
documentations agréables à lire et rend naturelle leur diffusion en ligne (Figure 4).
Figure 4 : wiki ALICE

Contrôleur de version : serveur SVN + client graphique Tortoise
Tout au long de la phase de conception (voir Figure 1), le code d’une application est
versatile, il est important de mémoriser l’ensemble de ses modifications. On peut ainsi revenir à tout
moment à une version antérieure si la voie de développement choisie s’avère être une mauvaise option.
Le gestionnaire de source utilisé dans ALICE est subversion (http://subversion.tigris.org/
).
L’utilisation du gestionnaire de source devient très intuitif grâce au client graphique Tortoise svn qui
s’intègre automatiquement à l’explorateur Windows (Figure 5).

L’outil informatique dans ALICE, Sylvain Rousseau

4 


Figure 5 : Client graphique Tortoise SVN
L’outil informatique à travers la conception de logiciels

Le TCI
OS : Linux embarqué, boot PXE
Le système d’exploitation utilisé massivement au CERN est la distribution Scientific
Linux. Compte tenu des conditions de champ magnétique et de radioactivité aux abords du bras di-
muon d’ALICE, le châssis VME TCI n’embarque pas de disque dur. Nous utilisons un boot via le réseau
Ethernet dit « boot PXE ». Le noyau et le système de fichier sont stockés en sécurité sur un serveur
distant dans un environnement moins hostile.
Communication inter-cartes sur bus VME : driver de périphériques
Afin de permettre aux cartes électroniques embarquées dans le châssis TCI de
communiquer entre elles, on utilise un driver de bus VME conçu au CERN pour l’expérience ATLAS.
Cette outils est maintenu par le personnel CERN (http://isscvs.cern.ch/cgi-bin/viewcvs-
all.cgi/DAQ/DataFlow/ROSRCDdrivers/src/?root=atlastdaq).
L’outil informatique dans ALICE, Sylvain Rousseau


5 


Environnement de développement : Netbeans + compilateur gcc
Afin d’optimiser l’écriture des logiciels qui s’exécutent dans l’environnement Linux,
nous utilisons un « IDE » (Integrated Development Environment) nommé Netbeans
(http://netbeans.org/
). Cette outils offre une très grande ergonomie et améliore l’écriture et le
débogage du code (Figure 6).
Cet environnement s’appuie sur le compilateur libre gcc de GNU (http://gcc.gnu.org/). Cet outils
permet la compilation de nos applications écrites en C et C++. A noter que ce compilateur supporte
aussi les langages FORTRAN, JAVA et ADA.
Application répartie : librairie DIM
La multiplication et la dissémination géographique des ressources informatiques est
flagrante dans des projets de détecteurs à l’échelle des expériences du CERN. Cela implique que nos
applications sont souvent réparties sur des nœuds à travers le réseau Ethernet. Pour pouvoir tirer
profit d’une telle topologie matérielle et faire abstraction de son hétérogénéité, nous utilisons un outil
informatique développé par le CERN : la librairie DIM (Distributed Information Management
System). Elle fournit à nos applications une couche de communication inter-process à travers le réseau
Internet (http://dim.web.cern.ch/dim/).
Contrôle de matériel à distance par machine à état fini : librairie SMI
Le détecteur de l’expérience ALICE est système est composite. Lorsqu’il est nécessaire
de connaître son état, on doit se renseigner de l’état de tous les organes qui le composent. Pour cela, on
a coutume d’intégrer dans chaque organe du détecteur une machine à état fini. Pour implémenter ce
Figure

6

: L'IDE NetBeans

L’outil informatique dans ALICE, Sylvain Rousseau

6 


concept au niveau logiciel, on utilise un outil fourni par le CERN appelé SMI++ (State Management
Interface). Cette librairie offre un cadre de travail dans lequel un objet du monde réel est décrit par un
objet au sens C++ se comportant comme une machine à état fini (http://smi.web.cern.ch/smi/).
Contrôle et monitoring du TCI : IHM basée sur QT
Le moyen le plus facile de contrôler et d’agir sur un système est d’en avoir une
représentation graphique. En ingénierie logicielle on appelle ce genre d’outil une IHM (Interface
Homme Machine). Nous avons développé une telle interface pour interagir avec le TCI en utilisant un
outil libre appelé QT (http://qt.nokia.com/
). QT fournit un cadre de travail complet permettant de
développer des interfaces graphiques très puissantes. La est une photo de l’IHM du TCI.

Les LDC
DATE
Chaque détecteur de l’expérience ALICE a une électronique spécifique. C’est aux responsables
de chaque détecteur de développer un logiciel de readout particulier. En revanche, chaque détecteur
doit savoir s’interfacer physiquement au système d’acquisition officiel de l’expérience. Pour cela, ils
doivent intégrer une sortie optique qui sera lue par le logiciel d’acquisition DATE au niveau de chacun
des LDC. Cet outil est fourni par le CERN (Figure 7).
Figure 7 : DATE, le logiciel d'acquisition officiel de l'expérience ALICE
Contrôle et monitoring de l’électronique des chambres : IHM basée sur QT
Voir Contrôle et monitoring du TCI.
Les CROCUS
L’outil informatique dans ALICE, Sylvain Rousseau


7 


Environnement de développement : Visual Dsp++ 5.0
De la même façon que nous utilisons l’environnement de développement intégré NetBeans
pour produire des applications C++ sur cible Linux, nous employons un IDE spécifique pour produire
des applications dédiées aux DSP SHARC 21160N. Cet IDE est fourni par la société Analog Device
(http://www.analog.com/en/embedded-processing-dsp/sharc/products/index.html), c’est le Visual
Dsp++ 5.0 (Figure 8). C’est un outil puissant d’aide à l’écriture et au débogage du code pour DSP. Cet
IDE intègre un compilateur C/C++ et assembleur croisé Windows vers cible DSP.

Figure 8 : Visual Dsp++ 5.0
Déploiement d’un noyau embarqué temps réel sur les DSP : Visual Dsp Kernel
Chaque DSP embarque un noyau préemptif temps réel qui permet de développer des
applications multithread respectant les contraintes de temps inhérentes aux détecteurs et à la physique
correspondante. Ce noyau est le VDK développé par Analog Device
(http://www.analog.com/static/imported-files/software_manuals/50_vdkm_rev3.2.pdf)
Application de monitoring de l’électronique
Pendant la phase de R&D comme pendant la production, nous avons besoin d’applications
permettant de tester l’électronique. Pour cela, nous avons développé des IHM en utilisant l’IDE
L’outil informatique dans ALICE, Sylvain Rousseau

8 


Microsoft Visual C++ et en s’appuyant sur la librairie graphique MFC (Microsoft Fundation Class). Ce
sont des outils payants mais très performants permettant le développement de toutes sortes
d’applications graphiques ou non pour cible Windows. Cet IDE fournit l’éditeur, le débogueur et le
compilateur C/C++ (Figure 9).
Figure 9 : IDE Microsoft Visual Studio