Tech. Report:
Gardi O., 2005. Analyse und Evaluation der RAMSES Software bezüglich Neuimplementation auf modernen OS X und UNIX/Linux Arbeitsplatzsystemen. Technische Semesterarbeit. Institut für Terrestrische Ökologie, ETH. Zurich, Switzerland. 159 pp.
Abstract:
Während den letzten 20 Jahren wurde im Fachbereich Systemökologie
des Institutes für Terrestrische Ökologie ITÖ der ETH
Zürich unter der Leitung von Dr. Andreas Fischlin eine Plattform
unabhängige Modellierungs- und Simulationsumgebung für
Arbeitsplatzrechner entwickelt. Die mit dem Akronym RAMSES bezeichnete
Software erlaubt Systeme von nicht linearen Differentialgleichungen DESS,
Differenzengleichungen SQM und diskreten Ereignissystemen DEVS interaktiv
zu lösen (Fischlin et al., 1994, auch 1991).
Die Simulationsmodelle und RAMSES selbst sind in der an der ETH Zürich
entwickelten Sprache Modula-2 implementiert (Wirth, 1983; Wirth et al.,
1992). Modula-2 ist eine hochentwickelte und mächtige
Programmiersprache welche mit Hilfe von Modulen die Entwicklung von
strukturiertem prozeduralem Code ermöglicht. Trotzdem wird die Sprache
heutzutage nur noch selten gebraucht und die Auswahl an Kompilern ist sehr
beschränkt. Insbesondere gibt es zur Zeit keinen Modula-2 Kompiler,
welcher die Zielplattformen MacOS X/PPC, Solaris/SPARC, Windows/x86 und
Linux/x86 allesamt unterstützt.
Die momentane Hauptplattform von RAMSES ist der Macintosh/68k, auf welchem
mittels dem Kompiler MacMETH Code für 68k Motorola Prozessoren
generiert wird. Zwar wird dieser Code zur Zeit auch noch von neueren
Plattformen wie z.B. der Classic-Umgebung des MacOS X unterstützt,
kann aber von gewissen Eigenschaften moderner Plattformen nicht
profitieren. Weitaus schlimmer ist jedoch die Tatsachte, dass mit der
Portierung vieler Programme von der Classic auf die MacOS X Plattform der
Classic-Emulator unter MacOS X an Bedeutung verliert.
Weitere von der RAMSES-Software unterstützte Plattformen sind
Solaris/SPARC mit dem EPC Kompiler und Windows/x86 mit dem Stony Brook
Kompiler. Auch bezüglich diesen Plattformen müssen mittelfristig
neue Lösungen gesucht werden. Der EPC Kompiler wird mittlerweile nicht
mehr gewartet, keine neuen Lizenzen können gekauft werden und der
Quelltext liegt nicht frei.
Ziel dieser Semesterarbeit ist es, Grundlagen für eine anschliessende
Portierung von RAMSES auf die oben genannten Zielplattformen zu erarbeiten.
Dies umfasst die Analyse des aktuellen Bestandes an Quelltext sowie die
Evaluation verfügbarer Kompiler. Am Schluss sollen ein bis zwei
Kompiler am Quelltext getestet werden. Auch die ersten Schritte in Richtung
Portierung der RAMSES-Software auf MacOS X sollen unternommen werden um den
Aufwand einer kompletten Portierung von RAMSES und die Qualität des
vom Kompiler generierten Codes abschätzen zu können.
Full text 936KB