Commit b1f3679a authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ updated readme

parent 9f0334b4
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -14,6 +14,14 @@ Alternatively, you can install the plug-ins manually from an update site. In thi

    https://tdl.etsi.org/eclipse/latest/

With the CI/CD integration, a beta-channel is available at the [development update site](https://top.etsi.org/ide/updatesite/beta) for the latest development versions of the TDL tools:

    https://top.etsi.org/ide/updatesite/beta

Eventually, the stable branch will be switched to CI/CD as well, to be made avalable at:

    https://top.etsi.org/ide/updatesite/stable

After the update site is added, the list of plug-ins and features shall be shown in the installation dialog (menu item Help->Install New Software..). Select the desired features and proceed with the installation, which will require Eclipse to be restarted once the installation is finished.

Interim snapshot builds are also available from the [Packages](https://labs.etsi.org/rep/top/ide/-/packages) / [Releases](https://labs.etsi.org/rep/top/ide/-/releases) areas on GitLab. These can be downloaded and installed in Eclipse by adding a new update site from a local archive. Please note that these interim builds may not be stable as they reflect the development at a certain point in time between stable releases and while certain issues may be addressed, new ones may not yet have been identifed.
@@ -50,6 +58,18 @@ The same steps can be applied to create a new TDL model by means of the brace-ba

More information on using the plugins is available at [Usage wiki](https://labs.etsi.org/rep/top/ide/-/wikis/Usage).

## Using the standalone commandline tools

There also standalone commandline tools which can be used for scripting selected functionalities from the TDL tools as part of a pipeline. Currently the following functionalities are available:

* Listing elements
* Validating specifications
* Translating between different representation formats
* Importing data specifications from OpenAPI and ASN.1
* **TODO**: Complete list

The commandline tools are part of the `org.etsi.mts.tdl.standalone` plugin. A self-contained version is available as part of the CI/CD releases.

## Textual Syntax Specifications

The complete specification for the standardised textual syntax ([ES 203 119-8 v1.1.1 (to be published in March 2022)](https://tdl.etsi.org/index.php/downloads))  as well as the corresponding extensions for Structured Testo Objective Specifications ([ES 203 119-4 v1.5.1, clause 8 (to be published in March 2022)](https://tdl.etsi.org/index.php/downloads)) Extended Test Configurations ([ES 203 119-7 v1.3.1, clause 8 (to be published in March 2022)](https://tdl.etsi.org/index.php/downloads)) is available in [TDLtx.xtext](plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext). It uses the [Xtext Grammar Language](https://www.eclipse.org/Xtext/documentation/301_grammarlanguage.html) which also allows the specification of the bindings between the textual syntax elements and the meta-model elements. By default, brace-based delimiters are used (i.e. the "brace-based variant"). Instead, the [TDLtxi.xtext](plugins/org.etsi.mts.tdl.txi/src/org/etsi/mts/tdl/TDLtxi.xtext) specifies the necessary overrides for the indentation-based delimiters (i.e. the "indentation-based variant"). 
@@ -58,15 +78,21 @@ From end-user's perspective this translates to two file extensions - `.tdltx` fo

## Setting up a local environment for development and testing

The following steps are needed to setup a local development environment.

 * Download and install Eclipse Modeling Tools package
 * Install following additional components from Eclipse Marketplace
     * Sirius (v7)
     * Eclipse Xtext (v2.29 or newer)
     * Epsilon (v2.x)
     * Eclipse OCL (v6.x)
     * Eclise Maven Integration m2e (v2.1.x)
 * Check out the repository
 * Import the plug-ins in the Eclipse workspace
     * Import -> Existing Projects into Workspace

As we are adding integration with Maven, the following steps shall be fully automated. Still in some scenarios, they may need to be executed manually. While the Maven integration does make it possible to implement small changes also in other editors and IDEs, it is still recommended to use the Eclipse Modelling Tools as many issues may otherwise be overlooked and hard to diagnose.

 * Generate the meta-model code
     * Open the `tdl.genmodel` 
     * Make sure that the "Realisation of OCL embedded within Ecore models" is set to "Delegate for interpretation at run-time" in the Eclipse preferences (setting it on project level does not seem sufficient currently)
@@ -94,6 +120,7 @@ The implementation currently supports:
 * Data mappings to the target (Java) data implementaions derived from the OpenAPI definitions for executability.

### Implementation of the ASN.1 import into TDL

The generation of data types based on ASN.1 specifications is based on the [BeanIt ASN1Bean](https://github.com/beanit/asn1bean) (formerly known as jASN).

The implementation currently supports: 
@@ -103,6 +130,7 @@ The implementation currently supports:
Note that the upstream components provided by the ASN1Bean may not be able to process all ASN.1 specifications as they do not provide 100% coverage of the ASN.1 syntax. In this case, the outcome may be incomplete.

### Implementation of the transformation of Structured Test Objectives to TDL Test Descriptions

The transformation of Structured Test Objectives into TDL Test Descriptions currently supports:
 * Transforming of inline data descriptions within `EventOccurrences` into corresponding data types.
 * Generation of `TestConfigurations` based on the `EventSequences` within the Structured Test Objective.