diff --git a/pyAmakCore/classes/agent.py b/pyAmakCore/classes/agent.py index 16606ab466f276cb4e3a15f816c40e92977f822d..f5a979cee0771987c76cec4463613dcfcb34b811 100644 --- a/pyAmakCore/classes/agent.py +++ b/pyAmakCore/classes/agent.py @@ -104,6 +104,12 @@ class Agent: """ self.__neighbours = [] + def get_criticality(self) -> float: + """ + return criticality + """ + return self.__criticality + def compute_criticality(self) -> float: """ compute_criticality @@ -168,7 +174,7 @@ class Agent: this is the first phase of a cycle """ self.on_perceive() - self.compute_criticality() + self.__criticality = self.compute_criticality() self._next_phase() def _phase2(self) -> None: @@ -177,7 +183,7 @@ class Agent: """ self.on_decide() self.on_act() - self.compute_criticality() + self.__criticality = self.compute_criticality() self._next_phase() def _next_phase(self): diff --git a/pyAmakCore/classes/amas.py b/pyAmakCore/classes/amas.py index b78109818ba2a54c771b8fe58aae8209bfc0e98f..39868c5dfa21c94d3d9f10fb1d29120d8931d323 100644 --- a/pyAmakCore/classes/amas.py +++ b/pyAmakCore/classes/amas.py @@ -32,9 +32,9 @@ class Amas(Schedulable, Loggable): self.__agents: List[Agent] = [] self.__nbrcycle: int = 0 - self.scheduler: Scheduler = Scheduler() - self.scheduler.add_schedulable(self) - self.__environment.add_scheduler(self.scheduler) + self.__scheduler: Scheduler = Scheduler() + self.__scheduler.add_schedulable(self) + self.__environment.add_scheduler(self.__scheduler) self.__execution_policy: ExecutionPolicy = ExecutionPolicy.ONE_PHASE @@ -112,7 +112,7 @@ class Amas(Schedulable, Loggable): Unlock Scheduler and wait for his response """ self.give_token_syncro() - self.scheduler.take_amas_token() + self.__scheduler.take_amas_token() def cycle(self) -> None: """ @@ -153,29 +153,29 @@ class Amas(Schedulable, Loggable): """ Tell scheduler to start """ - self.scheduler.give_semaphore_start_stop() + self.__scheduler.give_semaphore_start_stop() def take_token(self) -> None: """ Tell scheduler to stop """ - self.scheduler.take_semaphore_start_stop() + self.__scheduler.take_semaphore_start_stop() def exit_program(self) -> None: """ exit the program at the end of the cycle """ self.put_token() - self.scheduler.exit_bool = True + self.__scheduler.exit_bool = True def set_sleep(self, sleep_time) -> None: """ set sleep between 2 cycles """ - self.scheduler.sleep_time = sleep_time + self.__scheduler.sleep_time = sleep_time def start(self) -> None: """ launch the system """ - self.scheduler.run() + self.__scheduler.run() diff --git a/pyAmakCore/classes/environment.py b/pyAmakCore/classes/environment.py index ce59b09f9ddefe7cd24c6e0505f253b5fd367904..52c7727c464fe8b370087be926fc7a4d30068956 100644 --- a/pyAmakCore/classes/environment.py +++ b/pyAmakCore/classes/environment.py @@ -16,7 +16,7 @@ class Environment(Schedulable): def __init__(self) -> None: super().__init__() - self.scheduler: Scheduler = None + self.__scheduler: Scheduler = None self.on_initialization() # tell scheduler that init is done self.give_token_syncro() @@ -26,15 +26,15 @@ class Environment(Schedulable): set scheduler pointer to scheduler add add self to schedulables of scheduler """ - self.scheduler = scheduler - self.scheduler.add_schedulable(self) + self.__scheduler = scheduler + self.__scheduler.add_schedulable(self) def synchronization(self) -> None: """ Unlock Scheduler and wait for his response """ self.give_token_syncro() - self.scheduler.take_environment_token() + self.__scheduler.take_environment_token() def cycle(self) -> None: """ diff --git a/pyAmakCore/tests/test_amas/test_agent.py b/pyAmakCore/tests/test_amas/test_agent.py index 5726bce9394dd991bd47160002d645f03c2b2c9b..c5b623ab8c92bb2d62e2af4e93ac6ee2cef01d1d 100644 --- a/pyAmakCore/tests/test_amas/test_agent.py +++ b/pyAmakCore/tests/test_amas/test_agent.py @@ -38,9 +38,6 @@ class TestAmasAgents(TestCase): agent1 = Agent(amas) agent2 = Agent(amas) agent3 = Agent(amas) - agent4 = Agent(amas) - agent5 = Agent(amas) - # add 1 agent amas.add_agent(agent1) self.assertEqual(amas.get_agents(), [agent1]) diff --git a/pyAmakCore/tests/test_amas/test_nbr_cycle.py b/pyAmakCore/tests/test_amas/test_nbr_cycle.py index 7bc3a8e2cb5e871c9b05c15fcf8898fe19eddb00..e4341b38daeb7eb8fa9f24a3bf6f2b0e86e3856e 100644 --- a/pyAmakCore/tests/test_amas/test_nbr_cycle.py +++ b/pyAmakCore/tests/test_amas/test_nbr_cycle.py @@ -12,7 +12,7 @@ from pyAmakCore.classes.environment import Environment class SimplerAmas(Amas): def synchronization(self): - self.scheduler.give_amas_token() + self._Amas__scheduler.give_amas_token() super().synchronization()