Original title:
Middleware pro framework Testos
Translated title:
Middleware for Testos Framework
Authors:
Červinka, Radim ; Rogalewicz, Adam (referee) ; Smrčka, Aleš (advisor) Document type: Master’s theses
Year:
2021
Language:
eng Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[eng][cze]
Cílem této práce je vytvořit komunikační sběrnici pro platformu Testos, což umožní nástrojům platformy spolu komunikovat a využívat navzájem svoje služby. V textu jsou prozkoum8na současná řešení a protokoly založené na modelu Publish-Subscribe. Dále také práce specifikuje požadavky na komunikační sběrnici vyhovující potřebám platformy Testos a také navrhuje řešení pro splnění daných požadavků. V rámci výzkumu byly prozkoumány tři řešení - MQTT, DDS a AMQP. Průzkum každého řešení byl zaměřen na způsob komunikace a hlavní funkční prvky. Jako startovací bod implementace sběrnice byl vybrán protokol MQTT. Tato práce také specifikuje jak tento protokol rozšířit, aby byly splněny požadavky na sběrnici. Mezi stěžejní rozšíření navrhnuté v rámci této práce patří management životního cyklu požadavků rozšiřující způsob doručování zpráv a mechanismus zasílání požadavků standardu MQTT. Protokol byl také rozšířen o možnost shlukování zpráv do BULK paketu za účelem snížení množství potřebných síťových zdrojů. Výsledkem je Testos Bus, který je postavený na upraveném a rozšířeném protokolu MQTT, který zahrunuje implementaci brokeru a klientských knihoven pro Python a C++. Testos Bus naplňuje všechny povinné požadavky platformy, což ověřují automatické testy.
This goal of this thesis is to create a communication bus for the Testos platform, which enables the tools to communicate and utilize each other's services. The thesis consists of a research of current Publish-Subscribe protocols and solutions. It also outlines the requirements for a communication bus that fits the Testos platform's needs and proposes solutions that satisfy them. As a part of the research, there were 3 message-oriented software solutions explored - MQTT, DDS and AMQP. The examination of each solution was focused on the communication model and main features. The MQTT protocol was chosen as the starting point of the bus implementation. The thesis also specifies how to extend the protocol in order to satisfy the requirements. Main MQTT extensions proposed by this project include an introduction of a management of request life cycle on top of the MQTT message delivery and the request/response mechanism. The protocol was also expanded by ability to pack messages into a BULK packet to decrease the needed network resources. The result is a Testos Bus, which is based on a modified and expanded version of MQTT, that includes a broker implementation as well as implementation of client libraries for Python and C++. Testos Bus satisfies all mandatory requirements, which is verified by automated tests.
Keywords:
Komunikační middleware; komunikační sběrnice; management požadavků; MQTT protokol; Publish-Subscribe model; zasílání zpráv.; Communication bus; communication middleware; messaging; MQTT protocol; publish-subscribe pattern; request management.
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/200130