LocalazyLocalazy
Esterel ist eine einzigartige Programmiersprache für die Entwicklung von sicherheitskritischen Systemen. Sie basiert auf dem synchronen Programmiermodell, das die einfache Entwicklung von hochgradig nebenläufigen und Echtzeitsystemen ermöglicht. Die Sprache wurde in den 1980er Jahren von einem Team des französischen Instituts für Informatik- und Kontrollforschung (INRIA) unter der Leitung von Professor Gerard Berry entwickelt. Esterel wurde in einer Vielzahl von Anwendungen eingesetzt, u. a. bei der Entwicklung der Steuersysteme des Airbus A380, des französischen Raketensteuerungssystems Ariane 5 und des japanischen supraleitenden Tokamak-Fusionsreaktors. Das von Esterel verwendete synchrone Programmiermodell basiert auf dem Konzept der "Signale", d.h. Variablen, die eine endliche Anzahl von Werten annehmen können. Diese Werte sind in der Regel boolesch (wahr/falsch) oder ganzzahlig (0, 1, 2, usw.). Ein Signal kann seinen Wert nur zu bestimmten Zeitpunkten, so genannten "Ereignissen", ändern. Ereignisse können entweder "extern" (ausgelöst durch einen externen Eingang, z. B. einen Tastendruck) oder "intern" (ausgelöst durch das Programm selbst) sein. Esterel-Programme bestehen aus einer Reihe von "Modulen", die miteinander verbunden sind und einen gerichteten Graphen bilden. Jedes Modul hat eine Reihe von Eingangs- und Ausgangsports und eine Reihe von "Signalen", die mit den Ports verbunden sind. Die Module können in beliebiger Reihenfolge miteinander verbunden werden, und die Reihenfolge, in der sie ausgeführt werden, wird durch den "Signalfluss" durch den Graphen bestimmt. Der Esterel-Compiler erzeugt automatisch Code, der die Module in der richtigen Reihenfolge ausführt, basierend auf dem Signalfluss. Dies ermöglicht die einfache Entwicklung von hochgradig nebenläufigen Systemen, da sich der Programmierer nicht um die Reihenfolge der Ausführung der Module kümmern muss. Die Verwendung des synchronen Programmiermodells ermöglicht auch die Entwicklung von Echtzeitsystemen, da das Timing von Ereignissen genau kontrolliert werden kann. Esterel-Programme können so kompiliert werden, dass sie auf einer Vielzahl von Plattformen, einschließlich eingebetteter Systeme, laufen. Die Esterel-Sprache hat sich bei der Entwicklung von sicherheitskritischen Systemen als sehr erfolgreich erwiesen, da sie die Entwicklung von nebenläufigen und Echtzeitsystemen erleichtert. Sie wurde in einer Vielzahl von Anwendungen eingesetzt, darunter Flugzeugsteuerungssysteme, Raketensteuerungssysteme und Steuerungssysteme für Fusionsreaktoren.