page 2  (9 pages)
to previous section1
3to next section

aufweisen sollten. Die Anpassung des Programms hinsichtlich der ?Ubergabeparameter und die anschliessende Kontrolle der korrekten Ausf?uhrung w?urde den Konvertierungsprozefl abschlieflen. Dieses Vorgehen hat mehrere Nachteile. Erstens entsteht hierdurch eine zweite Programmversion. Zweitens mufl eine nicht unerhebliche Zeit daf?ur aufgewendet werden, um sich mit den Funktionen und den ?Ubergabeparametern der neuen Message-Passing Befehle vertraut zu machen. Und drittens mufl der gesamte Arbeitsablauf wiederholt durchlaufen werden, wenn eine weitere Kommunikationsbibliothek benutzt werden soll.
Ein ef?zienteres Vorgehen ist die Einrichtung einer Art Kommunikationsschnittstelle. Die MessagePassing Befehle werden hierbei nicht durch den entsprechenden Befehl der neuen Bibliothek, sondern durch einen allgemeing?ultigen Funktionsaufruf ersetzt. Eine Sammlung solcher Befehle stellt die CMPL (Compatible Message Passing Library) zur Verf?ugung. Diese Bibliothek ist momentan f?ur NX, MPI und Parmacs 6.0 verf?ugbar. Der Funktionsumfang lehnt sich an der NX-Bibliothek an. F?ur die anderen Message-Passing Systeme bedeutet dieses einerseits, dafl die Befehle, die in der NX-Bibliothek nicht vorkommen, auch nicht in der CMPL vorhanden sind. Andererseits existieren Befehlskonstrukte, die die Funktionalit?at von bestimmten NX-Befehlen nachbilden, so z.B. die nicht unterst?utzten globalen Routinen bei Parmacs 6.0.
Die Nutzung der CMPL-Bibliothek ist vorrangig vorgesehen f?ur die kompatible Konvertierung vorhandener Programme. Der Anwender mufl in diesem Fall nicht im Detail wissen, was der einzelne CMPL-Aufruf im Hintergrund ausf?uhrt, da er die Funktion des Original-Aufrufs kennt. Wer CMPL benutzen will, um ein neues kompatibles Programm zu erstellen, sollte sich zus?atzlich die in Kapitel 7 genannten Postscript-Files anschauen.

3 Die CMPL-Bibliothek

In diesem Abschnitt soll nur kurz der Inhalt und Aufbau der CMPL-Bibliothek erl?autert werden. Eine ?Ubersicht ?uber die CMPL-Befehle und deren Verf?ugbarkeit ist in Kapitel 6 und etwas ausf?uhrlicher in der Online-Hilfe von XCMPL zu ?nden.
Erkl?arungsbed?urftig sind die Namen der CMPL-Routinen. Allgemeing?ultige Namen w?aren entweder sehr lang (z.B. EmpfangeAsynchronMitInformationsArray) oder ohne intuitive Aussage (z.B. EAMIA). Ein Kompromifl ist die benutzte abstrakte Bezeichnung der CMPL-Befehle, die viele Vorteile aufweist. Der oben angegebene Befehl heiflt z.B. MP011AX. Die Befehlsnamen sind also wie folgt aufgebaut:

ffl Befehlsk?urzel ?MP?
ffl Versionsnummer ?0?
ffl Befehlsklasse ?0-9?
ffl Befehlsnummer ?0-9?
ffl Buchstabenfolgen f?ur:
? die Kommunikationsart:
? S (synchron)
? A (asynchron)
? den Datentyp (dtype ist die numerische Angabe f?ur den Datentyp):
? L (Logical, dtype = 10)
? I (Integer, dtype = 20)
? R (Real, dtype = 30)
? D (Doubleprecision, dtype = 40)
? erweiterte Funktionen: X

Desweiteren sind die Befehlsklassen festgelegt:

Initialisierung
1 Kommunikation
2 Kommunikationskontrolle