direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

Prof. Dr. Peter Pepper

Picture
Lupe

Ausbildung
Abitur am Peutinger Gymnasium, Augsburg
Dipl.-Math. an der TU München
Dr. rer. nat. an der TU München
Dr. rer. nat. habil. an der TU München


Beruflicher Werdegang
Wiss. Mitarbeiter an der TU München: 1975 - 1980; 1981 - 1985
Research Fellow an der Stanford University: 1980 - 1981
Professor an der TU Berlin: 1985 - heute
Prodekan, FB Informatik TU Berlin: 1993 - 1995
Dekan, FB Informatik TU Berlin: 1995 - 1997
Mitglied im Akademischen Senat TU Berlin: 1995 - 2003
Mitglied im Kuratorium TU Berlin: 2003 - heute


Mitgliedschaften
IFIP WG 1.3
IFIP WG 2.1
EASST
EATCS
Gesellschaft für Informatik
ACM
IEEE (affiliate member)

Forschungsinteressen

Die eigene Forschungsarbeit im Bereich Programmtransformation und algebraische Spezifikation im Rahmen des Münchener CIP-Projektes bildete den Ausgangspunkt für die heutige Ausrichtung der Forschung in den folgenden Gebieten.


Programmspezifikation und Programmentwicklung
Die Produktion von Software hoher Qualität wird durch die geeignete Verwendung von formalen Methoden gefördert. Diese Herangehensweise erfordert die präzise Spezifikation der Anforderungen sowie die korrektheitserhaltende Ableitung einer Implementierung. In der Spezifikation wird der Schwerpunkt auf algebraische Spezifikationstechniken für Daten- und Algorithmenbeschreibungen gelegt, während für Beschreibungen von dynamischem Systemverhalten die temporale Logik im Mittelpunkt steht. Der Entwicklungsprozess wird als eine Transformation verstanden, die mit Hilfe von Verfeinerungen von Spezifikationen durchgeführt wird. (Diese Überlegungen wurden insbesondere im KORSO-Projekt untersucht.)


Funktionale Programmierung
Programme sollten auf der höchstmöglichen Abstraktionsebene formuliert werden, unabhängig davon, ob sie direkt geschrieben oder von einer Spezifikation abgeleitet werden. Eine entsprechende Abstraktionsebene bieten funktionale Sprachen. Damit solche Sprachen wirklich anwendbar sind, müssen einige Konzepte realisiert sein, z.B. Modularisierung, einschließlich Parametrisierung; Polymorphismus; Funktionen höherer Ordnung; lesbare Syntax, einschließlich Overloading und Mixfix-Notationen. Darüberhinaus muss eine Integration mit bestimmten imperativen Merkmalen erfolgen, damit Ein-/Ausgabe, graphische Benutzeroberflächen, kommunizierende Systeme, usw. möglich sind. (Dieses Thema wird im Rahmen des OPAL-Projektes behandelt.)


Techniken der Übersetzung
Funktionale Sprachen stellen einige Herausforderungen an ihre Übersetzer. Am wichtigsten ist die Frage der Effizienz des generierten Codes. Hier werden fortgeschrittene Techniken der Optimierung und der Datenflußanalyse eingesetzt; eine ganz neue Idee ist die Verwendung von bestimmten Spezifikationseigenschaften durch den Kodierer. Die Kombination von Parametrisierung und Polymorphismus mit Oberladung und Mixfix-Notation stellt aber auch das Frontend vor schwere Aufgaben. (Diese Frage wird auch im Rahmen des OPAL-Projektes behandelt.) Ein weiteres Thema im Zusammenhang mit Compilern sind neuartige Techniken für das Parsing, insbesondere im Zusammenhang mit typabhängigem Parsing von Mixfix-Operatoren.


