|
|
Forschung
Aufgrund der immer weiter
gehenden Erfolge bei der Miniaturisierung ist es einerseits prinzipiell
möglich, immer komplexere Hard- und Softwaresysteme zu bauen,
und andererseits
können diesen Systemen immer neue Anwendungsgebiete
erschlossen werden. Informationsverarbeitende
Systeme sind heute nicht nur im Bereich von klassischen
Großrechnern und
Personalcomputern zu finden, sondern mehr und mehr auch in
Eingebetteten
Systemen, die eingebettet in sie umgebende technische Systeme komplexe
Steuerungs-, Regelungs- und Datenverarbeitungsaufgaben
übernehmen. Auf
zahlreichen Gebieten des täglichen Lebens finden sich typische
Anwendungsfelder solcher eingebetteter Systeme,
beispielsweise in Automobilbau, Luft- und Raumfahrt, Telekommunikation,
der Steuerung und Regelung von Produktionsprozessen oder auch
Instrumented Homes.
Aus der beschriebenen
Situation ergeben sich die zwei wesentlichen Schwerpunkte unserer
Forschung:
Mit der wachsenden Komplexität heutiger Hard- und Softwaresysteme
wird es völlig unmöglich, diese
Systeme von Hand zu entwerfen. Eine Unterstützung durch
Rechner ist unerlässlich. Wir beschäftigen uns daher mit
rechnergestützten,
automatisierten Entwurfsmethoden für Hard- und Softwaresysteme
.
Darüber hinaus wird es immer
schwieriger, die Korrektheit hochkomplexer Entwürfe zu
garantieren. Da die so
entworfenen informationsverarbeitenden Systeme aber
häufig in sicherheitskritischen Bereichen eingesetzt werden,
sind Kompromisse bezüglich Zuverlässigkeitsgarantien
nicht akzeptabel.
Es wird immer wichtiger, sich schon in frühen Phasen der
Projektplanung mit
Zuverlässigkeitsfragen
auseinander zu setzen und einen ausreichenden Aufwand zur
Gewährleistung der Entwurfskorrektheit zu betreiben. Aus
diesem Grund
beschäftigen wir uns insbesondere mit
formalen Methoden zur Verifikation
von Hard- und Softwaresystemen
.
Im Einzelnen befassen wir
uns mit folgenden Teilgebieten:
-
Formale Verifikation
durch Äquivalenztests und Modellprüfung:
Wir entwickeln formale
Methoden, um die Korrektheit informationsverarbeitender
Systeme zu beweisen. Formale Verifikation garantiert allgemein die
Äquivalenz von (in abstrakterer Form) gegebenen
Spezifikationen und dazugehörigen Implementierungen (in
konkreterer Form).
Für Spezifikationen, die aus einer Menge
von temporalen Systemeigenschaften bestehen, entwickeln wir spezielle
Modellprüfungsverfahren. Hierbei liegen die Herausforderungen
sowohl in einer effizienten Darstellung der Menge aller
möglichen Zustände großer Systeme als auch
im Umgang mit unvollständiger Information.
Unvollständige Information tritt auf bei Implementierungen,
die noch nicht vollständig abgeschlossen sind bzw. bei denen
es Teilkomponenten gibt, die von Fremdanbietern entworfen wurden, so
dass bestimmte Implementierungsdetails
nicht offen gelegt sind. Unser Schwerpunkt liegt in der Entwicklung
effizienter Datenstrukturen und Algorithmen, insbesondere auch in der
Entwicklung Verfahren, die aus Effizienzgründen
Approximationen verwenden, aber dennoch in der Lage sind, definitive
Aussagen zu liefern.
-
Fehlerdiagnose:
Wir beschäftigen
uns damit, in fehlerhaften Designs die mögliche Lage der
Fehler zu lokalisieren, um dem Entwerfer
Ansatzpunkte zur Fehlerkorrektur liefern.
-
VLSI-Entwurf, insbesondere FPGA-Synthese:
Wir befassen uns im
Bereich des VLSI-Entwurfs beispielsweise mit der automatisierten
Abbildung von Verhaltensspezifikationen auf FPGAs.
FPGAs (Field Programmable Gate Arrays) sind rekonfigurierbare
Recheneinheiten, die sehr flexibel eingesetzt werden können,
da sie ihre Funktion erst beim Anwender durch Konfigurierung erhalten.
Darüber hinaus können sie sogar zur Laufzeit
dynamisch neu konfiguriert werden.
- Echtzeitbetriebssysteme:
Im Rahmen des neu
eingerichteten Graduiertenkollegs „Embedded
Microsystems“
befassen wir uns mit der Generierung von Echtzeitbetriebssystemen,
die angepasst an die vorgegebene Anwendung und Architektur harten
Speicherplatz-, Laufzeit- und Energieanforderungen gerecht werden
können.
|