Eclipse Titan 5.5.0 Release Review

Type: 
Release
State: 
Successful
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.

Wednesday, June 15, 2016
Project: 
Release: 

5.5.0

Description: 

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:
https://github.com/eclipse/titan.core)
 
 
 
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.

Standards: 

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

Communities: 

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