Aufbau und Bibliotheken
Das OTX Datenmodell ist im Wesentlichen in den Sprachkern (Core) sowie in verschiedene funktionale Erweiterungen (Libraries) gegliedert. Die nachfolgende Abbildung gibt einen Überblick über die Laufzeitstruktur von OTX und seine verschiedenen standardisierten Erweiterungsbibliotheken. Der OTX Core definiert für die Erweiterungen nur den Erweiterungsmechanismus an den sich die verschiedenen Bibliotheken einklinken können. Der OTX Core ist dabei grundsätzlich stand-alone betreibbar. Ein OTX kompatibles Ablaufsystem muss wissen, wie die einzelnen Elemente von OTX auf die Laufzeitumgebung der Diagnoseanwendung gemappt werden (z.B. Darstellung der OTX MessageDialog-Aktivität oder Ausführung eines Diagnoseservices).
OTX Architektur - Schnittstellen & Erweiterungen |
Bibliotheken
Die Bibliotheken erweitern den Core um eine fest definierte Menge von Zusatzfunktionalitäten. Anwender können zwar auch ihre eigenen Bibliotheken erstellen, jedoch sind diese kein Bestandteil des Standards. Für neue Datentypen, Aktivitäten oder Ausdrücke nutzen alle Erweiterungen die im Core definierten Erweiterungspunkte. Das Bild zuvor gibt eine Übersicht über die wesentlichen Schnittstellen und Erweiterungsbibliotheken von OTX. Nachfolgend werden die bisher realisierten Bibliotheken kurz beschrieben.
DiagCom
Die DiagCom-Bibliothek stellt OTX-Elemente für die Off-Board-Kommunikation mit dem Fahrzeug zur Verfügung. Der Aufbau der Bibliothek erlaubt es, grundsätzlich jedes Diagnoselaufzeitsystem zu unterstützen. Es wird jedoch die Verwendung eines standardisierten MVCI-Servers empfohlen. Folgende Aufgaben werden mit der Bibliothek abgedeckt:
- Management der Kommunikationskanäle
- Ausführung von Diagnosediensten
- Setzen der Request-Parameter und Auswertung der Response-Parameter
- Management der positiven und negativen Antworten
- Management der Kommunikationsparameter
- Durchführung eine Variantenidentifikation
- Unterstützung der Funktionalen Adressierung
Environment
Die Environment-Bibliothek regelt Aufgaben für die Kommunikation mit der Umgebung (beispielsweise innerhalb des Tester-Frameworks), mit dem Betriebssystem oder mit anderen Anwendungen.
Event
Mit der Event-Bibliothek bietet OTX ein System für die detaillierte Kontrolle von Ereignissen zur Interaktion mit der Außenwelt an. Man unterscheidet zwischen Ereignissen, die außerhalb der Diagnosesequenz – z. B. Mausklick des Benutzers oder Ablauf eines Timers – und die innerhalb des Ablaufs auftreten – z. B. Änderung einer Variablen. Die Ereignisbehandlung in OTX ist immer synchron und nie asynchron. Dies bedeutet, dass ein Mechanismus verwendet wird, der auf das Auftreten von Ereignissen wartet und diese sequentiell weiter verarbeitet. In der Event-Bibliothek werden folgende Elemente bereitgestellt:
- EventSource – Erzeugung von Ereignissen
- Event – wird durch EventSource erzeugt und kapselt alle Informationen über das Ereignis.
- WaitForEvent – Synchronisationspunkt – eine laufende Diagnosesequenz wird angehalten und wartet auf bestimmte Ereignisse.
Flash
Die Flash-Bibliothek stellt spezifische Befehle für die autorisierte Programmierung, siehe auch Flashen, von Steuergeräten zur Verfügung. Sie unterstützt den Zugriff auf Datentypen, Terme und Aktivitäten zum Lesen von typischerweise in ODX vorliegenden Flash-Sessions. Eine Session enthält beliebig viele Blöcke, ein Block beliebig viele Segmente und ein Segment beliebig viele Datenbytes. Die Daten können gepackt vorliegen. Außerdem können Sicherheitsinformationen an Sessions und/oder Blöcken angehängt werden.
HMI – Human Machine Interface
Für die Interaktion mit dem Benutzer ist die HMI-Bibliothek zuständig. Sie stellt Elemente für die Ein- und Ausgabe, wie Standarddialoge, frei parametrierbare Bildschirmausgabe und Tastatureingaben, zur Verfügung. Aufgrund der unterschiedlichen Ausprägungen der verschiedenen Tester – manche besitzen nur sehr einfache Ein- und Ausgabemöglichkeiten – und wegen der klaren Trennung von Ablauflogik und Oberflächendarstellung werden in OTX keine oberflächenspezifischen Inhalte, wie Layout, Farbe, Design etc., abgebildet. Diese Informationen können toolspezifisch, beispielsweise in den OTX-Metadaten, abgelegt werden.
Es werden nur zwei so genannte Screens unterstützt:
- 1. BasicScreen
- Hiermit werden die Standardaufgaben erledigt, wie Aufforderung für einfache Eingaben, Darstellung von Warnungen etc. Die Dialogboxen sind immer modal. Das heißt, solange der Dialog dargestellt wird, bleibt der Ablauf stehen. Mit der Freigabe durch den Anwender, z. B. Ok-Button, schließt sich der Dialog und der Ablauf läuft weiter. BasicScreens müssen durch alle Ablaufsysteme unterstützt werden. In Testern ohne Display müssen andere Ausgabemöglichkeiten vorgesehen werden, z. B. LEDs, Lautsprecher etc.
- Hiermit werden die Standardaufgaben erledigt, wie Aufforderung für einfache Eingaben, Darstellung von Warnungen etc. Die Dialogboxen sind immer modal. Das heißt, solange der Dialog dargestellt wird, bleibt der Ablauf stehen. Mit der Freigabe durch den Anwender, z. B. Ok-Button, schließt sich der Dialog und der Ablauf läuft weiter. BasicScreens müssen durch alle Ablaufsysteme unterstützt werden. In Testern ohne Display müssen andere Ausgabemöglichkeiten vorgesehen werden, z. B. LEDs, Lautsprecher etc.
- 2. CustomScreen
- Im CustomScreen wird eine einfache Schnittstelle für extern erzeugte Oberflächen realisiert. Das Layout, der Typ und die Funktion der Oberflächenelemente werden in OTX nicht beschrieben. Die Schnittstelle entspricht der eines normalen Funktionsaufrufs mit Ein- und Ausgabeparametern. Ein CustomScreen ist nicht modal. Das heißt, der Ablauf wird durch die Darstellung nicht angehalten, sondern läuft weiter. Sollte dennoch gewartet werden, steht dafür ein ScreenEvent zur Verfügung, siehe Event-Bibliothek. Durch das Ablaufsystem wird sichergestellt, dass bei einer Änderung des Inhalts, z. B. einer Variable, der Screen aktualisiert wird. CustomScreens laufen grundsätzlich in einem andern Thread als das Ablaufsystem.
Internationalization (I18n)
Die I18n-Bibliothek ist eine Erweiterung von OTX für die Übersetzung von Strings, Einheiten und Werten zur sprachlichen und regionalen Anpassung des Ablaufsystems.
Job
Die Job-Bibliothek von OTX stellt einen Mechanismus für den Zugriff auf die Job-API eines standardisierten MVCI-Servers (ASAM 3D-Server) zur Verfügung.
Math
Die Math-Bibliothek erweitert OTX um nicht im Core enthaltene mathematische Funktionen, z. B. power, Log, Ln, sin, cos, tan.
Measure
Mit der Measure-Bibliothek stellt OTX Aktivitäten und Datentypen für grundlegende Mess- und Steueraufgaben bereit. Insbesondere beim Einsatz innerhalb der Produktion gibt es zahlreiche elektrische und elektronische Tests, die nichts mit der Steuergerätekommunikation zu tun haben. Hierfür definiert OTX eine einfache Schnittstelle zur Einbindung von Mess- und Steuerungshardware.
Quantities
Die Quantities-Bibliothek ist ein Abstraktions-Layer oberhalb der OTX-Datentypen zur Beschreibung der Einheiten. NumericQuantities enthalten beispielsweise Informationen über die Größe der physikalischen Einheit. Dies ist für die Umrechnung in andere Einheiten aufgrund regionaler Besonderheiten notwendig. OTX verwendet hier das Datenmodell von UNIT-SPEC in ODX, siehe ISO 22901-1. Einheiten können in OTX erstellt werden oder auf ODX-Einheiten referenzieren.
StringUtil
Die StringUtil-Bibliothek von OTX ist ein Mechanismus für Operationen zur Analyse und Rückgabe von Strings.
Siehe auch