Package desmoj.extensions.crossbar

Source Code of desmoj.extensions.crossbar.MessageCrossbarExample

package desmoj.extensions.crossbar;

import java.util.concurrent.TimeUnit;

import desmoj.core.dist.ContDistNormal;
import desmoj.core.dist.DiscreteDistUniform;
import desmoj.core.simulator.Experiment;
import desmoj.core.simulator.Model;
import desmoj.core.simulator.TimeInstant;

public class MessageCrossbarExample extends Model {

  public static void main(java.lang.String[] args) {
    MessageCrossbarExample model = new MessageCrossbarExample(null, "MessageCrossbarExample", true, true);
    Experiment exp = new Experiment("MessageCrossbarExampleExperiment", TimeUnit.SECONDS, TimeUnit.MINUTES, null);

    model.connectToExperiment(exp);

    exp.setShowProgressBar(false);
    exp.stop(new TimeInstant(1440, TimeUnit.MINUTES));
    exp.tracePeriod(new TimeInstant(0), new TimeInstant(100, TimeUnit.MINUTES));
    exp.debugPeriod(new TimeInstant(0), new TimeInstant(50, TimeUnit.MINUTES));

    exp.start();
    exp.report();
    exp.finish();
  }

  // Richtung Tierpark & Schlump alle 10 min ab xx:09
  MessageChannel<Student> linie181;

  // Richtung Tierpark & Siemersplatz alle 10 min ab xx:05
  MessageChannel<Student> linie281;

  MessageCrossbar<Student> bushaltestelleInformatikum;
  ContDistNormal uniSchlussVerteilung;

  DiscreteDistUniform fahrtzielVerteilung;

  public MessageCrossbarExample(Model owner, String modelName, boolean showInReport, boolean showInTrace) {
    super(owner, modelName, showInReport, showInTrace);
  }

  @Override
  public String description() {
    return "";
  }

  @Override
  public void doInitialSchedules() {
    new BusZyklus(this, true, linie181, 9, 10).activate();
    new BusZyklus(this, true, linie281, 5, 10).activate();
    new UniEnde(this, "UniEnde", true).activate();
  }

  @Override
  public void init() {
    bushaltestelleInformatikum = new MessageCrossbar<Student>(this, "Haltestelle Informatikum", true, true);
    linie181 = (bushaltestelleInformatikum.createMessageChannel("Linie 181"));
    linie281 = (bushaltestelleInformatikum.createMessageChannel("Linie 281"));

    uniSchlussVerteilung = new ContDistNormal(this, "UniSchlussVerteilung", 5, 2, true, true);
    uniSchlussVerteilung.setNonNegative(true);
    fahrtzielVerteilung = new DiscreteDistUniform(getModel(), "FahrtzielVerteilung", 0, 5, true, true);
  }

}
TOP

Related Classes of desmoj.extensions.crossbar.MessageCrossbarExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.