Skip to content
Snippets Groups Projects
Commit 56da78d2 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

Cleanup: Remove the composite features from the phenotypes

* Reduce the Phenotypes to remove unused features.
* Remove the DebugUtils (not used anymore).
* Remove the getPhenotypeType method that became obsolete after
  migrating the DSE to Guice.

Issue-Ref: 3557
Issue-Url: https://af3-developer.fortiss.org/issues/3557


Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
parent 9a43be56
No related branches found
No related tags found
1 merge request!63279
This commit is part of merge request !6. Comments created here will be created in the context of that merge request.
Showing
with 13 additions and 170 deletions
MessageEncoding.java 6a4bb9c487db5055ea263253e3e3247177476065 YELLOW MessageEncoding.java 3c04ebae651542778e45c7d47352fdc47e2439ee YELLOW
...@@ -21,7 +21,6 @@ import java.util.Collection; ...@@ -21,7 +21,6 @@ import java.util.Collection;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter;
...@@ -56,10 +55,4 @@ public class MessageEncoding<S extends TaskMappingEntry<ITaskAdapter<?>, IExecut ...@@ -56,10 +55,4 @@ public class MessageEncoding<S extends TaskMappingEntry<ITaskAdapter<?>, IExecut
return filterSet(messages, return filterSet(messages,
m -> m.getSignalAdapter().getSignalType() == ISignalAdapter.SignalType.PERIODIC); m -> m.getSignalAdapter().getSignalType() == ISignalAdapter.SignalType.PERIODIC);
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return MessageEncoding.class;
}
} }
Partition.java 89cfb87a73d3ae080a9dbe5594b48ad552f7a9f1 RED Partition.java 89cfb87a73d3ae080a9dbe5594b48ad552f7a9f1 RED
PartitionMappingEncoding.java 95bf57d5cdeb40c37fdcfdd6a02e2ac96a6d9959 RED PartitionMappingEncoding.java 2d1af8dac3fa1e9cf4d94aae01bdd76057d22057 RED
PartitionMappingEntry.java 3f413a060aad18e6ffb088b1a035ffb536e591cf YELLOW PartitionMappingEntry.java 3f413a060aad18e6ffb088b1a035ffb536e591cf YELLOW
...@@ -21,7 +21,6 @@ import java.util.List; ...@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.MappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.MappingEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.copy.Copyable; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.copy.Copyable;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
...@@ -130,12 +129,6 @@ public class PartitionMappingEncoding extends ...@@ -130,12 +129,6 @@ public class PartitionMappingEncoding extends
return new PartitionMappingEncoding(); return new PartitionMappingEncoding();
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return getClass();
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public PartitionMappingEncoding copy() { public PartitionMappingEncoding copy() {
......
PlatformCommunicationGraphEncoding.java c49bd0227357686cf929b782c7a714f1aab4c196 RED PlatformCommunicationGraphEncoding.java accc939c90f2d32c2507da2f4e8d20b0d7c5c158 YELLOW
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.platform; package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.platform;
import org.eclipse.draw2d.graph.DirectedGraph; import org.eclipse.draw2d.graph.DirectedGraph;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.copy.Copyable; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.copy.Copyable;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
...@@ -78,12 +77,6 @@ public class PlatformCommunicationGraphEncoding extends PhenotypeBase ...@@ -78,12 +77,6 @@ public class PlatformCommunicationGraphEncoding extends PhenotypeBase
return new PlatformCommunicationGraphEncoding(platformGraph); return new PlatformCommunicationGraphEncoding(platformGraph);
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return PlatformCommunicationGraphEncoding.class;
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public PlatformCommunicationGraphEncoding copy() { public PlatformCommunicationGraphEncoding copy() {
......
SafetyFunctionArchEncoding.java 4a229eb97cf0a9aa22fb1f54b4a24190613aa6c3 YELLOW SafetyFunctionArchEncoding.java 007ad2ec378e37abef9865c9b7aa22f9d06fc168 YELLOW
SafetyFunctionArchEntry.java 83b2819b2d749611aed25170e60eee11fc0edd2b RED SafetyFunctionArchEntry.java 83b2819b2d749611aed25170e60eee11fc0edd2b RED
...@@ -26,7 +26,6 @@ import java.util.List; ...@@ -26,7 +26,6 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.copy.Copyable; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.copy.Copyable;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISafetyFunctionAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISafetyFunctionAdapter;
...@@ -168,10 +167,4 @@ public class SafetyFunctionArchEncoding extends PhenotypeBase ...@@ -168,10 +167,4 @@ public class SafetyFunctionArchEncoding extends PhenotypeBase
public String toString() { public String toString() {
return getAllEntries().toString(); return getAllEntries().toString();
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return SafetyFunctionArchEncoding.class;
}
} }
AbstractTaskGraphEncoding.java 70dcfb88d40b3e4e4aa19e2de470db705de0337e RED AbstractTaskGraphEncoding.java 4122c068748a41d609035d9a578df4e6b79bb148 RED
InstantiatedAcyclicTaskGraphEncoding.java 6c26aa4cca73a33c031c5cea6eab0d3efb197078 RED InstantiatedAcyclicTaskGraphEncoding.java a82e3bd19abf5908c92d0524b02fd3d82c466889 YELLOW
InstantiatedTaskGraphEncoding.java bfbad1a4bb3f984432688f281c7354b36fda607a RED InstantiatedTaskGraphEncoding.java 820e6fe50893fcbd82e862ddfbfb11f8d6da95aa YELLOW
SafeTaskGraphEncoding.java 31c8db24f2d41118b9d1341ceed7e7d931c0927a RED SafeTaskGraphEncoding.java 1f0aff0d964d1c183dbe327dc7a1fe411c84314a YELLOW
TaskGraphEncoding.java 80043ff18bfb4c196b040c533ce0c328977d4e1f RED TaskGraphEncoding.java 80043ff18bfb4c196b040c533ce0c328977d4e1f RED
...@@ -17,7 +17,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph; ...@@ -17,7 +17,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph;
import java.util.Set; import java.util.Set;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
import com.google.inject.Inject; import com.google.inject.Inject;
...@@ -42,10 +41,4 @@ public class AbstractTaskGraphEncoding extends TaskGraphEncoding<TaskGraph> { ...@@ -42,10 +41,4 @@ public class AbstractTaskGraphEncoding extends TaskGraphEncoding<TaskGraph> {
public AbstractTaskGraphEncoding(AbstractTaskGraphEncoding encoding) { public AbstractTaskGraphEncoding(AbstractTaskGraphEncoding encoding) {
super(encoding); super(encoding);
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return AbstractTaskGraphEncoding.class;
}
} }
...@@ -18,7 +18,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph; ...@@ -18,7 +18,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph;
import java.util.Collection; import java.util.Collection;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.AcyclicTaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.AcyclicTaskGraph;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
...@@ -42,10 +41,4 @@ public class InstantiatedAcyclicTaskGraphEncoding<T extends InstantiatedTaskMapp ...@@ -42,10 +41,4 @@ public class InstantiatedAcyclicTaskGraphEncoding<T extends InstantiatedTaskMapp
public InstantiatedAcyclicTaskGraphEncoding(InstantiatedAcyclicTaskGraphEncoding<T> encoding) { public InstantiatedAcyclicTaskGraphEncoding(InstantiatedAcyclicTaskGraphEncoding<T> encoding) {
super(encoding); super(encoding);
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return InstantiatedAcyclicTaskGraphEncoding.class;
}
} }
...@@ -18,7 +18,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph; ...@@ -18,7 +18,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph;
import java.util.Collection; import java.util.Collection;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
/** /**
...@@ -37,10 +36,4 @@ public class InstantiatedTaskGraphEncoding<T extends InstantiatedTaskMappingEntr ...@@ -37,10 +36,4 @@ public class InstantiatedTaskGraphEncoding<T extends InstantiatedTaskMappingEntr
public InstantiatedTaskGraphEncoding(InstantiatedTaskGraphEncoding<T> encoding) { public InstantiatedTaskGraphEncoding(InstantiatedTaskGraphEncoding<T> encoding) {
super(encoding); super(encoding);
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return InstantiatedTaskGraphEncoding.class;
}
} }
...@@ -19,7 +19,6 @@ import java.util.Collection; ...@@ -19,7 +19,6 @@ import java.util.Collection;
import java.util.Set; import java.util.Set;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunctionarch.SafetyFunctionArchEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunctionarch.SafetyFunctionArchEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
...@@ -56,10 +55,4 @@ public class SafeTaskGraphEncoding extends AbstractTaskGraphEncoding { ...@@ -56,10 +55,4 @@ public class SafeTaskGraphEncoding extends AbstractTaskGraphEncoding {
} }
return null; return null;
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return SafeTaskGraphEncoding.class;
}
} }
AbstractTaskMappingEncoding.java 006baeeb60eecb28a20cdd5b2d894dae44fdf758 YELLOW AbstractTaskMappingEncoding.java e7b9f51e9839e87488f845b33784fceeb8d56722 YELLOW
AbstractTaskMappingEntry.java b1beede941a2bcd43ff514fbd1347f6f7fefd2b1 YELLOW AbstractTaskMappingEntry.java b1beede941a2bcd43ff514fbd1347f6f7fefd2b1 YELLOW
...@@ -24,7 +24,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.Safe ...@@ -24,7 +24,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.Safe
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.TaskGraphEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.TaskGraphEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
import org.fortiss.af3.exploration.alg.exception.ExplorationException; import org.fortiss.af3.exploration.alg.exception.ExplorationException;
...@@ -135,10 +134,4 @@ public class AbstractTaskMappingEncoding ...@@ -135,10 +134,4 @@ public class AbstractTaskMappingEncoding
clonedEncoding.getRequesters().forEach(c -> c.updateInstatiationData()); clonedEncoding.getRequesters().forEach(c -> c.updateInstatiationData());
return clonedEncoding; return clonedEncoding;
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return AbstractTaskMappingEncoding.class;
}
} }
...@@ -2,5 +2,5 @@ FailSilentTaskMappingEncoding.java a35383d317862a9876baf4296ad2371c75c36e88 RED ...@@ -2,5 +2,5 @@ FailSilentTaskMappingEncoding.java a35383d317862a9876baf4296ad2371c75c36e88 RED
FailSilentTaskMappingEntry.java 93c2deb62b39860893e94729b85844fe38e90e17 RED FailSilentTaskMappingEntry.java 93c2deb62b39860893e94729b85844fe38e90e17 RED
FaultDetectionVotingTaskMappingEncoding.java 118ff5f99f6a2f734ddd2b3f1ac44d013c6167be RED FaultDetectionVotingTaskMappingEncoding.java 118ff5f99f6a2f734ddd2b3f1ac44d013c6167be RED
FaultDetectionVotingTaskMappingEntry.java 932d37aa71e912be4e6b29e44911ebc48f6fe697 RED FaultDetectionVotingTaskMappingEntry.java 932d37aa71e912be4e6b29e44911ebc48f6fe697 RED
InstantiatedTaskMappingEncoding.java 1dcb81896275bec4b5d1d7d12b063cf4cbc8bbc8 RED InstantiatedTaskMappingEncoding.java e1c037b489d9b7357b59e267a634bb43eb33335b RED
InstantiatedTaskMappingEntry.java 101b9eefe449e73c6fff89cb76574ca14c93d33f RED InstantiatedTaskMappingEntry.java 101b9eefe449e73c6fff89cb76574ca14c93d33f RED
...@@ -22,7 +22,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.Task ...@@ -22,7 +22,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.Task
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
import org.fortiss.af3.exploration.alg.exception.ExplorationException; import org.fortiss.af3.exploration.alg.exception.ExplorationException;
...@@ -102,10 +101,4 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask ...@@ -102,10 +101,4 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask
} }
return super.getDisAllowedAllocations(deployableComponent); return super.getDisAllowedAllocations(deployableComponent);
} }
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
return InstantiatedTaskMappingEncoding.class;
}
} }
FlatPhenotypeMap.java f29317abac6af034248a1b24dd95a0a330e202ec RED Phenotype.java f05a45ea3b3577079b4f894aa97af1ab3620c5e7 YELLOW
Phenotype.java f23b94b0ee54fbf3a685ebeebccad4abd6c12b91 RED PhenotypeBase.java 73397a01276ccf72c1569bfa577e9fd3f5874324 YELLOW
PhenotypeBase.java f0357666cdda6cfbe0877fdc5b397366f8e504c4 RED
ProvidingPhenotype.java b18a8385e97c98f83219daa508d156ac57ba365b RED ProvidingPhenotype.java b18a8385e97c98f83219daa508d156ac57ba365b RED
...@@ -15,12 +15,6 @@ ...@@ -15,12 +15,6 @@
+--------------------------------------------------------------------------*/ +--------------------------------------------------------------------------*/
package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype; package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
import org.fortiss.af3.exploration.alg.service.IExplorationEncoding;
import org.opt4j.core.Genotype;
import org.opt4j.core.genotype.CompositeGenotype; import org.opt4j.core.genotype.CompositeGenotype;
/** /**
...@@ -29,33 +23,7 @@ import org.opt4j.core.genotype.CompositeGenotype; ...@@ -29,33 +23,7 @@ import org.opt4j.core.genotype.CompositeGenotype;
* *
* @author diewald * @author diewald
*/ */
public interface Phenotype public interface Phenotype {
extends IExplorationEncoding, Iterable<Entry<Class<? extends Phenotype>, Phenotype>> {
/**
* Returns the type which shall be used to register the {@link Phenotype} at its
* containing {@link Phenotype}.
*/
Class<? extends Phenotype> getPTypeToRegister();
/**
* Returns the {@link Phenotype} that corresponds to the given {@link Phenotype} class.
*/
<CP extends Phenotype> CP getSubPhenotype(Class<CP> subPhenotype);
/**
* Defines a correspondence between a {@link Genotype} class and its {@link Phenotype}
* .
*/
<CP extends Phenotype> void putSubPhenotype(Class<CP> subGenotype, CP curPhenotype);
/**
* Returns the collection of {@link Phenotype}s that make up this {@link Genotype}.
*/
List<Phenotype> getSubPhenotypes();
/** Returns the Class -> {@link Phenotype} entries of the enclosed map. */
Set<Class<? extends Phenotype>> keySet();
/** Marks a phenotype as being processed by sub-decoders. */ /** Marks a phenotype as being processed by sub-decoders. */
void setSubDecoding(boolean isSubDecoding); void setSubDecoding(boolean isSubDecoding);
......
...@@ -15,14 +15,6 @@ ...@@ -15,14 +15,6 @@
+--------------------------------------------------------------------------*/ +--------------------------------------------------------------------------*/
package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype; package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/** /**
* Base class for {@link Phenotype}s which consists of {@link Phenotype}s. * Base class for {@link Phenotype}s which consists of {@link Phenotype}s.
* *
...@@ -30,55 +22,9 @@ import java.util.Set; ...@@ -30,55 +22,9 @@ import java.util.Set;
*/ */
public class PhenotypeBase implements Phenotype { public class PhenotypeBase implements Phenotype {
/**
* Map which correlates the {@link Phenotype} classes with their corresponding {@link Phenotype}
* s, out of which this {@link Phenotype} consists.
*/
protected Map<Class<? extends Phenotype>, Phenotype> subPhenotypes = new HashMap<>();
/** Flag to mark a phenotype as being processed by sub-Decoders. */ /** Flag to mark a phenotype as being processed by sub-Decoders. */
private boolean isSubDecoding; private boolean isSubDecoding;
/** {@inheritDoc} */
@Override
public <CP extends Phenotype> CP getSubPhenotype(Class<CP> subGenotypeClass) {
return (CP)subPhenotypes.get(subGenotypeClass);
}
/** {@inheritDoc} */
@Override
public <CP extends Phenotype> void putSubPhenotype(Class<CP> subGenotypeClass,
CP subPhenotype) {
subPhenotypes.put(subGenotypeClass, subPhenotype);
}
/** {@inheritDoc} */
@Override
public List<Phenotype> getSubPhenotypes() {
ArrayList<Phenotype> retList = new ArrayList<>();
subPhenotypes.values().stream().forEachOrdered(p -> retList.add(p));
return retList;
}
/** {@inheritDoc} */
@Override
public Iterator<Entry<Class<? extends Phenotype>, Phenotype>> iterator() {
return subPhenotypes.entrySet().iterator();
}
/** {@inheritDoc} */
@Override
public Set<Class<? extends Phenotype>> keySet() {
return subPhenotypes.keySet();
}
/** {@inheritDoc} */
@Override
public Class<? extends Phenotype> getPTypeToRegister() {
// TODO Auto-generated method stub
return null;
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setSubDecoding(boolean isSubDecoding) { public void setSubDecoding(boolean isSubDecoding) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment