The purpose of this example is to provide a template for distributed systems in
RTDS. The system described is not exactly distributed, but actually comes in
two parts, modelled in 2 different projects via two different systems. This
project contains the overall description for the whole system and is only here
for documentation. It also includes the references for the shared parts, i.e
the definition of the messages exchanged by the 2 systems.

The two parts are a client and a server, where the client sends requests for
simple computations to the server and the server sends back the result. The
communication between the server and the client is done via a socket.

The whole system is not really distributed, since the server and the client
must run on the same host. But different languages are used for the two parts:
The client is generated in C++ and the server in C.

For each project, 3 generation profiles are defined:
  - One allowing to generate the final code for the target;
  - One allowing to debug the part, supposing the other part is there;
  - One allowing to debug the part alone, meaning there will actually
    be no communication done with anything.
For the first two, the server must be started first, either in a terminal for
the target profile, or in the RTDS debugger for the other one. Then the client
can be started, again either in a termnial for the target profile, or in the
RTDS debugger for the other one.
For the standalone debug profiles, each part can be debugged by itself. The
messages that are supposed to come from the other part must then be sent
manually via the debugger GUI ("Send" button).
