Computer Science

Computer Science Colloquium

Prof. Dr. Wolf Zimmermann
Universität Halle

Robuste Komponentensysteme durch Protokollprüfung

Tue 08.06.2010, 16:15, 60 minutes
MT130

Abstract

Ein robustes und wiederverwendbares Softwaresystem sollte eine komponentenbasierte oder serviceorientierte Softwarearchitektur haben, da idealerweise durch einfaches Austauschen oder Ergänzen von Black-Box-Komponenten (insbesondere auch Web-Services) ein Softwaresystem weiterentwickelt werden kann. Dieser Idealzustand ist derzeit nicht erreicht, denn das Zusammensetzen oder Verändern von Komponenten führt häufig zu unerwarteten Effekten. So verhalten sich Komponenten anders als erwartet, wenn sie in einem anderen als dem erwarteten Kontext eingesetzt werden. Es entstehen auf Grund der in vielen Komponententechnologien vorhanden Nebenläufigkeit Verklemmungen auf Grund der Komponentenkomposition und Komponenten stürzen bei ihrer Ausführung ab, weil sie nicht vorhersehbar genutzt werden. Ursachen sind u.a., dass die Komposition rein syntaktisch an Hand von Schnittstellen erfolgt und dass Komponenten zustandsbehaftet sind. Letzteres bedingt, dass eine unerwartete Aufrufreihenfolge der Dienste einer Komponente fehlerhaftes Verhalten verursachen kann. Wir schlagen - wie eine Reihe anderer Arbeiten - vor, dass zusätzlich zu den Schnittstellen Komponenten um Protokolle erweitert werden, die die Menge der zulässigen Aufrufreihenfolgen spezifiziert. Die Benutzung einer Komponente C in einem Komponentensystem ist die Menge tatsächlichen Aufrufreihenfolgen. Eine Komponentenprotokollprüfung für Komponente C prüft konservativ, ob deren Benutzung Teilmenge des Protokolls ist. Konservative Prüfung bedeutet, dass zwar Fehlalarme möglich, aber Positivmeldungen auf jeden Fall korrekt sind. Die meisten Arbeiten spezifizieren sowohl die Protokolle als auch die Benutzung von Komponenten durch reguläre Ausdrücke und reduzieren daher das Problem der Protokollprüfung auf die Teilmengenbeziehung zweier regulärer Sprachen. Diese Vorgehensweise stößt jedoch an ihre Grenzen, wenn rekursive Prozeduraufrufe ohne Beschränkung der Rekursionstiefe erlaubt sind und führt zu falschen Positivaussagen. Unser Ansatz verallgemeinert die bisherigen Protokollprüfungsmethoden auf eine unbeschränkte Nebenläufigkeit und unbeschränkte Rekursionstiefe. Der Vortrag diskutiert die Grenzen bestehender Ansätze und die Verallgemeinerung auf unbeschränkte Rekursionstiefe.

Bio

Prof. Zimmermann studierte Informatik an der Universität Karlsruhe und promovierte dort 1990 mit einer Arbeit über "Automatische Komplexitätsanalyse funktionaler Programme". In der Folge war er Postdoc am ICSI der Universität Berkeley sowie wissenschaftlicher Mitarbeiter bei der GMD und an der Universität Karlsruhe (bei Prof. Goos und Prof. Jähnichen), wo er sich 1998 habilitierte. Nach einer Professurenvertretung an der Universität Halle und einer Gastprofessur am INPG Grenoble ist er seit 2000 Professor für Softwaretechnik und Programmiersprachen an der Universität Halle. Seine gegenwärtigen Forschungsschwerpunkte sind Komponententechnologie und serviceorientierte Architekturen, Verifikation von Compilern sowie Programmanalyse und Modellprüfung.
Invited by o.Univ.-Prof. Dr. Dr.h.c. Hanspeter Mössenböck

The Computer Science Colloquium is organized by the Department of Coputer Science at JKU, the Österreichische Gesellschaft für Informatik (ÖGI) and the Österreichische Computergesellschaft (OCG).
List of all talks
Last modified on Thursday, 01-Jan-1970 01:00:00 CET