Class Split

All Implemented Interfaces:
Constraint, SatConstraint

@SideConstraint(args="part <<: vms",
                inv="{ {host(v). v : p , vmState(v) = running}. p : part} <<: nodes")
public class Split
extends SimpleConstraint
A constraint to force several sets of VMs to not share any node when they are running.

When the restriction is discrete, the constraint ensures there is no co-location on only on a given model.

When the restriction is continuous, the constraint ensures a VM can not be set running on a node that is hosting VMs from another group, even temporary.

Author:
Fabien Hermenier