## 5 State-of-the-Art
### Development Environment Execution  
A proof-of-concept integrated development environment (IDE) for executing Wasm modules on microcontrollers was demonstrated in [69], featuring a built-in web server that provides a browser-based IDE for direct AssemblyScript code development, compilation, and flashing to a device. This approach could help create a simplified and efficient operationalization context for data streaming and process adaptations in industrial devices. In [70], the authors introduced WaTZ, a system combining a secure runtime for trusted Wasm code execution in Arm's TrustZone Trusted Execution Environments (TEEs) and a lightweight remote attestation system optimized for Wasm applications. While TEEs protect software assets, they do not guarantee code trustworthiness or tamper-proofing. Remote attestation is used to assess the code pre-execution. WaTZ, which has been formally verified and evaluated using synthetic and real-world IoT tasks, provides comparable execution speeds to standard Wasm runtimes and about half the speed of native execution. The trade-off is enhanced security and interoperability offered by Wasm. A study by [71] delved into the potential of Rust, a promising young programming language, as a platform for IoT and ubiquitous computing. This work introduces these two concepts before moving on to discuss the current Rust ecosystem. It then examines how effectively the Rust ecosystem can meet the requirements of these domains, emphasizing the need for secure, high-performance, and efficient software writing with minimized potential for human error. In [72], the authors explored Wasm's performance in a desktop environment, providing empirical comparisons between programs compiled in native machine code and those compiled in Wasm. The main objective of the work was to examine Wasm's flexibility in compiling code written in different languages for web applications while maintaining performance comparable to native applications. The work highlights the potential for Wasm to serve as a semantic abstraction layer for embedded devices in Cyber-Physical Systems (CPS) development, despite existing issues related to semantic heterogeneity, maintainability, and development. Another work [73] presented a comprehensive study of standalone Wasm runtimes, aiming to elucidate their characteristics, which have been unclear due to limited academic research. This study covered five major standalone Wasm runtimes, and included the construction of a benchmark suite, WABench, used for testing. The study revealed that all studied runtimes introduce a performance slowdown when running Wasm binaries compared to native executions, indicating the need for effective and low-cost dynamic optimization. The same work observed architectural impacts such as increased branch prediction misses and higher cache pressure, providing insights for future Wasm deployment in non-web domains. Another study [74] evaluated the performance and portability of these technologies, demonstrating that Wasm generally outperforms JavaScript and can in certain cases match native code performance. Despite its limitations, Wasm shows potential benefits across various environments, with prospects for further growth outside the web. In [75], the implications of Wasm for browser-based computation were shown, noting its potential to enable universal applications that can run on any machine with a web browser. The paper proposed a design to enhance the performance of web applications using Wasm.