Skip to content

Documentation for Situationalawareness Module

SituationalAwareness

Source code in nebula/core/situationalawareness/situationalawareness.py
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
class SituationalAwareness:
    def __init__(self, config, engine):
        print_msg_box(
            msg="Starting Situational Awareness module...",
            indent=2,
            title="Situational Awareness module",
        )
        self._config = config
        selector = self._config.participant["situational_awareness"]["sa_discovery"]["candidate_selector"]
        selector = selector.lower()
        model_handler = config.participant["situational_awareness"]["sa_discovery"]["model_handler"]
        self._sad = factory_sa_discovery(
            "nebula",
            self._config.participant["mobility_args"]["additional_node"]["status"],
            selector,
            model_handler,
            engine=engine,
            verbose=config.participant["situational_awareness"]["sa_discovery"]["verbose"],
        )
        self._sareasoner = factory_sa_reasoner(
            "nebula",
            self._config,
        )

    @property
    def sad(self):
        """SA Discovery"""
        return self._sad

    @property
    def sar(self):
        """SA Reasoner"""
        return self._sareasoner

    async def init(self):
        await self.sad.init(self.sar)
        await self.sar.init(self.sad)

    async def start_late_connection_process(self):
        await self.sad.start_late_connection_process()

    async def get_trainning_info(self):
        return await self.sad.get_trainning_info()

sad property

SA Discovery

sar property

SA Reasoner