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 is PDF 936KB


back