Eclipse Titan™ 5.5.0 Release Review

End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.




This version  CRL 113 200/5 R5A (5.5.pl0) has the following new features:


• clang support in Titan


As an experimental feature we have introduced support for clang 3-8.


Clang comes with the promise of (significantly) reducing the build time , however at the expense of at a reduced execution speed of the generated binary.

This means that we will not recommended it for load generating applications in production phase, but even for these, it can be used during development.

The C++ source code generated and Titan must be compiled with the same version of clang. 

We have published Titan built with clang-3.8 for a number of platforms. 


(Note: If you need a Titan built with clang for a platform other than published, pls. let us know and we'll see if we can produce it for you; 

else, you can build it from scratch yourself based on the source from github:




Makefiles of TTCN-3 projects must be modified by hand as below:


# Your C++ compiler:

# (if you change the platform, you may need to change the compiler)

CXX := clang++-3.8


or regenerated using makefilegen, to use the clang compiler.

Makefilegen will check the version of the C++ compiler used when building Titan and will re-use the same in the generated Makefile.



• config parser/editor based on ANTLR 4 


The config parser/editor was switched off in 5.4.0 as we could not finish ANTLR 4 migration in time.

Now the config parser/editor is active again, fully powered by ANTLR 4.


• a new, faster algorithm for semantic analysis implemented in Eclipse Designer 

• a new statement of compliance document covering the core language part of the standard 

• added negative and positive conformance tests ( about 2100) covering core language part of the standard 

• new legacy switches to be considered:


-M: allow 'omit' in template value lists (legacy behavior)

-B: allow selected union field to be unbound (legacy behavior) 


• makefilegen -I option to include search paths in .tpd files 

• RAW encoder for universal character string 

• ISO 10646-conformant unicode syntaxes

• new internal functions: encvalue2unichar/decvalue2unichar,any2unistr,hostid

• make port command ( similar in effect with 'compiler -t')

• checkstate port operation

• activation of emergency logging when a test fails (optional)

• support for type substitutionGroup

• support for using specific encode attribute strings to identify encode functions

• ttcn2json: extra keyword for restricted "as value" unions

• makefilegen generates -Y if tpd orders it

• user Debug classes

• negative testing support with JSON encoder

• new compiler switch for decreasing variant errorlevel from error to warning 

• makefilegen support for commenting out OPENSSL_DIR based on tpd setting

• A number of TRs fixed related to XML, Eclipse plug-ins, JSON


Architectural Issues

A fourth plug-in,  a TTCN-3-Java  code generator made it's appearance in an incipient form. 

The foundations of a debugger in the Titan core have been laid.

Usability Details

The config file editor has been reactivated after migration to ANTLR 4.


A SoC document was added to describe compatibility with the TTCN-3 Core language  part of the standard. 


Lively acivity of the Eclipse Titan forum; some interaction in Bugzilla and github issues.