‘Internal’ OSA-RTS interfaces (for COTS tools)
The OSA-RTS Components interact with many COTS Tools, and can be used in many ways. The following is a discussion of the inputs and outputs associated with the OSA-RTS components, and how they interact with the various COTS Tools.
File Inputs and Outputs - Summary
The following diagram shows the file types that have been identified as inputs and outputs of the various OSA-RTS Components.
Software Inputs and Outputs - Summary
The following diagram shows the COTS Software that has been identified as inputs and outputs of the various OSA-RTS Components.
ATML Pre-Processor
The following diagram shows the file types that have been identified as inputs and outputs of the ATML Pre-Processor.
The ATML Pre-Processor is an optional component which accepts ATML Test Description instance documents and prepares them ready for the ATML Test Description Importer by:
- conversion of Importer restricted characters sets to valid character sets.
- revision of <SessionAction> constructs to <Test> constructs to improve runtime sequence handling.
- creation of missing <OutComes>constructs where LL & UL are present in signals.
This component takes ATML (2009) Test Descriptions, and converts them into ATML (2017) format, compatibible with NI TestStand.
It should be noted that the ATML Pre-Processor is not a required component if using ATML Pad.
ATML Test Description Importer (TestStand and LabWindows CVI)
The following diagram shows the file types that have been identified as inputs and outputs of the ATML Test Description Importer for TestStand and LabWindows CVI.
The ATML Importer imports ATML Test Description instance documents. From this, it generates a Test Stand sequence and CVI test action code. The CVI code contains TPL statements to represent 1641 Signals. Operation and interaction between the open source software and COTS software is as follows:
- Selection of an ATML Test Description file is provided through the Test Stand Environment, by the ATML Toolkit.
- The ATML Toolkit creates a Test Stand sequence and CVI test actions.
- ATML Toolkit add-in to Test Stand imports ATML Test Description as a Test Stand Sequence and CVI test action DLL export.
- A series of call-backs are produced by the ATML Toolkit, when 1641 Signal actions are processed. 1641 Signal actions are not interpreted by the ATML Toolkit, so the open source software performs the interpretation and inserts 1641 TPL statements into the CVI DLL, during each call-back.
- In this process, only the CVI DLL source code is altered by the Open Source Software, not the Test Stand Sequence.
ATML Test Description Importer (LabView)
The following diagram shows the file types that have been identified as inputs and outputs of the ATML Test Description Importer for LabView.
The LabVIEW ATML Importer imports ATML Test Description instance documents. From this, it generates a Test Stand sequence and LabVIEW code modules, containing Run Time Template Code, ATML Operation Statements, Capability, Resource and Connection point code inserts for any 1641 Signals. The code inserts are performed by calls to the Resource Allocator of the 1641 Signal Translator. Operation and interaction between the open source software and COTS software is as follows:
- Selection of an ATML Test Description file is provided through the Test Stand Environment, by the ATML Toolkit.
- The ATML Toolkit and LabVIEW ATML Importer custom code generator create a Test Stand sequence and LabVIEW code modules containing template LabVIEW run time code.
- A series of call-backs are produced by the ATML Toolkit which the custom code generator uses to generate the template LabVIEW code modules.
- A complete log of the ATML Import Process is provided, identifying any issues detected.
1641 Signal Translator
The following diagram shows the file types that have been identified as inputs and outputs of the 1641 Signal Translator
This component takes the CVI Source file, along with a Test Station Description xml file and a Capability Driver description file, and outputs a CVI code with allocated resources.
The 1641 Signal Translator processes C-style (e.g. CVI) code, prior to compilation, translating TPL statements into 1641 TSF calls to the 1641 Runtime. Operation and interaction between the open source software and COTS software is as follows:
- Open source software parses C code to extract TPL statements.
- newWaveX-SD validates and converts any signals to 1641-2010 standard.
- The 1641 Signal Translator uses newWaveX PD to compare TPL signals with ATML Test Station ‘capability’ signals, to find a match.
- An instance file of (newWaveX) Capability Driver Description provides implementation information for each capability in the ATML Test Station Description. newWaveX PD outputs code from Capability Driver Description in place of the input signals.
- Thus, the 1641 Signal Translator reads TPL and writes native code for the target test station; in this case, code that calls the 1641 TSFs on the test station.
- If duplicate resources are identified, (i.e. more than one that matches the specification), the user is prompted to make the decision.
- A log is generated by the translation process, identifying any issues detected.
1641 Run Time
The following diagram shows the file types that have been identified as inputs and outputs of the 1641 Run Time process
This process takes the (allocated) CVI Source file, and generates the codemodule.dll that is required to run with the TestStand Sequence File.
The Runtime Environment is divided into two parts: IDL is compiled to a type library and built into a 1641 Runtime component that is called by the test program; Test Stand provides a Test Executive to execute test programs, with the ATML Toolkit generating ATML Test Results.
1641 RuntimeThe 1641 Runtime callable object is built in MS Visual Studio using the TSF interface definitions produced by the TSF IDL Generator. Operation and interaction between the open source software and COTS software is as follows:
- IDL is compiled to a type library.
- The Type library is imported into a Visual Studio C# project.
- Visual Studio generates function and attribute code stubs.
- Trace statements are added to stubs to provide for validation.
Operation and interaction between the open source software and COTS software is as follows:
- Test Stand sequence calls test actions in the now compiled CVI DLL.
- CVI test actions call the 1641 Runtime for Signals and the Signal Routing for connections.
- ATML Toolkit automatically generates ATML Test Results.
TSF IDL Generator
The following diagram shows the file types that have been identified as inputs and outputs of the TSF IDL Generator component
This component takes ATML Test Station Description and 1641 TSF libraries to create a test station 1641 IDL, from which a runtime callable type library can be built.
Operation and interaction between the open source software and COTS software is as follows:
- The 1641 TSF IDL Generator effectively combines the constituent system Libraries in an interface definition (IDL) file.
- Open source software uses newWaveX PD to open, parse and analyse the ATML Test Station Description to collect a list of TSFs supported by the ATE.
- These TSFs are then loaded into newWaveX Signal Development, which exports them as an IDL files.
- The resultant IDL files are combined to produce a Test Station IDL that can be built into a runtime project.
IDL to TLB Converter
The following diagram shows the file types that have been identified as inputs and outputs of the IDL to TLB Converter component
This component takes the Test Station Description idl, and generates the Test Station Description tlb file along the the Test Station description dll file.
Signal Routing
The following diagram shows the file types that have been identified as inputs and outputs of the Signal Routing process
Signal Routing is divided into two parts: Conversion of TPL Connect statements to IVI Switch calls, in the CVI test program; and an IVI Switch wrapper around Xpress Services, called by the converted TPL statements.
TPL to IVI TranslatorOperation and interaction between the open source software and COTS software is as follows:
- To Convert TPL Connect/Disconnect statements to IVI Switch calls, the 1641 Signal Translator is extended to parse TPL Connect & Disconnect statements.
- Open source software takes the instrument capability, allocated by the 1641 Signal Translator, and parses through ATML Test Station Description to locate the instrument’s ports, using newWaveX.
- TPL Connect statements refer to the UUT pin; hence, an IVI Switch statement is formed using this pin name and the identified instrument port.
Operation and interaction between the open source software and COTS software is as follows:
- The Signal Routing component in the Runtime Environment implements an IVI Switch wrapper around Xpress Services.
- To support the Test Stand and CVI environment, utilised by the ATML Importer, the IVI Switch wrapper is written as open source software in CVI.
Component Dependency Analysis
Dependency Walker has been used on each component to detimine any file dependencies, these are listed below