Utilisation

Documentation Alma (français) Index | Accueil
Version: 0.29
Date: 2001-03-05
Auteur: Guillaume Desnoix
La documentation du logiciel Alma est protégé par les lois sur les droits d'auteur de la République Française. Toute reproduction (copie, mirroir, impression, ...) est interdite sans autorisation écrite de l'auteur. Sa consultation est gratuite pour tous sur le site www.memoire.com.

Exécution

En mode graphique

Placez-vous dans le répertoire où vous avez décompresser l'archive et tapez la commande java com.memoire.alma.Alma . En cas de problème, vérifier que la variable d'environement CLASSPATH est correcte.

#!/bin/sh
export CLASSPATH=".:$CLASSPATH"
java com.memoire.alma.Alma

En mode ligne de commande

Placez-vous dans le répertoire où vous avez décompresser l'archive et tapez la commande java com.memoire.alma.Agl . En cas de problème, vérifier que la variable d'environement CLASSPATH est correcte.

Dans ce mode, vous devez bien sur spécifier des arguments pour que Alma fasse un travail utile.

Exemples

Les exemples suivants concernent le mode en ligne de commande. Pour le mode graphique, se reporter au chapître précédent ainsi qu'à la démonstration.

Analyse du JDK 1.02

Le JDK 1.02 est fourni avec une archive du nom de src.zip . Celle-ci contient le code-source des classes standardes (classes.zip). Pour charger la classe String, nous utiliserons la commande suivante :
java com.memoire.alma.Agl src/java/lang/String.java
Le fichier va être lu et on obtiendra en sortie un code-source quasi identique ! En effet, Java est la cible sélectionner par défaut.

Pour quelque chose d'un peu plus utile, changeons de cible. Prenons comme cible Hpp, correspondant aux entêtes de fichiers C++. La commande devient:
java com.memoire.alma.Agl -g Hpp src/java/lang/String.java
L'affichage en sortie est un code de déclaration en C++ valide. Pour le sauvegarder, il suffit de rediriger la sortie standarde vers un fichier que nous appelerons jstring.hpp :
java com.memoire.alma.Agl -g Hpp src/java/lang/String.java >jstring.hpp

Maintenant, si nous voulons transformer l'ensemble du paquetage lang en IDL, nous écrivons juste:
java com.memoire.alma.Agl -g Idl src/java/lang/*.java >lang.idl

Génération de diagrammes UML

Supposons que vous ayez un ensemble de déclarations Corba/IDL dans le fichier mes_interfaces.idl . Alma vous permet d'en sortir un diagramme de hiérarchie par module et un diagramme de relations par classe.

Pour sortir la hiérarchie de MonModule :
java com.memoire.alma.Agl -p Idl -g UmlHierarchie -fm MonModule mes_interfaces.idl >_H_MonModule.html
Le graphe est sauvegardé dans UmlHierarchie.gif. Il faut le renommer:
mv UmlHierarchie.gif _H_MonModule.gif

Pour sortir les relations de MonInterface :
java com.memoire.alma.Agl -p Idl -g UmlRelations -fc MonInterface mes_interfaces.idl >_R_MonInterface.html
Le graphe est sauvegardé dans UmlRelations.gif. Il faut le renommer:
mv UmlRelations.gif _R_MonInterface.gif

Evidement, le plus simple est de faire un petit script pour traiter l'ensemble:

#!/bin/sh

# Hierarchie
MODULES=`grep module mes_interfaces.idl | nawk '{ print $2 }' `
for m in MODULES
do
  echo "Module $m"
  java com.memoire.alma.Agl -p Idl -g UmlHierarchie -fm "$m" mes_interfaces.idl >"_H_$m.html"
  mv UmlHierarchie.gif "_H_$m.gif"
done

# Relations
INTERFACES=`grep interface mes_interfaces.idl | nawk '{ print $2 }' `
for i in INTERFACES
do
  echo "Interface $i"
  java com.memoire.alma.Agl -p Idl -g UmlRelations -fc "$i" mes_interfaces.idl >"_R_$i.html"
  mv UmlRelations.gif "_R_$i.gif"
done