Eine weitere Eigenschaft dieses Modells sind Variablenstrukturen, die mit Intelligenz ausgestattet sind: Eine zu verarbeitenden Messgröße teilt innerhalb des Datenmodells automatisch Änderungen über ihren Zustand anderen Prozessen mit. Diese Prozesse müssen nicht »pollend« Änderungen von Daten abfragen, sondern werden von der Messgröße automatisch informiert und aktiviert. Eine Variable besitzt also neben der reinen Dateninformation die Eigenschaft, Funktionen direkt auslösen zu können. Damit vereinfacht sich die Programmstrukturen wesentlich und wird übersichtlicher. Die meisten Systemfunktionen sind über einfaches Konfigurieren anstatt durch aufwendiges Programmieren umsetzbar. Mit der Möglichkeit der Simulation der Prozessvariablen und der Aufzeichnung aller Änderungen lassen sich einfach Testprozeduren außerhalb der eigentlichen Steuerungssoftware aufsetzen. Dadurch vereinfachen sich die Entwicklung und der Test entscheidend, denn sie greifen so nahtlos ineinander, dass die Steuerungssoftware nicht entsprechend erweitert werden muss.
Das Datenmodell beschreibt die durch Variablen repräsentierten Prozesszustände einer Anlage. Für die Visualisierung dieser Zustände und die Interaktion mit Bedienern muss das Grafiksystem nun folgende Eigenschaften aufweisen:
- Die Verknüpfung der Variablen im Datenmodell mit den Anzeigegeräten soll automatisiert werden. Das ist vor allem für Anlagen von Bedeutung, in denen zig-tausend Messwerte und I/O-Daten zu verarbeiten sind.
- Darstellen und Animieren von Anzeigen ohne aufwendige Programmierung durch vereinheitlichte und konfigurierbare Bewegungsabläufe von Grafikobjekten.
- Interaktion mit den Ablaufprogrammen die Anlagenfunktionen steuern.
Für die Umsetzung dieser Eigenschaften im Grafiksystem wird der GUI-Builder um folgende Funktionen erweitert:
- Ermitteln der verfügbaren Variablen aus dem Datenmodell und direktes verknüpfen der Variablen mit grafischen Objekten.
- Abstimmen der Eigenschaften von Variablen mit Anzeigegeräten, z.B. Skalierungen oder Grenzwertdarstellungen.
- Festlegen von Laufzeitregeln ohne Programmieren.
Die praktische Umsetzung dieses Ansatzes soll das Beispiel eines Entwurfs eines Avionik-Gerätes verdeutlichen: Der Fluglageanzeiger wird mit dem »GUI-Builder« entworfen. Die optischen Eigenschaften und Bewegungsfunktionen werden in einem Designprozess mittels eines Konfigurators definiert und festgelegt - das Programmieren der Objekte ist somit vom Design entkoppelt. Komplexe, ergonomische und interaktive grafische Oberflächen können dabei von Spezialisten, wie Grafikdesignern umgesetzt werden. Die Animationen und die Bewegungen von Grafikelementen werden durch einen Vektoreditor konfiguriert.
Beim künstlichen Horizont müssen diverse komplexe Flugzeugbewegungen abgebildet werden wie die Horizontdarstellung, Einblendung von Grenzwerten oder programmierten Wegemarken. Die einzelnen Objekte mit ihren Eigenschaften werden dazu mit dem Vektoreditor definiert und beschrieben. Für die Integration der Grafikfunktionen in eine dynamische Systemumgebung sind bislang aufwendige Programmiertätigkeiten notwendig, z.B. muss die grafische Anzeige eines Drucks in einem Ablaufprogramm mit Funktionen, Grenzwerten, Alarmen, animierten Anzeigen mit Farb- und sonstigen Objektänderungen verknüpft werden. Das alles wird bis heute explizit programmiert. Stellt sich nun die Aufgabe hunderte oder tausende von Messwerten grafisch darzustellen und zu verarbeiten, bedeutet eine methodische Vereinfachung enorme Kosten- und Zeiteinsparungen. Der »XiBase9-GUI-Builder«, ausgestattet mit entsprechenden neuen Interfaces zu dem Datenmodell, wird zum Verbindungsglied zwischen den im Modell hinterlegten Variablen und deren Funktionen im gesamten Umfeld der Visualisierung. Das schließt natürlich die grafische Darstellung aller Zustandsgrößen und die Handhabung der Ein- und Ausgabefunktionen mit ein.
Über diese Schnittstelle ist es nun möglich auf die im Datenmodell hinterlegten Variablen automatisch zuzugreifen, ohne jede einzelne Abhängigkeit händische programmieren zu müssen. In einer menügeführten Oberfläche werden in einem ersten Schritt die aus dem Modell abgeleiteten Variablen den vorher erstellten grafischen Objekten zugeordnet. In einem weiteren Schritt werden die spezifischen Eigenschaften der Variablen mit den gewünschten Anzeigefunktionen abgestimmt. Die Objekte sind animierbar, d.h. über eine Konfiguration sind ihre Bewegungseigenschaften in der Bildschirmdarstellung einstellbar. Im Fluglagenanzeiger des Beispiels wird auf diese Weise festgelegt, dass die Hintergrundanzeige gegenüber der Waagerechten des Horizonts im Vordergrund rotieren darf und in welchem Winkelbereich. Die Grafikobjekte haben nun ein Aussehen, wie Form, Farbe, Größe, Transparenz, Beschriftung und die Beschreibung ihrer Bewegungseigenschaften erhalten.
Ein wesentlicher Bestandteil der Anwendung ist natürlich ein Programm für die logische Abarbeitung der Prozesszustände: Das Ablaufprogramm stellt eine weitere Abstraktionsebene zur Verfügung, über die die vorher im GUI-Builder definierten Regeln automatisch abgearbeitet werden. Funktionen, die es ausführt, sind zum Beispiel:
- Initialisieren der Grafikumgebung beim Hochfahren des Systems,
- Skalieren der Grafikobjekte,
- Abarbeiten der Variablenänderungen,
- Manipulieren von Variablen durch die GUI,
- Verteilte Anzeige auf verschiedenen Displays.
Wiederkehrende Programmierarbeit wird damit wegrationalisiert, vereinfacht und über Abstraktionen in eine Logik gepackt. Der GUI-Builder wird als Maskengenerator um die Möglichkeit des Konfigurierens und Einbeziehens von Variablen aus einem Datenmodell erweitert. Daten werden durch Abfragen übernommen, in Listen verwaltet und mit Beschreibungen ihrer Eigenschaften versehen. Dadurch sind sie mit Anzeigefunktionen und -eigenschaften, Skalierungen und Laufzeitregeln verknüpfbar. Diese neue Methode, Grafikobjekte zu gestalten, zu konfigurieren und zu verknüpfen, anstatt aufwendig zu programmieren, hat das Potenzial 80 bis 90 Prozent des Entwicklungsaufwandes für traditionelle Embedded-Grafiksysteme einzusparen.