/** * */ package eu.quanticol.carma.simulator2; import java.util.function.Consumer; import java.util.function.Function; import org.apache.commons.math3.random.RandomGenerator; import org.cmg.ml.sam.sim.pm.PopulationDrift; import org.cmg.ml.sam.sim.pm.PopulationModel; import org.cmg.ml.sam.sim.pm.PopulationTransition; /** * @author loreti * */ public class BroadcastSynchronisation extends PopulationTransition<Component, CarmaPopulationState>{ private final Component source; private final String activity; private final Object value; public BroadcastSynchronisation( PopulationModel<Component, CarmaPopulationState> model, Component source, String activity, Object value, double rate, Function<RandomGenerator, PopulationDrift<Component>> transitionDriftFunction, Consumer<CarmaPopulationState> postTransitionAction) { super(model, rate, transitionDriftFunction, postTransitionAction); this.source = source; this.activity = activity; this.value = value; } @Override public String getInfo() { return source.toString()+":"+activity+"*"; } }