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
40
41
42
43
44
45
46
|
import viatra "./queries/queries/Ecore.vql"
import epackage "http://www.eclipse.org/emf/2002/Ecore"
generate {
metamodel = {package ecore excluding{EClassifier.instanceClass, EClassifier.defaultValue,
EEnumLiteral.instance, EStructuralFeature.defaultValue, EStructuralFeature.changeable,
EStructuralFeature.derived, ENamedElement.name, EClass.interface, EClass.abstract, EClassifier.instanceTypeName,
EClassifier.instanceClassName, EPackage.nsPrefix, EPackage.nsURI, EAnnotation.source,
EAttribute.iD, EDataType.serializable, EEnumLiteral.literal, EEnumLiteral.value,
EReference.resolveProxies, EReference.container, EReference.containment, EStringToStringMapEntry.key,
EStringToStringMapEntry.value, EStructuralFeature.defaultValueLiteral, EStructuralFeature.transient,
EStructuralFeature.unsettable, EStructuralFeature.volatile, ETypedElement.lowerBound,
ETypedElement.many, ETypedElement.ordered, ETypedElement.required, ETypedElement.unique,ETypedElement.upperBound,
// cannot generate eFactoryInstance
EPackage.eFactoryInstance,
//Derived edges
EClass.eAllSuperTypes, EClass.eAllAttributes, EClass.eAllReferences, EClass.eAllContainments, EClass.eAllGenericSuperTypes,
EClass. eAllOperations, EClass.eAllStructuralFeatures, EClass.eAttributes, EClass.eIDAttribute, EClass.eReferences,
EAttribute.eAttributeType, EGenericType.eRawType, EReference.eReferenceType,
//Generic Types
EClass.eGenericSuperTypes, ETypedElement.eGenericType, EOperation.eGenericExceptions, EObject, EAnnotation.references, EAnnotation.contents
}}
partial-model = { "inputs/ecore.xmi"}
constraints = { package queries }
solver = ViatraSolver
scope = {
#node = 100
}
number = 1
runs = 30
config = {
log-level = none,
"optional-wf" = "true",
"realistic-guidance" = "Composite",
"allow-must-violations" = "true",
"domain" = "Ecore"
}
debug = "debug"
output = "output/Ecore/"
}
|