OTX – ISO 13209

OTX (Open Test Sequence eXchange) wurde mit der ISO 13209 eingeführt. Dieser Standard definiert eine Programmiersprache, die insbesondere zur Beschreibung von Diagnoseabläufen in der Automobilindustrie genutzt wird.

Einige der Anwendungsfälle sind:

  • Test- und Kalibrierungsablauf in der Produktion,
  • Beschreibung eines Flashvorgangs für ein Steuergerät,
  • Vereinheitlichung vom Zugriff auf Steuergeräte unterschiedlicher Hersteller,
  • Ersatz für in ISO 22900-3 eingeführten Java-Jobs.

Eines der Hauptziele bei der Einführung von OTX war es, eine hohe Austauschbarkeit von Testabläufen zwischen Automobilherstellern und ECU-Herstellern zu gewährleisten. Die Syntax und Grammatik der Sprache mussten daher technologieunabhängig definiert werden. Als Ausgabeformat für OTX-Testsequenzen wurde deshalb XML (Extensible Markup Language) gewählt. Ein OEM kann zur Ausführung von OTX-Testabläufen eine OTX-Laufzeitumgebung einsetzen, die zur bestehenden Softwarelösung passt (z. B. ein Java-basierter OTX-Interpreter mit einem in Java implementierten MVCI-Kernel oder ein C++ OTX-Codegenerator mit einem C++ MVCI-Kernel). Falls in einem Testablauf ein HMI-Element (Human-Machine Interface) erforderlich ist, kann es auf einer abstrakten Ebene in XML spezifiziert und von der Laufzeitumgebung in der vom Zielsystem abhängigen Technologie (z. B. HTML oder Windows-Dialog) realisiert werden.

Ein weiteres Merkmal des OTX-Standards ist dessen Prozessorientierung. OTX soll in allen Prozessphasen eingesetzt werden: von der Spezifikation und Dokumentation über die Realisierung bis hin zur Ausführung. Dadurch kann das Single-Source-Prinzip eingehalten werden.

Der OTX-Standard wurde so konzipiert, dass seine Anwender über keine oder nur eingeschränkte Programmierkenntnisse verfügen. Deshalb ist die Sprache stark typisiert und definiert eine Reihe von Prüfregeln (Checker-Rules), die bereits in der Entwurfsphase auf viele Programmierfehler hinweisen. Die Testabläufe lassen sich grafisch darstellen. Zudem bieten viele OTX-Editoren die Möglichkeit einer grafischen, modularen Programmierung nach dem Baukastenprinzip. Direkte Speicherzugriffe, die Umwandlung von Objekttypen und andere potenziell gefährliche Operationen, die in hardwareorientierten Programmiersprachen wie C möglich sind, sind mit OTX ausgeschlossen. Laufzeitfehler werden durch das Werfen von Exceptions signalisiert. Somit hängt die Stabilität des Diagnosesystems bei der Ausführung von der Qualität der eingesetzten OTX-Laufzeitumgebung und nicht von den OTX-Testsequenzen ab.

OTX ist trotz der oben genannten Einschränkungen eine funktional vollständige, imperative, prozedurale und modulare Programmiersprache mit allen typischen Sprachelementen wie Branches, Loops, Threads (Lanes) und Events. Darüber hinaus bietet sie die Möglichkeit, wiederverwendbare Abläufe in separate Bibliotheken (OTX-Packages) auszulagern.

Die OTX-Sprachelemente sind in Gruppen unterteilt:

  • OTX-Core (grundsätzliche Sprachelemente wie Zuweisung, Bedingte Ausführung, Schleifen usw.) und
  • Extension (z.B. DiagCom-Extension zur Anbindung vom MVCI-Kernel oder einer ähnlichen Diagnoseschicht).

Für Diagnose relevante OTX-Extensions:

  • DiagCom
  • DiagComPlus
  • Flash, FlashPlus
  • DiagDataBrowsing
  • DiagDataBrowsingPlus
  • EcuConfiguration
  • DiagConfiguration
  • ComInterface
  • BusMonitoring

Allgemeine OTX-Extensions:

  • HMI
  • Internalization
  • ExtrenalServiceProvider
  • Quantities
  • Event
  • EventPlus
  • Measure
  • Math
  • String
  • Time
  • CommonDialogs
  • Persistence
  • Logging
  • File
  • XML
  • SQL
  • ZIP
  • ResultHandling
  • StateMachine
  • Util
  • BlackBox
  • Assertion
  • DataType

Das OTX-Extension-Konzept ermöglicht eine Erweiterung des Sprachumfangs. Die ASAM-OTX-Arbeitsgruppe arbeitet ständig an neuen OTX-Extensions, die nicht nur für den Automobilbereich von Bedeutung sind.

Nach oben scrollen