anwendung-de

Anwendung

Dokumentation  zu Alma (deutsch) Index | Home
Version: 0.29
Datum: 2001-03-05
Autor: Guillaume Desnoix
Übersetzung: Norbert Marchl
Die Dokumentation des Programms namens Alma, wird durch ein Kopierrercht geschützt, das auf französischen Gesetzen beruht. Jede Reproduktion (kopieren, spiegeln, drucken, ...) ist verboten, solange keine schriftliche Bewilligung des Autors vorliegt. Jeder kann Sie kostenlos (und nur) auf dieser Web-Seite lesen www.memoire.com.

Ausführung

Graphischer Modus

Wechseln Sie in das Verzeichnis, in dem Sie das Archiv entpackt haben, und geben Sie hier java com.memoire.alma.Alma ein. Erhalten Sie Fehlermeldungen, so überprüfen Sie bitte, ob ihr CLASSPATH korrekt gesetzt ist.

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

Kommandozeilenmodus

Wechseln Sie in das Verzeichnis, in dem Sie das Archiv entpackt haben, und geben Sie hier java com.memoire.alma.Agl ein. Erhalten Sie Fehlermeldungen, so überprüfen Sie bitte, ob ihr CLASSPATH korrekt gesetzt ist.

In diesem Modus, müssen Sie die Argumente angeben, wenn Sie mit Alma sinnvoll arbeiten wollen.

Beispiele

Diese Beispiele beziehen sich nur auf den Kommandozeilenmodus. Für den grafischen Modus, sehen Sie bitte im vorhergehendem Kapitel und den Demonstrationen.

Analyse von JDK 1.02

JDK 1.02 wird mit einem Archiv namens src.zip zur Verfügung gestellt. Es enthält den gesamten Quellcode der Standardklassen (classes.zip). Um die Klasse String zu laden, verwenden wir folgendes Kommando:
java com.memoire.alma.Agl src/java/lang/String.java
Die Datei wird gelesen und Sie erhalten einen sehr ähnlichen Java Code! Vorausgesetzt, daß Java das vorgegebene Ziel ist.

Etwas nützlicher ist es, wenn wir das Ziel ändern, so z. B. auf Hpp, wodurch der Header eines C++-Programms erzeugt wird. Das Kommando lautet nun:
java com.memoire.alma.Agl -g Hpp src/java/lang/String.java
Die Ausgabe ist mehr oder weniger gleich der Klasse String in C++.. Um dies zu speichern, sollten Sie die Standardausgabe in eine Datei umlenken, die wir jstring.hpp nennen wollen:
java com.memoire.alma.Agl -g Hpp src/java/lang/String.java >jstring.hpp

Wollen wir nun alle Packages von lang nach IDL umwandeln, deshalb verwenden wir folgendes Kommando:
java com.memoire.alma.Agl -g Idl src/java/lang/*.java >lang.idl

Generierung eines UML-Diagramms

Wir setzen voraus, daß Sie einen Satz an Corba-/IDL-Deklarationen in einer Datei, namens mes_interfaces.idl besitzen. Alma erzeugt ein Vererbungsdiagramm der Module, und ein Beziehungsdiagramm der Klassen.

Für die Hierarchie von MeinModul verwenden wir:
java com.memoire.alma.Agl -w Idl -g UmlHierarchie -m MeinModul mes_interfaces.idl _H_MeinModul.html
Die Grafik wird mit dem Namen UmlHierarchie.gif gespeichert. Sie brauchen diese Datei nur mehr umbenennen:
mv UmlHierarchie.gif _H_MonModule.gif

DOS-Box von Windows:

ren UmlHierarchie.gif _H_MonModule.gif

Für die Beziehung von MeineSchnittstelle :
java com.memoire.alma.Agl -w Idl -g UmlRelations -c MeineSchnittstelle mes_interfaces.idl _R_MeineSchnittstelle.html
Diese Grafik wird unter UmlRelations.gif gespeichert. Sie brauchen diese Datei nur mehr umbenennen:
mv UmlRelations.gif _R_MonInterface.gif

DOS-Box von Windows:

ren UmlRelations.gif _R_MonInterface.gif

Es ist natürlich leichter, ein kurzes Skript zu schreiben, das die gesamte Arbeit auf einmal ausführt:

#!/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 -w Idl -g UmlHierarchie -m "$m" mes_interfaces.idl "_H_$m.html"
  mv UmlHierarchie.gif "_H_$m.gif"
done

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