/*
* SPDX-FileCopyrightText: 2021-2023 The Refinery Authors
*
* SPDX-License-Identifier: EPL-2.0
*/
package tools.refinery.store.dse;
import tools.refinery.store.adapter.ModelAdapter;
import tools.refinery.store.dse.internal.TransformationRule;
import tools.refinery.store.map.Version;
import tools.refinery.store.dse.internal.Activation;
import tools.refinery.store.dse.internal.DesignSpaceExplorationBuilderImpl;
import tools.refinery.store.dse.objectives.Fitness;
import tools.refinery.store.dse.objectives.ObjectiveComparatorHelper;
import tools.refinery.store.tuple.Tuple;
import tools.refinery.store.tuple.Tuple1;
import java.util.Collection;
import java.util.List;
import java.util.Random;
public interface DesignSpaceExplorationAdapter extends ModelAdapter {
@Override
DesignSpaceExplorationStoreAdapter getStoreAdapter();
static DesignSpaceExplorationBuilder builder() {
return new DesignSpaceExplorationBuilderImpl();
}
Collection explore();
public int getModelSize();
public Tuple1 createObject();
public Tuple deleteObject(Tuple tuple);
public boolean checkGlobalConstraints();
public boolean backtrack();
public boolean backtrack(String reason);
public Fitness getFitness();
public void newSolution();
public int getDepth();
public Collection getUntraversedActivations();
public boolean fireActivation(Activation activation);
public boolean fireRandomActivation();
public List getTrajectory();
public boolean isCurrentStateAlreadyTraversed();
public ObjectiveComparatorHelper getObjectiveComparatorHelper();
public void restoreTrajectory(List trajectory);
public void setRandom(Random random);
public void setRandom(long seed);
public List getSolutions();
void addTransformationRule(TransformationRule transformationRule);
}