unilogo width=2.5cm

Studienarbeit

Konzeption und Generierung eines Resource-Flow-Graphs für Cobol

Hintergrund

Das Bauhaus-Projekt unterstützt das Programmverstehen durch Entwicklung geeigneter Werkzeuge sowohl auf der Quellcode-Ebene als auch der Architekturebene. Für die Architekturrekonstruktion genügt in der Regel eine kondensierte Darstellung des Systems in Form eines so genannten Resource-Flow-Graphen (RFG). Der RFG stellt die relevanten Fakten des Systems dar, die sich direkt aus dem Quellcode ableiten lassen. Dazu gehören globale Deklarationen und deren Relationen sowie Dateien und Verzeichnisse und die dazugehörige ist-enthalten-in Relation. Der RFG repräsentiert darüber hinaus auch Konzepte der Software-Architektur, wie z.B. Komponenten und Konnektoren.

Der RFG ist gegenwärtig für die Repräsentation von C-Programmen ausgeprägt. Ein von uns selbst entwickeltes Compiler-Frontend für C, ein globaler Linker und eine nachfolgende Resource-Flow-Analyse generieren den RFG für C-Programme. Zur Visualisierung und Manipulation der im RFG enthaltenen Informationen steht uns ein Grapheditor zur Verfügung.

Wir möchten nunmehr unsere Techniken zur Architekturrekonstruktion auch auf Cobol-Programme ausdehnen. Dazu benötigen wir eine adäquate Modellierung von Cobol-Konstruktionen im RFG sowie eine Generierung von RFGs für Cobol.

Aufgabenstellung

In dieser Studienarbeit soll eine Modellierung von Cobol85-Konstrukten im RFG entwickelt werden. Außerdem soll ein existierendes Cobol85-Frontend um die Generierung eines RFGs für Cobol85 erweitert werden. Die Auswahl des Frontends ist dem Bearbeiter überlassen. Die Lizenz des ausgewählten Frontends muss jedoch mit der Bauhaus-Lizenz verträglich sein. Ein Kandidat für ein Frontend ist im Grammar Deployment Kit (GDK) enthalten (http://gdk.sourceforge.net).

Die Ansprüche an die Qualität der Implementierung sind hoch. Es soll ein tatsächlich verwendbares Werkzeug entwickelt werden. Vollständige Dokumentation und ein umfangreicher systematischer Test sind deshalb Teil der Aufgabenstellung. Eine Test-Suite für Cobol85 ist unter http://www.itl.nist.gov/div897/ctg/cobol_form.htm verfügbar.

Implementierungs-
werkzeuge

Ada95-Compiler Gnat, Concurrent Version System (CVS).

Voraussetzungen

Kenntnisse in Ada95. Wissen über Compiler-Frontends, wie es in der Compilerbau-Vorlesung vermittelt wird, wäre von Vorteil.

Betreuer

Dr. Rainer Koschke (Zi. 1.212)


Valid HTML 3.2! Last modified: Mon Aug 25 11:32:20 MET 2003
admin@droste.informatik.uni-stuttgart.de