Как кодировать параллельные задачи с помощью INET/OMNET?

// Example:

TASK1() {
    broadcast(SG, E);    
}

TASK2() {
    receive_broadcast(SG, E);    
}

TASK3() {
    cleanup_data_stuctures(); // time trigger to wake up
}

Нет примеров, кодов или советов по этому поводу... :-/


person NABA    schedule 19.02.2016    source источник


Ответы (1)


OMNeT++ — это среда моделирования дискретных событий. Моделирование дискретных событий моделирует систему не через параллельные задачи, а через реакцию системы на события (каждое из которых занимает нулевое время).

В вашем примере вы захотите реагировать на три разных типа событий:

  1. Что происходит, когда событие сигнализирует о том, что пришло время для очистки?
  2. Что происходит, когда событие сигнализирует о том, что должна быть отправлена ​​широковещательная рассылка? Чтобы привести пример, этот обработчик событий может запланировать событие, уведомляющее другую часть вашей симуляции о поступлении широковещательной рассылки.
  3. Что происходит, когда событие сигнализирует о получении широковещательной рассылки? Здесь обработчик событий может вывести сообщение журнала.

раздел 4.1.1 руководства пользователя OMNeT++ ( «Моделирование дискретных событий») кратко описывает эту концепцию.

person Christoph Sommer    schedule 21.02.2016