This project demonstrates how to interface a System Under Test for TTCN (SUT)
with the generated code for the TTCN test as generated by PragmaDev Tester.

The interface is defined in the file tRequestAnswer.ttcn3 via the component
declaration. The component named mtc_type contains three ports, all with the
type "message":
  - The port sut_port_1 defines 2 messages mRequest_1 & mRequest_2, both
    outgoing for the test, so incoming in the SUT;
  - The port sut_port_2 defines 2 messages mRequest_3 & mRequest_4, both
    outgoing for the test, so incoming in the SUT;
  - The port reception_port defines 2 messages mAnswer_1 & mAnswer_2, both
    incoming for the test, so outgoing for the SUT.
All these messages are defined as records in the TTCN code, with fields
representing the message parameters. There are different parameters for each
message (e.g a single integer for mRequest_1, 2 integers for mRequest_2, an
integer and a character string for mRequest_3, and so on).

The SUT is implemented via a C++ class, with one method for each incoming
message. The class is declared in SUT.h and implemented in SUT.cpp. For each
incoming mRequest_i message, one of the mAnswer_j messages is sent back. Sending
these messages is done via the functions sendAnswerMessageType1ToEnv &
sendAnswerMessageType2ToEnv, declared in SUT.h and implemented in
RTDS_TTCN_SUT_interface.c. The scenario for the test is described in the MSC
diagram TestScenario; note that the test also defines a time-out for the answer
to a request, represented by the timers it starts at each send.

RTDS_TTCN_SUT_interface.c also defines the function SUT_init, which is called at
system startup to actually start the SUT. Here, it only creates a message queue
to allow the SUT and the test to communicate. The function to call is defined at
compile-time via the macro RTDS_TTCN_SUT_INIT set in the compiler options in the
generation options.

All functions and macros whose name starts with RTDS_ are provided by the
application, either as predefined functions or as generated code. The basic
principles for TTCN / SUT interfacing are described in the Reference Manual,
section 15.6.
