SmirnoffYM / AI-simulator

2 stars 1 forks source link

Agent ID чи невеличка зміна архітектури? #2

Closed Minoru closed 12 years ago

Minoru commented 12 years ago

При проектуванні взаємодії між модулями ми не врахували одну деталь: коли com отримує повідомлення, він якимось чином повинен здогадатись, від якого агента воно прийшло. Проблему можна вирішити двома методами:

  1. Додати відповідне поле (agent ID) до мережевого протоколу і таким чином перекласти проблему на агентів. Перевага такого рішення — простота, недолік — доведеться якимось чином повідомляти агентам їх ID.
  2. Передавати у модуль com список пар (port, ID). Це трохи ускладнить архітектуру (додатковий параметр у конструкторі ComModule) і код (на данний момент все складається так, що після прийому повідомлення com просто серіалізує JSON у QObject і поміщає у чергу; якщо додати згаданий список, доведеться також робити пошук ID по порту).

Яке рішення обрати?

OblamskyiV commented 12 years ago

, - ID = __?

2012/3/10 Alexander Batischev < reply@reply.github.com

Φ Ħ ͦ : com դ צ, צ , צ . Ҧ :

  1. צצ (agent ID)
    Ԧ. Ҧ -- , ̦ -- צ ID.
  2. com (port, ID).
    Ȧ ( Ҧ ComModule)
    ( , Ц צ com Ҧ̦դ JSON QObject ͦ ; , ID ).

    Ҧ ?


Reply to this email directly or view it on GitHub: https://github.com/SmirnoffYM/AI-simulator/issues/2

SmirnoffYM commented 12 years ago

Додати відповідне поле (agent ID) до мережевого протоколу і таким чином перекласти проблему на агентів. Перевага такого рішення — простота, недолік — доведеться якимось чином повідомляти агентам їх ID.

ID агента - це його порт, він зберігається в текстовому профайлі. Тому варіант 1.