aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/InconsistentScopeGlobalConstraint.xtend
blob: 2e039ca2ff1e76692163c98189b37d011b003013 (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
package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse

import org.eclipse.viatra.dse.objectives.IGlobalConstraint
import org.eclipse.viatra.dse.base.ThreadContext
import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation

class InconsistentScopeGlobalConstraint implements IGlobalConstraint {

	override init(ThreadContext context) {
		// Nothing to initialize.
	}

	override createNew() {
		this
	}

	override getName() {
		class.name
	}

	override checkGlobalConstraint(ThreadContext context) {
		val partialModel = context.model as PartialInterpretation
		partialModel.minNewElements <= partialModel.maxNewElements || partialModel.maxNewElements < 0
	}
}