aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.xtend')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.xtend39
1 files changed, 39 insertions, 0 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.xtend
new file mode 100644
index 00000000..35b3b1df
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.xtend
@@ -0,0 +1,39 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.dse
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage
4import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator
5import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CpsQueries
6import org.eclipse.emf.ecore.EPackage
7import org.eclipse.emf.ecore.EStructuralFeature
8import org.eclipse.emf.ecore.resource.Resource
9import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
10import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory
11import org.eclipse.viatra.addon.querybasedfeatures.runtime.handler.QueryBasedFeatures
12import org.eclipse.viatra.dse.api.DesignSpaceExplorer
13import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel
14import org.eclipse.viatra.query.runtime.extensibility.SingletonQueryGroupProvider
15import org.eclipse.viatra.query.runtime.registry.QuerySpecificationRegistry
16import org.eclipse.viatra.query.runtime.registry.connector.QueryGroupProviderSourceConnector
17
18class RuleBasedCpsMain {
19 private new() {
20 new IllegalStateException("This is a static utility class and should not be instantiated directly.")
21 }
22
23 public static def void main(String[] args) {
24 DesignSpaceExplorer.turnOnLogging(DseLoggingLevel.VERBOSE_FULL)
25 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION,
26 new XMIResourceFactoryImpl)
27 EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(QueryBasedFeatures.ANNOTATION_SOURCE,
28 new QueryBasedFeatureSettingDelegateFactory)
29 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE)
30 QuerySpecificationRegistry.instance.addSource(
31 new QueryGroupProviderSourceConnector("CpsQueries", new SingletonQueryGroupProvider(CpsQueries.instance),
32 true))
33 val generator = new CpsGenerator(1, 4, 1)
34 val problem = generator.generateCpsProblem
35// problem.eResource.save(emptyMap)
36 val solver = new RuleBasedCpsSolver
37 solver.solve(problem)
38 }
39}