Technische Universität München
Institut für Informatik
FORSOFT Teilprojekt ZEN
Softwareentwicklungsprojekt: Konzeption und Realisierung eines Template-basierten Code-Generators
für UML CASE-Tools, wie Rational Rose und TogetherJ
Thematische Einordnung:
ComponentWare und Softwarearchitekturen sind akuelle Schlagwörter
in der Informatik. Technologien wie Enterprise Java Beans oder CORBA stellen
eine Basis-Infrastruktur für die Entwicklung komponentenbasierter
Systeme zur Verfügung. Die grundlegenden Modellierungskonzepte, Beschreibungstechniken,
Werkzeuge und Prototyping-Umgebungen stehen aber noch nicht weitreichend
und umfassend zur Verfügung.
Aus diesem Grund wurde das Prototyping Werkzeug AutoMate (http://automate.informatik.tu-muenchen.de)
entwickelt. Mit Hilfe von AutoMate kann der Entwickler aus UML Klassendiagramm
automatisch und vollständig den Programmcode für Systeme basierend
auf verteilten Dreischichtenarchitekturen generieren. Die Konzepte von
AutoMate sind rein objektorientiert. Deshalb wurde in einem nächsten
Schritt das Werkzeug DesignIt entwickelt. Dieses ermöglicht es aus
komponentenbasierten Beschreibungstechniken vollständig den Programmcode
für komponentenbasierte System zu genieren.
DesignIt besteht aus einer Laufzeitumgebung, dem DesignIt Component Container,
und einem Generator, dem DesignIt Component Generator, der aus Komponenten-Spezifikationen
den Programmcode für die Komponenten erzeugt, die dann in dem DesignIt
Component Container ablaufen können. Die aktuelle Version von DesignIt
hat einige Schwächen:
Der generierte Code läuft nicht in einer verteilten Umgebung ab.
Die Spezifikationen sind noch textuell und nicht an grafische Beschreibungstechniken
wie UML angeleht.
Die Beschreibung des Verhaltens in den Methoden erfolgt noch mit Java Code
und nicht mit OCL basierter Syntax, wie angedacht.
Aufgabenstellung des Softwareentwicklungsprojektes:
In diesem Softwareentwicklungsprojekt soll der DesignIt Component Generator
so erweitert werden, dass die einzlenen Komponenten nicht aus textuellen
Spezifikationen generiert werden, sondern aus UML basierten grafischen
Beschreibungstechniken, direkt aus CASE-Tools wie Rational Rose oder TogetherJ.
Konkrete Aufgabenstellung:
Einarbeitung in das bestehende DesignIt
Einarbeitung in die CASE-Tools Rational Rose und TogetherJ
Einarbeitung in die Aufgabenstellung des Projektes
Konzeption und Design eines Generators aus einem CASE-Tool
Implementierung des neuen DesignIt Component Generator
Dokumentation von Design und Implementierung
Voraussetzungen:
Interesse an den Themengebieten Softwareengineering mit Java und Softwarearchtiekturen.
Möglichkeiten:
Erlernen neuester Technologien (UML, J2EE, Rational Rose, TogetherJ, ComponentWare),
Mitarbeit bei einem Praxis-Projekt in einem hochmotivierten Team
Betreuer:
Andreas Rausch, e-mail: rausch@informatik.tu-muenchen.de,
Tel.: 289-22362, Zi. 1552