Fakultäten

Wirtschaftsinformatik und Angewandte Informatik

SYNCHRON 2007 – Daten & Informationen

Allgemeine Angaben:

14. Internationale Informatiktagung zu Synchronen Programmiersprachen und ihren Anwendungen

26.11.2007-30.11.2007 in der AULA (ehem. Dominikanerkirche), Bamberg

Veranstalter:

Otto-Friedrich-Universität Bamberg,
Fakultät für Wirtschaftsinformatik und Angewandte Informatik,
Professur für Grundlagen der Informatik,
Prof. Michael Mendler, PhD
Feldkirchenstraße 21
96045 Bamberg

http:/www.gdi.wiai.uni-bamberg.de/Synchron2007/

Kurzfassung zur Tagung:

Damit ein Computer arbeiten kann, muss er programmiert werden. Ohne Software bleibt die Hardware kalt. In einer Programmiersprache gibt der Informatiker dem Computer Rechenvorschriften und Steuerungsanweisungen. Um Verständigungs-probleme durch Missverständnisse zu verhindern, besitzen Programmiersprachen eine starre Grammatik und einen stark eingeschränkten Wortschatz. Denn die Bedeutung eines Programms muss eindeutig und widerspruchsfrei festgelegt sein. Deshalb sind Programmiersprachen auch nicht annähernd so anpassungsfähig wie unsere natürlichen Sprachen. Kein Wunder also, dass Informatiker immer neue Programmiersprachen erfinden: Sprachen für Fertigungsroboter, Sprachen für Mobiltelefone, Sprachen für Geschäftsprozesse, Sprachen für Internetdienste. Der Zoo der Programmiersprachen ist ebenso reichhaltig wie die Welt der technischen Computeranwendungen.

Computerprozessoren, so scheint es, erobern unaufhaltsam alle Lebensbereiche. Sie sind überall zu finden, schon lange nicht mehr nur in der klassischen Großrechenanlage einer Bank oder im Heimcomputer.  Programmierbare Prozessoren erhöhen den Funktionsumfang und die Intelligenz von Spielkonsolen, Fernsehern, Mobiltelefonen, Kaffeemaschinen, Rasenmähern, Kreditkarten um nur einige Beispiele zu nennen. Die Informationstechnik der Zukunft wird sich nicht nur durch eine enorme Durchdringung unserer Umwelt mit Computerintelligenz, sondern auch durch ihre enge Vernetzung auszeichnen. Bereits heute wäre die Komplexität unserer hoch automatisierten Produktionsanlagen, unserer modernen Automobile oder Flugzeuge ohne die Unterstützung durch ganze Netzwerke von Steuerungsprozessoren und ihrer Software nicht denkbar. Da die Miniaturisierung auch nicht beliebig vorangetrieben werden kann, schaltet man inzwischen angesichts der zunehmenden Kosten mehrere Prozessoren in dual-core und multi-core PCs zusammen. Statt „immer kleiner!“ heißt es „immer mehr!“.

Der Trend zur Vernetzung bietet neue Möglichkeiten, wirft aber auch knifflige Fragen auf. Wo Computer in einem engen Verbund gemeinsam eine Steuerungsaufgabe lösen, spielt ebenso wie in unserer menschlichen Gesellschaft die sichere und reibungslose Koordination von Teilabläufen eine große Rolle. In der Automatikschaltung eines Fahrzeuges muss zuerst das Gas zurückgenommen, dann die Kupplung geöffnet und schließlich erst der Gang umgelegt werden. In der vollautomatischen U-Bahn müssen erst alle Türen vollständig geschlossen sein, bevor der Zug vom Bahnsteig abfährt. Synchronisationsfehler reichen vom Ärgernis eines kaputten Getriebes, den Beschwerden ausgekühlter Passagiere, eines verklemmten Cabrioverdecks über astronomisch hohe Kosten einer verlorenen Weltraumstation bis hin zum Verlust von Menschenleben. Auch hier gibt es einen entscheidenden Unterschied zwischen der Kommunikation von Menschen und der von Computern: Menschen sind flexibel und einfallsreich. Computer sind das nicht. Wo sich Menschen in einer gemeinsamen Sprache spontan aus einer Synchronisationsfalle befreien, könnten naiv programmierte Computer durch das starre Korsett ihrer Programmiersprache in einer Blockade gefangen bleiben. Wer hat nicht schon einmal erlebt, wie schnell er sich mit einem entgegenkommenden Kollegen an einer engen Türe über den Vortritt einigt. Roboter würden das „Bitte, nach Ihnen!“ stupide und unermüdlich wiederholen, bis ihnen – wer sonst ? - ein Mensch entnervt den Strom abschaltet. Bei technischen Anwendungen, in deren Ablauf Menschen nicht ohne weiteres eingreifen können, kommt es deshalb darauf an, durch geeignete Mechanismen der Programmiersprache mögliche Synchronisationsfehler von vorne herein auszuschließen.

Die Synchronisation von technischen Prozessen ist ein zentrales Problem, das dem Programmierer besondere Verantwortung auferlegt und somit auch spezielle Anforderungen an die Programmiersprache stellt.  Im Bereich des Entwurfes und der Programmierung eingebetteter Systeme in der Automobil- und Flugzeugindustrie werden deshalb häufig spezielle, so genannte synchrone Programmiersprachen eingesetzt. Diese Sprachen sind speziell darauf ausgerichtet, nebenläufig arbeitende Prozessoren durch einen globalen Steuertakt zu synchronisieren, etwa wie der Steuermann in einem Achterboot die Schläge der Ruderer koordiniert. Nutzt der Programmierer dies geschickt aus, kann er so in verteilt programmierten Systemen blockadefreie, deterministische Abläufe sicherstellen. Synchrone Programmier-sprachen eignen sich besonders für sicherheitskritische Steuerungssysteme, bei denen es auf mathematisch verifizierte Korrektheit ankommt. Dies ist beispielsweise dann der Fall, wenn die Funktionstüchtigkeit und Fehlerfreiheit durch Sicherheitszertifikate im Rahmen eines „Software-TÜVs“ nachgewiesen werden muss.

Auch synchrone Programmiersprachen müssen kontinuierlich weiterentwickelt und neuen Anforderungen angepasst werden. Jedes Jahr treffen sich führende europäische Forscher und Ingenieure zur Informatikarbeitstagung SYNCHRON. Dort werden neueste Forschungsergebnisse zum synchronen Entwurf, der Spezifikation, der Verifikation und dem Test von informationstechnischen Systemen mittels synchroner Programmiersprachen vorgestellt und diskutiert. SYNCHRON 2007 ist die 14. Tagung dieser Reihe, die bisher vier Mal in Deutschland stattfand, zuletzt 2004 im wissenschaftlichen Tagungszentrum Schloss Dagstuhl im Saarland. Bamberg ist nun die zweite deutsche Stadt in der SYNCHRON ausgerichtet wird.

Prof. Michael Mendler, PhD.