Information in support of the graduation review:
A working and demonstrable code base with extensible frameworks and exemplary tools
An active framework user (plug-in provider) community.
The received contribution reflect the versatility of the tool itself:
-CANBus test port
-LTTng logger plug-in
-CoAP protocol module additions
An active user community.
The size and activity of the user community can be assessed through the Eclipse Titan forum, which is the main communication channel with our users; questions and observations can be posted here; it is also a media where we post notes and guides about
new or modified features of the tool. Some of these posts have been read by tens of thousands , with a post reaching an audience of nearly 100.000 readers. We also see a continuous stream of downloads of the source code (Github) and published binaries.
An active multi-organization community.
We have seen adopters, users and contributors for many organizations.
Titan became the backbone of several large IoT testing projects:
oneM2MTester:
https://github.com/IoTKETI/oneM2MTester
IoT-T:
http://www.iot-t.de/en/testware/
https://projects.eclipse.org/projects/technology.iottestware
ARMOUR 2020:
http://www.armour-project.eu/
https://www.riverpublishers.com/pdf/ebook/RP_9788793609105.pdf (Chapter 7)
http://www.armour-project.eu/wp-content/uploads/2016/08/D22-Test-generation-strategies-for-large-scale-IoT-security-testing-v1.pdf
http://www.connectsecurityworld.com/demos
and modeling projects:
GSL:
http://greensweetlemon.com/
Diversity:
https://projects.eclipse.org/proposals/eclipse-formal-modeling-project
and also recently it was adopted by open source telecom platforms such as Osmocom:
http://git.osmocom.org/osmo-ttcn3-hacks/
https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Notes
https://www.netdevconf.org/2.2/session.html?welte-ttcn3-talk
It is also worth to mention the interest of academia and research for Titan, as reflected in a number of scholarly articles, such as:
Titan TTCN-3 Based Test Framework for Resource Constrained Systems
https://www.matec-conferences.org/articles/matecconf/pdf/2016/38/matecconf_icmie2016_06005.pdf
Formal verification of the implementation of the MQTT protocol in IoT devices
http://www.delaat.net/rp/2016-2017/p42/report.pdf
Testing ePassport Readers using TTCN-3
http://blog.protocolbench.org/2014/08/testing-epassport-readers-using-ttcn-3/
Comparison of Web Service Testing Tools
http://ijarcsse.com/Before_August_2017/docs/papers/Volume_7/5_May2017/SV7I5-0301.pdf
Unit and Integration Testing of Modular Cloud Services
http://www.intelligence.tuc.gr/~petrakis/publications/AINA%202017%20v1.pdf
Supporting the automatic test case and oracle generation using system models:
http://www.idt.mdh.se/utbildning/exjobb/files/TR0964.8.docx
Visualizing Execution Models and Testing Results
https://www.thinkmind.org/download.php?articleid=softeng_2017_1_10_64014
A case study of TTCN-3 test scripts clone analysis in an industrial telecommunication setting
http://www.sciencedirect.com/science/article/pii/S0950584917300605
Extending TTCN-3 with Model-Based Fuzzing for Robustness Testing of Telecom Protocols
http://publications.lib.chalmers.se/records/fulltext/193628/193628.pdf
We have also seen small-to-medium businesses adopting Titan as part of their test tool portfolio.
The project is operating fully in the open using open source rules of engagement
The source code is hosted publicly partly on GitHub, partly on Eclipse Git repositories.
Bugs and change requests are reported in Eclipse.org's Bugzilla. Discussions are taking place mainly on the Eclipse Titan forum,
or if they are directly code-related, in GitHub, where the contributor workflow is also published.
OpenHub statistics of the Eclipse Titan project:
https://www.openhub.net/p/eclipse_titan/
The project team members have learned the ropes and logistics of being an Eclipse project
We adhere to all processes and policies recommended by the Eclipse organisation.
This version has the following new features:
- New compiler options:
-D: disable user and time information generation in the generated files
-e: enforce legacy handling of 'encode' and 'variant' attributes
-O: disable OER encoder/decoder functions
(see Bug 517843 - Support for multiple encodings›,
Bug 522222 - Implement OER coder in TITAN
Bug 526893 - Add disable OER coding function option to the compiler)
General
- Bug 517843 - Support for multiple encodings
- Bug 522222 - Implement OER coder in TITAN
-
Bug 526893 - Add disable OER coding function option to the compiler
-
Bug 526890 - Implement OER negative testing
- Bug 515512 - Allowing to start functions with out and inout formal parameters
- Bug 522067 - Enable 'out' parameters for behavior functions in the 'start' operation
- Bug 499489 - Support of @deterministic
- Bug 520731 - Allow translation ports to work as internal ports
- Bug 522632 - Allow sending and receiving during translation functions
- Bug 517844 - Flag to disable time and user information in the generated files
- Bug 519281 - Implement mtc and system clauses in testcase and altstep and functions
XML
- Bug 499410 - Add runtime configuration setting for plain XML and JSON encodings
JSON
- Bug 519110 - Implement json2cbor and cbor2json
- Bug 519755 - Implement json2bson and bson2json
- Bug 519239 - JSON enc/dec: encoding enumerated values in number form
TPD
- Bug 521006 - Support enableLegacyEncoding in tpd
- Bug 520982 - Add the encoding legacy switch to tpd
Makefilegen
- Bug 521290 - Add the encoding legacy switch to makefilegen
RAW
- Bug 519163 - Add support for NULL terminated string in RAW
- Bug 522154 - RAW: add offset option to LENGTHTO attribute
- Bug 499222 - Support also "... bits" syntax in variant attributes
OpenHub statistics of the Eclipse Titan project:
https://www.openhub.net/p/eclipse_titan/