CR Cycabtk du 22 et 27 Juin 2007

Présents :
  • Soraya Arias, Amaury Nègre, Mehdi Rabah, Manuel Yguel (le 22)
  • Soraya Arias, Christophe Braillon, Mehdi Rabah (le 27)

Ordre du jour

  1. topo et retour sur l'installation (makefile, cmake ...)
  2. topo sur l'etat du code : quels developpements en cours, est-ce que tout a ete teste, qu'est-ce qui reste a faire ?
  3. lien entre le noyau Hugr et la partie dediee a la simulation via mgengine. Et si mgengine n'existait plus ?
  4. point subsidiaire : comment reagir aux retours des users si retours il y a eu ?

Procédure d'installation de la toolkit cycabtk

Installation sur des machines linux non Debian compliant (en l'occurence des Fedora Core 6):
  • Pas de paquets RPM à jour
  • Compiler les bibliotheques et autres binaires à partir des sources
    • 2 manières de faire possible : via cmake, en utilisant le Makefile directement
    • 2 manières qui ont des comportements différents
  • En suivant le README ou la page WEB :
    • pas de manière simple de compiler uniquement la partie Hugr/HugrWeb sans la partie liée à la simulation 3D fortement dépendante de mgengine
    • les exemples d'utilisation proposés dans le README ou sur le site WEB indiquent tous de lancer hugrstore et mgengine. Pas d'exemple d'utilisation de hugrstore en "standalone".
    • pour que la compilation se passe bien il faut absolument avoir mgengine et les bibliothèques correspondantes. Donc récuperer les sources de mgengine et compiler mgengine (pas de RPM).
  • Les sources obtenus à partir du dépôt SVN du projet contiennent des données par forcement pertinente pour un utilisateur non développeur du projet (ex répertoires Data/htdocs (sources du site WEB cycabtk), GUI (obsolete) ...).
  • La version des fichiers source sur le dépôt et celles des fichiers utilisés pour produire les paquets debian mis à disposition sont différentes. Il serait plus préférable de ne fournir à l'utilisateur non développeur de cycabtk que les fichiers source utilisés pour générer les paquets debian, voire rpm proposés en téléchargement.
  • Si on décide d'installer les binaires et les bibliothèques sous un répertoire différent de celui par défaut, ie /usr/, cela produit des pbs avec :
    • les fichiers pythons qui créent les fichiers de configuration utilisateur sous les répertoires : .mgengine/ .hugr/
    • la configuration sous Actors
  • Quand les binaires sont installés, ils le sont directement sous /usr/bin (chemin par défaut). Peut-être qu'il serait plus judicieux de les regrouper dans un répertoire, ex: sous /usr/bin/cycabtk/.
  • Si on utilise checkinstall pour générer les paquets rpm, le fichier rpm généré inclut les binaires /usr/make, /usr/find, /usr/xargs. Conséquence : l'installation du rpm échoue, car le système refuse de remplacer un binaire existant par un autre qui provient d'un paquetage différent !
    • Une solution a été trouvé pour forcer explicitement checkinstall à ne pas inclure ces binaires (option --exclude)
  • Le fichier rpm hugr généré ne contient que les binaires ou bibliothèques. Pour installer les fichiers nécessaires au développement avec Hugr, il faut installer le paquetage hugr-devel.
    • Information à rajouter dans le README et la documentation sur le site web.
Conclusion :
  • Nécessité de ne fournir qu'1 manière de compiler les sources :
    • choix sur cmake
  • Revoir le processus de déploiement des binaires et bibliothèques (scripts indépendant du chemin prefix)
  • Revoir la partie documentation pour expliquer la compilation séparée des éléments composants cycabtk (Hugr, objets simulés dépendant de mgengine...)
  • Proposer un fichier .tgz contenant les fichiers source nécessaires pour générer les binaires et bibliothèques pour cycabtk. De plus ces sources devront être les mêmes que ceux à partir desquels les paquets debian (voire rpm?) ont été générés.

Développements en cours, Tests en cours

  • Rendre le noyau Hugr accessible en réparti
    • Mehdi s'est intéressé à Asio (associé à Boost). Asio n'est pas encore intégré au paquet Boost.
    • Christophe est en train de faire un état de l'art sur les approches utilisant des middlewares à la Hugr. Il souhaiterait étudier les solutions issues de la programmation par composant (cf Fractal).
  • Revoir la procédure de fermeture de hugrstore (hugrweb ??). Parfois les ressources utilisées ne sont pas libérées en fin d'utilisation, et cela a des effets de bord lorsque l'on relance hugrstore avec une taille mémoire différente, notamment (Christophe).
  • Gérer un timeout lors des read bloquant sur une mise à jour d'une variable sur la zone de mémoire partagée (Amaury).
  • Corriger la gestion du read bloquant sur des données de type Iplimage (Amaury).
  • Corriger la gestion du Zbuffer (pour la simulation du laser) quand la carte graphique n'est pas bien reconnue (Manuel)
  • Proposer un autre service de log pour lequel tout l'historique des modifications d'une instance de hugrstore et pas seulement l'historique d'un sous-ensemble de variables de la zone de mémoire,comme c'est le cas avec hugrlog (Manuel).
  • Proposer 2 clients graphiques, developpés en Qt (Manuel):
    • hugrscope : qui permet d'exploiter des données issus des log de hugrlog
    • laserscope : qui permet de rejouer en simulation des données obtenues lors d'acquisitions d'un laser

Sous http://gforge.inria.fr/projects/cycabtk/, le trackeur de bug et le gestionnaire de tâche ont été mis à jour pour assigner ces développements aux personnes concernées.

Cycabtk et mgengine

Les classes gérant des acteurs à simuler sont fortement liés à mgengine.

Le principal contributeur de mgengine devrait de nouveau se reintéresser au moteur (nouveau contrat avec le Livic ?).

Une autre alternative à mgengine serait d'étudier Oggr. Mais il faut trouver des gens intéressés par ce travail ...

TODO List

Quoi Qui
Mieux utiliser les ressources de la forge (tracker de bugs, gestionnaire de taches, forums) Tous
Corriger la gestion du read bloquant avec Iplimage Amaury
Ajouter un timeout sur le read bloquant de Hugr Amaury
Corriger la gestion du Zbuffer Manuel
Logguer toutes les maj de la mémoire partagée Manuel
Corriger la fermeture de hugrstore pour libérer toutes les ressources Christophe
Proposer une version Hugr en réparti Christophe ? Mehdi ?
Créer la liste cycabtk@inrialpes.fr dont les moderateurs sont Soraya et Mehdi comme adresse de contact de cycabtk Soraya
Donner les noms des packages dont depend cycatk pour Fedora Core 6 à Mehdi Soraya
Fournir les coding rules du service SED Soraya

-- SorayaArias - 28 Jun 2007
Topic revision: r2 - 28 Jun 2007, SorayaArias
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding SedWiki? Send feedback