OTX-Runtime Converter  
OTX-Runtime Converter API

The OTX-Runtime Converter API is a programming interface for the easy, fast and reliable validation and compilation of OTX procedures in own applications. It works independently even without the OTX Development Environment and is available for Windows and Linux. The API is available for DotNet. It works on Window via Net Framework and on Linux via Net6.0 or higher.

Table of Contents


The OTX-Runtime Converter API can be integrated into own applications. The API supports


  1. Sample Program is a console application. It can be used on both Windows and Linux.
  2. Builder-Checker is a GUI application. It can be used on Windows only.

Checker rules for DiagCom

  1. DiagManager must be started before validation. The validation gets DiagCom objects from the DiagManager via IPC (Socket or Pipe).
  2. EcuGroups is a part of checker rules for DiagCom. EcuGroups can be set manually or by importing a *.otfDiag file.

Code Example

How the OTX-Runtime Converter API is used can be seen in the source code of the Runtime Converter API Sample program. The basic proceeding how the OTX-Runtime Converter API can be used is described in the following pseudo code example. The example loads, validates and exports a PTX file with build-in CppOutput.

// Generally applicable Pseudo-Code example
// ========================================
void main()
// Set license
// ==========================================
// Set tracelevel to ALL
// ==========================================
// Create RuntimeConverter
// ==========================================
// Load a ptx file with a password
// ==========================================
runtimeConverter.LoadPtx("D:\\Sample.ptx", "This is a password");
// Import Ecu groups.
// ==========================================
// Set XmlDb Port.
// ==========================================
runtimeConverter.XmlDbPort = 1984
// Validate the ptx
// ==========================================
OpenTestSystem.Otx.RuntimeConverter.Api.Validator.IError[] errors = runtimeConverter.Validate();
if (errors.Length > 0)
Console.WriteLine("*** Errors and warnings:");
Console.Write(" [Description]");
Console.Write(" [ScopeId]");
Console.Write(" [ScopeName]");
Console.Write(" [ElementType]");
Console.Write(" [ErrorCode]");
Console.Write(" [Procedure]");
Console.Write(" [Document]");
Console.Write(" [Package]");
Console.Write(" [Project]");
if (errors.FirstOrDefault(err => err.SeverityType == OpenTestSystem.Otx.RuntimeConverter.Api.Validator.SeverityTypes.Critical) != null)
Console.WriteLine("*** The ptx cannot be compiled because it has {0} errors.", errors.Count(err => err.SeverityType == OpenTestSystem.Otx.RuntimeConverter.Api.Validator.SeverityTypes.Critical));
// Compile the ptx
// ==========================================
Configuration class to modify global settings.
Definition: Config.cs:20
static TraceLevels TraceLevel
Gets or sets TraceLevel. Default is TraceLevels.ERROR.
Definition: Config.cs:105
Class to manage the OTX-Runtime Converter licenses.
Definition: LicenseManager.cs:21
static void SetLicenseKey(string licenseKey)
Sets a valid license key to release the API.
Definition: LicenseManager.cs:45
Factory class for creating RuntimeConverter, see IRuntimeConverter
Definition: RuntimeConverterFactory.cs:16
static IRuntimeConverter CreateSocketRuntimeConverter(ushort port)
Creates a Socket Runtime Converter instance.
Definition: RuntimeConverterFactory.cs:36
Represents a checker and a compiler.
Definition: IRuntimeConverter.cs:35
void LoadPtx(string fileName)
Loads a PTX file.
Represents an error or a warning.
Definition: IError.cs:16
Namespace containing all objects related to licensing
Definition: LicenseManager.cs:16
Namespace containing all objects for validation.
Definition: IError.cs:11
Namespace containing the programming interface for for validation and compilation of PTX,...
Definition: Config.cs:8
Namespace containing all objects for validation and compilation of PTX, PPX, PROJECT
Definition: Config.cs:8
Namespace containing all objects which are standardized according to ISO 13209 (OTX)
Definition: Config.cs:8
Namespace containing all objects related to testing inside automotive industry
Definition: Config.cs:8