diff --git a/part1-examples/Example-1-3GPP-7.1.3.tdlan2 b/part1-examples/Example-1-3GPP-7.1.3.tdlan2
new file mode 100644
index 0000000000000000000000000000000000000000..f10efd5d5c50e5921d8b0b44b5d7b8bd1d5edbd5
--- /dev/null
+++ b/part1-examples/Example-1-3GPP-7.1.3.tdlan2
@@ -0,0 +1,148 @@
+Package Layer_2_DL_SCH_Data_Transfer {
+  //Procedures carried out by a component of a test configuration 
+  //or an actor during test execution
+  Action preCondition : "Pre-test Conditions: 
+            RRC Connection Reconfiguration" ;
+  Action preamble : "Preamble:
+          The generic procedure to get UE in test state Loopback 
+          Activated (State 4) according to TS 36.508 clause 4.5 
+          is executed, with all the parameters as specified in the 
+          procedure except that the RLC SDU size is set to return no 
+          data in uplink. 
+          (reference corresponding behavior once implemented" ;
+
+  //User-defined verdicts
+  //Alternatively the predefined verdicts may be used as well 
+  Type Verdict ;
+  Verdict PASS;
+  Verdict FAIL;
+  
+  //User-defined annotation types
+  Annotation TITLE ;         //Test description title
+  Annotation STEP ;          //Step identifiers in source documents
+  Annotation PROCEDURE ;     //Informal textual description of a test step 
+  Annotation PRECONDITION ;  //Identify pre-condition behaviour
+  Annotation PREAMBLE ;      //Identify preamble behaviour. 
+  
+  //Test objectives (copied verbatim from source document)
+  Test Objective TP1 {
+    from : "36523-1-a20_s07_01.doc::7.1.3.1.1 (1)" ;
+    description : "with { UE in E-UTRA RRC_CONNECTED state }
+             ensure that {
+               when { UE receives downlink assignment on the PDCCH 
+                      for the UE's C-RNTI and receives data in the 
+                  associated subframe and UE performs HARQ 
+                  operation }
+                 then { UE sends a HARQ feedback on the HARQ 
+                  process }
+                   }" ;
+  }
+  Test Objective TP2 {
+    from : "36523-1-a20_s07_01.doc::7.1.3.1.1 (2)" ;
+    description : "with { UE in E-UTRA RRC_CONNECTED state }
+             ensure that {
+               when { UE receives downlink assignment on the PDCCH 
+                      with a C-RNTI unknown by the UE and data is 
+                  available in the associated subframe }
+               then { UE does not send any HARQ feedback on the 
+                  HARQ process }
+             }" ;
+  }
+
+  //Relevant data definitions
+  Type PDU; 
+  PDU mac_pdu ;
+  
+  Type ACK ;
+  ACK harq_ack ;
+
+  Type C_RNTI;
+  C_RNTI ue;
+  C_RNTI unknown; 
+  
+  Type PDCCH (optional c_rnti of type C_RNTI);
+  PDCCH pdcch();
+
+  Type CONFIGURATION;
+  CONFIGURATION RRCConnectionReconfiguration ;
+  
+  //User-defined time units
+  Time Second;
+  Second five;
+  
+  //Gate type definitions
+  Gate Type defaultGT accepts ACK, PDU, PDCCH, C_RNTI, CONFIGURATION ;
+
+  //Component type definitions
+  Component Type defaultCT having {
+    gate g of type defaultGT;
+  }
+  
+  //Test configuration definition
+  Test Configuration defaultTC {
+    create Tester SS of type defaultCT;
+    create SUT UE of type defaultCT ;
+    connect UE.g to SS.g ;
+  }
+  
+  //Test description definition
+  Test Description TD_7_1_3_1 uses configuration defaultTC {
+    //Pre-conditions and preamble from the source document
+    perform action preCondition with { PRECONDITION ; } ;
+    perform action preamble  with { PREAMBLE ; } ;
+      
+    //Test sequence
+    SS.g sends pdcch (c_rnti=ue) to UE.g with {
+      STEP : "1" ;
+      PROCEDURE : "SS transmits a downlink assignment 
+             including the C-RNTI assigned to 
+             the UE" ;
+    } ;
+    SS.g sends mac_pdu to UE.g with {
+      STEP : "2" ;
+      PROCEDURE : "SS transmits in the indicated 
+             downlink assignment a RLC PDU in 
+             a MAC PDU" ;
+    } ;
+    UE.g sends harq_ack to SS.g with {
+      STEP : "3" ;
+      PROCEDURE : "Check: Does the UE transmit an 
+             HARQ ACK on PUCCH?" ;
+      test objectives : TP1 ;
+    } ;
+    set verdict to PASS ;
+    SS.g sends pdcch (c_rnti=unknown) to UE.g with {
+      STEP : "4" ;
+      PROCEDURE : "SS transmits a downlink assignment 
+               to including a C-RNTI different from 
+             the assigned to the UE" ;
+    } ;
+    SS.g sends mac_pdu to UE.g with {
+      STEP : "5" ;
+      PROCEDURE : "SS transmits in the indicated 
+             downlink assignment a RLC PDU in 
+             a MAC PDU" ;
+    } ;
+      
+    //Interpolated original step 6 into an alternative behaviour,
+    //covering both the incorrect and the correct behaviours of the UE 
+    alternatively {
+      UE.g sends harq_ack to SS.g ;
+        set verdict to FAIL ;
+    } or {
+        gate SS.g is quiet for five ;
+      set verdict to PASS ;
+    } with {
+            STEP : "6" ;
+            PROCEDURE : "Check: Does the UE send any HARQ ACK 
+                       on PUCCH?" ;
+            test objectives : TP2 ;
+    }
+  } with {
+    Note  : "Note 1: For TDD, the timing of ACK/NACK is not
+         constant as FDD, see Table 10.1-1 of TS 36.213." ;
+  }
+} with {
+  Note : "Taken from 3GPP TS 36.523-1 V10.2.0 (2012-09)" ;
+  TITLE : "Correct handling of DL assignment / Dynamic case" ;
+}
diff --git a/part1-examples/Example-1-3GPP-7.1.3.tdlan2.tdl b/part1-examples/Example-1-3GPP-7.1.3.tdlan2.tdl
new file mode 100644
index 0000000000000000000000000000000000000000..bad18c36bdeedf2013d9bc73f1f1334ba47bb1d8
--- /dev/null
+++ b/part1-examples/Example-1-3GPP-7.1.3.tdlan2.tdl
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tdl:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tdl="http://www.etsi.org/spec/TDL/1.4.1" name="Layer_2_DL_SCH_Data_Transfer">
+  <comment body="&quot;Taken from 3GPP TS 36.523-1 V10.2.0 (2012-09)&quot;"/>
+  <annotation value="&quot;Correct handling of DL assignment / Dynamic case&quot;" key="//@packagedElement.5"/>
+  <packagedElement xsi:type="tdl:Action" name="preCondition" body="&quot;Pre-test Conditions: &#xA;            RRC Connection Reconfiguration&quot;"/>
+  <packagedElement xsi:type="tdl:Action" name="preamble" body="&quot;Preamble:&#xA;          The generic procedure to get UE in test state Loopback &#xA;          Activated (State 4) according to TS 36.508 clause 4.5 &#xA;          is executed, with all the parameters as specified in the &#xA;          procedure except that the RLC SDU size is set to return no &#xA;          data in uplink. &#xA;          (reference corresponding behavior once implemented&quot;"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="Verdict"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="PASS" dataType="//@packagedElement.2"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="FAIL" dataType="//@packagedElement.2"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="TITLE"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="STEP"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="PROCEDURE"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="PRECONDITION"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="PREAMBLE"/>
+  <packagedElement xsi:type="tdl:TestObjective" name="TP1" description="&quot;with { UE in E-UTRA RRC_CONNECTED state }&#xA;             ensure that {&#xA;               when { UE receives downlink assignment on the PDCCH &#xA;                      for the UE's C-RNTI and receives data in the &#xA;                  associated subframe and UE performs HARQ &#xA;                  operation }&#xA;                 then { UE sends a HARQ feedback on the HARQ &#xA;                  process }&#xA;                   }&quot;">
+    <objectiveURI>&quot;36523-1-a20_s07_01.doc::7.1.3.1.1 (1)&quot;</objectiveURI>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestObjective" name="TP2" description="&quot;with { UE in E-UTRA RRC_CONNECTED state }&#xA;             ensure that {&#xA;               when { UE receives downlink assignment on the PDCCH &#xA;                      with a C-RNTI unknown by the UE and data is &#xA;                  available in the associated subframe }&#xA;               then { UE does not send any HARQ feedback on the &#xA;                  HARQ process }&#xA;             }&quot;">
+    <objectiveURI>&quot;36523-1-a20_s07_01.doc::7.1.3.1.1 (2)&quot;</objectiveURI>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="PDU"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="mac_pdu" dataType="//@packagedElement.12"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="ACK"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="harq_ack" dataType="//@packagedElement.14"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="C_RNTI"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="ue" dataType="//@packagedElement.16"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="unknown" dataType="//@packagedElement.16"/>
+  <packagedElement xsi:type="tdl:StructuredDataType" name="PDCCH">
+    <member name="c_rnti" dataType="//@packagedElement.16" isOptional="true"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="pdcch" dataType="//@packagedElement.19"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="CONFIGURATION"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="RRCConnectionReconfiguration" dataType="//@packagedElement.21"/>
+  <packagedElement xsi:type="tdl:Time" name="Second"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="five" dataType="//@packagedElement.23"/>
+  <packagedElement xsi:type="tdl:GateType" name="defaultGT" dataType="//@packagedElement.14 //@packagedElement.12 //@packagedElement.19 //@packagedElement.16 //@packagedElement.21"/>
+  <packagedElement xsi:type="tdl:ComponentType" name="defaultCT">
+    <gateInstance name="g" type="//@packagedElement.25"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestConfiguration" name="defaultTC">
+    <componentInstance name="SS" type="//@packagedElement.26" role="Tester"/>
+    <componentInstance name="UE" type="//@packagedElement.26"/>
+    <connection>
+      <endPoint component="//@packagedElement.27/@componentInstance.1" gate="//@packagedElement.26/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.27/@componentInstance.0" gate="//@packagedElement.26/@gateInstance.0"/>
+    </connection>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestDescription" name="TD_7_1_3_1" testConfiguration="//@packagedElement.27">
+    <behaviourDescription>
+      <behaviour xsi:type="tdl:CompoundBehaviour">
+        <comment body="&quot;Note 1: For TDD, the timing of ACK/NACK is not&#xA;         constant as FDD, see Table 10.1-1 of TS 36.213.&quot;"/>
+        <block>
+          <behaviour xsi:type="tdl:ActionReference" action="//@packagedElement.0">
+            <annotation key="//@packagedElement.8"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:ActionReference" action="//@packagedElement.1">
+            <annotation key="//@packagedElement.9"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.27/@connection.0/@endPoint.1">
+            <target targetGate="//@packagedElement.27/@connection.0/@endPoint.0">
+              <annotation value="&quot;1&quot;" key="//@packagedElement.6"/>
+              <annotation value="&quot;SS transmits a downlink assignment &#xA;             including the C-RNTI assigned to &#xA;             the UE&quot;" key="//@packagedElement.7"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.20">
+              <argument parameter="//@packagedElement.19/@member.0">
+                <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.17"/>
+              </argument>
+            </argument>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.27/@connection.0/@endPoint.1">
+            <target targetGate="//@packagedElement.27/@connection.0/@endPoint.0">
+              <annotation value="&quot;2&quot;" key="//@packagedElement.6"/>
+              <annotation value="&quot;SS transmits in the indicated &#xA;             downlink assignment a RLC PDU in &#xA;             a MAC PDU&quot;" key="//@packagedElement.7"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" testObjective="//@packagedElement.10" sourceGate="//@packagedElement.27/@connection.0/@endPoint.0">
+            <annotation value="&quot;3&quot;" key="//@packagedElement.6"/>
+            <annotation value="&quot;Check: Does the UE transmit an &#xA;             HARQ ACK on PUCCH?&quot;" key="//@packagedElement.7"/>
+            <target targetGate="//@packagedElement.27/@connection.0/@endPoint.1"/>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.15"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:VerdictAssignment">
+            <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.3"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.27/@connection.0/@endPoint.1">
+            <target targetGate="//@packagedElement.27/@connection.0/@endPoint.0">
+              <annotation value="&quot;4&quot;" key="//@packagedElement.6"/>
+              <annotation value="&quot;SS transmits a downlink assignment &#xA;               to including a C-RNTI different from &#xA;             the assigned to the UE&quot;" key="//@packagedElement.7"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.20">
+              <argument parameter="//@packagedElement.19/@member.0">
+                <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.18"/>
+              </argument>
+            </argument>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.27/@connection.0/@endPoint.1">
+            <target targetGate="//@packagedElement.27/@connection.0/@endPoint.0">
+              <annotation value="&quot;5&quot;" key="//@packagedElement.6"/>
+              <annotation value="&quot;SS transmits in the indicated &#xA;             downlink assignment a RLC PDU in &#xA;             a MAC PDU&quot;" key="//@packagedElement.7"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:AlternativeBehaviour" testObjective="//@packagedElement.11">
+            <annotation value="&quot;6&quot;" key="//@packagedElement.6"/>
+            <annotation value="&quot;Check: Does the UE send any HARQ ACK &#xA;                       on PUCCH?&quot;" key="//@packagedElement.7"/>
+            <block>
+              <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.27/@connection.0/@endPoint.0">
+                <target targetGate="//@packagedElement.27/@connection.0/@endPoint.1"/>
+                <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.15"/>
+              </behaviour>
+              <behaviour xsi:type="tdl:VerdictAssignment">
+                <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.4"/>
+              </behaviour>
+            </block>
+            <block>
+              <behaviour xsi:type="tdl:Quiescence" gateReference="//@packagedElement.27/@connection.0/@endPoint.1">
+                <period xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.24"/>
+              </behaviour>
+              <behaviour xsi:type="tdl:VerdictAssignment">
+                <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.3"/>
+              </behaviour>
+            </block>
+          </behaviour>
+        </block>
+      </behaviour>
+    </behaviourDescription>
+  </packagedElement>
+</tdl:Package>
diff --git a/part1-examples/Example-2-IMS-4.5.1.tdlan2 b/part1-examples/Example-2-IMS-4.5.1.tdlan2
new file mode 100644
index 0000000000000000000000000000000000000000..a79317921f0a983ff3b7fef79562675a0e6476ee
--- /dev/null
+++ b/part1-examples/Example-2-IMS-4.5.1.tdlan2
@@ -0,0 +1,129 @@
+//Translated from [i.6], Section 4.5.1.
+Package IMS_NNI_General_Capabilities {
+    //Procedures carried out by a component of a test configuration 
+    //or an actor during test execution
+    Action preConditions : "Pre-test conditions:
+                 - HSS of IMS_A and of IMS B is configured according to table 1
+                 - UE_A and UE_B have IP bearers established to their respective
+                   IMS networks as per clause 4.2.1
+                 - UE_A and IMS_A configured to use TCP for transport
+                 - UE_A is registered in IMS_A using any user identity
+                 - UE_B is registered user of IMS_B using any user identity
+                 - MESSAGE request and response has to be supported at II-NNI 
+                   (ETSI TS 129 165 [16]
+                 see tables 6.1 and 6.3)" ;
+
+  	//User-defined verdicts
+	//Alternatively the predefined verdicts may be used as well 
+  	Type Verdict ;
+    Verdict PASS ;
+    Verdict FAIL ;
+
+    //User-defined annotation types
+    Annotation TITLE ;         //Test description title
+    Annotation STEP ;          //Step identifiers in source documents
+    Annotation PROCEDURE ;     //Informal textual description of a test step 
+    Annotation PRECONDITION ;  //Identify pre-condition behaviour
+    Annotation PREAMBLE ;      //Identify preamble behaviour. 
+    Annotation SUMMARY ;       //Informal textual description of test sequence
+
+    //Test objectives (copied verbatim from source document)
+    Test Objective TP_IMS_4002_1 {
+        //Location in source document
+        from : "ts_18601102v030101p.pdf::4.5.1.1 (CC 1)" ;
+        //Further reference to another document
+        from : "ETSI TS 124 229 [1], clause 4.2A, paragraph 1" ;
+        description : "ensure that {
+                           when { UE_A sends a MESSAGE to UE_B
+                                  containing a Message_Body greater than 1 300 
+                                  bytes } 
+                           then { IMS_B receives the MESSAGE containing the 
+                                  Message_Body greater than 1 300 bytes }
+                         }" ;
+    }
+    Test Objective UC_05_I {
+        //Only a reference to corresponding section in the source document
+        from : "ts_18601102v030101p.pdf::4.4.4.2" ;
+    }
+    
+    //Relevant data definitions
+    Type MSG (optional TCP of type CONTENT);
+    MSG MESSAGE() ;
+    MSG DING() ;
+    MSG DELIVERY_REPORT() ;
+    MSG M_200_OK() ;
+    
+    Type CONTENT ;
+    CONTENT tcp;
+    
+    Time SECONDS;
+    SECONDS default_timeout;
+
+    //Gate type definitions.
+    Gate Type defaultGT accepts MSG, CONTENT ;
+    
+    //Component type definitions
+    //In this case they may also be reduced to a single component type
+    Component Type USER having {
+        gate g of type defaultGT ;
+    }
+    Component Type UE having {
+        gate g of type defaultGT ;
+    }
+    Component Type IMS having {
+        gate g of type defaultGT ;
+    }
+    Component Type IBCF having {
+        gate g of type defaultGT ;
+    }
+
+    //Test configuration definition
+    Test Configuration CF_INT_CALL {
+      	create Tester USER_A of type USER;
+      	create Tester UE_A of type UE;
+      	create Tester IMS_A of type IMS;
+      	create Tester IBCF_A of type IBCF;
+      	create Tester IBCF_B of type IBCF;
+      	create SUT IMS_B of type IMS;
+      	create Tester UE_B of type UE;
+      	create Tester USER_B of type USER;
+        connect USER_A.g to UE_A.g ;
+        connect UE_A.g to IMS_A.g ;
+        connect IMS_A.g to IBCF_A.g ;
+        connect IBCF_A.g to IBCF_B.g ;
+        connect IBCF_B.g to IMS_B.g ;
+        connect IMS_B.g to UE_B.g ;
+        connect UE_B.g to USER_B.g ;
+    }
+
+    //Test description definition
+    Test Description TD_IMS_MESS_0001 uses configuration CF_INT_CALL {
+        //Pre-conditions from the source document
+        perform action preConditions with { PRECONDITION ; };
+        
+        //Test sequence
+        USER_A.g sends MESSAGE to UE_A.g with { STEP : "1" ; } ;
+        UE_A.g sends MESSAGE to IMS_A.g with { STEP : "2" ; } ;
+        IMS_A.g sends MESSAGE to IBCF_A.g with { STEP : "3" ; } ;
+        IBCF_A.g sends MESSAGE to IBCF_B.g with { STEP : "4" ; } ;
+        IBCF_B.g sends MESSAGE (TCP = tcp) to IMS_B.g with { STEP : "5" ; } ;
+        IMS_B.g sends MESSAGE to UE_B.g with { STEP : "6" ; } ;
+        UE_B.g sends DING to USER_B.g with { STEP : "7" ; } ;
+        UE_B.g sends M_200_OK to IMS_B.g with { STEP : "8" ; } ;
+        IMS_B.g sends M_200_OK to IBCF_B.g with { STEP : "9" ; } ;
+        IBCF_B.g sends M_200_OK to IBCF_A.g with { STEP : "10" ; } ;
+        IBCF_A.g sends M_200_OK to IMS_A.g with { STEP : "11" ; } ;
+        IMS_A.g sends M_200_OK to UE_A.g with { STEP : "12" ; } ;
+        alternatively {
+            UE_A.g sends DELIVERY_REPORT to USER_A.g with { STEP : "13" ; } ;
+        } or {
+            gate USER_A.g is quiet for default_timeout;
+        } 
+    } with {
+        SUMMARY : "IMS network shall support SIP messages greater than
+                           1 500 bytes" ;
+    }
+} with {
+    Note : "Taken from ETSI TS 186 011-2 [i.3] V3.1.1 (2011-06)" ;
+    TITLE : "SIP messages longer than 1 500 bytes" ;
+}
diff --git a/part1-examples/Example-2-IMS-4.5.1.tdlan2.tdl b/part1-examples/Example-2-IMS-4.5.1.tdlan2.tdl
new file mode 100644
index 0000000000000000000000000000000000000000..5505f4f2b6b3bdb854f87bdaf8a8467debd93755
--- /dev/null
+++ b/part1-examples/Example-2-IMS-4.5.1.tdlan2.tdl
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tdl:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tdl="http://www.etsi.org/spec/TDL/1.4.1" name="IMS_NNI_General_Capabilities">
+  <comment body="&quot;Taken from ETSI TS 186 011-2 [i.3] V3.1.1 (2011-06)&quot;"/>
+  <annotation value="&quot;SIP messages longer than 1 500 bytes&quot;" key="//@packagedElement.4"/>
+  <packagedElement xsi:type="tdl:Action" name="preConditions" body="&quot;Pre-test conditions:&#xA;                 - HSS of IMS_A and of IMS B is configured according to table 1&#xA;                 - UE_A and UE_B have IP bearers established to their respective&#xA;                   IMS networks as per clause 4.2.1&#xA;                 - UE_A and IMS_A configured to use TCP for transport&#xA;                 - UE_A is registered in IMS_A using any user identity&#xA;                 - UE_B is registered user of IMS_B using any user identity&#xA;                 - MESSAGE request and response has to be supported at II-NNI &#xA;                   (ETSI TS 129 165 [16]&#xA;                 see tables 6.1 and 6.3)&quot;"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="Verdict"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="PASS" dataType="//@packagedElement.1"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="FAIL" dataType="//@packagedElement.1"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="TITLE"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="STEP"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="PROCEDURE"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="PRECONDITION"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="PREAMBLE"/>
+  <packagedElement xsi:type="tdl:AnnotationType" name="SUMMARY"/>
+  <packagedElement xsi:type="tdl:TestObjective" name="TP_IMS_4002_1" description="&quot;ensure that {&#xA;                           when { UE_A sends a MESSAGE to UE_B&#xA;                                  containing a Message_Body greater than 1 300 &#xA;                                  bytes } &#xA;                           then { IMS_B receives the MESSAGE containing the &#xA;                                  Message_Body greater than 1 300 bytes }&#xA;                         }&quot;">
+    <objectiveURI>&quot;ts_18601102v030101p.pdf::4.5.1.1 (CC 1)&quot;</objectiveURI>
+    <objectiveURI>&quot;ETSI TS 124 229 [1], clause 4.2A, paragraph 1&quot;</objectiveURI>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestObjective" name="UC_05_I">
+    <objectiveURI>&quot;ts_18601102v030101p.pdf::4.4.4.2&quot;</objectiveURI>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:StructuredDataType" name="MSG">
+    <member name="TCP" dataType="//@packagedElement.17" isOptional="true"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="MESSAGE" dataType="//@packagedElement.12"/>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="DING" dataType="//@packagedElement.12"/>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="DELIVERY_REPORT" dataType="//@packagedElement.12"/>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="M_200_OK" dataType="//@packagedElement.12"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="CONTENT"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="tcp" dataType="//@packagedElement.17"/>
+  <packagedElement xsi:type="tdl:Time" name="SECONDS"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="default_timeout" dataType="//@packagedElement.19"/>
+  <packagedElement xsi:type="tdl:GateType" name="defaultGT" dataType="//@packagedElement.12 //@packagedElement.17"/>
+  <packagedElement xsi:type="tdl:ComponentType" name="USER">
+    <gateInstance name="g" type="//@packagedElement.21"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:ComponentType" name="UE">
+    <gateInstance name="g" type="//@packagedElement.21"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:ComponentType" name="IMS">
+    <gateInstance name="g" type="//@packagedElement.21"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:ComponentType" name="IBCF">
+    <gateInstance name="g" type="//@packagedElement.21"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestConfiguration" name="CF_INT_CALL">
+    <componentInstance name="USER_A" type="//@packagedElement.22" role="Tester"/>
+    <componentInstance name="UE_A" type="//@packagedElement.23" role="Tester"/>
+    <componentInstance name="IMS_A" type="//@packagedElement.24" role="Tester"/>
+    <componentInstance name="IBCF_A" type="//@packagedElement.25" role="Tester"/>
+    <componentInstance name="IBCF_B" type="//@packagedElement.25" role="Tester"/>
+    <componentInstance name="IMS_B" type="//@packagedElement.24"/>
+    <componentInstance name="UE_B" type="//@packagedElement.23" role="Tester"/>
+    <componentInstance name="USER_B" type="//@packagedElement.22" role="Tester"/>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.0" gate="//@packagedElement.22/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.1" gate="//@packagedElement.23/@gateInstance.0"/>
+    </connection>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.1" gate="//@packagedElement.23/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.2" gate="//@packagedElement.24/@gateInstance.0"/>
+    </connection>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.2" gate="//@packagedElement.24/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.3" gate="//@packagedElement.25/@gateInstance.0"/>
+    </connection>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.3" gate="//@packagedElement.25/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.4" gate="//@packagedElement.25/@gateInstance.0"/>
+    </connection>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.4" gate="//@packagedElement.25/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.5" gate="//@packagedElement.24/@gateInstance.0"/>
+    </connection>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.5" gate="//@packagedElement.24/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.6" gate="//@packagedElement.23/@gateInstance.0"/>
+    </connection>
+    <connection>
+      <endPoint component="//@packagedElement.26/@componentInstance.6" gate="//@packagedElement.23/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.26/@componentInstance.7" gate="//@packagedElement.22/@gateInstance.0"/>
+    </connection>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestDescription" name="TD_IMS_MESS_0001" testConfiguration="//@packagedElement.26">
+    <behaviourDescription>
+      <behaviour xsi:type="tdl:CompoundBehaviour">
+        <annotation value="&quot;IMS network shall support SIP messages greater than&#xA;                           1 500 bytes&quot;" key="//@packagedElement.9"/>
+        <block>
+          <behaviour xsi:type="tdl:ActionReference" action="//@packagedElement.0">
+            <annotation key="//@packagedElement.7"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.0/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.0/@endPoint.1">
+              <annotation value="&quot;1&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.1/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.1/@endPoint.1">
+              <annotation value="&quot;2&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.2/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.2/@endPoint.1">
+              <annotation value="&quot;3&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.3/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.3/@endPoint.1">
+              <annotation value="&quot;4&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.4/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.4/@endPoint.1">
+              <annotation value="&quot;5&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13">
+              <argument parameter="//@packagedElement.12/@member.0">
+                <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.18"/>
+              </argument>
+            </argument>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.5/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.5/@endPoint.1">
+              <annotation value="&quot;6&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.13"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.6/@endPoint.0">
+            <target targetGate="//@packagedElement.26/@connection.6/@endPoint.1">
+              <annotation value="&quot;7&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.14"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.5/@endPoint.1">
+            <target targetGate="//@packagedElement.26/@connection.5/@endPoint.0">
+              <annotation value="&quot;8&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.16"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.4/@endPoint.1">
+            <target targetGate="//@packagedElement.26/@connection.4/@endPoint.0">
+              <annotation value="&quot;9&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.16"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.3/@endPoint.1">
+            <target targetGate="//@packagedElement.26/@connection.3/@endPoint.0">
+              <annotation value="&quot;10&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.16"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.2/@endPoint.1">
+            <target targetGate="//@packagedElement.26/@connection.2/@endPoint.0">
+              <annotation value="&quot;11&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.16"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.1/@endPoint.1">
+            <target targetGate="//@packagedElement.26/@connection.1/@endPoint.0">
+              <annotation value="&quot;12&quot;" key="//@packagedElement.5"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.16"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:AlternativeBehaviour">
+            <block>
+              <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.26/@connection.0/@endPoint.1">
+                <target targetGate="//@packagedElement.26/@connection.0/@endPoint.0">
+                  <annotation value="&quot;13&quot;" key="//@packagedElement.5"/>
+                </target>
+                <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.15"/>
+              </behaviour>
+            </block>
+            <block>
+              <behaviour xsi:type="tdl:Quiescence" gateReference="//@packagedElement.26/@connection.0/@endPoint.0">
+                <period xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.20"/>
+              </behaviour>
+            </block>
+          </behaviour>
+        </block>
+      </behaviour>
+    </behaviourDescription>
+  </packagedElement>
+</tdl:Package>
diff --git a/part1-examples/Example-3-Data.tdlan2 b/part1-examples/Example-3-Data.tdlan2
new file mode 100644
index 0000000000000000000000000000000000000000..01a9e15da77dfd4b1501d2de94e24e852fa2b387
--- /dev/null
+++ b/part1-examples/Example-3-Data.tdlan2
@@ -0,0 +1,133 @@
+//A manually constructed example illustrating the data mapping concepts
+Package DataExample {
+    //User-defined verdicts
+    //Alternatively the predefined verdicts may be used as well 
+    Type Verdict ;
+    Verdict PASS ;
+    Verdict FAIL ;
+    
+    //Test objectives
+    Test Objective CHECK_SESSION_ID_IS_MAINTAINED {
+        //Only a description
+        description : "Check whether the session id is maintained 
+                       after the first response." ;
+    }
+
+  //Data definitions
+  Type SESSION_ID;
+  SESSION_ID SESSION_ID_1 ;
+  SESSION_ID SESSION_ID_2 ;
+  
+  Type MSG (optional session of type SESSION_ID); 
+  MSG REQUEST_SESSION_ID(session = omit);
+  MSG RESPONSE(session = ?);
+  MSG MESSAGE(session = ?);
+  
+  //Data mappings
+  
+  //Load resource.ttcn3
+  Use "resource.ttcn3" as TTCN_MAPPING ;
+
+  //Map types and instances to TTCN-3 records and templates, respectively
+  //(located in the used TTCN-3 file) 
+  Map MSG to "record_message" in TTCN_MAPPING as MSG_mapping with {
+    session mapped to "session_id";
+  };
+  Map REQUEST_SESSION_ID to "template_message_request" in TTCN_MAPPING as REQUEST_mapping ;
+  Map RESPONSE to "template_response" in TTCN_MAPPING as RESPONSE_mapping ;
+  Map MESSAGE to "template_message" in TTCN_MAPPING as MESSAGE_mapping ;
+
+  //Use a runtime URI for dynamic data available at runtime, such as 
+  //session IDs
+  Use "runtime://sessions/" as RUNTIME_MAPPING ;
+  //Map session ID data instances to locations within the runtime URI
+  Map SESSION_ID_1 to "id_1" in RUNTIME_MAPPING as SESSION_ID_1_mapping ;
+  Map SESSION_ID_2 to "id_2" in RUNTIME_MAPPING as SESSION_ID_2_mapping ;
+  
+  //Gate type definitions
+  Gate Type defaultGT accepts MSG , SESSION_ID;
+  
+  //Component type definitions
+  Component Type defaultCT having {
+    gate g of type defaultGT ;
+  }
+  
+  //Test configuration definition
+  Test Configuration defaultTC {
+    create SUT UE of type defaultCT;
+    create Tester SS of type defaultCT;
+    connect SS.g to UE.g ;
+  }
+  
+  //Test description definition
+  Test Description exampleTD uses configuration defaultTC {
+    //Tester requests a session id 
+    SS.g sends REQUEST_SESSION_ID to UE.g ;
+        //SUT responds with a session id that is assigned to the URI
+        //provided by the execution environment
+        UE.g sends RESPONSE (session=SESSION_ID_1) to SS.g ;
+        //Tester sends a message with the session id 
+        //from the runtime URI
+        SS.g sends MESSAGE (session=SESSION_ID_1) to UE.g ;
+        
+        alternatively {
+            //SUT responds with the same session id
+            UE.g sends RESPONSE (session=SESSION_ID_1) to SS.g ;
+            set verdict to PASS;
+        } or {
+            //SUT responds with a new session id
+            UE.g sends RESPONSE (session=SESSION_ID_2) to SS.g ;
+            set verdict to FAIL;
+        } with {
+            test objectives : CHECK_SESSION_ID_IS_MAINTAINED ;
+        } 
+  }
+
+  //Alternative approach with variables
+
+  //Component type definitions
+  Component Type defaultCTwithVariable having {
+    variable v of type MSG;
+    gate g of type defaultGT ;
+  }
+  
+    //Test configuration definition
+  Test Configuration defaultTCwithVariables {
+    create SUT UE of type defaultCT;
+    create Tester SS of type defaultCTwithVariable;
+    connect SS.g to UE.g ;
+  }
+
+  Test Description exampleTD uses configuration defaultTCwithVariables {
+    //Tester requests a session id 
+    SS.g sends REQUEST_SESSION_ID to UE.g ;
+        
+        //SUT responds with a response message containing a session ID
+        //The response could contain any of the known session IDs
+        //The received response is stored in the variable v of the SS
+        UE.g sends RESPONSE to SS.g where it is assigned to v;   
+        
+        //Tester sends a message with the session ID 
+        //from the response stored in the variable v of the SS
+        SS.g sends MESSAGE(session=SS->v.session) to UE.g ;
+        
+        alternatively {    
+            //SUT responds with the same session ID that is stored in 
+            //the variable v of the SS from the previous response
+            UE.g sends RESPONSE(session=SS->v.session) to SS.g ;
+            set verdict to PASS;
+        } or {
+            //SUT responds with a any session ID, including the one from the 
+            //previous response stored in v. The ordering of evaluation will 
+            //always select the first alternative in that case. Alternatively
+            //a function can be defined and called that checks explicitly that 
+            //a the specific session ID from the previous response stored in v 
+            //is not received e.g. 
+            // UE.g sends RESPONSE(session=not(SS->v.session)) to SS.g;
+            UE.g sends RESPONSE to SS.g ;
+            set verdict to FAIL;
+        } with {
+            test objectives : CHECK_SESSION_ID_IS_MAINTAINED ;
+        } 
+  }
+}
diff --git a/part1-examples/Example-3-Data.tdlan2.tdl b/part1-examples/Example-3-Data.tdlan2.tdl
new file mode 100644
index 0000000000000000000000000000000000000000..46680064e43931ffe67d0d72fd91631566f76899
--- /dev/null
+++ b/part1-examples/Example-3-Data.tdlan2.tdl
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tdl:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tdl="http://www.etsi.org/spec/TDL/1.4.1" name="DataExample">
+  <packagedElement xsi:type="tdl:SimpleDataType" name="Verdict"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="PASS" dataType="//@packagedElement.0"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="FAIL" dataType="//@packagedElement.0"/>
+  <packagedElement xsi:type="tdl:TestObjective" name="CHECK_SESSION_ID_IS_MAINTAINED" description="&quot;Check whether the session id is maintained &#xA;                       after the first response.&quot;"/>
+  <packagedElement xsi:type="tdl:SimpleDataType" name="SESSION_ID"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="SESSION_ID_1" dataType="//@packagedElement.4"/>
+  <packagedElement xsi:type="tdl:SimpleDataInstance" name="SESSION_ID_2" dataType="//@packagedElement.4"/>
+  <packagedElement xsi:type="tdl:StructuredDataType" name="MSG">
+    <member name="session" dataType="//@packagedElement.4" isOptional="true"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="REQUEST_SESSION_ID" dataType="//@packagedElement.7">
+    <memberAssignment member="//@packagedElement.7/@member.0">
+      <memberSpec xsi:type="tdl:OmitValue"/>
+    </memberAssignment>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="RESPONSE" dataType="//@packagedElement.7">
+    <memberAssignment member="//@packagedElement.7/@member.0">
+      <memberSpec xsi:type="tdl:AnyValue" name="?"/>
+    </memberAssignment>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:StructuredDataInstance" name="MESSAGE" dataType="//@packagedElement.7">
+    <memberAssignment member="//@packagedElement.7/@member.0">
+      <memberSpec xsi:type="tdl:AnyValue" name="?"/>
+    </memberAssignment>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:DataResourceMapping" name="TTCN_MAPPING" resourceURI="&quot;resource.ttcn3&quot;"/>
+  <packagedElement xsi:type="tdl:DataElementMapping" name="MSG_mapping" mappableDataElement="//@packagedElement.7" elementURI="&quot;record_message&quot;" dataResourceMapping="//@packagedElement.11">
+    <parameterMapping parameterURI="&quot;session_id&quot;" parameter="//@packagedElement.7/@member.0"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:DataElementMapping" name="REQUEST_mapping" mappableDataElement="//@packagedElement.8" elementURI="&quot;template_message_request&quot;" dataResourceMapping="//@packagedElement.11"/>
+  <packagedElement xsi:type="tdl:DataElementMapping" name="RESPONSE_mapping" mappableDataElement="//@packagedElement.9" elementURI="&quot;template_response&quot;" dataResourceMapping="//@packagedElement.11"/>
+  <packagedElement xsi:type="tdl:DataElementMapping" name="MESSAGE_mapping" mappableDataElement="//@packagedElement.10" elementURI="&quot;template_message&quot;" dataResourceMapping="//@packagedElement.11"/>
+  <packagedElement xsi:type="tdl:DataResourceMapping" name="RUNTIME_MAPPING" resourceURI="&quot;runtime://sessions/&quot;"/>
+  <packagedElement xsi:type="tdl:DataElementMapping" name="SESSION_ID_1_mapping" mappableDataElement="//@packagedElement.5" elementURI="&quot;id_1&quot;" dataResourceMapping="//@packagedElement.16"/>
+  <packagedElement xsi:type="tdl:DataElementMapping" name="SESSION_ID_2_mapping" mappableDataElement="//@packagedElement.6" elementURI="&quot;id_2&quot;" dataResourceMapping="//@packagedElement.16"/>
+  <packagedElement xsi:type="tdl:GateType" name="defaultGT" dataType="//@packagedElement.7 //@packagedElement.4"/>
+  <packagedElement xsi:type="tdl:ComponentType" name="defaultCT">
+    <gateInstance name="g" type="//@packagedElement.19"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestConfiguration" name="defaultTC">
+    <componentInstance name="UE" type="//@packagedElement.20"/>
+    <componentInstance name="SS" type="//@packagedElement.20" role="Tester"/>
+    <connection>
+      <endPoint component="//@packagedElement.21/@componentInstance.1" gate="//@packagedElement.20/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.21/@componentInstance.0" gate="//@packagedElement.20/@gateInstance.0"/>
+    </connection>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestDescription" name="exampleTD" testConfiguration="//@packagedElement.21">
+    <behaviourDescription>
+      <behaviour xsi:type="tdl:CompoundBehaviour">
+        <block>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.21/@connection.0/@endPoint.0">
+            <target targetGate="//@packagedElement.21/@connection.0/@endPoint.1"/>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.8"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.21/@connection.0/@endPoint.1">
+            <target targetGate="//@packagedElement.21/@connection.0/@endPoint.0"/>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.9">
+              <argument parameter="//@packagedElement.7/@member.0">
+                <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.5"/>
+              </argument>
+            </argument>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.21/@connection.0/@endPoint.0">
+            <target targetGate="//@packagedElement.21/@connection.0/@endPoint.1"/>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.10">
+              <argument parameter="//@packagedElement.7/@member.0">
+                <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.5"/>
+              </argument>
+            </argument>
+          </behaviour>
+          <behaviour xsi:type="tdl:AlternativeBehaviour" testObjective="//@packagedElement.3">
+            <block>
+              <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.21/@connection.0/@endPoint.1">
+                <target targetGate="//@packagedElement.21/@connection.0/@endPoint.0"/>
+                <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.9">
+                  <argument parameter="//@packagedElement.7/@member.0">
+                    <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.5"/>
+                  </argument>
+                </argument>
+              </behaviour>
+              <behaviour xsi:type="tdl:VerdictAssignment">
+                <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.1"/>
+              </behaviour>
+            </block>
+            <block>
+              <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.21/@connection.0/@endPoint.1">
+                <target targetGate="//@packagedElement.21/@connection.0/@endPoint.0"/>
+                <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.9">
+                  <argument parameter="//@packagedElement.7/@member.0">
+                    <dataUse xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.6"/>
+                  </argument>
+                </argument>
+              </behaviour>
+              <behaviour xsi:type="tdl:VerdictAssignment">
+                <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.2"/>
+              </behaviour>
+            </block>
+          </behaviour>
+        </block>
+      </behaviour>
+    </behaviourDescription>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:ComponentType" name="defaultCTwithVariable">
+    <gateInstance name="g" type="//@packagedElement.19"/>
+    <variable name="v" dataType="//@packagedElement.7"/>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestConfiguration" name="defaultTCwithVariables">
+    <componentInstance name="UE" type="//@packagedElement.20"/>
+    <componentInstance name="SS" type="//@packagedElement.23" role="Tester"/>
+    <connection>
+      <endPoint component="//@packagedElement.24/@componentInstance.1" gate="//@packagedElement.23/@gateInstance.0"/>
+      <endPoint component="//@packagedElement.24/@componentInstance.0" gate="//@packagedElement.20/@gateInstance.0"/>
+    </connection>
+  </packagedElement>
+  <packagedElement xsi:type="tdl:TestDescription" name="exampleTD" testConfiguration="//@packagedElement.24">
+    <behaviourDescription>
+      <behaviour xsi:type="tdl:CompoundBehaviour">
+        <block>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.24/@connection.0/@endPoint.0">
+            <target targetGate="//@packagedElement.24/@connection.0/@endPoint.1"/>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.8"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.24/@connection.0/@endPoint.1">
+            <target targetGate="//@packagedElement.24/@connection.0/@endPoint.0">
+              <valueAssignment variable="//@packagedElement.23/@variable.0"/>
+            </target>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.9"/>
+          </behaviour>
+          <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.24/@connection.0/@endPoint.0">
+            <target targetGate="//@packagedElement.24/@connection.0/@endPoint.1"/>
+            <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.10">
+              <argument parameter="//@packagedElement.7/@member.0">
+                <dataUse xsi:type="tdl:VariableUse" componentInstance="//@packagedElement.24/@componentInstance.1" variable="//@packagedElement.23/@variable.0">
+                  <reduction member="//@packagedElement.7/@member.0"/>
+                </dataUse>
+              </argument>
+            </argument>
+          </behaviour>
+          <behaviour xsi:type="tdl:AlternativeBehaviour" testObjective="//@packagedElement.3">
+            <block>
+              <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.24/@connection.0/@endPoint.1">
+                <target targetGate="//@packagedElement.24/@connection.0/@endPoint.0"/>
+                <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.9">
+                  <argument parameter="//@packagedElement.7/@member.0">
+                    <dataUse xsi:type="tdl:VariableUse" componentInstance="//@packagedElement.24/@componentInstance.1" variable="//@packagedElement.23/@variable.0">
+                      <reduction member="//@packagedElement.7/@member.0"/>
+                    </dataUse>
+                  </argument>
+                </argument>
+              </behaviour>
+              <behaviour xsi:type="tdl:VerdictAssignment">
+                <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.1"/>
+              </behaviour>
+            </block>
+            <block>
+              <behaviour xsi:type="tdl:Message" sourceGate="//@packagedElement.24/@connection.0/@endPoint.1">
+                <target targetGate="//@packagedElement.24/@connection.0/@endPoint.0"/>
+                <argument xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.9"/>
+              </behaviour>
+              <behaviour xsi:type="tdl:VerdictAssignment">
+                <verdict xsi:type="tdl:DataInstanceUse" dataInstance="//@packagedElement.2"/>
+              </behaviour>
+            </block>
+          </behaviour>
+        </block>
+      </behaviour>
+    </behaviourDescription>
+  </packagedElement>
+</tdl:Package>