Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Titan » New Titan products and user guides in support of IoT testing
New Titan products and user guides in support of IoT testing [message #1775048] Tue, 24 October 2017 07:14 Go to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 807
Registered: January 2015
Senior Member
Dear all,

first, let me note that Titan is being used now by three major IoT testing projects:


oneM2MTester:
http://support.iotocean.org:7591/onem2m/conformancetesting/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 (see 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

Our support for IoT started early and continues. I will list here in no specific order the latest developments that might be interesting for someone involved in IoT testing.
In the figure below I tried to place the referred protocols in a communication stack.
(TP means Test Port, PM means Protocol Module, Lib- I'll leave this to you to crack)
+-----------------------------------+
|                                   |
|     XML/JSON/Binary(CBOR,BSON)    |   Titan codecs(XML/JSON/RAW/TEXT/BER -with fuzzing )
|                                   |   Built-in conversion functions(json2cbor/cbor2json,json2bson/bson2json)
+-------+------------+----+----+----+
|HTTP   |     |Web+  |    |C|M |M g | TP: HTTPasp
|       |     |socket|    |o|Q |o o | PM: Websocket/XMPP/HTTP/CoAP/MQTT/HTTP2/STOMP/MongoDB
|HTTP/2 |STOMP|      |    |A|T |n D | 
|       |     |      |XMPP|P|T |- B |
+-------+-----+---------------------+
|             DTLS/TLS              |  Lib: TLS_Handler
|          UDP/TCP/DTLS/TLS         |  TP: UDPasp/TCPasp/IPL4asp
+-----------------------------------+  PM: UDP/TCP
|                                   |
|             IPV4/IPV6             |  PM: IP
+-----------------------------------+
|                                   |
|                L2                 |  TP: LANL2asp, PCAPasp
|                                   |
+-----------------------------------+
|                L1                 |
|                                   |
+-----------------------------------+




First and foremost, we have added Titan encoding extensions to enable fuzzing:

Using Titan as a fuzzing engine part 1( Generalities )
https://www.eclipse.org/forums/index.php/t/1085150/
Using Titan as a fuzzing engine part 2(Fuzzing MQTT)
https://www.eclipse.org/forums/index.php/t/1085301/
Using Titan as a fuzzing engine part 3(Fuzzing CoAP)
https://www.eclipse.org/forums/index.php/t/1085441/
Fuzzing of BER-encoded protocols in Titan
https://www.eclipse.org/forums/index.php/t/1088984/



and also protocol module variants in support of negative testing (fuzzing):

git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.CoAP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MQTT.git





Michael Josenhans continued to add CANBus updates, thank you, Michael:

TTCN Titan Testport for socketCAN (Testport for CAN-bus)
https://www.eclipse.org/forums/index.php/t/1074584/

git://git.eclipse.org/gitroot/titan/titan.TestPorts.SocketCANasp.git


Although not strictly an IoT protocol, the capability to connect Titan to embedded devices via a serial port may come handy:

Test port for serial communication
https://www.eclipse.org/forums/index.php/t/1088189/

git://git.eclipse.org/gitroot/titan/titan.TestPorts.Serial.git


Again, STOMP was not designed for IoT but sometimes is being used in that context for messaging between devices:

git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.STOMP.git
Support for STOMP in Titan
https://www.eclipse.org/forums/index.php/t/1088082/

Chat with STOMP over WebSocket in Titan part 1(The naive implementation )
https://www.eclipse.org/forums/index.php/t/1088583/
Chat with STOMP over WebSocket part2 (STOMP/IPL4 translation port)
https://www.eclipse.org/forums/index.php/t/1088673/




CBOR or Concise Binary Object Representation is based on the JSON data model, but appears in a more efficient binary form:

Support for JSON binary encodings in Titan: CBOR
https://www.eclipse.org/forums/index.php/t/1087595/


MongoDB is a document-oriented-database also becoming succesful in some areas of IoT. Support for MongoDB in Titan comes
in several parts: a MongodB protocol module and also support for BSON encoding which permits JSON documents to be represented in binary, which binary then can be
directly stored in MongoDB; so the stack looks like this: JSON/BSON/MongoDB/IPL4(TCP).


git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MongoDB.git

Support for MongoDB(TITAN protocol module of mongoDB wire protocol)
https://www.eclipse.org/forums/index.php/t/1087892/
Support for JSON binary encodings in Titan: BSON
https://www.eclipse.org/forums/index.php/t/1087762/



TLS Handler is a generic TLS/DTLS support library which can use any communication channel to build a secure connection.
If you don't use the IPL4 test port which has inbuilt support for TSL/DTLS, you have the TLS alternative.

git://git.eclipse.org/gitroot/titan/titan.Libraries.TLS.git

Using the TLS_Handler part 1
https://www.eclipse.org/forums/index.php/t/1087105/
Using the TLS_Handler part 2
https://www.eclipse.org/forums/index.php/t/1087259/




HTTP2 is a major revision of the HTTP network protocol used by the World Wide Web;
HTTP/2 leaves most of HTTP 1.1's high-level syntax, such as methods, status codes, header fields, and URIs, the same; offering in the same time an increased speed.

Support for HTTP/2 in Eclipse Titan
https://www.eclipse.org/forums/index.php/t/1089118/
Support for HTTP/2 in Eclipse Titan- with a twist( @decoded and decmatch)
https://www.eclipse.org/forums/index.php/t/1089269/



Websocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection.
Some messaging protocols , such as the ones used in IoT , take advantage of the advantages offered by WebSockets and use it as transport:


Support for WebSocket in Eclipse Titan
https://www.eclipse.org/forums/index.php/t/1087423/

MQTT over Websocket
MQTT over Websocket in Titan(MQTT/IPL4 translation port )
https://www.eclipse.org/forums/index.php/t/1088874/



I hope this might prove useful for some of you

Best regards

Elemer
Re: New Titan products and user guides in support of IoT testing [message #1775129 is a reply to message #1775048] Wed, 25 October 2017 06:14 Go to previous message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 807
Registered: January 2015
Senior Member
Update:

oneM2Mtester has moved to github:

https://github.com/IoTKETI/oneM2MTester

the content of the above iotocean link is no longer maintained.


Best regards
Elemer
Previous Topic:Support for using tpds (TITAN Project Descriptor) in Eclipse Titan
Next Topic:Is it possible to write Bsc/Msc diplomas related to Titan?
Goto Forum:
  


Current Time: Tue Sep 18 22:11:55 GMT 2018

Powered by FUDForum. Page generated in 0.02169 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top