blob: 35b3b1dfddd6be39eb067edf40568f4f9d87bfdf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package hu.bme.mit.inf.dslreasoner.domains.cps.dse
import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage
import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator
import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CpsQueries
import org.eclipse.emf.ecore.EPackage
import org.eclipse.emf.ecore.EStructuralFeature
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory
import org.eclipse.viatra.addon.querybasedfeatures.runtime.handler.QueryBasedFeatures
import org.eclipse.viatra.dse.api.DesignSpaceExplorer
import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel
import org.eclipse.viatra.query.runtime.extensibility.SingletonQueryGroupProvider
import org.eclipse.viatra.query.runtime.registry.QuerySpecificationRegistry
import org.eclipse.viatra.query.runtime.registry.connector.QueryGroupProviderSourceConnector
class RuleBasedCpsMain {
private new() {
new IllegalStateException("This is a static utility class and should not be instantiated directly.")
}
public static def void main(String[] args) {
DesignSpaceExplorer.turnOnLogging(DseLoggingLevel.VERBOSE_FULL)
Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION,
new XMIResourceFactoryImpl)
EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(QueryBasedFeatures.ANNOTATION_SOURCE,
new QueryBasedFeatureSettingDelegateFactory)
EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE)
QuerySpecificationRegistry.instance.addSource(
new QueryGroupProviderSourceConnector("CpsQueries", new SingletonQueryGroupProvider(CpsQueries.instance),
true))
val generator = new CpsGenerator(1, 4, 1)
val problem = generator.generateCpsProblem
// problem.eResource.save(emptyMap)
val solver = new RuleBasedCpsSolver
solver.solve(problem)
}
}
|