Class OverbookSplitter
java.lang.Object
org.btrplace.scheduler.runner.disjoint.splitter.OverbookSplitter
- All Implemented Interfaces:
ConstraintSplitter<Overbook>
public class OverbookSplitter extends Object implements ConstraintSplitter<Overbook>
Splitter for
Overbook
constraints.
When the constraint focuses nodes among different partitions, the constraint is split.
This operation is conservative wrt. the constraint semantic.
- Author:
- Fabien Hermenier
-
Constructor Summary
Constructors Constructor Description OverbookSplitter()
-
Method Summary
Modifier and Type Method Description Class<Overbook>
getKey()
Get the class of the Constraint associated to the splitter.boolean
split(Overbook cstr, Instance origin, List<Instance> partitions, gnu.trove.map.hash.TIntIntHashMap vmsPosition, gnu.trove.map.hash.TIntIntHashMap nodePosition)
Ensure a given constraint fit into a single partition.
-
Constructor Details
-
OverbookSplitter
public OverbookSplitter()
-
-
Method Details
-
getKey
Description copied from interface:ConstraintSplitter
Get the class of the Constraint associated to the splitter.- Specified by:
getKey
in interfaceConstraintSplitter<Overbook>
- Returns:
- a Class derived from
Constraint
-
split
public boolean split(Overbook cstr, Instance origin, List<Instance> partitions, gnu.trove.map.hash.TIntIntHashMap vmsPosition, gnu.trove.map.hash.TIntIntHashMap nodePosition)Description copied from interface:ConstraintSplitter
Ensure a given constraint fit into a single partition. If necessary, the constraint may have be split. this call inserts the constrain (or its subdivisions) inside their respective instances- Specified by:
split
in interfaceConstraintSplitter<Overbook>
- Parameters:
cstr
- the model constraintorigin
- the original instance to splitpartitions
- the possible partitions @returnfalse
iff this leads to a problem without solutions.vmsPosition
- the partition associated to each VMnodePosition
- the partition associated to each node- Returns:
true
iff the split was successful.false
otherwise
-