{'fraction_non_alphanumeric': 0.02763819095477387, 'fraction_numerical': 0.0, 'mean_word_length': 5.397590361445783, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Survey on the Programmability of Wireless MAC Protocols

Self-organizing networks able to adapt to changes in the environment have already been a longstanding research topic. Given the limited number of license-free industrial, scientific, and medical radio bands, wireless technologies end up competing with one another for the wireless spectrum. As such, the proper employment of medium access control (MAC) protocols is essential to guarantee efficient and reliable wireless communication. At the data link level, there has been extensive research toward programmable and more future-proof MAC protocols (e.g., software-defined radios (SDRs), which enable to reconfigure the entire protocol and hence access/control fine-grained radio functionalities). However, actual deployments are so far limited because of performance issues and cost. With the increasing popularity of software-defined networking, also in the wireless domain, and the increasing performance of SDRs, we are evolving into a fully programmable data link layer. In this survey, we deliver: a landscape of the state-of-the-art on programmable MAC protocols; a coherent terminology that represents scope and level of programmability supported; an in-depth study of their advantages and disadvantages; and a discussion about future research challenges on MAC programmability. Many surveys have investigated the use of specific MAC protocols for a wide range of optimization criteria and application demands. This survey is the first that investigates the scope and the level of programmability that MAC protocols support.