diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/ConfigDynamicAttractionGenerator.java b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/ConfigDynamicAttractionGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..ba1292edabe0162d24d4ed12900a7afa79ff0059
--- /dev/null
+++ b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/ConfigDynamicAttractionGenerator.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2005-2010 KOM – Multimedia Communications Lab
+ *
+ * This file is part of PeerfactSim.KOM.
+ *
+ * PeerfactSim.KOM is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * PeerfactSim.KOM is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with PeerfactSim.KOM. If not, see .
+ *
+ */
+
+package de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Random;
+import de.tud.kom.p2psim.api.scenario.ConfigurationException;
+import de.tud.kom.p2psim.api.topology.Topology;
+import de.tud.kom.p2psim.impl.topology.util.PositionVector;
+import de.tudarmstadt.maki.simonstrator.api.Binder;
+import de.tudarmstadt.maki.simonstrator.api.Event;
+import de.tudarmstadt.maki.simonstrator.api.EventHandler;
+import de.tudarmstadt.maki.simonstrator.api.Randoms;
+import de.tudarmstadt.maki.simonstrator.api.component.sensor.location.AttractionPoint;
+import de.tudarmstadt.maki.simonstrator.api.util.XMLConfigurableConstructor;
+
+/**
+ * Implementation of the interface {@link AttractionGenerator}.
+ *
+
+ * @author Julian Zobel
+ * @version 1.0, April 2019
+ */
+public class ConfigDynamicAttractionGenerator implements IAttractionGenerator {
+
+ private LinkedList allAPs = new LinkedList<>();
+
+ @Override
+ public List getAttractionPoints() {
+ return attractionPoints;
+ }
+
+
+
+ public void setAttractionPoint(TemporalAttractionPoint ap) {
+ allAPs.add(ap);
+
+ Event.scheduleWithDelay(ap.getPlacementTime(), new EventHandler() {
+ @Override
+ public void eventOccurred(Object content, int type) {
+ placeAP(ap);
+ }
+ }, null, 0);
+ }
+
+ private void placeAP(TemporalAttractionPoint ap) {
+ attractionPoints.add(ap);
+
+
+ Event.scheduleWithDelay(ap.getRemovalTime(), new EventHandler() {
+ @Override
+ public void eventOccurred(Object content, int type) {
+ removeAP(ap);
+ }
+ }, null, 0);
+ }
+
+ private void removeAP(TemporalAttractionPoint ap) {
+ attractionPoints.remove(ap);
+ }
+
+
+}
diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/TemporalAttractionPoint.java b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/TemporalAttractionPoint.java
new file mode 100644
index 0000000000000000000000000000000000000000..1dd32902c8e772e6ea759edd21d540850559ad81
--- /dev/null
+++ b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/attraction/TemporalAttractionPoint.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2005-2010 KOM – Multimedia Communications Lab
+ *
+ * This file is part of PeerfactSim.KOM.
+ *
+ * PeerfactSim.KOM is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * PeerfactSim.KOM is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with PeerfactSim.KOM. If not, see .
+ *
+ */
+
+package de.tud.kom.p2psim.impl.topology.movement.modularosm.attraction;
+
+import de.tud.kom.p2psim.impl.topology.util.PositionVector;
+import de.tudarmstadt.maki.simonstrator.api.util.XMLConfigurableConstructor;
+
+public class TemporalAttractionPoint extends BasicAttractionPoint {
+
+ private long placementTime;
+ private long removalTime;
+
+ @XMLConfigurableConstructor({"name", "x", "y", "radius", "weight", "placementTime", "removalTime" })
+ public TemporalAttractionPoint(String name, double x, double y, double radius, double weight, long placementTime, long removalTime) {
+ this(name, new PositionVector(x,y), radius, weight, placementTime, removalTime);
+ }
+
+ public TemporalAttractionPoint(String name, PositionVector pos, double radius, double weight, long placementTime, long removalTime) {
+ super(name, pos);
+ setWeight(weight);
+ setRadius(radius);
+
+ this.placementTime = placementTime;
+ this.removalTime = removalTime;
+ }
+
+ public long getPlacementTime() {
+ return placementTime;
+ }
+
+ public long getRemovalTime() {
+ return removalTime;
+ }
+
+}