OTX Reference  
OTX according to ISO 13209

OTX (Open Test Sequence Exchange) is an open domain specific programming language for the process reliable description of exchangeable and executable test logic inside automotive industry. OTX can ensure, that the same unchanged test logic can be executed on any system at any time and comes to the same results. Within vehicle diagnostics, OTX plays an important procedural role in the areas of development, production and workshop. OTX is a process issue and it supports the following requirements:

  1. Completeness
    With OTX, any test logic that can be described using a programming language can be described and executed.
  2. Abstraction
    OTX supports the complete separation of test logic and runtime implementation as well as the access to external systems, see OTX-Mapping.
  3. Access to external systems
    OTX can be used for reading and writing access to any system outside of OTX, for example for test bench control.
  4. Interoperability
    The test logic described in OTX can be exchanged between different areas and executed on different target systems, e.g. Windows, Linux or Embedded.
  5. Validation
    The test logic described in OTX can be checked for feasibility and possible errors before execution.
  6. Traceability
    The test logic described in OTX is human and machine readable. Each executed step can be unambiguously logged for later analysis.
  7. Intuitiveness
    The testing logic described in OTX can be understood by different target groups, e.g. developer, integrator, tester, analyst or manager.
  8. Consistency
    OTX is consistent with and builds on existing standards within the automotive industry, see Related Standards.

Note: The focus in OTX is the description, validation and execution of test logic within vehicle diagnostics. The focus is not the test itself, like described in ISO/IEC/IEEE 29119 "Software Testing".

Note: For the editing of OTX an OTX development environment and for the execution an OTX runtime environment is needed.

Content

Note: This reference was written for the OTX user. Because of the special nature of this programming language, the additional use of the digital standard reference is recommended.

Note: This reference is based at the standard specifications described in ISO 13209 documents, see below.

Introduction

In the past, test procedures were often prosaically described or drawn as flow chart diagrams in "Visio". This specification was programmed again and again for various target systems "by hand". It is easy to see that this is neither efficient nor process-safe. The new OTX standard - Open Test Sequence Exchange - has therefore been developed in the automotive industry.

The OTX (Open Test sequence exchange) standard according to ISO 13209 is a domain specific language (DSL) for the reliable description of exchangeable and executable testing logic in the automobile industry. Diagnostics sequences can be created graphically and simultaneously described in sufficient detail so the same testing logic can be executed in any of various target environments, without barriers. The standard is mature and comprehensive enough to replace existing solutions in development, production and the workshop. Possible uses for OTX range from describing simple functional tests in development to start up procedures in production to fully generic tester applications with guided troubleshooting in customer service. OTX is open and stable as well as platform and technology-neutral. OTX consists of the following parts, see also related standards:

Overview

OTX is at first a programming language, especially related to the domain of testing inside the automotive industry. Therefore, OTX is a so-called Domain Specific Language or DSL. OTX stands for "Open Test Sequence Exchange". Additionally OTX is an ISO standard since 2012. It is standardized inside the ISO 13209. OTX is executable and the test logic can be displayed in a graphically way. OTX is independent from the platform, the target system and the tool supplier. OTX has harmonizing effects, because it can bring together previously separated standards. Because of the strict separation of test logic and runtime implementation inside OTX, it can be integrated into any target system. OTX is open. It can be extended by any new functionality based at a standardized extension mechanism. OTX has a measurable quality based at about 150 semantic checker rules to improve the process reliability. OTX is industry proven, is long-term stable and finally, it has a long-time approved active further development.

In summary, one can say that OTX is a domain specific programming language for the process reliable description of exchangeable and executable test logic inside the automotive industry.

OTX Life Cycle - Creation

To get a deeper expression about OTX, a short glance about a typical OTX life cycle is given next. At first the OTX test logic must be created. Depending from the use case, the test logic can be programmed manually by an OTX software developer, for instance with a code editor, see OTX Development Environment. A team member which have no real coding experience can also use a graphical designer for the same test logic. In some systems the user can also combine both ways. The other way is the automatic generation of OTX code based at existing data bases. As a result a standard compliant and optional signed or encrypted PTX file will be created. A PTX file contains any number of OTX documents in an arbitrary project structure.

OTX Life Cycle - Configuration

In a second step the created test logic must be adapted to different target implementations for instance in development and production. This must be done inside a system-specific configuration process, which is called OTX Mapping. The OTX Mapping maps the interfaces in OTX, which are called signatures, to real implementations of the target environment. The mapping information can be also transported inside the standardized PTX file.

OTX Life Cycle - Execution

In the last step the created and configured OTX test logic can be executed on any target system and any tester application at Windows, Linux, Android and inside embedded systems.

Standard Compliant Exchangeability

One of the main features of OTX is the standard compliant exchangeability of test logic between development, production, after sales and in embedded systems inside the car, for example as a so-called On-Board tester, see also Standard Compliant Exchangeability.

This shows that like no other current standard, OTX can ensure that the same unchanged test logic can be executed in any target system at any time and comes to the same results.

Important: OTX can ensure that the same unchanged test logic can be executed in any target system at any time and comes to the same results.

OTX Application Areas

What are the application areas of OTX? The areas of application ranges from the setup as well as flashing and encoding of ECUs, generic diagnostics and test bench control, status documentation, the subjective assessment and the exchange of test logic between different departments as well as new areas like the service-oriented vehicle diagnostics or for example the scenario-based testing for the new ASAM OpenX standards.

This is possible, because OTX can be extended easily and in compliance with the standard for applications inside new areas outside of vehicle diagnostics.

Important: OTX can be extended easily and in compliance with the standard for applications inside new areas outside of vehicle diagnostics.

OTX Extensions

OTX consists of a stand-alone executable Core. Inside the Core the entire data model for a complete programming language is defined as well as all extension interfaces, which new OTX Extensions can implement. Each OTX Extension extents the Core by new domain specific functionality. At first for the vehicle diagnostics domain, also for the communication between different external systems and for other functionality, which is necessary for a complete language, like file access, logging, string handling, date time handling and so on.