An unmanned vehicle referred to as a source node (402a, 700) configured to carry out a mission and operable in a wireless ad hoc network that includes a plurality of unmanned vehicles referred to as nodes, the source node (402a, 700) and the plurality of nodes being chosen among unmanned ground vehicles, unmanned aerial vehicles, unmanned surface vehicles, unmanned underwater vehicles, unmanned spacecrafts, the source node (402a, 700) comprising: a memory configured to store computer-readable program code; and processing circuitry configured to access the memory, and execute the computer-readable program code to cause the source node (402a, 700) to at least: execute application software from which a need to process a particular modality of data is identified; make a determination that the source node (402a, 700) is incapable of processing the particular modality of data; and responsive to the determination, search a local module repository (MR, 410a) of the source node (402a, 700) for a software module usable to process the particular modality of data; broadcast a request for the software module to those of the plurality of nodes in radio range of the source node that are thereby neighbor nodes (402b, 402c), responsive to the source node (402a, 700) failing to locate the software module in the local module repository (MR, 410a), the request causing a neighbor node of the neighbor nodes to search a respective local module repository (MR, 410b) of the neighbor node for the software module, rebroadcast the request to those of the plurality of nodes in radio range of the neighbor node that are thereby further neighbor nodes (402d, 402e), when the neighbor node fails to locate the software module in the respective local module repository (MR, 410b), and receive the software module from a further neighbor node of the further neighbor nodes; and the source node (402a, 700) further caused to, receive the software module from the neighbor node; and use the software module to process the particular modality of data. a memory configured to store computer-readable program code; and processing circuitry configured to access the memory, and execute the computer-readable program code to cause the source node (402a, 700) to at least: execute application software from which a need to process a particular modality of data is identified; make a determination that the source node (402a, 700) is incapable of processing the particular modality of data; and responsive to the determination, search a local module repository (MR, 410a) of the source node (402a, 700) for a software module usable to process the particular modality of data; broadcast a request for the software module to those of the plurality of nodes in radio range of the source node that are thereby neighbor nodes (402b, 402c), responsive to the source node (402a, 700) failing to locate the software module in the local module repository (MR, 410a), the request causing a neighbor node of the neighbor nodes to search a respective local module repository (MR, 410b) of the neighbor node for the software module, rebroadcast the request to those of the plurality of nodes in radio range of the neighbor node that are thereby further neighbor nodes (402d, 402e), when the neighbor node fails to locate the software module in the respective local module repository (MR, 410b), and receive the software module from a further neighbor node of the further neighbor nodes; and the source node (402a, 700) further caused to, receive the software module from the neighbor node; and use the software module to process the particular modality of data. execute application software from which a need to process a particular modality of data is identified; make a determination that the source node (402a, 700) is incapable of processing the particular modality of data; and responsive to the determination, search a local module repository (MR, 410a) of the source node (402a, 700) for a software module usable to process the particular modality of data; broadcast a request for the software module to those of the plurality of nodes in radio range of the source node that are thereby neighbor nodes (402b, 402c), responsive to the source node (402a, 700) failing to locate the software module in the local module repository (MR, 410a), the request causing a neighbor node of the neighbor nodes to search a respective local module repository (MR, 410b) of the neighbor node for the software module, rebroadcast the request to those of the plurality of nodes in radio range of the neighbor node that are thereby further neighbor nodes (402d, 402e), when the neighbor node fails to locate the software module in the respective local module repository (MR, 410b), and receive the software module from a further neighbor node of the further neighbor nodes; and the source node (402a, 700) further caused to, receive the software module from the neighbor node; and use the software module to process the particular modality of data.