## 3 The Concept of Building the EviNS Software Framework
These protocols are capable of working with a variety of roles responsible for parsing commands from modems of different manufacturers, such as the uWave modem and the Evologics modem. These roles enable the parsing of commands specific to the corresponding modem and convert them into the format of internal messages characteristic of EviNS applications. They also facilitate the reverse process, parsing commands from EviNS applications and converting them into the format of internal messages for the respective modem. For EviNS utilization, user application is created. The EviNS framework source code resides on the GitHub web service, which hosts projects using the Git version control system. This platform provides extensive opportunities for the collaborative development of open-source IT projects. The link, URL: [[https://github.com/okebkal/evins](https://github.com/okebkal/evins)]([https://github.com/okebkal/evins](https://github.com/okebkal/evins)) (accessed on 5 October 2022), provides access to the directory structure where the EviNS software framework is located. For instance, the/include directory contains macros that describe the structure of a finite state machine. The/src directory houses the source code for agents that have already been created. The examples catalog includes application samples that serve as templates, helping to lower the \"entry threshold\" for the practical use of the EviNS software framework. Figure 5: The structure of the interaction of hydroacoustic modems with the software framework, taking into account the change in the approach to the development of its protocols. To build the EviNS software framework on a Linux PC, the user can clone the EviNS project into a directory prepared for the clone via the terminal, in particular using the command git clone, URL: [[https://github.com/okebkal/evins.git](https://github.com/okebkal/evins.git)]([https://github.com/okebkal/evins.git](https://github.com/okebkal/evins.git)) (accessed on 5 October 2022). After cloning the EviNS project, you can install it using the make command from the terminal in the project's root directory. During installation, the EviNS project also includes a list of dependencies, allowing you to install all the necessary libraries from GitHub. Once the EviNS software framework is installed, configuration is required before EviNS can be operational. The implementation of initial network protocols can be considered as a component of the comprehensive EviNS software framework. This framework, in turn, has the potential to become a part of standard hydroacoustic modem software. Such implementation holds practical significance for establishing an underwater sensor network within Marine Internet of Things (MIoT) systems. Notably, several essential network layer protocols have already been incorporated into the EviNS software framework. To reduce the occurrence of collisions (or even prevent them altogether), a specialized environment access control protocol variant called CSMA-Aloha has been incorporated into the EviNS software framework. Currently, this protocol is specifically designed for broadcast data packets. According to the protocol, each hydroacoustic modem \"listens\" to the hydroacoustic channel before transmitting its own data packet. It begins broadcasting only when there is no activity from other network participants. Each participant in the network receives information about when they can access the channel. This capability is achieved by including the protocol in each of the network nodes. In addition to controlling access to the environment, network participants may also be interested in the location of the source or recipient of the data they plan to exchange during a data exchange session. When participants in the network are separated by a significant distance, the data sources may not have a direct connection to the data recipients.