Texte des kommentierten Vorlesungsverzeichnisses:
Arbeitsbereich DBIS, SS 95
Praktikum: Datenentwurfspraktikum
- Veranstaltungs-Nr.
- 18.012
- Veranstalter
- Rainer Müller,
Andreas Rudloff,
Joachim W. Schmidt
- Zeit / Ort
- Mi 10-14 (3 Gruppen), VK F-534
- Lernziel
- Erwerb grundlegender Kenntnisse und Fertigkeiten der Datenbankmodellierung und -programmierung
- Inhalt
- In der ersten Hälfte werden die Modellierungs- und Anfragemöglichkeiten eines kommerziell verfügbaren Datenbanksystems (INGRES / ORACLE) unter Verwendung der standardisierten Sprache SQL vermittelt. Im Vergleich dazu werden dann in der zweiten Hälfte die entsprechend erweiterten Fähigkeiten der Datenbankprogrammierumgebung DBPL behandelt.
- Stellung im Studienplan
- Grundstudium
- Voraussetzungen
- Grundkenntnisse in Modula-2 oder verwandten imperativen Sprachen
- Vorgehen
- Einführungsvorträge der Veranstalter und anschließende praktische Arbeit am Rechner.
- Anmeldelisten hängen ab 15. März im Gebäude VK F, 5. Stock aus.
- Literatur
-
- N.Wirth: Programmieren in Modula-2
- H. Sauer: Relationale Datenbanken - Theorie und Praxis
- INGRES, ORACLE- und DBPL-Dokumentationen stehen zur Verfügung
- Periodizität
- jedes Semester
Für Lehrer und Nebenfächler geeignet.
Objektorientierte Datenbanken
- Veranstaltungs-Nr.
- 18.214
- Veranstalter
- Rainer Müller,
Joachim W. Schmidt
- Zeit / Ort
- Di 10-12, VK F-534
- Lernziel
- Für zahlreiche Applikationen haben sich in den letzten Jahren Objektorientierte Datenbanken als zentrale Bestandteile moderner Informationssysteme zur langfristigen, sicheren und flexiblen Datenhaltung herauskristallisiert.
- In dieser Lehrveranstaltung werden objektorientierte Datenbanken in ihren Aufgaben, Architekturen, Funktionsweisen und grundlegenden Realisierungstechniken vermittelt. Dies soll nicht nur auf der konzeptuellen Ebene durch Vermittlung der OODB-Konzepte erreicht werden, sondern auch durch Analyse und Bewertung realisierter objektorientierter Datenbanksysteme.
- Inhalt
- Grenzen traditioneller Datenbanksysteme
- Objektorientierte Modellierungskonzepte
- Komplexe Objekte, Objektidentität, Assoziationen, Kapselung, ...
- Versionskonzepte
- Operationale Unterstützung in Objektspeichersystemen
- Mengenorientierte Anfragesprachen
- Programmierschnittstellen
- Persistenz- und Transaktionsmodelle
- Clustering-Strategien
- Client-Server Architekturalternativen
- Freispeicherverwaltung in persistenten und verteilten Adreßräumen
- Fallstudien: Modelle, Sprachen und Architekturen
- O2: Ein objektorientiertes Datenbanksystem
- ObjectStore: Ein Persistentes C++ System
- Express, SDAI: Ein modellneutrales Design-Repository
- Untypisierte Objektspeicher (Mneme, Napier, Tycoon Store)
- Stellung im Studienplan
- Hauptstudium, P10
- Voraussetzungen
- Grundkenntnisse in den Bereichen Datenbanken und Objektorientierung
- Vorgehen
- Vorlesung
- Literatur
-
- Heuer, A: Objektorientierte Datenbanken, Addison Wesley, 1992
- Cattell, R.G.G.: Object Data Management, Addison Wesley, 2nd Ed., 1994
- Huges, J.G.: Object-Oriented Databases, Prentice Hall, 1991
- Cattell, R.G.G. (Ed.): The Object Database Standard ODMG-93, Morgan Kaufmann Publishers, 1994
- Zdonik, S.B. and Maier, D.: Readings in Object-Oriented Database Management, Morgan Kaufman Publishers, 1989
- Periodizität
- ca. jährlich
Für Lehrer und Nebenfächler nicht geeignet.
Polymorphe persistente Programmierung
- Veranstaltungs-Nr.
- 18.215
- Veranstalter
- Florian Matthes
- Zeit / Ort
- Fr 10-12, VK F-534
- Lernziel
- Einführung in die Konzepte und die Pragmatik generischer Datenbankprogrammiersprachen höherer Ordnung. Einführung in Formalismen zur Definition, Klassifikation und Bewertung polymorpher Programmiersprachen. Erwerb praktischer Programmiererfahrungen in der begleitenden Übung.
- Inhalt
- Persistente Programmiersprachen erlauben die uniforme Behandlung kurzlebiger sowie langlebiger Daten, Programme und Aktivitäten. In polymorph typisierten Programmiersprachen kann ein Name (z.B. eine Variable) an Werte verschiedener Typen gebunden werden.
- PPP am Beispiel der Tycoon-Sprache TL:
- Defizite von Sprachen der dritten und vierten Generation
- Monomorphe, nicht-persistente Programmierung
- Parametrischer Polymorphisums, Subtyppolymorphismus, beschränkter parametrischer Polymorphismus
- Polymorphe Programmierung höherer Ordnung: Typoperatoren, höhere Typisierung, Typquantifizierung, Namensäquivalenz vs. Strukturäquivalenz, dependent types
- Programmierung im Großen
- Persistenzkonzepte
- Überblick über weitere Ansätze zur PPP:
- Modulare Datenbankprogrammiersprachen (DBPL, ...)
- Objektorientierte Datenbanksprachen (O2C, Persistent C++, ...)
- Client/Server Datenbanksprachen (VisualBasic, PowerBuilder, Delphi, ...)
- Formalismen zur Beschreibung und Klassifikation von polymporphen Programmiersprachen:
- Formale Typsysteme, Grundlagen und Motivation
- Strukturelle operationale Semantik (F1)
- Beschreibung polymorpher Typsysteme (F2, F<:)
- Substitution und Sichtbarkeitsregeln (de Bruijn Notation)
- Beschreibung polymorpher Typsysteme höherer Ordnung (Fw)
- Vorläufige Versionen des Skripts und der ergänzenden
Porgrammieraufgaben können hier eingesehen werden.
- Stellung im Studienplan
- Hauptstudium, P1, P2, P5, P10; geeignet für motivierte Studenten ab dem 5. Semester.
- Voraussetzungen
- Grundkenntnisse der imperativen und funktionalen Programmierung; Grundkenntnisse Datenbanken und Informationssysteme.
- Vorgehen
- Vorlesung mit ergänzenden Programmierübungen.
- Literatur
- Zur Einführung:
- Atkinson, M.P. und Bunemann, P.: "Types and Persistence in Database Programming Languages"; ACM Computing Surveys, Band 19, Nr. 2, Juni 1987
- Cardelli, L. and Wegner, P.: "On Understanding Types, Data Abstraction and Polymorphism"; ACM Computing Surveys, Band 17, Nr. 4, Dezember 1985
- Zur Vertiefung:
- Barendregt, H.P.: "The Lambda Calculus, Its Syntax and Semantics", North-Holland, Amsterdam, 1984
- Mitchell, J.C.: "Type Systems for Programming Languages", in: van Leeuwen, J.: "Handbook of Theoretical Computer Science", Band B, Elsevier Science Publishers, 1990
- Cardelli, L.: "Basic Polymorphic Typechecking", Science of Computer Programming, Band 8, S. 147-172, 1987
- Periodizität
- unregelmäßig
Für Lehrer und Nebenfächler nur bedingt geeignet.
Übungen zu Nr. 18.215: Vorlesung "Polymorphe persistente Programmierung"
- Veranstaltungs-Nr.
- 18.216
- Veranstalter
- Florian Matthes,
Gerald Schröder
- Zeit / Ort
- Fr 12-14, VK F-534
- Lernziel
- Erwerb praktischer Programmierkenntnisse in der persistenten
polymorphen Programmiersprache Tycoon Language (TL)
- Inhalt
- Benutzung des Tycoon Systems im FBI-RZ
- Werte, Typen, Bindungen, Signaturen
- Rekursive Werte und Typen
- Strukturelle Subtypisierung
- Parametrischer und Subtyppolymorphismus
- Persistenzkonzepte (stabilize, intern, extern)
- Funktionale Programmiertechniken
- Imperative Programmiertechniken
- Alternative Ansätze zur objektorientierten Programmierung (Kovarianz, Kontravarianz, Sharing, Kapselung, Wiederverwendung, Rekorderweiterung)
- Generische Bibliotheksprogrammierung (Iteratoren, Kollektionen)
- Anbindung externer Diensterbringer (StarView GUI, C++)
- Stellung im Studienplan
- Hauptstudium, P1, P2, P5, P10
- Voraussetzungen
- Regelmäßiger Besuch der Vorlesung PPP
- Literatur
- Ausführliche Dokumentation zum Tycoon-System und zur Tycoon- Sprache TL wird von den Veranstaltern zur Verfügung gestellt.
- Periodizität
- unregelmäßig
Für Lehrer und Nebenfächler nur bedingt geeignet.
Projektseminar: Anatomie des Tycoon-Systems zur Datenbankprogrammierung
- Veranstaltungs-Nr.
- 18.364
- Veranstalter
- Andreas Gawecki,
Bernd Mathiske,
Joachim W. Schmidt
- Zeit / Ort
- Do 12-16, VK F-534
- Lernziel
- Vermittlung von Kenntnissen über Architektur und Implementierung eines modernen Datenbankprogrammiersystems; Einübung in die Funktionsweise der wesentlichen Schichten, Schnittstellen und fundamentalen Algorithmen des Tycoon-Systems.
- Inhalt
- Im Anschluß an einführende Vorträge über das Tycoon-System durch die Veranstalter werden zunächst einige grundlegenden Themen zum Entwurf und zur Implementierung von Datenbankprogrammiersystemen in Form von Seminarvorträgen behandelt. Dies geschieht am Beispiel ausgewählter Komponenten des Tycoon-Systems.
- Externe Systemsicht
- Programmiersprache TL (Tycoon Language)
- Tycoon-Bibliotheken
- Tycoon objekt-orientiert
- Programmiersprache TooL (Tycoon Object-Oriented Language)
- Objekt, Botschaft, Klasse, Vererbung, Kontrollstrukturen
- Statische Typisierung
- TooL-Klassenbibliotheken
- Systemdienste
- Interaktive Programmierumgebung
- Bibliotheks- und Modulverwaltung
- Compiler Front End
- Parser, Parsergenerator
- Abstrakte TL-Syntaxbäume
- Compiler Back End
- Persistente Zwischenrepräsentation (Tycoon Machine Lanugage)
- Übersetzung von TL nach TML
- TML-Optimierung (statisch, dynamisch)
- Laufzeitsystem
- Abstrakte Maschine TVM (Tycoon Virtual Machine)
- Elementare Datenstrukturen (Tagging)
- Programmierschnittstellen zu anderen Programmiersprachen
- C-Call: Aufruf von C und C++ aus TL heraus
- Callbacks: Aufruf von TL aus C
- Einbindung externer Dienste (Remote Procedure Call, das GUI-ToolKit StarView)
- Persistenter Objektspeicher
- Objektspeicherschnittstelle TSP (Tycoon Store Protocol)
- Verwendung unterschiedlicher Objektspeichersysteme
- Unterstützung von Mehrbenutzerbetrieb (Concurrency Control, Recovery)
- Migrierende persistente Threads
- Persistenz, Migration
- Dynamisches Linken
- Remote Execution Engines
- Im zweiten Teil der Veranstaltung haben die Teilnehmer dann die Gelegenheit, sich die "Anatomie" einer isolierten Komponente des Tycoon Systems zu erarbeiten und das erworbene Wissen durch eine lokale Modifikation der Funktionalität oder die Einbindung einer externen Schnittstelle in die Praxis umzusetzen.
- Weitere Seminarinformationen stehen hier.
- Stellung im Studienplan
- Hauptstudium, P1, P10
- Voraussetzungen
- Programmiererfahrung, Teilnahme an den Übungen zur Vorlesung "Polymorphe Persistente Programmierung" oder dementsprechende Kenntnisse.
- Vorgehen
- Vorgehen: Analyse des Tycoon-Systems, Seminarvorträge, Programmierung.
- Literatur
- Spezialliteratur und Systemdokumentation werden zur Verfügung gestellt.
- Periodizität
- jährlich im Sommersemester
Für Lehrer und Nebenfächler nicht geeignet.
Einführung in die Datenkommunikation
- Veranstaltungs-Nr.
- 18.365
- Veranstalter
- Michael Merz,
Kay Müller-Jones,
Winfried Lamersdorf
- Zeit / Ort
- Mo, 10-14 und 12-16 (2 Gruppen), VK F-534
- Lernziel
- Einführung in die Grundlagen der Kommunikations- und Systemunterstützung in verteilten Systemen, der Kooperation von verteilten Diensten in Rechnernetzen und praktische Erfahrung in der Programmierung von einfachen, verteilten Anwendungen in einer offenen verteilten Systemumgebung.
- Inhalt
- Anhand von Übersichtsvorträgen der Teilnehmer zu den wichtigsten Themenbereichen wollen wir gemeinsam Grundlagen der verwendeten Systeme unter Nutzung ausgewählter wissenschaftlicher Literatur und der dazu notwendigen Systemdokumentation erarbeiten. Daneben sollen konkrete praktische Erfahrungen im Programmieren einfacher Anwendungen der Datenkommunikation in offenen verteilten Systemen gewonnen werden. Dazu wird das Projektseminar als Kombination von gemeinsamen Seminarterminen sowie betreuter, praktischer Arbeit in mehreren parallelen Arbeitsgruppen an lokal vernetzten Workstations durchgeführt.
- In diesem Semester stehen sog. "Middleware"-Architekturen im Vordergrund, die auf der Basis der inzwischen weit verbreiteten Kommunikationsnetze verteilte Anwendungen nach dem Client/Server-Modell unterstützen und in zunehmendem Maße Gegenstand von Forschung und kommerzieller Realisierung sind.
Beispiele derartiger Systemplattformen, wie z.B. OMG CORBA (Common Object Request Broker), OSF DCE (Distributed Computing Environment), COSM (Common Open Service Market) und TRADE (TRading And coorDination Environment), werden daher im Verlaufe der Veranstaltung durch die Teilnehmer erarbeitet und in Seminarvorträgen vorgestellt.
Im Rahmen der praktischen Tätigkeit sollen anhand von konkreten Programmierbeispielen und auf den Workstations verfügbaren Installationen die diesen Architekturen zugrundeliegenden Kommunikations-
und Kooperationsmechanismen untersucht werden. Daneben steht zur Server-Entwicklung voraussichtlich u.a. ein kommerzielles relationales Datenbanksystem (DB/2) zur Verfügung, dessen Dienste z.B. mit Hilfe des Sun RPC und von OSF DCE auch für entfernte Klienten nutzbar gemacht werden sollen.
- Stellung im Studienplan
- Hauptstudium, P4, P10
- Voraussetzungen
- Grundkenntnisse in Unix und C; Interesse an Kommunikation, Verteilten Systemen und Datenbanken; Bereitschaft zu Vorträgen und zu selbständigem praktischen Arbeiten an verteilten Workstations im lokalen Netz.
- Vorgehen
- Übersichtsvorträge von Teilnehmern und Veranstaltern im gemeinsamen Seminarteil; betreutes praktisches Arbeiten in 2 Gruppen auf verteilten Workstations (IBM RISC/6000) mit Standard-Komunikations-Software im lokalen Netz.
- Literatur
- Standard-Unix- und C- Literatur
- Systemdokumentation
- Ausgewählte internationale Standard-Dokumente
- Spezielle wissenschaftliche Artikel - wie noch anzugeben
- Periodizität
- jährlich im Sommersemester
Für Lehrer und Nebenfächler nur bei besonderem Interesse geeignet.
Projektseminar: Werkzeugorientierter Daten- und Prozeßentwurf
- Veranstaltungs-Nr.
- 18.377
- Veranstalter
- Joachim W. Schmidt,
Gerald Schröder
- Zeit / Ort
- Di 14-16 + 2 Stunden n.V., VK F-534
- Lernziel
- Kennenlernen einer praxisrelevanten Methode und eines leistungsfähigen Werkzeugs für die Entwicklung von Informationssystemen. Vermittlung praktischer Fertigkeiten in der Anwendungsanalyse und im Systemdesign.
- Inhalt
- Einführung in die objektorientierte Analyse- und Designmethode OMT anhand eines konkreten Beispiels (Objektmodellierung, dynamische Modellierung, funktionale Modellierung).
- Vorstellung des OMT-Tools (Funktionalität, Architektur, praktische Benutzungshinweise, Repository-Struktur, Mehrbenutzerbetrieb).
- Erarbeitung eines konkreten Informationssystems durch die Seminarteilnehmer (Analyse, Design, nicht Implementierung).
- Diskussion und Analyse der praktisch gesammelten Erfahrungen mit dem Werkzeug.
- Vergleich mit verwandten Werzeugen und Methoden.
- Stellung im Studienplan
- Hauptstudium, Vertiefungsgebiete P2, P10
- Voraussetzungen
- Kernvorlesungen Datenbanken
- Vorgehen
- Einzel- bzw. Gruppenvorträge, praktische Arbeit an der Workstation
mit den Entwicklungswerkzeugen in Kleingruppen.
- Literatur
-
- J.Rumbaugh et al.: Object-Oriented Modeling and Design. Prentice-Hall, 1991
- Communications of the ACM, Special Issue on OODA, Heft 35:9, September 1992
- F. Matthes: Vorlesungsskript WS94/95 "Objektorientierte Daten- und Prozeßmodellierung", Informatikbibliothek, 1995
- F. Schönthaler/T. Nemeth: Software-Entwicklungswerkzeuge: Methodische Grundlagen, Teubner 1992
- Unterlagen des Blockseminars Informationssysteme: Entwicklung und Management
- Systemdokumentation für StP/OMT wird zur Verfügung gestellt.
- Periodizität
- jedes Semester
Für Lehrer und Nebenfächler geeignet.
Oberseminar: Datenbanken und Informationssysteme
- Veranstaltungs-Nr.
- 18.473
- Veranstalter
- Joachim W. Schmidt
- Zeit / Ort
- Do 16-18, VK F-534
- Lernziel
- Dieses Oberseminar vermittelt einen Einblick in die aktuellen Forschungsthemen des Bereichs Datenbanken und Informationssysteme.
- Inhalt
- Themenschwerpunkte der Veranstaltung sind:
- Datenbankprogrammierung
- Objektorientierung
- Geschäftsprozeßmodellierung
- Interaktive DB-Schnittstellen
- Datenbanken in heterogenen Netzen
- Sprachen und Sprachprozessoren
- Stellung im Studienplan
- Hauptstudium, P10
- Voraussetzungen
- Gute Kenntnisse im Bereich Datenbanken
- Vorgehen
- Seminarvorträge mit anschließender Diskussion
- Periodizität
- jedes Semester
Für Lehrer und Nebenfächler nicht geeignet.