\chapter{Conclusion and Future Work}
\glsresetall

The goal of this thesis was to propose and implement a SmartCGMS concept and evaluate its execution on low-power devices. The main requirements were to use FreeRTOS and retain compatibility with the x86-64 \gls{isa}.

The proposed SmartCGMS concept uses static linking instead of dynamic linking. To complement the changes in the SmartCGMS codebase, a preprocessor tool was implemented that automatically generates source code files to overcome issues introduced by changing the linking strategy. Static linking has been chosen for its ease of portability across low-power platforms. The work results in a prototype SmartCGMS concept for low-power devices. The implementation was successfully executed on five different platforms: ESP32, Raspberry Pi Zero W, GNU/Linux, \gls{wamr}, and as a\gls{wasm} module embedded in a webpage. 

The evaluation focused on the correct functionality of the SmartCGMS concept. Four filters were implemented to compare the original SmartCGMS and the SmartCGMS concept. The results were gathered by executing the same test scenario in the original SmartCGMS framework and on all the SmartCGMS concept supported platforms. The verification was successful, the results from the SmartCGMS concept applications were the same as from the original SmartCGMS. Furthermore, the evaluation included a comparison of the execution and memory overhead between the SmartCGMS concept compiled as a native application and as a \gls{wasm} module. This comparison not only assessed the performance of the \gls{wasm} and native approaches for the SmartCGMS framework on low-power devices but also highlighted the need for low overhead \gls{wasm} runtimes for \gls{iot} devices.

This research has proposed and implemented two approaches for executing SmartCGMS on low-power devices. Both solutions have their advantages and disadvantages. For future SmartCGMS research, it is important to focus on evaluating \gls{wasm} runtimes regarding their memory requirements.
