| = MQTT v3.1.1 Protocol Module for TTCN-3 Toolset with TITAN, Description |
| :author: Máté Kovács |
| :revdate: 2016-03-18 |
| :toc: left |
| |
| == Functionality |
| The MQTT v3.1.1 protocol module implements the message structures of the related protocol in a formalized way, using the standard specification language TTCN-3. This allows defining of test data (templates) in the TTCN-3 language and correctly encoding/decoding messages when executing test suites using the Titan TTCN-3 test environment. |
| === Implemented Protocols |
| This protocol module implements the protocol messages and constants of the MQTT v3.1.1 protocol <<_4, [4]>>. |
| [[modifications-deviations-related-to-the-protocol-specification]] |
| === Modifications/Deviations Related to the Protocol Specification |
| |
| ==== Unimplemented Messages, Information Elements and Constants |
| |
| None. |
| ==== Ericsson-Specific Changes |
| |
| None. |
| === Backward Incompatibilities |
| |
| None. |
| === System Requirements |
| |
| Protocol modules are a set of TTCN-3 source code files that can be used as part of TTCN-3 test suites only. Hence, protocol modules alone do not put specific requirements on the system used. However, in order to compile and execute a TTCN-3 test suite using the set of protocol modules the following system requirements must be satisfied: |
| * Titan TTCN-3 Test Executor version CRL 113 200/5 R4A (5.4.pl0) or higher installed. For Installation Guide see <<_2, [2]>>. |
| NOTE: This version of the test port is not compatible with Titan releases earlier than CRL 113 200/5 R4A. |
| |
| == Usage |
| |
| === Installation |
| The set of protocol modules can be used in developing TTCN-3 test suites using any text editor; however, to make the work more efficient a TTCN3enabled text editor is recommended (for example `nedit`, `xemacs`). Since the MQTT v3.1.1 protocol is used as a part of a TTCN-3 test suite, this requires TTCN-3 Test Executor be installed before the module can be compiled and executed together with other parts of the test suite. For more details on the installation of TTCN-3 Test Executor see the relevant section of <<_3, [3]>>. |
| |
| === Configuration |
| |
| None. |
| |
| === Examples |
| |
| None. |
| |
| == Interface Description |
| |
| === Top Level PDU |
| The top level PDU is the TTCN-3 union MQTT_v3_1_1_Message. |
| [[encoding-decoding-and-other-related-functions]] |
| |
| === Encoding/Decoding and Other Related Functions |
| This product also contains encoding/decoding functions, which assure correct encoding of messages when sent from TITAN and correct decoding of messages when received by TITAN. |
| |
| ==== Implemented Encoding and Decoding Functions |
| [cols=3*,options=header] |
| |=== |
| |Name |Type of formal parameters |Type of return value |
| |`f_MQTT_v3_1_1_enc` |in MQTT_v3_1_1_Message + |
| out octetstring |integer |
| |`f_MQTT_v3_1_1_dec` |in octetstring + |
| out MQTT_v3_1_1_Message |integer |
| |=== |
| |
| == Terminology |
| *TITAN:* + |
| TTCN-3 Test Executor (see <<_2, [2]>>). |
| |
| == Abbreviations |
| PDU:: Protocol Data Unit |
| TTCN-3:: Testing and Test Control Notation version 3 |
| MQTT:: v3.1.1 MQTT Version 3.1.1 Protocol |
| |
| == References |
| [[_1]] |
| [1] ETSI ES 201 873-1 v4.5.1 (2013-04) + |
| The Testing and Test Control Notation version 3. Part 1: Core Language |
| [[_2]] |
| [2] User Guide for TITAN TTCN-3 Test Executor |
| [[_3]] |
| [3] Programmer’s Technical Reference for Titan TTCN–3 Test Executor |
| [[_4]] |
| [4] MQTT Version 3.1.1 |
| http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html |