Sicherheitskritische Software
Ein Anwendungsgebiet, in dem formale Methoden unbedingt erforderlich sind, ist die Herstellung von sicherheitskritischer Software, z.B. für Autoelektronik, Verkehrssteuerung und dergleichen. Ebenso wie in (fortgeschrittenen) industriellen Anwendungen werden hier Spezifikationstechniken, bei denen Z und State Charts eine Rolle spielen, behandelt. Das führt zu der Frage, wie diese Techniken mit den obengenannten Konzepten integriert werden können. (Mit diesem Thema befasste sich das ESPRESS-Projekt.)


Autonome und selbstheilende Systeme
Wenn Softwaresysteme in Fahrzeugen eingesetzt werden, dann entstehen besondere Anforderungen an die Sicherheit und Robustheit. Ein Ansatz besteht darin, Konzepte des Autonomic Computing und Self Healing, die im Umfeld von Betriebssystemen und Webservices entstanden sind, auf den Bereich der Fahrzeug- und Telematik-Software zu übertragen. Diese Untersuchungen werden in diversen Kooperationen mit DaimlerChrysler durchgeführt.


Kooperation und Sicherheit in komplexen soziotechnischen Systemen
Das Projekt KOSIS ist ein interdisziplinäres Forschungsprojekt, in dem Vertreter von sozial- und ingenieurswissenschaftlichen Disziplinen gemeinsam die spezifischen Merkmale soziotechnischer Systeme erforschen. Dabei beschäftigen wir uns vor allem mit Techniken zur Modellierung solcher Systeme.


Kommunikationsbasierte Systeme
Kommunizierende Systeme gehören zu den elementarsten Paradigmen für die Architektur von Softwaresystemen (insbesondere im Rahmen der Software/Hardware-Kodesign). Im Zusammenhang mit funktionalen Sprachen umfaßt dieses Paradigma als besonderen Fall die komplizierte Frage der Ein-/Ausgabe. Verschiedene Methoden für die Behandlung von Fragen der Kommunikation werden untersucht: stromverarbeitende Funktionen in Verbindung mit temporaler Logik; Integration von CCS-artigen Konzepten mit funktionalen Paradigmen; Erweiterungen des monadischen Ansatzes; Integration von objekt-orientierten Paradigmen mit funktionalen Sprachen. (Diese Arbeit erfolgt vorwiegend im DFG-Graduiertenkolleg kommunikationsbasierte Systeme.)


Massiv parallele Programme
Eine andere Anwendung, für die formale Methoden unentbehrlich sind, ist die Programmierung von massiv parallelen Rechnern. Insbesondere ist hier die derzeit vorherrschende Kategorie der MIMD-Maschinen mit verteiltem Speicher eine große Herausforderung. Ein vielversprechender Ansatz in diesem Gebiet sind sogenannte Skeletons, d.h. bestimmte Funktionen höherer Ordnung in Verbindung mit Datenverteilungsalgebren. Auf diese Weise können sowohl parallele Algorithmen als auch die Verteilung auf die Prozessoren auf einer sehr hohen und abstrakten Ebene beschrieben werden. Auch diese Forschungen wurden primär im Rahmen des DFG-Graduiertenkollegs kommunikationsbasierte Systeme ausgeführt.


Programmierumgebungen
Jedes der obengenannten Konzepte für Programmentwicklung benötigt entsprechende maschinelle Unterstützung. Notwendig ist daher die Forschung nach geeigneten Programmierumgebungen, die eine zentrale Datenbank (Repository) von Programmodulen und eine "moderne" Benutzeroberfläche mit einer Sammlung von Werkzeugen für Kompilation, Verifikation, Dokumentation, etc. vereinen. Dieser Themenkreis wird in lockerer Folge im Rahmen von studentischen Projekten bearbeitet.

Zusatzinformationen / Extras

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe

Kontakt

Prof. Dr. Peter Pepper
Raum TEL1214
Sekr. TEL12-2
Ernst-Reuter-Platz 7
D-10587 Berlin
+49(30)314 73470
+49(30)314 73623