## 2 Versatility of the Software Network Add-In of the Hydroacoustic Modem  
From the deployment and usage perspective, the versatility of the EviNS software framework across various computational platforms is ensured by two factors. Firstly, the creation of the EviNS software framework in the Erlang programming language provides a foundation for its adaptability. Secondly, the ability for the cross-platform compilation of the software framework, written in Erlang, further enhances its versatility. Ensuring these two conditions, after cross-platform compilation, for instance, on a desktop PC, the EviNS software framework can also be deployed on other platforms, particularly on embedded (low-power) computing platforms with relatively low performance. A distinctive feature of EviNS is its utilization of the Erlang programming language for its development, characterized by a number of advantages such as built-in support for parallelism with distribution and duplication of computational processes, resulting in fault tolerance. Erlang applications have proven themselves in large telecommunication systems (distributed, reliable, soft real-time parallel systems). Another significant advantage of Erlang is its open-source nature URL: [[http://www.erlang.org](http://www.erlang.org)]([http://www.erlang.org](http://www.erlang.org)) (accessed on 5 October 2022) and a large number of OTP (Open Telecom Platform) libraries, enabling a wide range of actions in telecommunication systems, from compiling ASN.1 applications (in a language describing the abstract syntax of data used in the OSI telecommunication architecture) to developing various user applications in Erlang and creating web servers. Moreover, OTP libraries are also accompanied by open-source code. Erlang/OTP has its own program execution environment, called the BEAM virtual machine. Using BEAM, Erlang source code can be compiled into bytecode, which is a set of instructions understood by both the compiler and the Erlang runtime environment. Compiled code managed by BEAM on one computing platform can then be executed on other computing platforms containing the same BEAM virtual machine. Thanks to this capability, applications written in Erlang can run on various computing platforms, providing high flexibility in using an application once written without the need for extensive code reworking for other computing platforms. Furthermore, there is the possibility of cross-compiling an Erlang application for use even on platforms that are incapable of running an operating system. In such cases, the so-called \"dockers\" provided by the manufacturers of computing platforms are typically used. A docker can be deployed on any general-purpose computing machine (usually running on the Linux operating system) to simulate the computing environment of the target processor. By placing the BEAM virtual machine in a docker, it can facilitate the compilation of Erlang/OTP with subsequent transfer of the resulting code to the target processor for execution. Additionally, by creating user applications in the Erlang language and compiling these applications on a general-purpose computing machine using the BEAM virtual machine, the resulting BEAM files can also be transferred for execution on the target processor simply by copying them. In preparing the materials for the current article, the advantages of the universality of the EviNS software framework were utilized. Specifically, after its cross-platform compilation on a desktop PC with OS Linux Debian and the Erlang virtual machine, the resulting set of compiled BEAM files was transferred to another computing platform where OS Linux Debian and the Erlang virtual machine were also installed. However, this computing platform was no longer a desktop PC but instead was a compact platform, the ODROID H2. In general, program execution can also be achieved on computing platforms such as System-on-Module (SoM) with integrated ARM processors, including the NVIDIA Jetson NX, Microchip Atmel, or Raspberry Pi.