## 4 System Components
### Computing System
#### 4.2.1 Self-Organized Decision Making  
In general, all drones have computation ability to achieve the basic flight control, but only the drones with high autonomy level can make decisions to fulfil the missions without interventions from a ground control station. In a drone swarm, the decision-making can be done by the drones themselves in a distributed manner, and by a centralized control entity. The latter occurs in swarms of drones with low autonomy. However, in a swarm of drones with high autonomy level, the decision-making can be done by the drones themselves. Centralized decision-making process offers simple solutions in terms of the overall system design, while contributing to reduce the energy consumption of each drone. On the other hand, a distributed decision-making approach may lead to a more robust and scalable drone swarm. With this in mind, this review focus on distributed decision-making processes that may lead to more autonomous, robust and scalable drone swarm. In more challenging applicability scenarios, it is expected drone swarms can operate in a self-organized manner. This means that drones need to collaborate, while facing fluctuating network conditions to maintain the network connectivity [12]. The self-organized nature of a drone swarm aims to assist distributed agents in each drone, in order to act by sharing the environment data, to observe conditions, and to autonomously decide on actions that will fulfil the system wide goals [65]. We present self-organizing distributed algorithms in Table 2 taking into consideration the algorithm name, function it performs and techniques deployed for your reference. From the list of self-organizing distributed algorithms presented in Table 2, we reference one of the algorithms [69], to enable us explain control procedures used for implementing self-organizing decision-making controls for multi-UAV systems as shown in Figure 4. The control architecture is decentralized and decision-making by each individual UAV is autonomous, but their local interactions bring out their emergent global behavior. Network scale or removing a node does not impact network performance. For cooperation and function of each UAV, the self-organizing decision support procedures are put into three stages namely Perception, Decision and Action as shown in the Figure 4. Information on position and velocity of UAVs and neighbors are acquired by considering, stationary and mobile obstacles, after which processes decision-making-based on modelling and optimization are performed to improve outcomes. The actuator then processes the penultimate best possible decisions, and the processes iterate again. To share system observations allowing for the emergence of a collective behavior, drones operation needs to also be synchronized. Synchronization allows for the coordination of events among individual agents in different drones to support their harmonious swarm operation [17]. It helps the distributed processors to have a common notion of time, through the exchange of beacon messages to allow for effective fault diagnosis and recovery. Synchronization facilitates to merge data from the different distributed nodes into a single meaningful information through what is called data fusion.