From 89fe6051866933495237f0c733147700275b9549 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sat, 25 May 2019 15:00:10 -0400 Subject: MDEOptimiser tuning for CPS --- .../domains/cps/generator/.CpsGenerator.xtendbin | Bin 8807 -> 9849 bytes .../domains/cps/generator/CpsGenerator.java | 23 +++++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin index 306f031b..a46b8a8e 100644 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin and b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java index e59ef004..ce0cd02d 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java @@ -1,5 +1,6 @@ package hu.bme.mit.inf.dslreasoner.domains.cps.generator; +import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; @@ -17,6 +18,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.xtext.xbase.lib.CollectionLiterals; +import org.eclipse.xtext.xbase.lib.ExclusiveRange; import org.eclipse.xtext.xbase.lib.Extension; import org.eclipse.xtext.xbase.lib.ObjectExtensions; import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; @@ -46,11 +48,18 @@ public class CpsGenerator { private final int demandFactor; + private final boolean populateAppInstances; + public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor) { + this(randomSeed, applicationTypeCount, demandFactor, false); + } + + public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor, final boolean populateAppInstances) { Random _random = new Random(randomSeed); this.random = _random; this.applicationTypeCount = applicationTypeCount; this.demandFactor = demandFactor; + this.populateAppInstances = populateAppInstances; } public CyberPhysicalSystem generateCpsProblem() { @@ -83,6 +92,20 @@ public class CpsGenerator { final Procedure1 _function_2 = (Requirement it_2) -> { it_2.setCount(this.nextInt(CpsGenerator.MIN_REPLICAS, CpsGenerator.MAX_REPLICAS)); it_2.setType(appType); + if (this.populateAppInstances) { + int _count = it_2.getCount(); + ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _count, true); + for (final Integer j : _doubleDotLessThan) { + { + final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); + app.setType(appType); + EList _instances = appType.getInstances(); + _instances.add(app); + EList _instances_1 = it_2.getInstances(); + _instances_1.add(app); + } + } + } }; Requirement _doubleArrow = ObjectExtensions.operator_doubleArrow(_createRequirement, _function_2); _requirements.add(_doubleArrow); -- cgit v1.2.3-54-g00ecf