OTX Tools - New Version 10


We are pleased to announce the release of version 10 of our OTX tools. This release focuses on extended scripting support, significant performance improvements, and enhancements for unit testing, development, and productive operation.
Version 10 makes it even easier to combine standardized OTX workflows with specialized scripting languages while improving the processing of large projects and data volumes.
What's new?
Python scripting support
Computationally intensive algorithms or functions outside the actual diagnostic workflow can therefore be implemented efficiently in Python and invoked from OTX. Developers can benefit from Python’s extensive ecosystem and use specialized libraries without giving up standardized workflow control in OTX.
Lua remains a good choice for compact, high-performance applications and embedded systems. Python is particularly suitable when extensive libraries or complex calculations are required.
More information is available in the OTX-Mapping Scripting Support documentation.
Scripts and dependencies included in the PTX
Script-file management has been significantly extended. Lua and Python files are associated with the OTX project and included in the PTX together with their detected dependencies during export.
Dependencies are analyzed recursively and their directory structure is preserved. The PTX can therefore contain both the standardized OTX workflows and the associated script files, allowing them to be deployed as one consistent unit.
The OTX Runtime Converter now also supports the processing of script files.
Performance improvement for large ByteFields
The processing of large ByteFields has been optimized considerably. Depending on the particular use case, operations using SubByteField can now be more than 2,000 times faster.
Applications processing large volumes of binary data benefit in particular—for example, flashing, file-transfer operations, or the evaluation of extensive diagnostic responses.
Faster validation of large OTX projects
The BuilderChecker has also been optimized. When validating multiple PTX files, it now operates up to twice as fast.
The reduced validation times are especially beneficial for large projects, automated build processes, and continuous-integration environments.
Extended unit-testing capabilities
Version 10 improves the testing of encapsulated OTX logic. Imported procedures with restricted visibility can now be called from within Test Procedures. This allows private or package-visible procedures to be tested directly without changing their visibility in the productive code.
OTX mapping files from referenced projects can also be selected for the context of a unit-test project. This makes it easier to create realistic tests for complex project structures.
Improvements for development and integration
Version 10 also introduces several enhancements for integrating the OTX Runtime:
.NET 9 support for the supplied Default Custom Implementations
Lua header files and import libraries included in the delivered SDKs
improved script-file management in the Open Test Framework
consistent editing of settings in the Solution Explorer
improved OTX log-file naming during unit-test execution
Greater stability in productive operation
In addition to the new features, version 10 contains numerous optimizations and fixes. These include more memory-efficient processing of large files in the OTX Runtime Converter, smaller crash dumps, and improvements to the operation of the DiagManager in multi-client systems.
Furthermore, log4net has been updated to version 3.3.0 to address a known security vulnerability. Version 10.1 adds further stability improvements for the Open Test Framework, OTX Runtime, and Runtime Converter.
Conclusion
Version 10 makes the OTX tools even more open to specialized algorithms and individual extensions. The combination of standardized OTX workflows, Python and Lua scripts, and the automatic deployment of associated project files creates new possibilities for powerful diagnostic and test applications.
At the same time, extensive performance and stability improvements reduce development times and provide greater reliability in large projects and productive runtime environments.
A complete overview of all changes is available in our release notes for version 10.


