## 3 Proposed Model Techniques
### Network Simulator  
In this section, we explain the simulation environment and several tools that will be selected for modeling and analyzing the FLoRa network's performance. An overview of the network simulator and several frameworks and libraries that will be selected is presented below.  
* OMNeT++: OMNeT++ is an abbreviation for object module networks simulator. It is a flexible and expandable network simulator that depends on the C++ language and its libraries. OMNeT++, an object-oriented modular framework for simulating discrete-event networks, boasts a generic architecture. This flexibility allows it to tackle a wide range of problems, such as modeling communication networks for both wired and wireless situations, protocol schemes and analysis, queuing network performance, distributed hardware systems and multiprocessors, validation of hardware architecture, and complex software performance evaluation. These components developed in C++ are built hierarchically, and simple components can be collected to build compound models, which are used in a high-level network description (NED) language. OMNeT++ can support different technologies, such as Wi-Fi, ZigBee, LTE, and LoRa [51].
* FLoRa: FLoRa is the LoRa framework; it is a software framework for deploying end-to-end simulations of long-coverage-range networks. FLoRa is based on the OMNeT++ simulator and INET framework. FLoRa ensures the creation of LoRa networks with modules such as LoRa nodes, gateways, and network and application servers. The concept of an application in OMNeT++ can be deployed using independent modules that are linked to the network server. The network server and LoRa nodes support effective system management configuration and parameter adjustment by applying the adaptive data rate (ADR) technique. In addition, the statistics on energy consumption are composed and calculated for every node [51].
* Scikit-learn, often called sklearn, is a common open-source machine learning library used with Python. It is constructed on top of Matplotlib, NumPy, and SciPy and provides an efficient and simple tool for data analysis and mining tasks, with vital tools and algorithms for tasks ranging from regression and classification to clustering and dimensional reduction. In addition, pandas is commonly utilized for data cleaning, manipulation, handling, transformation, and analyzing various domains more flexibly; it is used in finance, statistics, economics, etc. From the perspective of network parameter enhancement, it is important to combine and merge huge datasets and implement various data operations, such as data cleaning, handling missing data, duplication removal, reshaping, and data transformation [52].
* Extreme Learning Machine: The high-performance extreme learning machine library is a Python-dependent implementation of the extreme learning machine (ELM) algorithm. It is considered to be fast, efficient, and capable of handling huge datasets. It is expressly preferred for tasks such as regression and classification approaches, and it provides approaches to both neural networks and single-layer and multiple-layer ELMs, permitting users to create complex models depending on the problem's requirements [53].