aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScript.xtend
blob: 56a6509102177c362d092203346abe307017d30c (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package hu.bme.mit.inf.dslreasoner.run.script

import java.util.List
import org.eclipse.xtend.lib.annotations.Accessors

@Accessors
class MeasurementScript {
	String inputPath
	String outputPath
	int timeout
	boolean saveModels
	boolean saveTemporaryFiles
	int warmupIterations
	int iterations
	Domain domain
	Scope scope
	List<Integer> sizes
	Solver solver
	ScopePropagator scopePropagator
	ScopeConstraints propagatedConstraints
	PolyhedronSolver polyhedronSolver
	ScopeHeuristic scopeHeuristic

	def toCsvHeader() {
		'''«domain»,«scope»,«solver»,«scopePropagator ?: "NULL"»,«propagatedConstraints ?: "NULL"»,«polyhedronSolver ?: "NULL"»,«scopeHeuristic ?: "NULL"»'''
	}
}

enum Domain {
	fs,
	ecore,
	Yakindu,
	FAM,
	satellite
}

enum Scope {
	none,
	quantiles
}

enum Solver {
	ViatraSolver,
	AlloySolver
}

enum ScopePropagator {
	none,
	basic,
	polyhedral
}

enum ScopeConstraints {
	none,
	typeHierarchy,
	relations,
	hints
}

enum PolyhedronSolver {
	Z3Integer,
	Z3Real,
	Cbc,
	Clp
}

enum ScopeHeuristic {
	basic,
	polyhedral
}