Data processing and mining have become very popular in the middle of the 20th century. On both fields, active research and development are still ongoing. The major challenge lies in the size of the problem space combined with the large number of possible solutions. That is to say that due to the variety of data and algorithms the user is faced with a complex decision when trying to find the optimal solution for a given problem. To make this process easier, the Knowledge Modeling and Data Mining (KMDM) data processing and mining framework was created by the Department of Automation and Applied Informatics at Budapest University of Technology. While the KMDM is already operational, it is subject to continuous development. The framework is capable to read, display, process and save the data in a modular way, making the data processing easier and less time consuming.
I consider the KMDM a very useful program with great potential, therefore I decided to center my master thesis around implementing developments to the framework. When I first studied the KMDM for a project for my bachelor thesis I (1) noticed several hard to use functionalities and (2) encountered sub-optimality in the architecture of the system. My master thesis concentrates on these two areas for development.
(1) While KDMD already serves it's purpose satisfactorily, several provided services are embedded in an exceedingly complicated structure. This makes the data analysis unnecessarily complicated and leads to poor user experience. One of my main goals is to rethink how these services can be integrated into an easily operated framework, accessible through a user friendly graphical interface.
(2) In my opinion, the current structure of the codebase could be improved remarkably. While on the higher level the system elements are well defined, they do not exhibit sufficient separability on the lower level (i.e., the actual code). This discrepancy does not only make the development harder, but also negatively affects the usability of the services provided by the system. In my thesis I aim to improve the modularity of the code by implementing an organized codebase.