logo.png

Présentation du projet

Système d'information

Formats d'entrées/sorties

Tests VHDL

Home Up


Contents



1 Introduction

Cette page décrit brièvement l'historique et les orientation souhaitées du projet LC. Le projet fonctionne actuellement dans une première version qui doit être en grande partie remaniée.


2 Architecture


2.1 Première version

Figure: MODèLE CONCEPTUEL A
\begin{figure}\centering
\includeImage[scale=0.8]{MCa}
\end{figure}

Implémentation entièrement réalisée avec LABVIEW.


2.2 Deuxième version

Figure: MODèLE CONCEPTUEL B
\begin{figure}\centering
\includeImage[scale=0.8]{MCb}
\end{figure}

  • On s'affranchir du coup des cartes PCI ajoutées au PC.
  • On a choisi la technologie USB. A terme on se tournera vers la technologie Ethernet afin de placer PC de commande à l'extérieur du périmètre de la manip (environ 100 mètres).
  • On s'intéresse à LINUX en vue d'intégrer le projet à d'autres manipulations.


3 Développement

La modélisation laisse entrevoir 2 modules :

  • un module de contrôle
  • et un module d'acquisition.
Cette modélisation est commune aux autres expérimentations du LPNHE et de l'IN2P3.


3.1 ENX et NARVAL

Technologies ENX et NARVAL :

  • Découpage et diminution de la complexité
    ENX et NARVAL fournissent chacune des briques logicielles génériques, modulaires et hiérarchisées.
    • Hiérarchie : l'architecture prédéfinie correspond à notre approche. Les portions de code spécifique sont minimisées et localisées. Cette approche rend possible un développement en spirale dit 'prototypage rapide'.
    • Généricité : les briques appellent les codes spécifiques compilés (Ada, C, C++, Fortan et Cobol).
    • Modularité : les briques implémentent une architecture modulaire. Cela permet de décharger/recharger différents modules sans avoir à réinitialiser l'ensemble des modules physiques de l'expérience.

  • Pratique à utiliser
    Ces technologies complémentaires (et non redondantes) sont déjà utilisées par nos proches collaborateurs de l'IN2P3.
    • Logiciel libre : le code est libre et s'interface idéalement avec DEBIAN.
    • Boite à outils : exemples, squelettes, simulateurs et interfaces graphiques.
    • Pérennisation : support direct de 4 informaticiens à l'IPN et 3 au CSNSM. Support indirect des développeurs ADA.

  • Héritage technologique
    L'IPN et le CSNSM ont hérité de l'expérience du CERN. Ces deux nouvelles technologies sont issues des 'forks' de projets existants, et par ailleurs très proche par exemple de l'architecture HESS. Il s'agit d'une évolution logicielle à plusieurs points de vus :
    • Portabilité : la compilation des outils est basée sur les AUTOTOOLS.
    • Virtualisation : l'annexe E du langage ADA fournit un bus logiciel.
    • Robustesse : l'ADA est considéré comme le meilleur consensus dans les domaine critiques.


3.2 Prototypage rapide

L'architecture étant connue par avance, on pourra envisager un développement dit en prototypage rapide. Cette méthode de développement impose que le projet soit exploitable quel que son avancement.

Figure: CYCLE DE DéVELOPPEMENT
\begin{figure}\centering
\includeImage[scale=0.8]{Cycle}
\end{figure}

  • Pilotage des modules via ENX
    • Modélisation.
    • Intégration des algorithmes LABVIEW.
    • Test du serveur via le shell.
    • Test du serveur via le GUI propre à ENX.
    • Intégration des protocoles de communication.
    • Tests du pilotage des modules.

  • Réception des données via NARVAL
    • Intégration des algorithmes C++ d'Alexandre dans le 'Producteur'.
    • Spécification d'un puis plusieurs formats de fichiers.
    • Implémentation de ces spécifications dans 'les Consommateurs'.
    • Test du serveur via le shell.
    • Test du serveur via le GUI propre à NARVAL.
    • Intégration du serveur de diagrammes GRUI dans un autre 'Consommateur'.
    • Test du serveur de diagrammes GRUI

  • Orchestration des briques de bas niveau (run-controller)
    • Opérations autour de fichier de configuration à préciser.
    • Technologie client/serveur à choisir (C ou ADA).
    • Définir les scénarios via un formalisme de type UML.
    • Séquencement des appels de bas niveau pour implémenter les scénarios.
    • Test du serveur via le shell.
    • Implémentation d'un GUI.
    • Test du serveur via le GUI.
    • Intégrer un client au serveur de diagrammes GRUI dans le GUI pour la supervision.
    • Intégrer peu à peu de la gestion du fichier de configuration dans le GUI.

Home Up

This document is also available in PDF and PostScript format.



2016-02-15