Generisches und typsicheres Modulmanagement in Tycoon

Einleitung
  Stellenwert/Wichtigkeit der MV erörtern?
  Welchen praktischen Nutzen hat sie / kann sie haben?
  Warum neue MV?  
  Welche Herangehensweise gewählt?
  Ausdrucksm"achtigkeit von Tycoon
    - Typsicherheit (strikte Typisierung)
    - Polymorphismus
    - Funktionen h"oherer Ordnung
  Aufbau der Arbeit

Aufgaben einer Modulverwaltung
  Worum geht es bei der MV? 
    - Versuch einer Definition des Begriffs MV
    - Klärung weiterer Begriffe \cite{notion}
    - in Beziehung setzen mit anderen Begriffen wie Konfigurations-Management
      \cite{whitgift} S.4 und \cite{notion}
    - Abgrenzung des Konfigurations-Management als Disziplin der SWT und
      den ben"otigten Tools
  Welche Aufgaben muessen erfuellt werden, um o.g. Ziele zu erreichen?
    - \cite{notion} und \cite{whitgift}
  Welche grundsätzlichen Ansätze gibt es? 
    - integriert in die Entwicklungsumgebung (Ada, Modula-2)
    - externe Tools (DSEE)
    Welche Systeme/Programmiersprachen haben eine eingbaute MV?
    Wie wird die MV sonst realisiert?
    Welche Vor- und Nachteile haben die verschiedenen Ansätze?
      - Automatische Generation von Abhängigkeiten
      - Welche anderen Objekte können verwaltet werden? (Textdokumente, nicht
        textbasierte Objekte ...)
      - Einheitliche, konsistente Bedienung
    Wie kann die eigene Entwicklung eingeordnet werden?

Tycoon-Modulsystems
  - Welche Aufgaben hat die Modulverwaltung in Tycoon? (bzgl. Kap. 1)
  - Modulverwaltung ist bislang im Kompiler integriert.
  Semantik
  Architektur
    Gliederung in die drei Module tyDepend, tlObject und tlLibrary (Skizze).
    Einordnung der Module in den Gesamtzusammenhang des Kompilers 
    (Skizze Importbeziehung)
    Von welchen Modulen werden sie wie benutzt?
    Aufgaben der drei Module
      - Verwaltung von Abhängigkeiten (tyDepend)
      - Verwaltung von Kompilationseinheiten (tlObject)
      - Verwaltung der Bibliotheken (tlLibrary)
  Vorgänge
    Wie läuft das Linken, Importieren, Binden ab?
  Vorgenommene Verbesserungen

Erläuterung des Moduls Make
  Warum Auslagerung der Funktionalität von tyDepend? 
    - keine spezifische Compiler-Aufgabe
    - generischer Dienst kann auch f"ur andere Zwecke genutzt werden
  Wie werden die Abhängigkeiten beschrieben?
   - welche generellen Möglichkeiten gibt es? \cite{notion}
     Odin
  Benutzung von Make
   - Aufrufbeispiel
  Wie werden Fehlermeldungen behandelt?
  Welche Vorteile bringt der beschriebene Ansatz?
  Andere Systeme
    Unix-Make
    Eiffel
    Ada

Ausblick
  - Ausbau der MV zu einer "richtigen" MV gem"a"s Kap.1
  - Weiter generische Dienste
  - neue Modellierungsm"oglichkeiten durch Versionen


