Binary data manipulating tools with exemplary code auto-generation engine for chosen protocol utilized in TETRA and APCO 25 systems
alternative title:
Silnik generujący kod biblioteki manipulującej danymi binarnymi z przykładem użycia dla wybranego protokołu w systemach TETRA i APCO 25
author:
Musik Marta
reviewer:
Tabor Jacek , Roman Adam
advisor:
Roman Adam
date of submittion
:
2012-10-15
language:
English
abstract in Polish:
W pracy zaprezentowany jest silnik służący do automatycznej generacji kodu. Generowana jest biblioteka operująca na binarnych wiadomościach używanych do komunikacji w jednostkach zarządzania siecią w systemach cyfrowej komunikacji radiowej. Danymi wejściowymi dla generatora są pliki xml z definicjami wiadomości, szablony używane przez bibliotekę StringTemplate, pliki służące do walidacji definicji oraz istniejący nagłówek w języku C++.Praca została napisana we współpracy z firmą Motorola Solutions. Analizowany przykład, przypadek użycia i ostateczne rozwiązanie są dopasowane do implementacji standardów TETRA i APCO 25 zaproponowanych przez firmę Motorola Solutions, ale mogą być uogólnione dla każdego protokołu o podobnym stopniu złożoności i zasadzie działania.Pierwszy rozdział pracy opisuje środowisko oraz protokół używany w jednostkach zarządzania siecią w cyfrowych systemach radiowych. W kolejnym rozdziale zaproponowany jest format do przechowywania informacji o strukturze przesyłanych wiadomości oraz o cechach i strukturze interfejsu, który ma zostać wygenerowany. Kolejna część poświęcona jest projektowi i implementacji silnika oraz procesowi zapewniania jakości. W ostatnim rozdziale opisane jest, jak rozwiązanie będzie używane w przemysłowej produkcji oprogramowania przez firmę Motorola Solutions. Zaproponowane jest również kilka pomysłów na dalszą pracę nad rozwiązaniem i jego ulepszenia.
abstract in English:
The purpose of the thesis is to provide code auto-generation engine that will be capable of generating library wrapping binary packets of data used in Motorola Solutions' TETRA and APCO-25 systems implementation. The thesis is written in cooperation with Motorola Solutions and its results will be used in industrial software engineering process at Motorola Solutions. Achieved results can be though generalized and applied in any packet-based protocol with similar level of complexity.The thesis provides neither the actual resulting generated code that will be used by Motorola nor the templates that will be used in the process. It provides the flexible code auto-generator engine and exemplary fictitious templates that can be adjusted and used by other programmers to generate final code as desired.The thesis consists of 5 chapters. First chapter shortly describes the environment in which the thesis results will be used and the protocol that is used in the system. Second chapter describes the format in which required information will be stored. Next chapter is on the interface that needs to be generated and on the challenges and non-standard problems encountered. Fourth chapter describes the solution and the implementation and the last one explains how the thesis' result will be used industrially.