Einfuehrung OTX
OTX (Open Test sequence eXchange) ist eine Domänen spezifische Sprache auf hoher Abstraktionsebene mit dem Ziel der graphischen Beschreibung von Prüfsequenzen für die Off-Board-Diagnose. Das XML basierte Plattform und Tester unabhängige Austauschformat ist in der ISO 13209 beschrieben und besteht aus 3 Teilen, siehe Tabelle. Teil 1 gibt einen allgemeinen Überblick über die verschiedenen Teile des Standards und zeigt Anwendungsfälle auf. Der Teil 2 spezifiziert das so genannte Core-Datenmodell. Er beschreibt die Basis-Struktur die jedem OTX-Element zugrunde liegt. Er definiert die Ablauflogik für Prüfsequenzen und enthält ähnlich einer prozeduralen Programmiersprache alle dafür nötigen Kontrollstrukturen, Deklarationen, Fehlerbehandlungs- und Erweiterungsmechanismen.
ISO 13209 Open Test sequence eXchange Format | |
Standard | Beschreibung |
ISO 13209 - 1 | Allgemeiner Überblick und Anwendungsbeispiele |
ISO 13209 - 2 | Core Datenmodell |
ISO 13209 - 3 | Erweiterungsbibliotheken (DiagCom, HMI etc.) |
In Teil 3 sind dann die standardisierten Erweiterungsbibliotheken für die unterschiedlichen Aufgaben in der Fahrzeugdiagnose beschrieben. Sie verwenden den normalen Erweiterungsmechanismus des Core-Datenmodells. Erst im Teil 3 des Standards kommt die Fahrzeugdiagnose zum tragen. Das Core-Datenmodell selbst ist davon unabhängig und kann beispielsweise auch in der Testautomatisierung oder der HIL-Simulation verwendet werden.
OTX folgt dem Prinzip der imperativen, strukturierten Programmierung. "Imperativ" bedeutet im Wesentlichen, dass die Sprache modular aufgebaut ist. Die Module sollen dabei nach folgenden zwei Grundsätzen unabhängig voneinander entwickel- und testbar sein:
- Modul A sollte so wenig Wissen über Modul B wie möglich besitzen
- Modul A ist veränder- oder reimplementierbar, ohne Modul B zu verändern
Gemäß den Prinzipien der strukturierten Programmierung sind in OTX keine expliziten Sprünge (goto) sondern nur kontrollierte, implizite Sprünge (return, continue, break, throw etc.) erlaubt.
Da der typische Autor von Diagnose-Testsequenzen zwar ein Fachmann für Diagnoseprozesse jedoch kein Softwareentwickler ist, wurde OTX im Gegensatz zu anderen Programmiersprachen, in denen Programm-Code meist in Text-Editoren geschrieben wird, spezifische für die Verwendung innerhalb grafischer Autorensysteme entwickelt. Dabei stand die einfache und prozesssichere Erzeugung fehlerfreier und austauschbarer Testsequenzen im Vordergrund. Es finden sich daher in OTX Strukturen, wie beispielsweise das Specification/Realisation Konzept, welche in anderen Programmiersprachen nicht vorkommen.
OTX selbst beschreibt nur die Schnittstellen der einzelnen Elemente! Die detaillierte Beschreibung des Laufzeitverhaltens der Elemente ist kein Bestandteil von OTX! Es ist die Aufgabe eines OTX kompatiblen Ablaufsytems (OTX-Runtime) die anwendungsspezifische Implementierung vorzunehmen. Beispielsweise wäre die detaillierte Definition der Mensch-Maschine-Schnittstelle (HMI) durch OTX nicht praktikabel, da sich die Anforderungen an eine Ein- und Ausgabe zwischen den unterschiedlichen Testumgebungen stark unterscheiden können (Monitor, Punkt-Matrix-Display, LED).
Integration in bestehende Standards
Im nachfolgenden Bild ist die Beziehung von OTX zu den bestehenden Standards ISO 22900 (MVCI) und ISO 22901 (ODX) dargestellt. Die bedeutet jedoch nicht, dass OTX nur innerhalb dieser Umgebung verwendet werden kann. OTX wurde explizit für die Verwendung in beliebigen Umgebungen entwickelt. Es zeigt jedoch, dass der initiale Einsatzbereich von OTX die Off-Board Fahrzeugdiagnose ist, um die dort vorhandene Lücke für die prozesssichere Beschreibung von Prüfsequenzen zu schließen.
Einbindung von OTX in bestehende Standards |
Vorteile
- Wiederverwendbarkeit (Single-Source)
- Erhöhung der Sicherheit, durch weniger Prozessschritte
- Einfache und schnelle Verifizierbarkeit
- Verbesserung der Wartbarkeit
- Langzeitverfügbarkeit von Testsequenzen und Diagnosewissen
- XML Format: Maschinen- und Menschenlesbarkeit
- Erhöhung der Dokumentationsqualität
- Herstellerunabhängigkeit
- Automatisierte Tools zur Konfiguration, Dokumentenerstellung, Kode-Erzeugung etc.
- Generische Erstellung von Diagnoseapplikationen
Anwendungsgebiete
Nachfolgend werden die wesentlichsten Anwendungsgebiete zusammengefasst in 5 Gruppen aufgelistet:
1. Dokumentation und Spezifikation
- Erstellung von Testsequenzen auf hoher Abstraktionsebene
- Ein Systemexperte beschreibt mit OTX die grundlegenden Abläufe ohne dabei die genauen Details der Implementierung kennen zu müssen (Spezifikation). Ein Diagnose-Experte verfeinert die Abläufe indem er schrittweise die Testschritte implementiert (Realisierung).
- Erstellung von ausführbaren Testsequenzen
- Ein Fahrzeugingenieur erstellt graphisch ausführbare Testsequenzen ohne konventionelle Programmierung. Er verfügt über spezifisches Fahrzeugsystem-Wissen jedoch nicht über Programmierkenntnisse.
- Aktualisierung und Anpassung von Testsequenzen
- Ein Prüfingenieur ist in der Lage vorhanden Testsequenzen aufgrund geänderter Anforderungen zu ändern ohne dabei über Programmierkenntnisse zu verfügen.
2. Austausch und Wiederverwendung
- Austausch von Testsequenzen zwischen Entwicklung, Produktion und Service
- Zwischen den verschiedenen Bereichen werden verifizierte Testsequenzen ausgetauscht und können dort an die jeweiligen Bedürfnisse angepasst werden. Dabei wird vorhandenes Diagnosewissen wiederverwendet und geht nicht verloren.
3. Erweiterbarkeit
- Erzeugung von neuen Bibliotheken
- Der in OTX definierte Erweiterungsmechanismus erlaubt es, das Format praktisch an beliebige Umgebungen anzupassen. Der Autor schreibt dabei keine proprietäre Erweiterung für seinen Anwendungsfall, sondern nutzt den standardisierten Erweiterungsmechanismus. Er kann die so erzeugte Bibliothek mit anderen OTX Anwendern austauschen. Bestehende OTX Autorensysteme können ohne großen Aufwand um die neuen Bibliotheken erweitern werden ohne dass alle Autorensysteme diese spezifischen Erweiterungen unterstützen müssen.
4. Lokalisierung
- Darstellung von internationalisierten Texten
- Texte, die eine Übersetzung benötigen, beeinflussen die Abläufe nicht und können in einem transparenten Weg weitergegeben werden.
- Darstellung von Messwerten und lokalen Einheiten
- OTX stellt sicher (über das Diagnoselaufzeitsystem MVCI), dass Einheiten an die lokalen Gegebenheiten angepasst und entsprechend dargestellt werden. Innerhalb des Ablaufs arbeitet ein Autor jedoch mit normalisierten Werten und muss somit nicht auf lokale Umrechnungen achten.
- Vergleich von Werten und Einheiten
- In OTX können Messwerte verglichen werden, ohne auf die lokal spezifische Einheit zu achten.
- Vergleich von Textstrings
- In OTX können Textstrings verglichen werden, ohne auf die spezielle Übersetzung zu achten.
5. Ausführung zur Laufzeit
- Testabläufe werden durch eine OTX kompatible Anwendung ausgeführt
- Das OTX-Format ist geeignet, direkt und ohne Zwischenschritte ausgeführt zu werden. Dies kann eine unverschlüsselte OTX-Datei oder eine vorkompilierte und verschlüsselte Binärdatei sein. Innerhalb der eigenen Organisation kommt vermutlich die unverschlüsselte OTX-Datei und in der Werkstatt die verschlüsselte Binärdatei zum Einsatz.
Zusammenfassend kann man sagen, dass erst mit OTX (aufbauend auf ODX) eine vollständige, datengetriebene Lösung für die gesamte Diagnoseprozesskette vorliegt. Mit der Unterstützung durch geeignete graphische Softwarewerkzeuge wird dadurch der Diagnoseentwicklungsprozess prozesssicherer, einfacher und produktiver.
Siehe auch
Einführung in die Anwendungen für Diagnose (ASAM MCD)
ODX – Datenformat für Diagnosedaten nach ISO 22901
Diagnoselaufzeitsystem MVCI nach ISO 22900 (ASAM AE MCD 3D)
Weitere Ressourcen