TTRT is a compiler and runtime environment for TTCN3(a language specification by ETSI) written in Java. It's partial implementation of ETSI's TTCN3 specifications.
*Please go through TODO,ISSUES file before using it.
1. Partial implementation of TTCN3 specification. 2. Has partial implementation of TRI(TTCN runtime specification). 3. Comes with GUI logger which shows component interaction and messaging in real time. 4. Component flows can be exported as PNG file for future references. Some of the main limitations are-- Poor syntax error handling.
- No support for some of the basic data types Set,Union,enums.. etc yet.
- No support for Arrays and Ranges.
- No support for procedure based messaging.
- No support for broadcast/multicast yet.
- No support for TCI specification yet.
- Compiler error reporting has limitations.
For more details check TODO file
1. Antlr3. 2. Tools.jar – Comes with standard jdk. 3. TRITCI.jar – Requires only if you are using TRI/TCI inter face. At present it provides only implementation of TRI interface.*Tested on Java 1.6 ubuntu
1. TTRT.config- Used by TTRT.jar. 2. Adapter.config- Used by TRITCI.jar.*More details are given in config files it self.
java -jar TTCN.jar [-d]*if -d option is specified it will only translate ttcn3 files to corresponding java files.
example- java -jar TTCN.jar testcase.ttcn3.
*TTCN3 file should be the file which is main test script(includes control statement). *It assumes ttcn3 files should be saved as .ttcn3 extension(to solve dependency on other ttcn3 modules). *Please check testcases in test folder.
Please check example codes(com.shiv.ttcn.test.Adapter.java)Requirements
TRITCI.jar (for adapter developments)
Main Classes-
TriFactory
TriCommunicationHandler
IChannelEvents
tri specification-http://www.etsi.org/deliver/etsi_es/201800_201899/20187305/04.04.01_60/es_20187305v040401p.pdf
tci specification- http://www.etsi.org/deliver/etsi_es/201800_201899/20187306/04.04.01_60/es_20187306v040401p.pdf
*Any code modifications/Bug reports/fixes/suggestions are welcome. :)
verion 0.1