Open Test Framework
|
|
A Procedure Project is the main project type. It includes all files and settings that are necessary for OTX. Procedure Projects are executable and can be redistributed. Individual OTX files cannot do this. Procedure Projects can refer to each other or can refer or PTX files like a library. Several Procedure Projects are combined in a so-called Solution Structure, see Solution Explorer. A Procedure Project manages all OTX packages, documents and settings for building, executing and debugging OTX procedures.
Related Topics:
Note: For the execution of a Procedure Project it must be compiled into an extremely fast and resource-saving runtime format, which can also executed in embedded systems, see Compiler. The binary files will be generated in the
CppOutput
folder of the project.
Note: A Procedure Project can be transported via a PTX File.
An Procedure Project is a self-contained entity that can be transported and executed. One project per Solution Structure can be marked as a start project. The start project serves as an entry point for the runtime environment. An OTX project contains one or more OTX packages. An OTX package is also a folder on the file system and corresponds to the so-called namespace of the OTX elements contained. The namespace uniquely identifies each OTX element. The namespace is necessary to address visible elements of other @refs OpenTestSystem.Otx.Core.Otx "documents". An OTX package contains one or more OTX @refs OpenTestSystem.Otx.Core.Otx "documents".
On the file system, a Procedure Project is a folder containing a project file and the following files and folders.
[Folder] or File Name | Content |
---|---|
[CppOutput ] | Contains all binary files generated for execution. |
[i18n ] | Contains i18n-Extension settings, such as multilingual text libraries; see project settings for more information. |
[Logging ] | Contains Logging-Extension settings; see project settings for more information. |
[OTX ] | Contains all the OTX packages or OTX documents. |
[OTX-Backup ] | Contains the OTX backup files; see OTF Settings for more information. |
[OTX-Mapping ] | Contains OTX Mapping files for use with extensions like HMI, Measure, ExternalServiceProvider. |
[PTX ] | Contains PTX libraries statically bound to the project. |
[Quantity ] | Contains Quantity-Extension settings, such as ODX files with UNIT-SPECS; see Project Settings for more information. |
ProjectName.otfPrj | Contains the project structure and all dependencies (mandatory) |
ProjectName.map | Contains all project settings for OTX runtime |
index.xml | Standardized content file (mandatory) |
ProjectName.ptx | PTX file |
OtxDocumentName.otx | Standardized OTX document file in XML format |
MappingFileName1.otfMap | Contains all information related to the OTX Mapping |
An OTX document corresponds to an OTX file and can contain global declarations and procedures. One document per project can be marked as the start document. A start document must contain a main procedure. The start document serves as an entry point for the runtime environment. An OTX document contains one or more OTX procedures. An OTX procedure is the executable part of an OTX document. Furthermore, the special main
procedure is the entry point for the execution of an OTX document and a procedure can call another procedures in- or outside the document at any depth.
If an OTX document wants to access the visible elements of another documents, then the other @refs OpenTestSystem.Otx.Core.Otx "document" must be listed in the Imports area. A document can import @refs OpenTestSystem.Otx.Core.Otx "documents" from the same package or from other packages inside the same or other projects.
All global elements with sufficient OpenTestSystem::Otx::Core::Visibility inside an OTX document can be referenced and used by another OTX document. The following elements can be referenced:
Note: Before a global element can be referenced, the document containing the global element must be imported. If the document is outside the project, a reference to the outside project must be added; see Project Settings for more information.
For a better understanding, the following table compares the terminologies of OTX with other programming languages like DotNet and Java. For example, in Java, the solution is called a workspace. A PTX file corresponds to a DLL in DotNet and to a JAR file in Java. An OTX document is a class in DotNet and Java, and an OTX procedure is a method.
OTX | DotNet | Java |
---|---|---|
Solution | Solution | Workspace |
Project | Project | Project |
PTX | DLL | JAR |
Package | Namespace | Package |
Document | Class | Class |
File (*.otx) | File (*.cs) | File (*.java) |
Procedure | Method | Method |