# Modeling Network-Controlled Device-to-Device Communications in SimuLTE
## 3 Related Work  
LTE simulation tools can be divided into link-level and system-level. As already anticipated, link-level tools deal with the physical aspects of transmissions and reception, but do not model the upper layers (they often stop at the MAC layer of LTE). A notable example is the Vienna LTE simulator [22], developed in Matlab, and used by a large community. The work in [8] adds D2D capabilities to it. The work in [23] presents a standalone simulator for the DL of LTE-A. In the latter, written in C++, physical-layer modeling is given great consideration, and the MAC layer is also modeled. However, packets are assumed to be generated at the RLC according to pre-defined patterns (e.g., full-buffer, streaming). The work in [24] presents LTEV2 Vsim, a Matlab-based standalone simulator for Vehicle-to-vehicle (V2V) communications. It includes vehicle mobility and models LTE-based communication, under the form of transmission/reception of beacons for vehicles. Some standalone simulators meant to assess D2D performance in LTE have been released in the past few years [25; 26]. In [25], the authors developed scenarios to simulate the discovery of potential D2D peers, based on physical-layer conditions (no packets are transmitted between users). The work in [26] describes a simulator where UEs move according to a random waypoint model in a multicell environment, and assesses the physical interference between UL and D2D transmissions. The above link-level simulators cannot support simulations where, e.g., users are running a TCP application from a mobile Wi-Fi station to an LTE UE, through a core. This is the domain of system-level simulators. For instance, the simulations reported in our previous papers that use SimuLTE (e.g., [18; 27; 28]), as well as in this one, could not be run using any of the above tools. With the exception of the Vienna simulator, these tools are single-purpose, and extensibility or interoperability are hardly addressed. With system-level simulation tools, instead, extensibility and interoperability are major concerns, since these tools include different models, possibly contributed by different developers at different times. This is the case of LTESim [15] and the LENA LTE simulation library for ns3 [14]. A D2D module has been added to the latter recently [16], focused on network-unassisted D2D functionalities,namely out-of-coverage direct communications, direct discovery and synchronization. However, network-unassisted and network-controlled D2D communications are radically different, and there is little that one can use of either model to realize the other one. For instance, dynamic centralized scheduling and connection mode switching (which we describe in Section 5) are major issues in a network-controlled scenario, not so in an out-of-coverage one. The main characteristics of existing simulators are summarized in Table 1.  
SimuLTE has been the subject of several conference papers so far [29; 30; 31; 32; 33]. The work in [29] describes the general outlook of an early version of the SimuLTE library. The modeling of inter-eNB X2 connections is described in [30], whereas the work in [31] shows how to make SimuLTE interoperable with the Veins vehicular network simulator [34]. The work in [32; 33] introduces D2D communications and the configuration of scenarios involving them. Some book chapters [10; 35] summarize the above papers, adding tutorial for configuration of the simulation scenarios. As a general note, the above literature has been written primarily for SimuLTE users, hence they describe SimuLTE capabilities, rather than discussing modeling choices and their implications. This paper fills the above gap, by taking a different perspective and describing in detail the modeling and implementation choices of the main features of SimuLTE, such as resource allocation, air transmission, and interference, most of which are as yet undocumented. Moreover, it shows how the initial modeling choices for the classical cellular communication allow an easy addition of D2D communications.