## 1 Introduction  
The Fourth Industrial Revolution, comprising the replacement of humans by machines in certain tasks, is originating deep societal, organizational and corporate changes, in areas such as industries, agriculture, mobility (with special focus on autonomous vehicles), home safety and automation, lawyer and medical advice, etc. [1]. These modifications are being carried out making use of technologies, such as robots, artificial intelligence, big data, Internet of Things (IoT) or 3D printing [2]. Appendix A contains a list of acronyms that can be used for clarification. 5G represents a change of paradigm when compared to previous generations. These modifications aim to give a strong contribution, from the cellular communications point of view, to the implementation of the Fourth Industrial Revolution. One important novelty of 5G relies on the implementation of three use cases to provide different services. Moreover, while previous cellular generations comprised communications always established through base stations, 5G allows direct communications (device-to-device), which is especially important to support IoT, widely used, e.g., in smart cities or autonomous vehicles. As can be seen in Figure 1, 5G communications comprise different groups of use cases in order to support different services: Enhanced Mobile Broadband (eMBB), massive Machine-Type Communications (mMTC) and Ultra Reliable Low Latency Communications (URLLC). These groups of use cases support the concept entitled network slicing, which aims to provide to different users the requirements of the services that are being utilized. For example, autonomous vehicles require communications that are highly reliable and almost real-time, which are supported by URLLC. On the other hand, smart cities require extremely high number of devices with low power consumption, which are supported by mMTC. The standardization process of 5G was carried out in two phases: the first phase focused on the improvement of broadband wireless cellular services (eMBB group of use case) and was defined in release 15 of third-generation partnership project (3 GPP), completed in 2018, employing still part of the LTE infrastructure; the second phase, which ended in 2020, is defined in 3 GPP release 16 and deals with the other two groups of use cases (URLLC and mMTC) and with the implementation of a completely new air interface, entitled 5G New Radio (NR), as well as with network slicing. Finally, 3 GPP release 17 is due in 2022 and comprises different enhancements to 5G, such as improvement in URLLC, network slicing, device densification, improved capacity, etc. An important issue of 5G within the scope of release 17, is the support of extremely high number of devices required for Smart Cities and autonomous vehicles. This brings an important limitation in terms of spectrum availability, which can be mitigated by the massive use of NOMA. It is known that the sharing of spectrum with regular power-ordered NOMA tends to be limited in terms of performance [3], while improving the capacity. This occurs because higher power users are unable to cancel the interference generated by lower power users, representing residual interference. Cooperative NOMA aims to mitigate this limitation by making lower power users relaying, over the air, the signals of higher power users, clean of interference. Most of the previous works [3; 4; 5; 6; 7] comprise an isolated approach of NOMA simply using Orthogonal Frequency Division Multiplexing (OFDM), without incorporating different transmission techniques, such as Massive MIMO (m-MIMO), millimeter-wave communications (mm-wave) and block transmission techniques. The aim of this article is to consider a holistic and integrated approach with such techniques, incorporating both NOMA and Cooperative NOMA, within the 5G scenario. Two important ingredients that allow 5G communications achieving the initial goals in terms of throughputs, spectral efficiency and network capacity are: (1) Massive MIMO [8; 9; 10] and (2) millimeter-wave communications [11; 12].