Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum oder Diplomarbeit: Integrating further Technologies into Elektra
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to write at least two plugins for Elektra. During that you document in form of an tutorial how to write serializer and filter plugins. Examples for plugins:
- Serializer: csv, C-Code, html, yaml, apache configuration
- Filter: Forensic logging, hash sum, zip, base64, gpg
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should written in english.
- C or C++ with focus on good code quality and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum oder Diplomarbeit: Integrating programming languages into Elektra
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to integrate at least two file based technologies into Elektra. Examples for such technologies:
Compare those on different properties, e.g. how they roundtrip, the file size, the speed and how they work together with other tools based on that technology.
- csv, tsv
- C-Code, C++-Code
- flat xml, html
- yaml
- apache configuration
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
- C or C++ with focus on good code quality, documentation and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum oder Diplomarbeit: Configuration GUI
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to write at least two language bindings (whatever you prefer, e.g. Python, Perl, Java) with at least two technologies (gobject and swig). Develop examples and unit test to prove that all 4 combinations work correctly. Compare the features, speed and complexity of that technologies.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
- Two programming languages with focus on good code quality, documentation and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum: Configuration using IPC or network based daemons
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to generate a GUI out of a given configuration schema. Use at least two different GUI technologies (e.g. qt, html forms). Compare the different layout engines and how intuitive it is to use them.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
- C or C++ with focus on good code quality, documentation and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum: Efficient Datastructure for Elektra's Configuration
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to build at least two Unix Daemons (e.g. dbus, snmp, ldap) which allow access to Elektra's configuration. Compare how the different the mappings and semantics of the protocols are. Which advantages/disadvantages do the different Bridges have? Also compare with standalone latency, not using those daemons.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
- Any programming language with focus on good code quality, documentation and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum: Configuration frontend generator for Elektra
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to implement an efficient datastructure in C, reduce the number of allocations and compare those methods with other methods to improve the overall performance. The API should be either improved or kept compatible. The used techniques should be benchmarked and discussed in the thesis.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
- C with focus on performance, good code quality, documentation and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum: Configuration Architecture Tutorials
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Your task is to write a frontend generator from a given schema to languages. At least one target language needs to be compiled (e.g. Java, C, C++). The first subtask is to compare existing template engine technologies (e.g. Cheetah). The next subtask is to use the best engine technology or to write one yourself, using templates similar to Razor/Cheetah in C/C++.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
- C with focus on performance, good code quality, documentation and unit tests.
- Preferable are CMake and Shell Skills
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)Praktikum: ABI Testing
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Every software project faces the problem to read in startup configuration. There are many ways doing so, e.g. with datastructures or hand-crafted classes passed around which are generated and updated from a seperate configuration module. Research for different possibilites how it can be done. Then implement at least two of them using Elektra as configuration storage in some free software project (preferable your own or where you are already active). Write an tutorial how to use Elektra and compare these approaches.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- The thesis should be written in english.
Markus Raab (markus.raab@complang.tuwien.ac.at, Tel. 58801/185185)9 gefunden
Elektra provides a universal and secure framework to store configuration parameters in a global, hierarchical key database. The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration.
Compatible ABI (Application Binary Interface) ensures that a program linked against a library continues to work when the library is upgraded. Your task is to compare different technologies to check if libraries are compatible and integrate them in a jenkins build server.
For more bachelor/master theses related to this topic, please search for Elektra in TISS. It is also possible to suggest your own topics or combine different topics.
Needed skills:
- Testing and Jenkins knowledge
- The thesis should be written in english.