2017-04-27 3 views
0

Ich brauche Beratung oder Referenz, wie Simulation mit mehreren Knoten entwickeln, die während 24 Stunden haben bestimmte Muster der Präsenz im Netzwerk. Wie ich es verstehe, hat die Simulation eine eigene Zeitleiste, und während der Laufzeit folgt sie der Liste der Ereignisse. In diesem Beispiel gibt es eine Möglichkeit, dass jedes Nicken seine eigene Zeitlinie hat. Ich glaube, es gibt ein paar Beispiele im Netz, aber ich kann es nicht finden, daher ist jede Hilfe willkommen. Thxdynamische Art der Knoten

Antwort

1

Das Verhalten, auf das Sie sich beziehen, wird normalerweise als tägliches Verhalten oder allgemeineres Churn bezeichnet. Dies kann bei zukünftigen Forschungen zu diesem Thema hilfreich sein.

zu simulieren, dass Ihre Knoten zu einem Zeitpunkt verfügbar oder nicht verfügbar sind, können Sie einen boolean Wert verwenden, der zur Zeit, wenn Ihr Knoten angibt, aktiv an der simulations unter:

bool isActive = true; 

Sie dann hinzufügen eine if-Anweisung in Ihrer Module handleMessage() Methode, die nur auf Nachrichten antworten, wenn Ihr Modul aktiv ist:

void myModule::handleMessage(cMessage *msg) 
{ 
    if(isActive){ 
     // handle your messages 
    } else { 
     // maybe send a timeout message indicating that your module is inactive 
    } 
} 

in Bezug auf die Zeit, um Ihre Knoten verfügbaren sind, empfehle ich mit SelfMessages, die Sie planen können, wie folgt:

scheduleAt(simTimeAtWhichStateChanges, myChurnMsg); 

In handleMessage() diese Meldung dann verarbeiten kann, den Zustand ändern, und die Nachricht für die nächste Änderung des Zustandes neu planen:

void myModule::handleMessage(cMessage *msg) 
{ 
    if(isActive){ 
     if (msg->isSelfMessage()){ 
      isActive = !isActive; 
      scheduleAt(simTimeAtWhichStateChanges, myChurnMsg); 
     } 
     // handle your messages 
    } else { 
     // maybe send a timeout message indicating that your module is inactive 
    } 
} 

Diese sollten Sie auf einen groben Überblick geben, wie man das umsetzen kann Tagesverhalten in Ihrer Simulation

+0

vielen Dank – explorer

+0

Wenn die Antwort Ihnen mit dem Problem geholfen hat, würde es Ihnen etwas ausmachen, es zu akzeptieren? – xTikka

+0

Ich sehe diese Option nicht, wie man das macht – explorer

Verwandte Themen