Abstract: Efficient encoding of data is an important part of projects in
the Internet of Things space. Communication packets must be kept
as small as possible in order to minimize the power consumption of
In this thesis, an automatic code generation tool, irpack, is proposed
that will unify the way packets are defined across all future
projects at Institute IRNAS.
Using a schema, this tool generates source code of encoders and
decoders in target programming languages. A schema evolution system
is also defined, by which changes to packets can be compatible
across multiple versions.
The tool is then applied to a selection of past projects to gauge
its usefulness. It is determined that irpack is able to encode the same
data into a similar or smaller size packet, while also providing
additional versioning information.Keywords: encoding/decoding, schema, schema evolution, bit packing, code generationPublished in DKUM: 31.01.2022; Views: 186; Downloads: 40 Full text (2,58 MB)
Abstract: Software maintenance constitutes a large part of the development costs of software. Code duplications cause many faults resulting in higher maintenance costs. Even when using the best programming practices, duplication is unavoidable. Code generation is an approach for reducing the total code size, removing code duplication, and reducing the consequent maintenance effort. Knowledge of the domain can be stored in a model while the repeatable code can be generated from the model. We propose a software development method where the code generator is built in parallel with the solution, generating only repeatable parts that emerge during the development. We found that the code generator can improve the maintainability of the software by both lowering the size of the code and the number of changes in the code required for the change in specification.Keywords: code generation, maintainability, code duplicationPublished in DKUM: 27.05.2015; Views: 1131; Downloads: 104 Full text (1,89 MB)
Abstract: This paper describes a new communication protocol named XMC which is designed for the transmission of messages between an embedded device and a remote system. A new markup language called XMDD has also been developed and is used to describe the functional profile of the embedded device. The main advantage of the XMC communication protocol is its flexibility and independence from the device type. It is suitable for communication with devices that have a curtailed amount of working memory (a few kB) and limited computing power, i.e. 8-bit or 16-bit microcontrollers. Messaging between the embedded device and the remote systems is done without any interference with the basic source code of the embedded device, thus allowing access to all functionalities and features of the connectable embedded device and is based on the functionality dictionary and built-in features of an embedded device. It also maintains a low production price for the embedded device and from the programming point of view provides a transparent and flexible upgrade of the hardware and software without any redundancy input.Keywords: communication protocol, internet of things, home automation, functional profile, smart appliance, code generation, embedded system, frameworkPublished in DKUM: 21.12.2014; Views: 1918; Downloads: 100 Link to file