Automatic synthesis of fuzzy systems in C from high-level specifications
Pysyvä osoite
Kuvaus
ABSTRACT:
This thesis focuses on extending a C code generator for an existing fuzzy logic system library. It explains the background of fuzzy logic systems and the motivation behind this work. A literature review on Mamdani and Sugeno fuzzy systems is included.
The Design Science Research methodology was applied to this topic, which is important for the field of this thesis, industrial system analysis. Design Science Research helped the author define the research question: “How to synthesize a fuzzy logic system into optimized C code from high-level specifications and improve and verify the code through implementation.” It also guided the author through the research process, starting from awareness of the problem and then moving to suggestions, development, evaluation, and conclusion. This approach proved to be very useful.
The implementation is the core focus of this thesis. It provides a detailed explanation of how the C code generator was created based on an understanding of the FuzzyLogic.jl library, Julia language features, and the Julia programming environment. The fuzzy system's C code is generated as strings in Julia, derived from variables and values input by the user in FuzzyLogic.jl. This section also includes code comments, a user manual, and contributions to the open-source community.
To evaluate the C code generator, the author applied it to a real-world case study: a traffic light control system. This example is appropriate because fuzzy logic is effective for managing traffic control, which involves uncertain inputs and outputs. Additionally, most traffic control systems use C-based embedded devices, making this an ideal test case.
Finally, the limitations, achievements, and future possibilities of this research are analyzed. This study contributes to the ongoing development of fuzzy logic systems and offers valuable insights for future research in the field.