roborescue / adf-sample-agent-java

A sample team using RCRS Agent Development Framework
https://roborescue.github.io/rcrs-adf-sample/
BSD 3-Clause "New" or "Revised" License
10 stars 26 forks source link

Extension of Message Manager to handle channel subscription and message selection #1

Closed okanasik closed 6 years ago

okanasik commented 6 years ago

The Extension of Message Manager handles the channel subscription and the message selection. The current message manager only subscribes to the channel 1 and the current message selection favors command messages over information messages.

With this change the teams will be able to develop their own channel subscription and message selection strategy. We have sample subscription and selection module. Sample channel subscription module subscribes different channels for every agent types if possible. If there are only 2 channels, one agent type uses one channel and other two agent types use the other channel. Sample message coordinator reimplements the message priority based on the predefined priority of the the message. We also push the messages according to the type of the message. For example, CommandPolice message is sent only to the Police agent channel.

tkmnet commented 6 years ago

I am sorry for the too late reply.

I confirmed the implements. I think there are almost no problems. However, I have a opinion to the implements. I think we should not to dividing modules between Platoon and Center. Because, platoon and center communication strongly influence each other.

okanasik commented 6 years ago

Thank you for your review. I understand your concern about differentiating platoon and center, but by design they may have different message exchange capability. For example, generally center agents can subscribe more channels than the platoon agent. That is provided so that different center agents can communicate with other center agent. By the way, the agent developer can use the same modules for both platoon and center.

Dear @gnardin @alim1369 can you confirm this pull request and announce the change to the teams. Also you need to close this pull request: https://github.com/roborescue/rcrs-adf-core/pull/3

tkmnet commented 6 years ago

Thank you for your reply. I understand situations that like the example. With that in mind, I think better those processes are treated on one module. I am concerned that modules of center agent and platoon agent which can not be separated are made.