import copy from datacentre import Datacentre from scenarioplanner import Scenarioplanner from scheduler import Scheduler def preparesimulation() -> Scenarioplanner: currscenarioplanner = Scenarioplanner() currscenarioplanner.simulationLength = 120 currscenarioplanner.createapplications() currscenarioplanner.createclients(1000) print("Number of Birbnetes clients: " + str(currscenarioplanner.statsModule.birbnetesClients)) print("Number of Videochat clients: " + str(currscenarioplanner.statsModule.videochatClients)) return currscenarioplanner def preparesimulationrunner(currscenarioplanner: Scenarioplanner) -> Scheduler: currentscheduler = Scheduler() currentscheduler.simulationLength = currscenarioplanner.simulationLength currscenarioplanner.clients = copy.deepcopy(currscenarioplanner.clients) clouddatacentre = Datacentre() clouddatacentre.processingpower = 10000000 clouddatacentre.uplink = 10000000 edgedatacentre = Datacentre() edgedatacentre.processingpower = 10000 edgedatacentre.uplink = 10000 currentscheduler.edge = edgedatacentre currentscheduler.cloud = clouddatacentre currentscheduler.statsModule = currscenarioplanner.statsModule return currentscheduler if __name__ == '__main__': scenarioplanner = preparesimulation() currscheduler = preparesimulationrunner(scenarioplanner)