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()