From 6eb760ee960cd3efe51ca6e4107153c09838a1da Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 1 Aug 2019 18:38:15 +0200 Subject: Clean up CPS and Satellite domains --- .../domains/cps/dse/RuleBasedCpsSolver.java | 93 ---------------------- 1 file changed, 93 deletions(-) delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java deleted file mode 100644 index fd348752..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java +++ /dev/null @@ -1,93 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.dse.CpsStateCoder; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.Allocate; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeHddMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeMemoryMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CostMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CreateHostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.GuidanceObjective; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.RequirementNotSatisfied; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.CompositeDirectionalThresholdObjective; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveThreshold; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.QueryBasedObjective; -import java.util.Collection; -import java.util.function.Consumer; -import org.eclipse.emf.common.util.EList; -import org.eclipse.viatra.dse.api.DesignSpaceExplorer; -import org.eclipse.viatra.dse.api.Solution; -import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategy; -import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategyBuilder; -import org.eclipse.viatra.dse.objectives.Fitness; -import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRuleFactory; -import org.eclipse.xtext.xbase.lib.Extension; -import org.eclipse.xtext.xbase.lib.InputOutput; - -@SuppressWarnings("all") -public class RuleBasedCpsSolver { - @Extension - private final BatchTransformationRuleFactory _batchTransformationRuleFactory = new BatchTransformationRuleFactory(); - - @Extension - private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; - - public void solve(final CyberPhysicalSystem problem) { - final DesignSpaceExplorer dse = new DesignSpaceExplorer(); - dse.addMetaModelPackage(CpsPackage.eINSTANCE); - dse.setInitialModel(problem.eResource().getResourceSet()); - final Consumer _function = (RequirementNotSatisfied.Match it) -> { - final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); - EList _instances = it.getReq().getType().getInstances(); - _instances.add(app); - EList _instances_1 = it.getReq().getInstances(); - _instances_1.add(app); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(RequirementNotSatisfied.instance()).action(_function).build()); - final Consumer _function_1 = (Allocate.Match it) -> { - ApplicationInstance _app = it.getApp(); - _app.setAllocatedTo(it.getHost()); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(Allocate.instance()).action(_function_1).build()); - final Consumer _function_2 = (CreateHostInstance.Match it) -> { - EList _instances = it.getHostType().getInstances(); - HostInstance _createHostInstance = this._cpsFactory.createHostInstance(); - _instances.add(_createHostInstance); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(CreateHostInstance.instance()).action(_function_2).build()); - GuidanceObjective _instance = GuidanceObjective.instance(); - ObjectiveThreshold.Inclusive _inclusive = new ObjectiveThreshold.Inclusive(0); - QueryBasedObjective _queryBasedObjective = new QueryBasedObjective(_instance, ObjectiveKind.LOWER_IS_BETTER, _inclusive, 0); - AverageFreeMemoryMetric _instance_1 = AverageFreeMemoryMetric.instance(); - ObjectiveThreshold.Inclusive _inclusive_1 = new ObjectiveThreshold.Inclusive(0.75); - QueryBasedObjective _queryBasedObjective_1 = new QueryBasedObjective(_instance_1, ObjectiveKind.LOWER_IS_BETTER, _inclusive_1, 0); - AverageFreeHddMetric _instance_2 = AverageFreeHddMetric.instance(); - ObjectiveThreshold.Inclusive _inclusive_2 = new ObjectiveThreshold.Inclusive(0.75); - QueryBasedObjective _queryBasedObjective_2 = new QueryBasedObjective(_instance_2, ObjectiveKind.LOWER_IS_BETTER, _inclusive_2, 0); - CompositeDirectionalThresholdObjective _compositeDirectionalThresholdObjective = new CompositeDirectionalThresholdObjective("Composite", _queryBasedObjective, _queryBasedObjective_1, _queryBasedObjective_2); - dse.addObjective(_compositeDirectionalThresholdObjective); - CostMetric _instance_3 = CostMetric.instance(); - QueryBasedObjective _queryBasedObjective_3 = new QueryBasedObjective(_instance_3, ObjectiveKind.LOWER_IS_BETTER, - ObjectiveThreshold.NO_THRESHOLD, 0); - dse.addObjective(_queryBasedObjective_3); - dse.setMaxNumberOfThreads(1); - CpsStateCoder.Factory _factory = new CpsStateCoder.Factory(); - dse.setStateCoderFactory(_factory); - final EvolutionaryStrategy strategy = EvolutionaryStrategyBuilder.createNsga2Strategy(25); - dse.startExplorationWithTimeout(strategy, ((2 * 60) * 1000)); - Collection _solutions = dse.getSolutions(); - for (final Solution solution : _solutions) { - Object _stateCode = solution.getStateCode(); - String _plus = ("Found solution: " + _stateCode); - String _plus_1 = (_plus + " "); - Fitness _fitness = solution.getArbitraryTrajectory().getFitness(); - String _plus_2 = (_plus_1 + _fitness); - InputOutput.println(_plus_2); - } - } -} -- cgit v1.2.3-70-g09d2