EVOLVING LANDSCAPES OF COLLABORATIVE TESTING FOR ADAS & AD

Automotive Industry Insights

OTX (ISO 13209) “Open Test sequence eXchange format”

Description
OTX is a proven industrial standard for test sequences and is as such very important in the field of scenario-based testing. Using OTX, test specification and test logic can be described in a standardized format.

OTX (ISO 13209 and ASAM OTX Extensions)
OTX is first and foremost a programming language, especially related to the domain of testing within the automotive industry. Therefore, OTX is a so-called domain-specific language (DSL). OTX stands for “Open Test Sequence Exchange” and has been an ISO standard since 2012 (ISO 13209). OTX is executable and the test logic can be displayed graphically, where the strict separation of test logic and runtime implementation allows the integration of OTX into any target system (see figure). OTX has harmonizing effects, because it can bring together previously separated standards. It can be extended by any new functionality based on a standardized extension mechanism. OTX has a measurable quality based on about 150 semantic checker rules to improve process reliability. OTX is industry proven, is stable, and is continuously being developed by means of ASAM OTX extensions.

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

One of the main features of OTX is the standard-compliant exchangeability of executable test logic between development, production, after-sales, and embedded systems inside the car, for example as a so-called on-board tester. 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.”

OTX consists of a stand-alone executable core (see figure). Inside the core the entire data model for a complete programming language is defined. These are procedure calls, assignments, branches, loops, activities for parallel execution and error handling as well as all extension interfaces which new OTX extensions can implement. Each OTX extension extends the core by means of new domain-specific functionality. This is especially relevant for the vehicle diagnostics domain, but 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 and time handling, and so on.

In the ongoing ASAM project “OTX Extensions” the following improvements have already been implemented or are still being planned (see figure). The core has been expanded by new extension points, so that OTX can support not only the test logic, but also the test description. Based on this a new UnitTest extension was implemented as a prototype (see below for details). A new range extension extends OTX by a set of new simple data types to describe values with validity ranges, for example a float value with an upper and/or lower limit as well as a blacklist and whitelist. Furthermore, OTX can be extended by an ASAM XIL extension to get access to the test bench via the XIL model access port. OTX will also support the upcoming ASAM standard for service-oriented vehicle diagnostics (SOVD) with one or more new OTX extensions. And finally, OTX can be extended for the new ASAM OpenX standards, or for example for the domain of machine learning or big data.

OTX UnitTest Extension
The UnitTest extension is a prototype to show the possibilities of the new extension points. The extension can be used as a base for further extensions. The UnitTest extension adds a new procedure type to the core, the “TestCaseProcedure.” A test case procedure contains one or more test cases and can be structured in test suites (see figure for an example).

The simple example of a division of two float values shows some of the main features. The first test case divides 10 by 2 and the expected result is 5. The second test case does the same with minus values. The last test case expects an exception because of the division by zero.
The extension covers about 90 percent of the well-known NUnit testing framework (see NUnit.org), e.g. oneTimeSetupProcedure, setupProcedure, tearDownProcedure, and oneTimeTearDownProcedure.

References

Relation to Other Standards
OTX has a close relationship to the standards for vehicle diagnostics but it can also be used outside these areas.

If necessary, OTX can be expanded to support existing standards.

Status
The standard is well established. It is mature and comprehensive enough to replace existing solutions in development, production, and the workshop. Most German vehicle manufacturers have been using the standard productively for years or are planning to use it. We currently estimate around 100,000 installations in development, production, after-sales and within the vehicle, and the trend is growing rapidly. OTX is a process issue. It has a strong influence on optimizing processes.

Numerous well-known tool suppliers already offer a solution or are in the process of developing one.

Study group summary of OTX
The OTX standard (ISO and ASAM) is a domain-specific programming language (DSL) for the process-reliable description of exchangeable and executable test logic in the automotive industry. 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 can be expanded to meet the requirements of scenario-based testing. OTX is industry proven and has the necessary maturity.
It is recommended to examine OTX more closely as a description language for scenario-based testing. The creation of a new ASAM working group “OTX Extensions for Scenario-based Testing” is proposed.

Chapter

Share

Share and discuss this content with your network. Thank you!

Contact

ASAM e.V.
Altlaufstraße 40
85635 Höhenkirchen

Phone: +49 8102 806160
Email: info@asam.net