From 540c157b84a9ffa210da57d4ca2667a524b84f78 Mon Sep 17 00:00:00 2001 From: Alexander Diewald <diewald@fortiss.org> Date: Tue, 26 Jun 2018 13:56:52 +0200 Subject: [PATCH] DSE-DI: Cleanup for DI-based decoders (DI --> Guice). * Create a GuiceDecoder class that serves as a container at which Guice-based decoders can be registered. It calls the Decoder that provides the demanded output encoding (Provides annotation). The Guice injector will be responsible to resolve the dependencies between the decoders. * Simplify the Phenotype classes such that there exists only a single phenotype that can host sub-phenotypes. * Also remove the generic from the phenotype that declares it's primary input genotype: There is almost no gain in terms of safety/robustness versus a ton of code complications. Signed-off-by: Alexander Diewald <diewald@fortiss.org> --- .../model/.ratings | 3 + .../org/fortiss/af3/exploration/alg/.ratings | 4 +- .../alg/annotation/valueprovider/.ratings | 6 +- .../af3/exploration/alg/backend/.ratings | 2 +- .../fortiss/af3/exploration/alg/dse/.ratings | 12 ++-- .../af3/exploration/alg/dse/backend/.ratings | 6 +- .../alg/dse/backend/ExplorerBackendBase.java | 4 +- .../alg/dse/backend/opt4j/.ratings | 6 +- .../alg/dse/backend/opt4j/create/.ratings | 4 +- .../opt4j/create/partitionmapping/.ratings | 2 +- .../backend/opt4j/create/platform/.ratings | 2 +- .../opt4j/create/safetyfunctionarch/.ratings | 2 +- .../backend/opt4j/create/taskmapping/.ratings | 8 +-- .../alg/dse/backend/opt4j/encoding/.ratings | 8 +-- .../opt4j/encoding/MappingEncoding.java | 4 +- .../dse/backend/opt4j/encoding/comm/.ratings | 2 +- .../opt4j/encoding/comm/MessageEncoding.java | 10 +-- .../opt4j/encoding/comm/constraint/.ratings | 2 +- .../opt4j/encoding/partitionmapping/.ratings | 6 +- .../PartitionMappingEncoding.java | 7 +- .../backend/opt4j/encoding/platform/.ratings | 2 +- .../PlatformCommunicationGraphEncoding.java | 10 +-- .../encoding/safetyfunctionarch/.ratings | 4 +- .../SafetyFunctionArchEncoding.java | 12 ++-- .../backend/opt4j/encoding/taskgraph/.ratings | 10 +-- .../taskgraph/AbstractTaskGraphEncoding.java | 10 +-- .../InstantiatedAcyclicTaskGraphEncoding.java | 10 ++- .../InstantiatedTaskGraphEncoding.java | 11 ++-- .../taskgraph/SafeTaskGraphEncoding.java | 11 ++-- .../encoding/taskgraph/TaskGraphEncoding.java | 20 +++--- .../opt4j/encoding/taskmapping/.ratings | 4 +- .../taskmapping/abstractmapping/.ratings | 4 +- .../AbstractTaskMappingEncoding.java | 20 +++--- .../encoding/taskmapping/constraint/.ratings | 4 +- .../taskmapping/instantiatedmapping/.ratings | 12 ++-- .../InstantiatedTaskMappingEncoding.java | 28 ++++---- .../extensions/compositegene/create/.ratings | 8 +-- .../create/ComposableCreator.java | 10 ++- .../create/ComposableCreatorBase.java | 46 +++++++------ .../create/CompositeCreator.java | 6 +- .../create/CompositeCreatorBase.java | 9 ++- .../extensions/compositegene/decode/.ratings | 12 ++-- .../decode/ComposableDecoder.java | 9 ++- .../decode/ComposableDecoderBase.java | 8 +-- .../decode/CompositeDecoder.java | 16 ++--- .../decode/CompositeDecoderBase.java | 49 +++++++------- .../compositegene/decode/GuiceDecoder.java | 47 ++++++++++++++ .../GuicePhenotype.java} | 60 ++++++++--------- .../decode/PhenotypeDecoder.java | 10 +-- .../compositegene/evaluate/.ratings | 6 +- .../evaluate/ComposableEvaluator.java | 12 ++-- .../evaluate/CompositeEvaluator.java | 17 +++-- .../evaluate/CompositeEvaluatorBase.java | 65 ++++++++----------- .../compositegene/exception/.ratings | 6 +- .../compositegene/genotype/.ratings | 4 +- .../genotype/FlatGenotypeMap.java | 4 +- .../extensions/compositegene/graph/.ratings | 4 +- .../graph/DecoderDependencyGraph.java | 19 +++--- .../compositegene/graph/DecoderEdge.java | 4 +- .../compositegene/phenotype/.ratings | 8 +-- .../phenotype/CompositePhenotype.java | 59 ----------------- .../phenotype/FlatPhenotypeMap.java | 10 +-- .../compositegene/phenotype/Phenotype.java | 38 ++++++++++- ...ePhenotypeBase.java => PhenotypeBase.java} | 48 ++++++-------- .../extensions/compositegene/problem/.ratings | 2 +- .../problem/CompositeProblemModuleBase.java | 9 ++- .../backend/opt4j/extensions/decode/.ratings | 2 +- .../opt4j/extensions/encoding/.ratings | 2 +- .../alg/dse/backend/opt4j/mating/.ratings | 4 +- .../alg/dse/backend/opt4j/operator/.ratings | 4 +- .../operator/copy/partitionmapping/.ratings | 4 +- .../opt4j/operator/copy/platform/.ratings | 4 +- .../operator/copy/safetyfunctionarch/.ratings | 4 +- .../opt4j/operator/copy/taskmapping/.ratings | 6 +- .../backend/opt4j/operator/crossover/.ratings | 20 +++--- .../operator/crossover/failSilent/.ratings | 2 +- .../crossover/faultDetectionVoting/.ratings | 2 +- .../backend/opt4j/operator/mutate/.ratings | 6 +- .../operator/mutate/partitionmapping/.ratings | 8 +-- .../opt4j/operator/mutate/platform/.ratings | 2 +- .../opt4j/operator/mutate/safetyarch/.ratings | 10 +-- .../mutate/taskinstantiation/.ratings | 4 +- .../operator/mutate/taskmapping/.ratings | 12 ++-- .../backend/opt4j/operator/selection/.ratings | 14 ++-- .../alg/dse/backend/opt4j/problem/.ratings | 16 ++--- .../opt4j/problem/ArchitectureDecoder.java | 11 ++-- .../opt4j/problem/DseProblemModuleBase.java | 29 ++++----- .../opt4j/problem/EvaluatorWrapper.java | 6 +- .../dse/backend/opt4j/problem/comm/.ratings | 2 +- .../problem/instantiatetaskgraph/.ratings | 4 +- .../opt4j/problem/partitionmapping/.ratings | 4 +- .../opt4j/problem/safetyfunction/.ratings | 8 +-- .../safetyfunction/SFEncodingDecoder.java | 16 ++--- .../opt4j/problem/taskmapping/.ratings | 4 +- .../AbstractTaskMappingIdentityDecoder.java | 4 +- .../taskmapping/TaskMappingDecoderBase.java | 5 +- .../problem/taskmapping/instantiate/.ratings | 8 +-- .../alg/dse/backend/opt4j/repair/.ratings | 2 +- .../alg/dse/backend/opt4j/solution/.ratings | 12 ++-- .../opt4j/solution/ArchExpSubSolution.java | 5 +- .../opt4j/solution/ArchitectureSolution.java | 32 ++++----- .../opt4j/solution/StrictTTSchedule.java | 55 ++++++++-------- .../exploration/alg/dse/evaluator/.ratings | 12 ++-- .../alg/dse/evaluator/constraint/.ratings | 20 +++--- .../alg/dse/evaluator/objective/.ratings | 10 +-- .../alg/dse/modeltransformation/.ratings | 8 +-- .../alg/dse/modeltransformation/base/.ratings | 8 +-- .../dse/modeltransformation/comparch/.ratings | 12 ++-- .../modeltransformation/deployment/.ratings | 8 +-- .../modeltransformation/dseinternal/.ratings | 12 ++-- .../dse/modeltransformation/element/.ratings | 4 +- .../dse/modeltransformation/graph/.ratings | 4 +- .../modeltransformation/partition/.ratings | 4 +- .../dse/modeltransformation/safety/.ratings | 4 +- .../af3/exploration/alg/dse/sysmodel/.ratings | 4 +- .../alg/dse/sysmodel/arch/.ratings | 34 +++++----- .../alg/dse/sysmodel/arch/af3/.ratings | 26 ++++---- .../alg/dse/sysmodel/arch/af3/helper/.ratings | 2 +- .../alg/dse/sysmodel/arch/taskgraph/.ratings | 10 +-- .../alg/dse/sysmodel/comm/.ratings | 4 +- .../alg/dse/sysmodel/faultmodel/.ratings | 2 +- .../alg/dse/sysmodel/mapping/.ratings | 4 +- .../alg/dse/sysmodel/mapping/comm/.ratings | 6 +- .../alg/dse/sysmodel/random/.ratings | 2 +- .../alg/dse/sysmodel/sched/.ratings | 4 +- .../alg/dse/sysmodel/sched/comm/.ratings | 2 +- .../alg/dse/sysmodel/sched/proc/.ratings | 6 +- .../af3/exploration/alg/exception/.ratings | 14 ++-- .../af3/exploration/alg/graph/.ratings | 6 +- .../exploration/alg/graph/display/.ratings | 12 ++-- .../af3/exploration/alg/guava/.ratings | 16 ++--- .../fortiss/af3/exploration/alg/plot/.ratings | 14 ++-- .../af3/exploration/alg/service/.ratings | 26 ++++---- .../alg/service/ExplorationEncodingMap.java | 13 ++-- .../exploration/alg/service/internal/.ratings | 8 +-- .../ExplorationEvaluationService.java | 4 +- .../fortiss/af3/exploration/alg/util/.ratings | 14 ++-- .../alg/util/ExplorationAlgDebugUtils.java | 49 +++++++------- .../dsl/model/patterns/impl/.ratings | 2 +- .../exploration/model/location/impl/.ratings | 2 +- .../af3/exploration/model/time/impl/.ratings | 4 +- .../moea/model/predefined/impl/.ratings | 10 +-- .../org/fortiss/af3/exploration/util/.ratings | 6 +- 143 files changed, 794 insertions(+), 828 deletions(-) create mode 100644 org.fortiss.af3.exploration.alg/model/.ratings create mode 100644 org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuiceDecoder.java rename org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/{phenotype/ComposablePhenotype.java => decode/GuicePhenotype.java} (68%) delete mode 100644 org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotype.java rename org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/{CompositePhenotypeBase.java => PhenotypeBase.java} (54%) diff --git a/org.fortiss.af3.exploration.alg/model/.ratings b/org.fortiss.af3.exploration.alg/model/.ratings new file mode 100644 index 00000000..f54baab0 --- /dev/null +++ b/org.fortiss.af3.exploration.alg/model/.ratings @@ -0,0 +1,3 @@ +common.ecore 3e3e3a1484cebe698e99621a60be4fa285238c92 RED +explorationDsl.ecore 6950a6116721764800ad6bf3b301e0dec934c365 RED +moea.ecore 099cf6fd45522f4b427d21f6bca28ec493e36c35 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/.ratings index ce6480c4..7cd75bc2 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/.ratings @@ -1,2 +1,2 @@ -ExplorationAlg.java 23b771227aa82ddc80f010e14d1ef977e47fbdd5 RED -ExplorationAlgActivator.java d51cc105f23cc84dee0130d36fbd5bbd840c0398 RED +ExplorationAlg.java 7ef701a3a7624df35f3bb76048af31a41aafe3cd RED +ExplorationAlgActivator.java 1970505dc53286fd3752c909abc568e0bf598fe0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/annotation/valueprovider/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/annotation/valueprovider/.ratings index 17c79725..b4520fba 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/annotation/valueprovider/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/annotation/valueprovider/.ratings @@ -1,3 +1,3 @@ -ComponentImplDiversityRefValueProvider.java d2cbe7d1acefd9941a766ea7cf2ac958a4347ef6 RED -MaxReplicationBoundValueProvider.java 78cde3b9543ff06c9310f96de8ad24e9feacc5d4 RED -MinReplicationBoundValueProvider.java 7ef7176ae0f4e64ad0e0923f09f3bc8fe0a14b67 RED +ComponentImplDiversityRefValueProvider.java 30d88e9a239c9e7db07d94b5279f0e9e01f0724a RED +MaxReplicationBoundValueProvider.java 965e454e52d5ec88bf718c528caa12237e7ddeb6 RED +MinReplicationBoundValueProvider.java c6c1939474c0cd6b47bc89d1c068509039ef270e RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/backend/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/backend/.ratings index ac94feeb..826fc063 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/backend/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/backend/.ratings @@ -1 +1 @@ -Opt4JDseBackend.java f0485dc7fbc69c31f2f7fd15a7dad582ee5d7636 RED +Opt4JDseBackend.java 91928dee43716df571dc3a6a5f4031401ed3ae61 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/.ratings index 09629640..2aec5eb2 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/.ratings @@ -1,6 +1,6 @@ -CompositeExplorationSolution.java 88849af9f8a52684cc523f89e235599e16dd9ac3 RED -DSEFactory.java 0a2f2cc6a197e760c1f8223339ffa5f16856b184 RED -Explorer.java 2194a74cbe51ca9e7dafb008dcefb51a54064dc8 RED -ImplicitExplorationTargetFactory.java 6c16c6712886b549dda0a73aef4a4c3fe18c1850 RED -SolutionQuantification.java efd31f192c3adbf1a4434452a19eb836a17390e2 RED -TaskMappingFactory.java 5e41df9d45e338dbcfa95bc3818ca17774951893 RED +CompositeExplorationSolution.java 1910fcd1d1e4a1b003b7a4e1bb52460eec5362dd RED +DSEFactory.java ae8a0f876a1db3372d116066db10aa1e736980ab RED +Explorer.java 91cdb26b6f42e4e5e82a26f7dbd9141ec2ff7b18 RED +ImplicitExplorationTargetFactory.java 25c3c668ed268843f8af7e37eb03370ed513b482 RED +SolutionQuantification.java 19cd7caa721bbca3112af7825c7fb20a96a4a799 RED +TaskMappingFactory.java 47e6b1cd8e26a4a5e775beddff030dcf5df2e33d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/.ratings index 52edec4a..30eb5f3e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/.ratings @@ -1,3 +1,3 @@ -ExplorerBackendBase.java ed85fa4a1638a3e50df5dc2f9d8bfc09f158452c RED -IExplorerBackend.java 92b54d5179ebb9fe969664a215e1fb701ed98d15 RED -SolutionCandidateBase.java d4b54cf5ec00fc62028d75c44068c99261af3a3c RED +ExplorerBackendBase.java 3171b381ae145417c339607ccc57eb8037cbb354 RED +IExplorerBackend.java 608f40896becf86dd68cc7b6994383e58c0885a8 RED +SolutionCandidateBase.java ba1b16d55680ea45bffd665ac7b0fd71b589b769 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/ExplorerBackendBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/ExplorerBackendBase.java index 704b078e..3171b381 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/ExplorerBackendBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/ExplorerBackendBase.java @@ -23,7 +23,7 @@ import javax.activation.UnsupportedDataTypeException; import org.eclipse.core.runtime.IProgressMonitor; import org.fortiss.af3.exploration.alg.dse.DSEFactory; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.EvaluatorWrapper; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.IExplorationSolution; @@ -62,7 +62,7 @@ public abstract class ExplorerBackendBase<O extends IOptimizer> implements IExpl /** Representation of system model (=input) that is evaluated during this DSE run */ protected SystemModelAdapter<?, ?, ?, ?, ?, ?, ?> systemModelAdapter; - /** Set of requested {@link ComposablePhenotype}s that form the solution set. */ + /** Set of requested {@link Phenotype}s that form the solution set. */ protected Set<Class<? extends IExplorationEncoding>> requestedSolutions; /** diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/.ratings index 1a8861b9..a26bfd56 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/.ratings @@ -1,3 +1,3 @@ -Opt4JExplorationSolutionSet.java fd1ca946198990604ea7a521e9d0335bef4ad8e1 RED -Opt4JExplorerBackend.java 60aa6a82a54b7fff0819591939fb91db10116bf1 RED -Opt4JSingleExplorationSolution.java 5b9e6ccdb887605faaa4d2a8b17b8fa1350fbafd RED +Opt4JExplorationSolutionSet.java 8578ee9c438bc3327a64172e996306a89606c782 RED +Opt4JExplorerBackend.java 000231dcd7f3a76d06567c7bb987410fa80602ba RED +Opt4JSingleExplorationSolution.java 41ce92d11b2e7a6a8c39bffa990c691160c36c8d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/.ratings index e93a81d6..a3003df9 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/.ratings @@ -1,2 +1,2 @@ -ArchitectureExplorationCreator.java d0a638d783ec90959bf1f95af42ea5a15606ebd2 RED -InitialEncodingProvider.java 20e7cff927769c1911855e1549eca382be3effea RED +ArchitectureExplorationCreator.java 1d101999bf56eca36a607b45c7e8fddb5fe06b67 RED +InitialEncodingProvider.java d378a0d5e952144ee93eff3557bd2253f84e62a9 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/partitionmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/partitionmapping/.ratings index b6c77c3a..4f0e777b 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/partitionmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/partitionmapping/.ratings @@ -1 +1 @@ -PartitionMappingCreator.java 624850b3bbf31e965005ed1acf8622e81f1103b6 RED +PartitionMappingCreator.java 6c83f8a857b0fa1e1bf90121a91d58038ed5d9d0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/platform/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/platform/.ratings index 8581fab1..0076d06e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/platform/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/platform/.ratings @@ -1 +1 @@ -PlatformCommunicationGraphCreator.java fd016186eea8e716f9f6699b46c5d386acf2db8a RED +PlatformCommunicationGraphCreator.java 54301f92ded2065b76a45ad27aeb6a8dcbac01fb RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/safetyfunctionarch/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/safetyfunctionarch/.ratings index a6d95f4f..e864fdd3 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/safetyfunctionarch/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/safetyfunctionarch/.ratings @@ -1 +1 @@ -SafetyFunctionArchCreator.java 29178efd61d31c86d719a8fac9a110745e3cf5aa RED +SafetyFunctionArchCreator.java e15712cd3dbf2a62f38c5dcad6cf101fff8525e1 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings index 5c511d7e..0003728d 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings @@ -1,4 +1,4 @@ -AbstractTaskMappingCreator.java f0cee5bfa4e83539c2b7ad2ac8e66c1457c39ab5 RED -FailSilentTaskMappingCreator.java e21d4f6d6ed24fb42adeb9cd9f7b0069aeb40fd5 RED -FaultDetectionVotingTaskMappingCreator.java 8b18ef5401d28cc61ba4ce3545c16d531289549e RED -TaskMappingCreator.java 154b1528e3b96078a4f00a633adce5fbe6233151 RED +AbstractTaskMappingCreator.java 813a927b1b10b29e7707f4207901d3e0a3529b43 RED +FailSilentTaskMappingCreator.java 7375dc0d4c424606672e0fd88a2f97bf2f0c58ea RED +FaultDetectionVotingTaskMappingCreator.java 0b8ce4eb8f73d3fa0fa1d3ef0d4ffec2e2be253e RED +TaskMappingCreator.java 1b09ee1d49cd4a8424d922fa605463f810063c78 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings index eee0df77..d60cb801 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings @@ -1,4 +1,4 @@ -ArchExpSubEncoding.java 60e13a2cb13bb36e9f8f7149f322dbed5398eafb RED -ArchitectureExplorationEncoding.java e7ff265079ae5838bf84abf9d05712409031a970 RED -MappingEncoding.java f23852b2e5ae6e327a6c5609142e0307ca6bf5a1 RED -MappingEntryBase.java 8dfa84697f5042eb09522d4fc49a58115c6e3027 RED +ArchExpSubEncoding.java 0cd944e97251e7e37e06400b104bc3158f5ee30e RED +ArchitectureExplorationEncoding.java fbc6b8031c3673ff380a044398faac7ee18dcc39 RED +MappingEncoding.java 75baf2518a5be578cc35bfec4b2a305d29bef1e9 RED +MappingEntryBase.java 6c8e8c59126d3d381fc98284f2ce2bef469b0b4d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEncoding.java index 7d6c8ae7..75baf251 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEncoding.java @@ -23,7 +23,7 @@ import java.util.Map; import java.util.Map.Entry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEncoding; @@ -40,7 +40,7 @@ import com.google.common.collect.ListMultimap; * @author diewald */ public abstract class MappingEncoding<G extends Genotype, S extends IRequestAdapter<?>, T extends IResourceAdapter<?>, M extends IMappingEntry<S, T>> - implements ComposablePhenotype<G>, IMappingEncoding<S, T, M>, Cloneable { + extends PhenotypeBase implements IMappingEncoding<S, T, M>, Cloneable { /** * Allocation map diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings index c2323e22..2fee1268 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings @@ -1 +1 @@ -MessageEncoding.java 523e16c2ec3d890b6715bfcd24ab39da4f850621 RED +MessageEncoding.java bb8e1c30c878dc4fe0bc56aa097060ac003ad891 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java index ced70c11..bb8e1c30 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java @@ -22,7 +22,8 @@ import java.util.Collection; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition; 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.extensions.compositegene.phenotype.ComposablePhenotype; +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.sysmodel.arch.ISignalAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.comm.Message; @@ -35,7 +36,7 @@ import org.fortiss.af3.exploration.alg.service.IExplorationEncoding; * @author diewald */ public class MessageEncoding<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>> - implements IExplorationEncoding, ComposablePhenotype<T> { + extends PhenotypeBase implements IExplorationEncoding { /** Contains the set of generated messages. */ Collection<Message> messages; @@ -57,9 +58,8 @@ public class MessageEncoding<S extends TaskMappingEntry<ITaskAdapter<?>, Partiti } /** {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)MessageEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return MessageEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/.ratings index 34829a41..69f806a9 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/.ratings @@ -1 +1 @@ -InternalIsolatedCommunicationSet.java 46aa91e7690c31e46c6e852d8eed54b246fa4654 RED +InternalIsolatedCommunicationSet.java 7b5f0edda6a6bcadd60ced408f214c5d4bac59c0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/.ratings index f053d6c1..0f36a288 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/.ratings @@ -1,3 +1,3 @@ -Partition.java 9cde7e1eed7eb12767b0f8f2c104afab6d64a9c1 RED -PartitionMappingEncoding.java 45388dce4228074541b17410baabf30f9c22f858 RED -PartitionMappingEntry.java 2f8f082e6bcd49dbe2f5ba88724850b54b20d637 RED +Partition.java 89cfb87a73d3ae080a9dbe5594b48ad552f7a9f1 RED +PartitionMappingEncoding.java f974bacb9d792679e784b150b5ed4bf04b07987d RED +PartitionMappingEntry.java 1af8d4e9544e3493329d93fc5d948b9d5e0bb158 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/PartitionMappingEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/PartitionMappingEncoding.java index 0bad93c3..f974bacb 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/PartitionMappingEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/partitionmapping/PartitionMappingEncoding.java @@ -22,7 +22,7 @@ import java.util.Map; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.MappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.IResourceAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.random.RandomExploration; @@ -33,7 +33,8 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.random.RandomExploration; * * @author diewald */ -public class PartitionMappingEncoding extends +public class PartitionMappingEncoding + extends MappingEncoding<PartitionMappingEncoding, Partition, IResourceAdapter<?>, PartitionMappingEntry> implements ComposableGenotype, Cloneable { /** Set of physical target resources, i.e., execution units. */ @@ -131,7 +132,7 @@ public class PartitionMappingEncoding extends /** {@inheritDoc} */ @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { + public Class<? extends Phenotype> getPTypeToRegister() { return getClass(); } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings index d5a16a58..3fab49e2 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings @@ -1 +1 @@ -PlatformCommunicationGraphEncoding.java 69cdf4968c8572f70b4360b0c027cf6cbfd28a92 RED +PlatformCommunicationGraphEncoding.java f0361039e0d012f0de4f4f29982cb271039dcf1a RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java index e44f92b6..f0361039 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java @@ -15,9 +15,9 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.platform; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.PartitionMappingEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.sysmodel.arch.IResourceAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.graph.display.JGraphTVisualizer; @@ -33,8 +33,8 @@ import org.jgrapht.graph.DefaultEdge; * * @author diewald */ -public class PlatformCommunicationGraphEncoding implements IExplorationEncoding, ComposableGenotype, - ComposablePhenotype<PartitionMappingEncoding>, Cloneable { +public class PlatformCommunicationGraphEncoding extends PhenotypeBase implements + IExplorationEncoding, ComposableGenotype, Cloneable { /** The graph representing the communication structure of a platform. */ protected DirectedGraph<IResourceAdapter<?>, DefaultEdge> platformGraph; @@ -84,7 +84,7 @@ public class PlatformCommunicationGraphEncoding implements IExplorationEncoding, /** {@inheritDoc} */ @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { + public Class<? extends Phenotype> getPTypeToRegister() { return PlatformCommunicationGraphEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/.ratings index ea3901e2..5a9feb1b 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/.ratings @@ -1,2 +1,2 @@ -SafetyFunctionArchEncoding.java 08787ff7cf5544ad80b1ff85c953ab6c51a9881a RED -SafetyFunctionArchEntry.java ec95cc0ef4c297fa97555cbcf803049e53039fad RED +SafetyFunctionArchEncoding.java d66e000c4063e5c0938085d73030970695b6478e RED +SafetyFunctionArchEntry.java 745ccb0f4754be1610fdfa4f9cc6947348c6c154 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/SafetyFunctionArchEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/SafetyFunctionArchEncoding.java index d2877386..d66e000c 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/SafetyFunctionArchEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/safetyfunctionarch/SafetyFunctionArchEncoding.java @@ -27,7 +27,8 @@ import java.util.Optional; import java.util.stream.Collectors; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.sysmodel.arch.ISafetyFunctionAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.random.RandomExploration; import org.fortiss.af3.exploration.alg.service.IExplorationEncoding; @@ -40,8 +41,8 @@ import org.opt4j.core.Genotype; * * @author diewald */ -public class SafetyFunctionArchEncoding<C> implements IExplorationEncoding, ComposableGenotype, - ComposablePhenotype<SafetyFunctionArchEncoding<C>>, Cloneable { +public class SafetyFunctionArchEncoding<C> extends PhenotypeBase implements IExplorationEncoding, + ComposableGenotype, Cloneable { /** Random generator */ private RandomExploration rand = RandomExploration.getInstance(); @@ -179,9 +180,8 @@ public class SafetyFunctionArchEncoding<C> implements IExplorationEncoding, Comp } /** {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)SafetyFunctionArchEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return SafetyFunctionArchEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings index eb0056ef..8f88c0bd 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings @@ -1,5 +1,5 @@ -AbstractTaskGraphEncoding.java 1a6b9a31e85b0bba9ab59ef893558537ac6dfc7d RED -InstantiatedAcyclicTaskGraphEncoding.java 03f8687d9f83bd48bd545856160d6a022ba58228 RED -InstantiatedTaskGraphEncoding.java 18284256299c6ce54226254aab867e41a6530141 RED -SafeTaskGraphEncoding.java 27f0d06ed34f1cd46dee7332f32fc13279d55cc9 RED -TaskGraphEncoding.java 21b7be288439e4ee61d2726720a32fdcbfcfcbcf RED +AbstractTaskGraphEncoding.java 6877ab11ffa719fc830f7cfc8992c85df9d00531 RED +InstantiatedAcyclicTaskGraphEncoding.java 6457b136cecb40baff385e415e2d1a975f82c090 RED +InstantiatedTaskGraphEncoding.java a97dab2f3695c9d3a4ab62e5fbe062c736c9baaf RED +SafeTaskGraphEncoding.java bf51882e640d22da5e82e2203b29d50beddc7b0e RED +TaskGraphEncoding.java 44dba5f97c80579f31fcb14f0d1fabfa80a6734a RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/AbstractTaskGraphEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/AbstractTaskGraphEncoding.java index 400f4288..6877ab11 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/AbstractTaskGraphEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/AbstractTaskGraphEncoding.java @@ -18,7 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph; import java.util.Collection; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.DefaultTaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; @@ -28,8 +28,8 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; * * @author diewald */ -public class AbstractTaskGraphEncoding<G extends ComposableGenotype, C> - extends TaskGraphEncoding<G, C, DefaultTaskGraph<?>> { +public class AbstractTaskGraphEncoding<G extends ComposableGenotype, C> extends + TaskGraphEncoding<G, C, DefaultTaskGraph<?>> { /** Constructor. */ public AbstractTaskGraphEncoding(Collection<? extends DefaultTaskGraph<?>> originalTaskGraphs, @@ -45,7 +45,7 @@ public class AbstractTaskGraphEncoding<G extends ComposableGenotype, C> /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)AbstractTaskGraphEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return AbstractTaskGraphEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedAcyclicTaskGraphEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedAcyclicTaskGraphEncoding.java index 31bcc495..6457b136 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedAcyclicTaskGraphEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedAcyclicTaskGraphEncoding.java @@ -19,7 +19,7 @@ import java.util.Collection; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEncoding; 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.ComposablePhenotype; +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.DefaultTaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; @@ -40,15 +40,13 @@ public class InstantiatedAcyclicTaskGraphEncoding<T extends InstantiatedTaskMapp } /** Copy Constructor. See {@link TaskGraphEncoding#TaskGraphEncoding(TaskGraphEncoding)}. */ - public InstantiatedAcyclicTaskGraphEncoding( - InstantiatedAcyclicTaskGraphEncoding<T, C> encoding) { + public InstantiatedAcyclicTaskGraphEncoding(InstantiatedAcyclicTaskGraphEncoding<T, C> encoding) { super(encoding); } /** {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)InstantiatedAcyclicTaskGraphEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return InstantiatedAcyclicTaskGraphEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedTaskGraphEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedTaskGraphEncoding.java index bb630ced..a97dab2f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedTaskGraphEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/InstantiatedTaskGraphEncoding.java @@ -19,7 +19,7 @@ import java.util.Collection; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEncoding; 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.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.DefaultTaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; @@ -28,8 +28,8 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; * * @author diewald */ -public class InstantiatedTaskGraphEncoding<T extends InstantiatedTaskMappingEntry, C> - extends TaskGraphEncoding<InstantiatedTaskMappingEncoding<T>, C, DefaultTaskGraph<?>> { +public class InstantiatedTaskGraphEncoding<T extends InstantiatedTaskMappingEntry, C> extends + TaskGraphEncoding<InstantiatedTaskMappingEncoding<T>, C, DefaultTaskGraph<?>> { /** Constructor. */ public InstantiatedTaskGraphEncoding(Collection<DefaultTaskGraph<?>> originalTaskGraphs, Double hyperPeriod) { @@ -42,9 +42,8 @@ public class InstantiatedTaskGraphEncoding<T extends InstantiatedTaskMappingEntr } /** {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)InstantiatedTaskGraphEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return InstantiatedTaskGraphEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/SafeTaskGraphEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/SafeTaskGraphEncoding.java index 68d4a0a8..bf51882e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/SafeTaskGraphEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/SafeTaskGraphEncoding.java @@ -18,7 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph; import java.util.Collection; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunctionarch.SafetyFunctionArchEncoding; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.taskgraph.DefaultTaskGraph; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; @@ -29,8 +29,8 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph; * * @author diewald */ -public class SafeTaskGraphEncoding<C> - extends AbstractTaskGraphEncoding<SafetyFunctionArchEncoding<C>, C> { +public class SafeTaskGraphEncoding<C> extends + AbstractTaskGraphEncoding<SafetyFunctionArchEncoding<C>, C> { /** Collection of task graphs extracted from the input models. */ Collection<TaskGraph> originalTaskGraphs; @@ -59,9 +59,8 @@ public class SafeTaskGraphEncoding<C> } /** {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)SafeTaskGraphEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return SafeTaskGraphEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java index ec7985e9..44dba5f9 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java @@ -22,7 +22,8 @@ import java.util.HashSet; import org.eclipse.emf.ecore.EObject; import org.fortiss.af3.component.model.Component; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.sysmodel.arch.IExecutionUnitAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.SignalAdapterWeightedEdge; @@ -37,8 +38,8 @@ import org.opt4j.core.Genotype; * * @author diewald */ -public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph> - implements IExplorationEncoding, ComposablePhenotype<G>, Cloneable { +public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph> extends PhenotypeBase + implements IExplorationEncoding, Cloneable { /** {@link TaskGraph} that represents the deployable components and their signals. */ protected Collection<T> taskGraphs; @@ -91,8 +92,8 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph> } /** - * Adds the given {@link ITaskAdapter} to its corresponding {@link TaskGraph} in - * {@code this} encoding. + * Adds the given {@link ITaskAdapter} to its corresponding {@link TaskGraph} in {@code this} + * encoding. */ public void addTask(ITaskAdapter<C> task) { // TODO: Here, we use the assumption that the given task refers to a task that is also @@ -111,9 +112,8 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph> } /** - * Adds all signals defined in the input models for the given - * {@link ITaskAdapter} which must be contained in any of the internal - * {@link TaskGraph}s. + * Adds all signals defined in the input models for the given {@link ITaskAdapter} which must be + * contained in any of the internal {@link TaskGraph}s. */ public void addSignalsOf(ITaskAdapter<C> task, TaskGraph origTaskGraph) { // The given task must be in the any of the task graphs! @@ -286,7 +286,7 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph> /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)TaskGraphEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return (Class<? extends Phenotype>)TaskGraphEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings index ceadd362..c7152a3e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings @@ -1,2 +1,2 @@ -TaskMappingEncoding.java 978f19bbba5b01c9b5157292775610d2a40df378 RED -TaskMappingEntry.java 8872e14a5d29f267ce2be78e9a3f3f817f16edd2 RED +TaskMappingEncoding.java 49480f278fb9d8c40710ef8b8fc574b325c62a54 RED +TaskMappingEntry.java 407c9065007f8cd4adc8b64eea13a837bba581ae RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings index 80ee4955..bc824ed6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings @@ -1,2 +1,2 @@ -AbstractTaskMappingEncoding.java 285c8a15dda294bee34119d914e46bd8f0864283 RED -AbstractTaskMappingEntry.java 0bef4c1102baf6bfbddc759fd103cf18df4b5553 RED +AbstractTaskMappingEncoding.java 9ce20cd18e406164d3c7f5365cef6277e582e094 RED +AbstractTaskMappingEntry.java 5a402c12dbf882f6c6f19146a66f837764f50e1f RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java index bf776e42..9ce20cd1 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java @@ -26,7 +26,7 @@ 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.TaskMappingEntry; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.exception.ExplorationException; import org.fortiss.af3.exploration.moea.model.DseSpecification; @@ -38,8 +38,8 @@ import org.opt4j.core.Genotype; * * @author diewald */ -public class AbstractTaskMappingEncoding - extends TaskMappingEncoding<ITaskAdapter<?>, AbstractTaskMappingEntry> { +public class AbstractTaskMappingEncoding extends + TaskMappingEncoding<ITaskAdapter<?>, AbstractTaskMappingEntry> { /** * Constructor that is initialized with a reference to the DSE specification and the input @@ -54,8 +54,7 @@ public class AbstractTaskMappingEncoding * Constructor that optionally initializes the encoding to a random encoding * * @throws ExplorationException - * if no valid allocation targets can be identified for one - * {@link ITaskAdapter}. + * if no valid allocation targets can be identified for one {@link ITaskAdapter}. */ public AbstractTaskMappingEncoding(DseSpecification dse, PartitionMappingEncoding partEnc, SafeTaskGraphEncoding<?> tgEncoding, boolean initialize) throws ExplorationException { @@ -72,12 +71,10 @@ public class AbstractTaskMappingEncoding * Constructor for UPDATES. * * @throws ExplorationException - * if no valid allocation targets can be identified for one - * {@link ITaskAdapter}. + * if no valid allocation targets can be identified for one {@link ITaskAdapter}. */ public AbstractTaskMappingEncoding(DseSpecification dse, PartitionMappingEncoding partEnc, - AbstractTaskGraphEncoding<?, ?> atgEnc, boolean initialize) - throws ExplorationException { + AbstractTaskGraphEncoding<?, ?> atgEnc, boolean initialize) throws ExplorationException { super(dse, partEnc, atgEnc, initialize); } @@ -88,8 +85,7 @@ public class AbstractTaskMappingEncoding * Constructor for UPDATES. * * @throws ExplorationException - * if no valid allocation targets can be identified for one - * {@link ITaskAdapter}. + * if no valid allocation targets can be identified for one {@link ITaskAdapter}. */ public AbstractTaskMappingEncoding(DseSpecification dse, PartitionMappingEncoding partEnc, AbstractTaskGraphEncoding<?, ?> atgEnc, AbstractTaskMappingEncoding partialEncoding) @@ -151,7 +147,7 @@ public class AbstractTaskMappingEncoding /** {@inheritDoc} */ @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { + public Class<? extends Phenotype> getPTypeToRegister() { return AbstractTaskMappingEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings index e276d792..97f4a023 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings @@ -1,2 +1,2 @@ -InternalReplicationConstraint.java 32ce4fbb95f5a887fa808c13276a4cc3d25e70da RED -InternalSeparationConstraint.java e9ffce7d46b5cd8ae4a7fe66ade1e7c074c744b2 RED +InternalReplicationConstraint.java 78cc908ad03ea3881e2434b483032a309bcd1dc2 RED +InternalSeparationConstraint.java ca06fdc9d7a9384e5247776627ca6710ebc8fbb8 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings index 962cb0eb..972b0d37 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings @@ -1,6 +1,6 @@ -FailSilentTaskMappingEncoding.java 6cd0c0d865f7930e9c1ef5aa24006c1c118f9ad8 RED -FailSilentTaskMappingEntry.java 28c15e958f6208c1c65e5076bc7c3be26d7a2dc9 RED -FaultDetectionVotingTaskMappingEncoding.java dee2b30029af89891814450e064cbfdb70af3124 RED -FaultDetectionVotingTaskMappingEntry.java c6f6588154665d765b506850a78d8a434000c843 RED -InstantiatedTaskMappingEncoding.java 35e480631da67eebd5e52d20485b6a76c9f030ec RED -InstantiatedTaskMappingEntry.java 06181aa57ffb0c269c4dac8047cdccc2ae7afdd9 RED +FailSilentTaskMappingEncoding.java e5a362b79a9f1b78a09b4b18b6538ed4bf4dfbfe RED +FailSilentTaskMappingEntry.java b73b4242c590b45ad30c482390fee8eaa06179dc RED +FaultDetectionVotingTaskMappingEncoding.java e906d793528ba8a329b3549ead4b904135ce73bb RED +FaultDetectionVotingTaskMappingEntry.java ae401b16a2098ee85809f895c2469f494b6fc279 RED +InstantiatedTaskMappingEncoding.java d875cefeb1bcc28550804ee102c9dd63ea0dc8f6 RED +InstantiatedTaskMappingEntry.java ffac1e77d53b2a9253b864b876aae18b6820f1f0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java index f5653360..d875cefe 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java @@ -24,7 +24,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta 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.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.ITaskAdapter; import org.fortiss.af3.exploration.alg.exception.ExplorationException; @@ -62,8 +62,7 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask * Constructor that optionally initializes the encoding to a random encoding * * @throws ExplorationException - * if no valid allocation targets can be identified for one - * {@link ITaskAdapter}. + * if no valid allocation targets can be identified for one {@link ITaskAdapter}. */ public InstantiatedTaskMappingEncoding(DseSpecification dse, PartitionMappingEncoding partEnc, AbstractTaskGraphEncoding<?, ?> tgEncoding, boolean initialize) @@ -76,18 +75,16 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask * given {@link AbstractTaskMappingEncoding}. */ public InstantiatedTaskMappingEncoding(DseSpecification dse, PartitionMappingEncoding partEnc, - AbstractTaskGraphEncoding<?, ?> tgEncoding, - AbstractTaskMappingEncoding abstractEncoding) { + AbstractTaskGraphEncoding<?, ?> tgEncoding, AbstractTaskMappingEncoding abstractEncoding) { super(dse, partEnc, tgEncoding); this.constraintMap = abstractEncoding.copyConstraintMap(null); instantiateAbstractEntries(abstractEncoding); } /** - * Instantiates the {@link ITaskAdapter}s of the given - * {@link AbstractTaskMappingEncoding} which must be replaced by a "concrete" - * {@link ITaskAdapter} representing one possible implementation of the - * {@link ITaskAdapter} that shall be replaced. (ref. Diversity) + * Instantiates the {@link ITaskAdapter}s of the given {@link AbstractTaskMappingEncoding} which + * must be replaced by a "concrete" {@link ITaskAdapter} representing one possible + * implementation of the {@link ITaskAdapter} that shall be replaced. (ref. Diversity) */ public void instantiateAbstractEntries(AbstractTaskMappingEncoding abstractEncoding) { for(AbstractTaskMappingEntry abstractEntry : abstractEncoding.getMappingEntries()) { @@ -100,8 +97,8 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask /** {@inheritDoc} */ @Override - public Collection<IExecutionUnitAdapter<?>> - getAllowedAllocations(ITaskAdapter<?> deployableComponent) { + public Collection<IExecutionUnitAdapter<?>> getAllowedAllocations( + ITaskAdapter<?> deployableComponent) { if(deployableComponent.isInstantiation()) { deployableComponent = deployableComponent.getReplacedComponent(); } @@ -110,8 +107,8 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask /** {@inheritDoc} */ @Override - public Collection<IExecutionUnitAdapter<?>> - getDisAllowedAllocations(ITaskAdapter<?> deployableComponent) { + public Collection<IExecutionUnitAdapter<?>> getDisAllowedAllocations( + ITaskAdapter<?> deployableComponent) { if(deployableComponent.isInstantiation()) { deployableComponent = deployableComponent.getReplacedComponent(); } @@ -125,9 +122,8 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask } /** {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)InstantiatedTaskMappingEncoding.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return InstantiatedTaskMappingEncoding.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings index a0053d4e..c2b05422 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings @@ -1,4 +1,4 @@ -ComposableCreator.java 14cb174847cd3a0882bc4fd17cf8cbe18b2b7f36 RED -ComposableCreatorBase.java 336e1e319b4a7650851eddf0417f6dd6726afff7 RED -CompositeCreator.java 65ab9f283191b081e40e8587431fd0a95f1daca6 RED -CompositeCreatorBase.java ac356e2a17e5929c965f14766d85e609eaf011d2 RED +ComposableCreator.java 6d2d61205890a2b0b99f41d2caa4debc511c8b4a RED +ComposableCreatorBase.java e1a898541dd2b480e6c345ad2429bf93393957e6 RED +CompositeCreator.java bb054d281931f461ca67def20360cc767940e204 RED +CompositeCreatorBase.java d897947ff0db02ea1cac4034a4912f9afce283ec RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreator.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreator.java index 5b5a4e83..6d2d6120 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreator.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreator.java @@ -22,7 +22,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.FlatGenotypeMap; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.exception.ExplorationException; @@ -64,8 +63,7 @@ public interface ComposableCreator<G extends ComposableGenotype> { * @param decoders * List of {@link Decoder}s that are executed in the order of the List. */ - void registerAssocDecoders( - List<ComposableDecoder<G, ? extends ComposablePhenotype<G>>> decoders); + void registerAssocDecoders(List<ComposableDecoder<G, ? extends Phenotype>> decoders); /** * Registers {@link Decoder}s that decode the {@link Genotype} created by {@code this} @@ -95,7 +93,7 @@ public interface ComposableCreator<G extends ComposableGenotype> { * {@link Decoder}s. * @throws DecodingException */ - <P extends ComposablePhenotype<G>> FlatPhenotypeMap<Phenotype> decodeCreatedGenotype(G genotype, + <P extends Phenotype> FlatPhenotypeMap<Phenotype> decodeCreatedGenotype(G genotype, FlatPhenotypeMap<Phenotype> decodedPhenotypes, Set<Class<? extends Genotype>> createdGenotypeTypeSet) throws DecodingException; @@ -112,8 +110,8 @@ public interface ComposableCreator<G extends ComposableGenotype> { * @throws DecodingException * if the identity decoder fails. */ - <P extends ComposablePhenotype<G>> FlatPhenotypeMap<Phenotype> identityDecodeCreatedGenotype( - G genotype, FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException; + <P extends Phenotype> FlatPhenotypeMap<Phenotype> identityDecodeCreatedGenotype(G genotype, + FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException; /** Returns the type of the created {@link IExplorationEncoding} / {@link Genotype}. */ Class<? extends IExplorationEncoding> getCreatedEncodingType(); diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java index 69bbbb7a..e1a89854 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java @@ -29,7 +29,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.graph.DecoderDependencyGraph; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.decode.ConstraintGenerationDecoder; @@ -45,17 +44,16 @@ import org.opt4j.core.problem.Decoder; * * @author diewald */ -public abstract class ComposableCreatorBase<G extends ComposableGenotype> - implements ComposableCreator<G> { +public abstract class ComposableCreatorBase<G extends ComposableGenotype> implements + ComposableCreator<G> { /** References the {@link ComposableDecoder}s that decode the created {@link Genotype}. */ - private List<ComposableDecoder<G, ? extends ComposablePhenotype<G>>> subDecoders = - new ArrayList<>(); + private List<ComposableDecoder<G, ? extends Phenotype>> subDecoders = new ArrayList<>(); /** * Captures which {@link ComposableDecoder}s were already executed to avoid multiple executions * of already executed decoders in the creation phase. */ - private Map<ComposableDecoder<G, ? extends ComposablePhenotype<G>>, Boolean> decoderExecuted = + private Map<ComposableDecoder<G, ? extends Phenotype>, Boolean> decoderExecuted = new HashMap<>(); /** @@ -71,8 +69,7 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> /** {@inheritDoc} */ @Override - public void registerAssocDecoders( - List<ComposableDecoder<G, ? extends ComposablePhenotype<G>>> decoders) { + public void registerAssocDecoders(List<ComposableDecoder<G, ? extends Phenotype>> decoders) { subDecoders.addAll(decoders); decoders.forEach(d -> decoderExecuted.put(d, false)); } @@ -82,8 +79,8 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> @Override final public void registerAssocDecoders(ComposableDecoder<G, ?>... decoders) { for(ComposableDecoder<G, ?> dec : decoders) { - @SuppressWarnings("unchecked") ComposableDecoder<G, ? extends ComposablePhenotype<G>> castedDec = - (ComposableDecoder<G, ? extends ComposablePhenotype<G>>)dec; + @SuppressWarnings("unchecked") ComposableDecoder<G, ? extends Phenotype> castedDec = + dec; subDecoders.add(castedDec); decoderExecuted.put(castedDec, false); } @@ -96,8 +93,8 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> */ @SuppressWarnings("unchecked") @Override - public <P extends ComposablePhenotype<G>> FlatPhenotypeMap<Phenotype> decodeCreatedGenotype( - G genotype, FlatPhenotypeMap<Phenotype> decodedPhenotypes, + public <P extends Phenotype> FlatPhenotypeMap<Phenotype> decodeCreatedGenotype(G genotype, + FlatPhenotypeMap<Phenotype> decodedPhenotypes, Set<Class<? extends Genotype>> createdGenotypeTypeSet) throws DecodingException { FlatPhenotypeMap<Phenotype> phenotypes = new FlatPhenotypeMap<>(); Collection<Class<? extends IExplorationEncoding>> reqPhenotypeTypes = @@ -106,11 +103,12 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> intermediatePhenos.addAll(decodedPhenotypes); Optional<? extends ComposableDecoder<G, P>> idDecoder = - (Optional<? extends ComposableDecoder<G, P>>)subDecoders.stream().filter( - d -> Arrays.asList(genotype.getClass()).containsAll(d.getRequiredTypes())) - .findAny(); + (Optional<? extends ComposableDecoder<G, P>>)subDecoders + .stream() + .filter(d -> Arrays.asList(genotype.getClass()).containsAll( + d.getRequiredTypes())).findAny(); - for(ComposableDecoder<G, ? extends ComposablePhenotype<G>> decoder : subDecoders) { + for(ComposableDecoder<G, ? extends Phenotype> decoder : subDecoders) { /* * if(!isHybridPhenoRequiredAndCreated(createdGenotypeTypeSet, * decoder.getRequiredTypes()) || @@ -136,8 +134,8 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> if(decPhenotype != null) { if(decPhenotype instanceof TaskMappingEncoding && - !ExplorationAlgDebugUtils.checkTaskMappingForSFConsistency( - (TaskMappingEncoding<ITaskAdapter<?>, ?>)decPhenotype)) { + !ExplorationAlgDebugUtils + .checkTaskMappingForSFConsistency((TaskMappingEncoding<ITaskAdapter<?>, ?>)decPhenotype)) { // TODO: Remove this debug code. Is an Exception required instead? System.out.println("Error."); } @@ -152,9 +150,8 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> /** {@inheritDoc} */ @Override - public <P extends ComposablePhenotype<G>> FlatPhenotypeMap<Phenotype> - identityDecodeCreatedGenotype(G genotype, FlatPhenotypeMap<Phenotype> decodedPhenotypes) - throws DecodingException { + public <P extends Phenotype> FlatPhenotypeMap<Phenotype> identityDecodeCreatedGenotype( + G genotype, FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException { FlatPhenotypeMap<Phenotype> phenotypes = new FlatPhenotypeMap<>(); FlatPhenotypeMap<Phenotype> intermediatePhenos = new FlatPhenotypeMap<>(); intermediatePhenos.addAll(decodedPhenotypes); @@ -162,9 +159,10 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype> // If an identity decoder is present, execute it before any other decoder to ensure all // required data is available to the decoders. @SuppressWarnings("unchecked") Optional<? extends ComposableDecoder<G, P>> idDecoder = - (Optional<? extends ComposableDecoder<G, P>>)subDecoders.stream().filter( - d -> Arrays.asList(genotype.getClass()).containsAll(d.getRequiredTypes())) - .findAny(); + (Optional<? extends ComposableDecoder<G, P>>)subDecoders + .stream() + .filter(d -> Arrays.asList(genotype.getClass()).containsAll( + d.getRequiredTypes())).findAny(); if(idDecoder.isPresent()) { P decPhenotype = idDecoder.get().decodeComposable(genotype, intermediatePhenos); if(decPhenotype == null) { diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreator.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreator.java index 152e09ec..bb054d28 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreator.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreator.java @@ -17,7 +17,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositege import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.opt4j.core.genotype.CompositeGenotype; import org.opt4j.core.problem.Creator; @@ -39,8 +39,8 @@ public interface CompositeCreator<G extends CompositeGenotype<Class<? extends Co * * @throws DecodingException */ - <N extends ComposableGenotype, P extends ComposablePhenotype<N>> void createSubGenotypes( - G compositeGenotype) throws DecodingException; + <N extends ComposableGenotype, P extends Phenotype> void + createSubGenotypes(G compositeGenotype) throws DecodingException; /** * Registers a {@link Creator} of a {@link ComposableGenotype} with this diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreatorBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreatorBase.java index 88bb3e8d..d897947f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreatorBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/CompositeCreatorBase.java @@ -21,7 +21,6 @@ import java.util.List; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.FlatGenotypeMap; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.exception.ExplorationException; @@ -63,8 +62,8 @@ public abstract class CompositeCreatorBase<G extends CompositeGenotype<Class<? e */ // TODO: Also requires the dependency graph? @Override - public <N extends ComposableGenotype, P extends ComposablePhenotype<N>> void - createSubGenotypes(G compositeGenotype) throws DecodingException { + public <N extends ComposableGenotype, P extends Phenotype> void createSubGenotypes( + G compositeGenotype) throws DecodingException { FlatGenotypeMap createdGenotypes = new FlatGenotypeMap(); FlatPhenotypeMap<Phenotype> decodedPhenotypes = new FlatPhenotypeMap<>(); @@ -86,8 +85,8 @@ public abstract class CompositeCreatorBase<G extends CompositeGenotype<Class<? e // Directly execute the identity decoders. They have no other dependencies, but allow // the access to the created - decodedPhenotypes.addAll( - castedCreator.identityDecodeCreatedGenotype(subGenotype, decodedPhenotypes)); + decodedPhenotypes.addAll(castedCreator.identityDecodeCreatedGenotype(subGenotype, + decodedPhenotypes)); // TODO #checking: invoke the checking here. diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/.ratings index 2600abd4..220d028a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/.ratings @@ -1,5 +1,7 @@ -ComposableDecoder.java 197abec80b880e25fccfc66d61b471b0b5d7e10f RED -ComposableDecoderBase.java 96e7e4b9f24902b2699e04401225935108cc0d29 YELLOW -CompositeDecoder.java 9d34dd0b342e6433ab894974f9430531ce2de39a RED -CompositeDecoderBase.java 1bc1860ed616010f7f459ed6579989f155f607c2 RED -PhenotypeDecoder.java 44079e8545aaf8b8729919f0b07c774c3ca0df06 RED +ComposableDecoder.java 0ef247e0e8424968cd8dab8317df0e504c5018d4 RED +ComposableDecoderBase.java 7a4c510bcdff54df5b27045d06db4ee923f995e2 RED +CompositeDecoder.java 68864146cbd7b0d1444d4157cf88023deb4a21ea RED +CompositeDecoderBase.java cc878483ec3dcf3afd60509579c7c17a3433893c RED +GuiceDecoder.java eb0fec9132b95dd8ecd07c134339ec93e9fbb3b7 RED +GuicePhenotype.java 36deb82848fd14c0bf2649f9cb0553f24de68e9a RED +PhenotypeDecoder.java 82766d64d8d6d0aa02078921517848c3585240a6 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoder.java index cedb145d..0ef247e0 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoder.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoder.java @@ -17,7 +17,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositege import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.problem.CompositeProblemModuleBase; @@ -33,8 +32,8 @@ import org.opt4j.core.problem.Decoder; * * @author diewald */ -public interface ComposableDecoder<G extends ComposableGenotype, P extends ComposablePhenotype<?>> - extends IDependencyModule<IExplorationEncoding, P> { +public interface ComposableDecoder<G extends ComposableGenotype, P extends Phenotype> extends + IDependencyModule<IExplorationEncoding, P> { /** * Returns the most relevant {@link Genotype} used for the Decoder whereas other dependencies @@ -44,7 +43,7 @@ public interface ComposableDecoder<G extends ComposableGenotype, P extends Compo /** * Passes the {@link ComposableGenotype} to the concrete decode method of the concrete - * {@link ComposableDecoder} and returns the resulting {@link ComposablePhenotype}. + * {@link ComposableDecoder} and returns the resulting {@link Phenotype}. * <p> * <b>Implementation note:</b> <br> * The body of the method typically looks as follows: <br> @@ -52,7 +51,7 @@ public interface ComposableDecoder<G extends ComposableGenotype, P extends Compo * * @genotype The concrete {@link ComposableGenotype} that shall be decoded. * - * @returns The concrete {@link ComposablePhenotype} resulting form the decoding. + * @returns The concrete {@link Phenotype} resulting form the decoding. * * @throws DecodingException * If decoding the given {@link Genotype} is not possible. diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoderBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoderBase.java index 58a6cd79..7a4c510b 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoderBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/ComposableDecoderBase.java @@ -19,7 +19,7 @@ import java.util.Collection; import java.util.Collections; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import com.google.common.reflect.TypeToken; @@ -28,14 +28,14 @@ import com.google.common.reflect.TypeToken; * * @author diewald */ -public abstract class ComposableDecoderBase<G extends ComposableGenotype, P extends ComposablePhenotype<?>> +public abstract class ComposableDecoderBase<G extends ComposableGenotype, P extends Phenotype> implements ComposableDecoder<G, P> { /** Type information: Concrete input genotype of the decoder. */ private TypeToken<G> genotype = new TypeToken<G>(getClass()) { // Empty class - }; + }; /** Type information: Concrete input phenotype of the decoder. */ private TypeToken<P> phenotype = new TypeToken<P>(getClass()) { // Empty class - }; + }; /** {@inheritDoc} */ @Override diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoder.java index d22c97b5..68864146 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoder.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoder.java @@ -18,8 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositege import java.util.Map; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.jgrapht.experimental.dag.DirectedAcyclicGraph.CycleFoundException; import org.opt4j.core.Genotype; import org.opt4j.core.genotype.CompositeGenotype; @@ -32,7 +31,7 @@ import org.opt4j.core.problem.Decoder; * * @author diewald */ -public interface CompositeDecoder<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ? extends ComposableGenotype>, P extends CompositePhenotype<? extends Genotype>> +public interface CompositeDecoder<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ? extends ComposableGenotype>, P extends Phenotype> extends Decoder<C, P> { /** @@ -43,18 +42,17 @@ public interface CompositeDecoder<C extends CompositeGenotype<Class<? extends Co * Map relating the sub-{@link Genotype}s with their decoding result (aka phenotype). * @return The {@link CompositeGenotype} {#link P} or {@code null} if the merge fails. */ - <CP extends ComposablePhenotype<? extends Genotype>> P - mergeSubPhenotypes(Map<Class<CP>, CP> subPhenotypes); + <CP extends Phenotype> P mergeSubPhenotypes(Map<Class<CP>, CP> subPhenotypes); /** - * Adds a {@link ComposableDecoder} for the given {@link ComposablePhenotype}. The decoding + * Adds a {@link ComposableDecoder} for the given {@link Phenotype}. The decoding * will triggered automatically and user defined merge function will consider the resulting - * {@link ComposablePhenotype} of this {@link ComposableDecoder}. + * {@link Phenotype} of this {@link ComposableDecoder}. * * @throws CycleFoundException * if a circular dependency between decoders exist. */ // TODO: add doc for exception. - <G extends ComposableGenotype, CP extends ComposablePhenotype<G>, D extends ComposableDecoder<G, CP>> - void registerSubDecoder(Class<G> subGenotype, D subDecoder) throws CycleFoundException; + <G extends ComposableGenotype, CP extends Phenotype, D extends ComposableDecoder<G, CP>> void + registerSubDecoder(Class<G> subGenotype, D subDecoder) throws CycleFoundException; } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoderBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoderBase.java index 15d6562e..cc878483 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoderBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/CompositeDecoderBase.java @@ -28,8 +28,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.MissingDependencyException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.graph.DecoderDependencyGraph; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.service.IExplorationEncoding; @@ -44,7 +42,7 @@ import org.opt4j.core.problem.Decoder; * * @author diewald */ -public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ComposableGenotype>, P extends CompositePhenotype<?>> +public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ComposableGenotype>, P extends Phenotype> implements CompositeDecoder<C, P> { /** * References the {@link DecoderDependencyGraph} which defines execution orders and which @@ -53,26 +51,26 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e protected DecoderDependencyGraph depGraph; /** - * Collection of {@link ComposablePhenotype} types that are needed to generated the {#link + * Collection of {@link Phenotype} types that are needed to generated the {#link * requestedPhenotypeTypes}. */ Collection<Class<? extends Phenotype>> requiredPhenotypeTypes; /** - * Collection of {@link ComposablePhenotype}s that were externally demanded as a solution to + * Collection of {@link Phenotype}s that were externally demanded as a solution to * input DSE problem. */ Collection<Class<? extends Phenotype>> requestedPhenotypeTypes; /** Relates decoders with the {@link Genotype}-Type that they decode. */ - private Map<ComposableDecoder<? extends ComposableGenotype, ? extends ComposablePhenotype<?>>, Class<? extends ComposableGenotype>> registeredSubDecoders = + private Map<ComposableDecoder<? extends ComposableGenotype, ? extends Phenotype>, Class<? extends ComposableGenotype>> registeredSubDecoders = new HashMap<>(); /** * {@link LinkedHashMap} referencing the required decoders for the given optimization problem * that respects the execution order calculated by the {@link DecoderDependencyGraph}. */ - private LinkedHashMap<ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>, Class<? extends ComposableGenotype>> subDecoders = + private LinkedHashMap<ComposableDecoder<ComposableGenotype, Phenotype>, Class<? extends ComposableGenotype>> subDecoders = new LinkedHashMap<>(); /** @@ -98,8 +96,7 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e * @param genotype * {@link Genotype} (i.e., a {@link CompositeGenotype}) for which the sub-decoders * will be launched. - * @return The decoded {@link CompositePhenotype} which contains the decoded - * {@link ComposablePhenotype}s. + * @return The decoded {@link Phenotype} which contains the decoded {@link Phenotype}s. * @throws DecodingException * if a required {@link ComposableDecoder} is not registered, or one of the * sub-Decoders produces an error. @@ -107,26 +104,29 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e * if some required {@link IExplorationEncoding} of a {@link ComposableDecoder} is * not provided by another one, a {@link ComposableCreator}. */ - public <SP extends Genotype, CG extends ComposableGenotype, CP extends ComposablePhenotype<CG>> - P decodeInternal(C genotype) throws DecodingException, MissingDependencyException { + public <SP extends Genotype, CG extends ComposableGenotype, CP extends Phenotype> P + decodeInternal(C genotype) throws DecodingException, MissingDependencyException { Map<Class<CP>, CP> subPhenotypes = new HashMap<>(); FlatPhenotypeMap<Phenotype> decodedPhenotypes = new FlatPhenotypeMap<>(); if(!isDecoderRegistrationChecked) { isDecoderRegistrationChecked = true; for(ComposableDecoder<?, ?> decoder : depGraph.getOperatorExecOrder()) { if(registeredSubDecoders.containsKey(decoder)) { - @SuppressWarnings("unchecked") ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>> castedDecoder = - (ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>)decoder; + @SuppressWarnings("unchecked") ComposableDecoder<ComposableGenotype, Phenotype> castedDecoder = + (ComposableDecoder<ComposableGenotype, Phenotype>)decoder; subDecoders.put(castedDecoder, registeredSubDecoders.get(decoder)); } else { - throw new DecodingException(genotype, decoder, "The sub-decoder " + - decoder.getClass().getSimpleName() + - " has been found in the dependency graph but it has not been regirstered at this composite decoder."); + throw new DecodingException( + genotype, + decoder, + "The sub-decoder " + + decoder.getClass().getSimpleName() + + " has been found in the dependency graph but it has not been regirstered at this composite decoder."); } } } - for(Entry<ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>, Class<? extends ComposableGenotype>> decodeEntry : subDecoders + for(Entry<ComposableDecoder<ComposableGenotype, Phenotype>, Class<? extends ComposableGenotype>> decodeEntry : subDecoders .entrySet()) { @SuppressWarnings("unchecked") Class<CG> genotypeKey = (Class<CG>)decodeEntry.getValue(); @@ -142,8 +142,9 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e // shall not be just overridden. if(Genotype.class.isAssignableFrom(decType)) { CP oldGenotype = genotype.get(decType); - curPhenotype = castedDecoder.updateComposable(decodeableGenotype, oldGenotype, - decodedPhenotypes); + curPhenotype = + castedDecoder.updateComposable(decodeableGenotype, oldGenotype, + decodedPhenotypes); } else { curPhenotype = castedDecoder.decodeComposable(decodeableGenotype, decodedPhenotypes); @@ -207,8 +208,8 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e * that is used to calculate an dependent Phenotype. */ @SuppressWarnings("unchecked") - private <V extends ComposableGenotype, M extends ComposablePhenotype<?>> void - addHybridGenoPhenotype(C genotype, M curPhenotype, Class<M> penotypeClass) { + private <V extends ComposableGenotype, M extends Phenotype> void addHybridGenoPhenotype( + C genotype, M curPhenotype, Class<M> penotypeClass) { for(Class<? extends ComposableGenotype> registeredType : genotype.keySet()) { if(registeredType.isAssignableFrom(penotypeClass)) { genotype.put((Class<V>)penotypeClass, (V)curPhenotype); @@ -227,7 +228,7 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e */ @SuppressWarnings("unchecked") @Override - public <G extends ComposableGenotype, CP extends ComposablePhenotype<G>, D extends ComposableDecoder<G, CP>> + public <G extends ComposableGenotype, CP extends Phenotype, D extends ComposableDecoder<G, CP>> void registerSubDecoder(Class<G> subGenotype, D subDecoder) throws CycleFoundException { if(subGenotype == null || subDecoder == null) { return; @@ -236,8 +237,8 @@ public abstract class CompositeDecoderBase<C extends CompositeGenotype<Class<? e registeredSubDecoders.put(subDecoder, (Class<? extends ComposableGenotype>)subDecoder.getPrimaryInputType()); - ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>> castedSubDecoder = - (ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>)subDecoder; + ComposableDecoder<ComposableGenotype, Phenotype> castedSubDecoder = + (ComposableDecoder<ComposableGenotype, Phenotype>)subDecoder; depGraph.addOperator(castedSubDecoder); } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuiceDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuiceDecoder.java new file mode 100644 index 00000000..eb0fec91 --- /dev/null +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuiceDecoder.java @@ -0,0 +1,47 @@ +/*-------------------------------------------------------------------------+ +| Copyright 2018 fortiss GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode; + +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; +import org.opt4j.core.Genotype; +import org.opt4j.core.problem.Decoder; + +import com.google.inject.Inject; +import com.google.inject.Injector; + +/** + * + * @author diewald + */ +public class GuiceDecoder implements Decoder<Genotype, GuicePhenotype> { + + protected GuicePhenotype composedPhenotype; + + @Inject + Class<Phenotype> resultType; + + @Inject + protected Injector decoderInjector; + + /** {@inheritDoc} */ + @Override + public GuicePhenotype decode(Genotype genotype) { + // The decode operations are responsible to add the results of the decode operation to the + // parent phenotype. + Phenotype resultPhenotype = decoderInjector.getInstance(resultType); + return composedPhenotype; + } +} diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/ComposablePhenotype.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuicePhenotype.java similarity index 68% rename from org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/ComposablePhenotype.java rename to org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuicePhenotype.java index a9f2f81f..36deb828 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/ComposablePhenotype.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/GuicePhenotype.java @@ -1,34 +1,26 @@ -/*-------------------------------------------------------------------------+ -| Copyright 2015 fortiss GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype; - -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.opt4j.core.Genotype; - -/** - * Interface for {@link Phenotype}s that compose a {@link CompositePhenotype}. Counterpart to - * {@link ComposableGenotype}. - * - * @author diewald - */ -public interface ComposablePhenotype<G extends Genotype> extends Phenotype { - - /** - * Returns the type which shall be used to register the {@link ComposablePhenotype} at its - * containing {@link CompositePhenotype}. - */ - Class<? extends ComposablePhenotype<?>> getPTypeToRegister(); -} +/*-------------------------------------------------------------------------+ +| Copyright 2018 fortiss GmbH | +| | +| Licensed under the Apache License, Version 2.0 (the "License"); | +| you may not use this file except in compliance with the License. | +| You may obtain a copy of the License at | +| | +| http://www.apache.org/licenses/LICENSE-2.0 | +| | +| Unless required by applicable law or agreed to in writing, software | +| distributed under the License is distributed on an "AS IS" BASIS, | +| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | +| See the License for the specific language governing permissions and | +| limitations under the License. | ++--------------------------------------------------------------------------*/ +package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode; + +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.PhenotypeBase; + +/** + * + * @author diewald + */ +public class GuicePhenotype extends PhenotypeBase { + +} diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/PhenotypeDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/PhenotypeDecoder.java index 0f60dabc..82766d64 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/PhenotypeDecoder.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/decode/PhenotypeDecoder.java @@ -18,7 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositege import java.util.Collection; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.problem.CompositeProblemModuleBase; @@ -41,7 +41,7 @@ public interface PhenotypeDecoder<P extends Phenotype> { * @param decodedPhenotypes * Map of already decoded {@link Phenotype}s. * - * @returns The concrete {@link ComposablePhenotype} resulting form the decoding. + * @returns The concrete {@link Phenotype} resulting form the decoding. * * @throws DecodingException * If decoding the given {@link Genotype} is not possible. @@ -60,7 +60,7 @@ public interface PhenotypeDecoder<P extends Phenotype> { * @param decodedPhenotypes * Map of already decoded {@link Phenotype}s. * - * @returns The concrete {@link ComposablePhenotype} resulting form the decoding. + * @returns The concrete {@link Phenotype} resulting form the decoding. * * @throws DecodingException * If decoding the given {@link Genotype} is not possible. @@ -69,7 +69,7 @@ public interface PhenotypeDecoder<P extends Phenotype> { throws DecodingException; /** - * Returns the collection of {@link ComposablePhenotype} types that are required as direct + * Returns the collection of {@link Phenotype} types that are required as direct * inputs to this {@link PhenotypeDecoder}. */ Collection<Class<? extends IExplorationEncoding>> getRequiredPhenotypeTypes(); @@ -81,6 +81,6 @@ public interface PhenotypeDecoder<P extends Phenotype> { */ Collection<Class<? extends IExplorationEncoding>> getOptionalEncodingTypes(); - /** Returns the type of the decoded {@link ComposablePhenotype}. */ + /** Returns the type of the decoded {@link Phenotype}. */ Class<? extends Phenotype> getDecodedPhenotypeType(); } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/.ratings index 3740a0d2..b011da1e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/.ratings @@ -1,3 +1,3 @@ -ComposableEvaluator.java 5882908b5b90aa31bcf806cbfca047d2d0725640 RED -CompositeEvaluator.java 185b9a6776a419ce0fc2adae31eced97c0d756d5 RED -CompositeEvaluatorBase.java a7e7f0d30206ef74b7c6f4b8f1244433ec3f8cc6 RED +ComposableEvaluator.java bd332c13b22a8608ac0e42edbb423fd2adf84140 RED +CompositeEvaluator.java 9301bc973ccc4b0fd46d70e6101e173cca691439 RED +CompositeEvaluatorBase.java dbe962b02445b989a624969ae74e212897c6090f RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/ComposableEvaluator.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/ComposableEvaluator.java index b6ae0272..bd332c13 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/ComposableEvaluator.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/ComposableEvaluator.java @@ -16,7 +16,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.evaluate; import org.eclipse.emf.ecore.EObject; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.opt4j.core.Objectives; @@ -25,13 +24,13 @@ import org.opt4j.core.problem.Evaluator; import com.google.common.collect.ClassToInstanceMap; /** - * Common interface of {@link Evaluator}s of {@link ComposablePhenotype}s. + * Common interface of {@link Evaluator}s of {@link Phenotype}s. * * @author diewald */ public interface ComposableEvaluator<P extends Object> { /** - * Passes the {@link ComposablePhenotype} to the concrete evaluate method of the concrete + * Passes the {@link Phenotype} to the concrete evaluate method of the concrete * {@link ComposableEvaluator} and returns the resulting {@link Objectives}. * <p> * <b>Implementation note:</b> <br> @@ -39,7 +38,7 @@ public interface ComposableEvaluator<P extends Object> { * {@code return decode((ConecretePhenotype)phenotype);} * * @param clazz - * Type of the {@link ComposablePhenotype} to be evaluated. + * Type of the {@link Phenotype} to be evaluated. * @param phenotype * The concrete {@link Phenotype} that shall be decoded. * @param phenotypes @@ -48,7 +47,6 @@ public interface ComposableEvaluator<P extends Object> { * TODO * @returns The concrete evaluation results in the form of {@link Objectives}. */ - <CP extends ComposablePhenotype<?>> Objectives evaluateComposable(Class<CP> clazz, - CP phenotype, FlatPhenotypeMap<Phenotype> phenotypes, - ClassToInstanceMap<EObject> transformedModels); + <CP extends Phenotype> Objectives evaluateComposable(Class<CP> clazz, CP phenotype, + FlatPhenotypeMap<Phenotype> phenotypes, ClassToInstanceMap<EObject> transformedModels); } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluator.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluator.java index 1c637049..9301bc97 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluator.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluator.java @@ -18,33 +18,32 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositege import java.util.Collection; import java.util.Set; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.opt4j.core.Objectives; import org.opt4j.core.Value; import org.opt4j.core.genotype.CompositeGenotype; import org.opt4j.core.problem.Evaluator; /** - * Interface for evaluators of {@link CompositePhenotype}s. It defines a 'merge' method that each + * Interface for evaluators of {@link Phenotype}s. It defines a 'merge' method that each * concrete {@link CompositeEvaluator} must implement and which describes how the single - * {@link ComposablePhenotype}s are merged into a {@link CompositePhenotype}. + * {@link Phenotype}s are merged into a {@link Phenotype}. * * @author diewald */ public interface CompositeEvaluator<P> extends Evaluator<P> { /** - * Adds a {@link ComposableEvaluator} for the given {@link ComposablePhenotype} class. The + * Adds a {@link ComposableEvaluator} for the given {@link Phenotype} class. The * evaluation will be triggered automatically by the evaluation of the {@link CompositeGenotype} * and user defined merge function will consider the resulting {@link Objectives} of this * {@link ComposableEvaluator}, if desired. */ - <S extends ComposablePhenotype<?>> void registerSubEvaluator(Class<S> subPhenotype, + <S extends Phenotype> void registerSubEvaluator(Class<S> subPhenotype, ComposableEvaluator<S> subEvaluator) throws Exception; /** - * Merges the evaluations of {@link ComposablePhenotype}s into an evaluation of the overall + * Merges the evaluations of {@link Phenotype}s into an evaluation of the overall * {@link CompositeGenotype}. */ Value<?> mergeSubEvaluations(Collection<Value<?>> results); @@ -53,12 +52,12 @@ public interface CompositeEvaluator<P> extends Evaluator<P> { * Returns the collection of {@link ComposableEvaluator}s registered for this * {@link ComposableEvaluator}. */ - Collection<ComposableEvaluator<? extends ComposablePhenotype<?>>> getSubEvaluators(); + Collection<ComposableEvaluator<? extends Phenotype>> getSubEvaluators(); /** * Returns the collection of {@link ComposableEvaluator}s registered for this * {@link ComposableEvaluator} and all its children. Recursive version of * {@link #getSubEvaluators()}. */ - Set<ComposableEvaluator<? extends ComposablePhenotype<?>>> getAllSubEvaluators(); + Set<ComposableEvaluator<? extends Phenotype>> getAllSubEvaluators(); } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluatorBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluatorBase.java index 0cce028e..dbe962b0 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluatorBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/evaluate/CompositeEvaluatorBase.java @@ -28,8 +28,6 @@ import java.util.Set; import org.eclipse.emf.ecore.EObject; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.EvaluatorWrapper; @@ -49,12 +47,11 @@ import com.google.common.collect.Multimap; import com.google.common.collect.MutableClassToInstanceMap; /** - * Base class for Evaluators of {@link CompositePhenotype}s. + * Base class for Evaluators of {@link Phenotype}s. * * @author diewald */ -public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> - implements CompositeEvaluator<P> { +public abstract class CompositeEvaluatorBase<P extends Phenotype> implements CompositeEvaluator<P> { /** Flag to mark that marks the top-most evaluator in the composite structure. */ protected boolean isTopLevelEvaluator = false; @@ -68,13 +65,12 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> protected Collection<Class<? extends EObject>> requiredTransformedModelTypes; /** - * Correlates the {@link ComposablePhenotype}s with the corresponding - * {@link ComposableEvaluator}s forming this CompositeEvaluator. + * Correlates the {@link Phenotype}s with the corresponding {@link ComposableEvaluator}s forming + * this CompositeEvaluator. */ @SuppressWarnings("unchecked") - private SubClassToInstanceMultiMap<ComposablePhenotype<?>, ComposableEvaluator<? extends ComposablePhenotype<?>>> subEvaluators = - new SubClassToInstanceMultiMap<>( - (Class<? extends ComposablePhenotype<?>>)ComposablePhenotype.class); + private SubClassToInstanceMultiMap<Phenotype, ComposableEvaluator<? extends Phenotype>> subEvaluators = + new SubClassToInstanceMultiMap<>(Phenotype.class); /** Constructor. */ public CompositeEvaluatorBase() { @@ -86,7 +82,7 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> /** * Performs the initialization of {@code this} {@link CompositeEvaluator} that cannot be done in * the constructor, e.g., due to the missing registration of sub evaluators. - * It is executed when {@link #evaluateInternal(CompositePhenotype)} is executed for the first + * It is executed when {@link #evaluateInternal(Phenotype)} is executed for the first * time of this instance. */ protected void init() { @@ -101,8 +97,8 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> e -> allSubEvaluators.add(((EvaluatorWrapper<?, ?, ?>)e).getEvaluator())); @SuppressWarnings("unchecked") Collection<Class<? extends EObject>> tempReqModels = - getService(IExplorationEvaluatationService.class) - .getRequiredTransformedModels(allSubEvaluators); + getService(IExplorationEvaluatationService.class).getRequiredTransformedModels( + allSubEvaluators); requiredTransformedModelTypes = tempReqModels; } } @@ -116,7 +112,7 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> * {@link ExplorationSpecification}. * @return Evaluation result as {@link Objectives}. */ - public <S extends ComposablePhenotype<?>> Objectives evaluateInternal(P phenotype) { + public <S extends Phenotype> Objectives evaluateInternal(P phenotype) { init(); Multimap<Objective, Value<?>> subObjectivesEvaluations = HashMultimap.create(); @@ -146,23 +142,21 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> } } - Iterator<Entry<Class<? extends ComposablePhenotype<? extends Genotype>>, ComposablePhenotype<? extends Genotype>>> phenoIter = - phenotype.iterator(); + Iterator<Entry<Class<? extends Phenotype>, Phenotype>> phenoIter = phenotype.iterator(); while(phenoIter.hasNext()) { - Entry<Class<? extends ComposablePhenotype<? extends Genotype>>, ComposablePhenotype<? extends Genotype>> phenoEntry = - phenoIter.next(); + Entry<Class<? extends Phenotype>, Phenotype> phenoEntry = phenoIter.next(); @SuppressWarnings("unchecked") S subPhenotype = (S)phenoEntry.getValue(); @SuppressWarnings("unchecked") Class<S> key = (Class<S>)phenoEntry.getKey(); - @SuppressWarnings("unchecked") Collection<ComposableEvaluator<? extends ComposablePhenotype<?>>> phenoSubEvaluators = - subEvaluators.get((Class<? extends ComposablePhenotype<?>>)phenoEntry.getValue() - .getClass()); + @SuppressWarnings("unchecked") Collection<ComposableEvaluator<? extends Phenotype>> phenoSubEvaluators = + subEvaluators.get(phenoEntry.getValue().getClass()); if(phenoSubEvaluators != null) { // If no subEvaluator is registered, only decoding shall be performed -> no // evaluation. Objectives evalResults = new Objectives(); - for(ComposableEvaluator<? extends ComposablePhenotype<?>> subEvaluator : phenoSubEvaluators) { - evalResults = subEvaluator.evaluateComposable(key, subPhenotype, - phenotypeTypeMap, transformedModels); + for(ComposableEvaluator<? extends Phenotype> subEvaluator : phenoSubEvaluators) { + evalResults = + subEvaluator.evaluateComposable(key, subPhenotype, phenotypeTypeMap, + transformedModels); Iterator<Entry<Objective, Value<?>>> resultIterator = evalResults.iterator(); while(resultIterator.hasNext()) { Entry<Objective, Value<?>> result = resultIterator.next(); @@ -204,18 +198,16 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> /** {@inheritDoc} */ @Override - public <S extends ComposablePhenotype<?>> void registerSubEvaluator(Class<S> subPhenotype, + public <S extends Phenotype> void registerSubEvaluator(Class<S> subPhenotype, ComposableEvaluator<S> subEvaluator) throws Exception { subEvaluators.put(subPhenotype, subEvaluator); } /** {@inheritDoc} */ @Override - public Collection<ComposableEvaluator<? extends ComposablePhenotype<?>>> getSubEvaluators() { - Collection<ComposableEvaluator<? extends ComposablePhenotype<?>>> allSubEvaluators = - new HashSet<>(); - for(ComposableEvaluator<? extends ComposablePhenotype<?>> evaluators : subEvaluators - .values()) { + public Collection<ComposableEvaluator<? extends Phenotype>> getSubEvaluators() { + Collection<ComposableEvaluator<? extends Phenotype>> allSubEvaluators = new HashSet<>(); + for(ComposableEvaluator<? extends Phenotype> evaluators : subEvaluators.values()) { allSubEvaluators.add(evaluators); } return allSubEvaluators; @@ -223,9 +215,8 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> /** {@inheritDoc} */ @Override - public Set<ComposableEvaluator<? extends ComposablePhenotype<?>>> getAllSubEvaluators() { - Set<ComposableEvaluator<? extends ComposablePhenotype<?>>> allSubEvaluators = - new HashSet<>(); + public Set<ComposableEvaluator<? extends Phenotype>> getAllSubEvaluators() { + Set<ComposableEvaluator<? extends Phenotype>> allSubEvaluators = new HashSet<>(); // Get the direct sub-Evaluators. allSubEvaluators.addAll(subEvaluators.values()); @@ -240,10 +231,10 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> } /** - * Constructs a flattened version of the given {@link CompositePhenotype}, i.e. a + * Constructs a flattened version of the given {@link Phenotype}, i.e. a * {@link FlatPhenotypeMap}. */ - private <G extends Genotype, CP extends CompositePhenotype<?>, SP extends ComposablePhenotype<G>> + private <G extends Genotype, CP extends Phenotype, SP extends Phenotype> FlatPhenotypeMap<Phenotype> constructPhenotypeMap(CP phenotype) { FlatPhenotypeMap<Phenotype> phenotypeTypeMap = new FlatPhenotypeMap<>(); @SuppressWarnings("unchecked") LinkedList<SP> subPhenotypes = @@ -253,9 +244,9 @@ public abstract class CompositeEvaluatorBase<P extends CompositePhenotype<?>> @SuppressWarnings("unchecked") Class<SP> currSupPhenotypeType = (Class<SP>)currSubPhenotype.getClass(); phenotypeTypeMap.putEncoding(currSupPhenotypeType, currSubPhenotype); - if(CompositePhenotype.class.isAssignableFrom(currSubPhenotype.getClass())) { + if(Phenotype.class.isAssignableFrom(currSubPhenotype.getClass())) { @SuppressWarnings("unchecked") List<SP> subPhenos = - (List<SP>)((CompositePhenotype<?>)currSubPhenotype).getSubPhenotypes(); + (List<SP>)((Phenotype)currSubPhenotype).getSubPhenotypes(); subPhenotypes.addAll(0, subPhenos); } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/exception/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/exception/.ratings index fa6b70ff..ea6d806f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/exception/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/exception/.ratings @@ -1,3 +1,3 @@ -DecodingException.java 7d04410f9bc0652f03acf60ad9daed294baed4cc RED -DependencyException.java 5e32c3f8f4dbc4d38e7ef3df74ee211def0892c4 RED -MissingDependencyException.java 72bfd2b179c32015bb1c3eeb330a890e2db06b4c RED +DecodingException.java 2988884a382981eac51bb42fec30f41d2cc683b6 RED +DependencyException.java b5ebab9ef715091cfe6d998c0acc70658a8e5536 RED +MissingDependencyException.java 474cd48820802b026a7109abb2ae56a2ab8eb7b3 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/.ratings index 6f0433fc..3f13f8dd 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/.ratings @@ -1,2 +1,2 @@ -ComposableGenotype.java 585499a88ff7df6255ca21aae4d05c2e828fabc6 RED -FlatGenotypeMap.java 441a0f20f5d73932537e9a031d7a9408a8f2e96b RED +ComposableGenotype.java b6a703d6bcf76be93e8547f1c4c3b469680fa92b RED +FlatGenotypeMap.java 35ed579faad674c61e67ae87f6a05764bda249c6 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/FlatGenotypeMap.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/FlatGenotypeMap.java index 679f79a1..35ed579f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/FlatGenotypeMap.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/genotype/FlatGenotypeMap.java @@ -15,7 +15,7 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; +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.Phenotype; import org.opt4j.core.Genotype; import org.opt4j.core.genotype.CompositeGenotype; @@ -23,7 +23,7 @@ import org.opt4j.core.genotype.CompositeGenotype; /** * Allows to capture the already created/decoded {@link Phenotype}s and pass them to their successor * creators/decoders as a flat map that associates a {@link Phenotype}s type with its instance. - * Using a {@link CompositePhenotype} for this job allows to "protect" the internal map from + * Using a {@link Phenotype} for this job allows to "protect" the internal map from * unintended read/write operations. * * @author diewald diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/.ratings index 2d24dbfd..5bf819a7 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/.ratings @@ -1,2 +1,2 @@ -DecoderDependencyGraph.java a67fe21e5c6e54e426fd3a8502b92275592794ca RED -DecoderEdge.java 364767c6d4b15b02830e1c58a47f28f6e3bf3fcb RED +DecoderDependencyGraph.java c2d1a8d6c86002c4faea11b6ab822b0d1bef408b RED +DecoderEdge.java b72d75a14a0cf4b7fd7c632951b6d88474a1ba56 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderDependencyGraph.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderDependencyGraph.java index 8c706a82..c2d1a8d6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderDependencyGraph.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderDependencyGraph.java @@ -24,7 +24,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.ComposableDecoder; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.MissingDependencyException; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.decode.ConstraintGenerationDecoder; import org.fortiss.af3.exploration.alg.graph.DependencyGraph; import org.fortiss.af3.exploration.alg.service.IExplorationEncoding; @@ -36,8 +36,9 @@ import org.opt4j.core.problem.Decoder; * * @author diewald */ -public class DecoderDependencyGraph extends - DependencyGraph<IExplorationEncoding, ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>, DecoderEdge<ComposableGenotype, ComposablePhenotype<?>>> { +public class DecoderDependencyGraph + extends + DependencyGraph<IExplorationEncoding, ComposableDecoder<ComposableGenotype, Phenotype>, DecoderEdge<ComposableGenotype, Phenotype>> { // TODO: Move to the parent? /** Internal graph representation for the execution order of {@link Creator}s. */ private HashSet<ComposableCreator<?>> registeredCreators = new HashSet<>(); @@ -56,8 +57,8 @@ public class DecoderDependencyGraph extends for(Class<?> reqEnc : reqEncodings) { if(!dependencyDagGraph .containsVertex((Class<? extends IExplorationEncoding>)reqEnc) && - !registeredCreators.stream() - .anyMatch(c -> c.getCreatedEncodingType().equals(reqEnc))) { + !registeredCreators.stream().anyMatch( + c -> c.getCreatedEncodingType().equals(reqEnc))) { throw new MissingDependencyException(dec, (Class<? extends IExplorationEncoding>)reqEnc, ""); } @@ -67,12 +68,12 @@ public class DecoderDependencyGraph extends /** {@inheritDoc} */ @Override - protected Comparator<ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>> + protected Comparator<ComposableDecoder<ComposableGenotype, Phenotype>> getSubExecListComparator() { - return new Comparator<ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>>>() { + return new Comparator<ComposableDecoder<ComposableGenotype, Phenotype>>() { @Override - public int compare(ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>> o1, - ComposableDecoder<ComposableGenotype, ComposablePhenotype<?>> o2) { + public int compare(ComposableDecoder<ComposableGenotype, Phenotype> o1, + ComposableDecoder<ComposableGenotype, Phenotype> o2) { if(o1 instanceof ConstraintGenerationDecoder && o2 instanceof ConstraintGenerationDecoder) { return 0; diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderEdge.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderEdge.java index 33154999..b72d75a1 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderEdge.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/graph/DecoderEdge.java @@ -17,7 +17,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositege import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.ComposableDecoder; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.graph.DependencyEdge; /** @@ -25,7 +25,7 @@ import org.fortiss.af3.exploration.alg.graph.DependencyEdge; * * @author diewald */ -public class DecoderEdge<G extends ComposableGenotype, P extends ComposablePhenotype<?>> extends +public class DecoderEdge<G extends ComposableGenotype, P extends Phenotype> extends DependencyEdge<ComposableDecoder<G, P>> { // All required implementation is to found in the parent class. } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/.ratings index 97ce0da1..5b66f64c 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/.ratings @@ -1,5 +1,3 @@ -ComposablePhenotype.java c480ccbf2ed93bdb5a0ec5461629475bff033e18 RED -CompositePhenotype.java 8706a2d636e49472dd5160dc8a0c871801f4fb69 RED -CompositePhenotypeBase.java dc30951b9b55fef23ba657c54fef512a8886ec93 RED -FlatPhenotypeMap.java f6d74992bbdcc84d358c27616b13c512ef7841b1 RED -Phenotype.java 3b01d5fc912747b3409fe2868447f395dafd860c RED +FlatPhenotypeMap.java e14d80c49f974bb9857fe0d2068b39ccee6b0c87 RED +Phenotype.java 724ee55fdbd1a040e4363ec1fe2cb4d9f42b8e55 RED +PhenotypeBase.java 0f0fc0300fdad1b3516dab143e657767ddaf36fa RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotype.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotype.java deleted file mode 100644 index cedd386a..00000000 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotype.java +++ /dev/null @@ -1,59 +0,0 @@ -/*-------------------------------------------------------------------------+ -| Copyright 2015 fortiss GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -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.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.opt4j.core.Genotype; -import org.opt4j.core.genotype.CompositeGenotype; - -/** - * Interface for {@link CompositePhenotype}s generated by decoders which operate on - * {@link CompositeGenotype}s. - * - * @author diewald - */ -public interface CompositePhenotype<G extends Genotype> - extends - Phenotype, - Iterable<Entry<Class<? extends ComposablePhenotype<? extends Genotype>>, ComposablePhenotype<? extends Genotype>>> { - - /** - * Returns the {@link ComposablePhenotype} that corresponds to the given - * {@link ComposablePhenotype} class. - */ - <GT extends Genotype, CP extends ComposablePhenotype<GT>> CP getSubPhenotype( - Class<CP> subPhenotype); - - /** - * Defines a correspondence between a {@link ComposableGenotype} class and its - * {@link ComposablePhenotype}. - */ - <GT extends Genotype, CP extends ComposablePhenotype<GT>> void putSubPhenotype( - Class<CP> subGenotype, CP curPhenotype); - - /** - * Returns the collection of {@link ComposablePhenotype}s that make up this - * {@link ComposableGenotype}. - */ - List<ComposablePhenotype<? extends Genotype>> getSubPhenotypes(); - - /** Returns the Class -> {@link Phenotype} entries of the enclosed map. */ - Set<Class<? extends ComposablePhenotype<? extends Genotype>>> keySet(); -} diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/FlatPhenotypeMap.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/FlatPhenotypeMap.java index f1145eab..e14d80c4 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/FlatPhenotypeMap.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/FlatPhenotypeMap.java @@ -27,7 +27,7 @@ import org.opt4j.core.problem.Creator; /** * Allows to capture the already created/decoded {@link Phenotype}s and pass them to their successor * creators/decoders as a flat map that associates a {@link Phenotype}s type with its instance. - * Using a {@link CompositePhenotype} for this job allows to "protect" the internal map from + * Using a {@link Phenotype} for this job allows to "protect" the internal map from * unintended read/write operations. * * @author diewald @@ -45,8 +45,8 @@ public class FlatPhenotypeMap<T extends Phenotype> extends ExplorationEncodingMa * can be found, {@code null} is returned. */ @Override - public <P extends T> P getEncoding(Class<P> subGenotypeClass) { - P phenotype = getEncodingInternal(subGenotypeClass); + public <P extends T> P getEncoding(Class<?> subGenotypeClass) { + P phenotype = getEncodingInternal((Class<P>)subGenotypeClass); if(phenotype == null) { if(IExplorationEncoding.class.isAssignableFrom(subGenotypeClass)) { @SuppressWarnings("unchecked") Class<IExplorationEncoding> inputEncoding = @@ -60,8 +60,8 @@ public class FlatPhenotypeMap<T extends Phenotype> extends ExplorationEncodingMa } /** - * Determines whether {@code this} {@link FlatPhenotypeMap} contains {@link ComposablePhenotype} - * s of all given types, or it is able to retrieve the demanded types via the {@link Creator}s. + * Determines whether {@code this} {@link FlatPhenotypeMap} contains {@link Phenotype} s of all + * given types, or it is able to retrieve the demanded types via the {@link Creator}s. */ @SuppressWarnings("unchecked") public <P extends T> boolean containsAll(Collection<Class<?>> phenoCollection) { diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/Phenotype.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/Phenotype.java index a81b1d20..724ee55f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/Phenotype.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/Phenotype.java @@ -15,13 +15,45 @@ +--------------------------------------------------------------------------*/ 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.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; import org.fortiss.af3.exploration.alg.service.IExplorationEncoding; +import org.opt4j.core.genotype.CompositeGenotype; /** - * Interface for phenotypes (not present any more in Opt4J). + * Interface for {@link Phenotype}s generated by decoders which operate on {@link CompositeGenotype} + * s. * * @author diewald */ -public interface Phenotype extends IExplorationEncoding { - // Marker interface. +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 ComposableGenotype} 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 ComposableGenotype}. + */ + List<Phenotype> getSubPhenotypes(); + + /** Returns the Class -> {@link Phenotype} entries of the enclosed map. */ + Set<Class<? extends Phenotype>> keySet(); } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotypeBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/PhenotypeBase.java similarity index 54% rename from org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotypeBase.java rename to org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/PhenotypeBase.java index 92887357..0f0fc030 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/CompositePhenotypeBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/phenotype/PhenotypeBase.java @@ -16,68 +16,62 @@ 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.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import org.opt4j.core.Genotype; - /** - * Base class for {@link CompositePhenotype}s which consists of {@link ComposablePhenotype}s. + * Base class for {@link Phenotype}s which consists of {@link Phenotype}s. * * @author diewald */ -public abstract class CompositePhenotypeBase<G extends Genotype> implements CompositePhenotype<G> { +public class PhenotypeBase implements Phenotype { /** - * Map which correlates the {@link ComposablePhenotype} classes with their corresponding - * {@link ComposablePhenotype}s, out of which this {@link CompositePhenotype} consists. + * Map which correlates the {@link Phenotype} classes with their corresponding {@link Phenotype} + * s, out of which this {@link Phenotype} consists. */ - protected LinkedHashMap<Class<? extends ComposablePhenotype<? extends Genotype>>, ComposablePhenotype<? extends Genotype>> subPhenotypes = - new LinkedHashMap<>(); + protected Map<Class<? extends Phenotype>, Phenotype> subPhenotypes = new HashMap<>(); /** {@inheritDoc} */ @Override - public <GT extends Genotype, CP extends ComposablePhenotype<GT>> CP getSubPhenotype( - Class<CP> subGenotypeClass) { - for(Entry<Class<? extends ComposablePhenotype<? extends Genotype>>, ComposablePhenotype<? extends Genotype>> composablePheno : subPhenotypes - .entrySet()) { - if(subGenotypeClass.isAssignableFrom(composablePheno.getKey())) { - @SuppressWarnings("unchecked") CP retPhenotype = (CP)composablePheno.getValue(); - return retPhenotype; - } - } - return null; + public <CP extends Phenotype> CP getSubPhenotype(Class<CP> subGenotypeClass) { + return (CP)subPhenotypes.get(subGenotypeClass); } /** {@inheritDoc} */ @Override - public <GT extends Genotype, CP extends ComposablePhenotype<GT>> void putSubPhenotype( - Class<CP> subGenotypeClass, CP subPhenotype) { + public <CP extends Phenotype> void putSubPhenotype(Class<CP> subGenotypeClass, CP subPhenotype) { subPhenotypes.put(subGenotypeClass, subPhenotype); } /** {@inheritDoc} */ @Override - public List<ComposablePhenotype<?>> getSubPhenotypes() { - ArrayList<ComposablePhenotype<?>> retList = new ArrayList<>(); + 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 ComposablePhenotype<? extends Genotype>>, ComposablePhenotype<? extends Genotype>>> - iterator() { + public Iterator<Entry<Class<? extends Phenotype>, Phenotype>> iterator() { return subPhenotypes.entrySet().iterator(); } /** {@inheritDoc} */ @Override - public Set<Class<? extends ComposablePhenotype<? extends Genotype>>> keySet() { + public Set<Class<? extends Phenotype>> keySet() { return subPhenotypes.keySet(); } + + /** {@inheritDoc} */ + @Override + public Class<? extends Phenotype> getPTypeToRegister() { + // TODO Auto-generated method stub + return null; + } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/.ratings index 3f1af4a6..eb65f07f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/.ratings @@ -1 +1 @@ -CompositeProblemModuleBase.java 6a94bd41f5c78a9559878c05b6fa881de2c70d24 RED +CompositeProblemModuleBase.java 621b7fbaebedd15f13273464284462b0929ecb45 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/CompositeProblemModuleBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/CompositeProblemModuleBase.java index 24f2ed01..621b7fba 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/CompositeProblemModuleBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/problem/CompositeProblemModuleBase.java @@ -22,8 +22,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.ComposableDecoder; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.CompositeDecoder; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.ProblemModuleBase; import org.jgrapht.experimental.dag.DirectedAcyclicGraph.CycleFoundException; import org.opt4j.core.Genotype; @@ -38,7 +37,7 @@ import org.opt4j.core.problem.ProblemModule; * * @author diewald */ -public abstract class CompositeProblemModuleBase<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ComposableGenotype>, P extends CompositePhenotype<?>, CD extends CompositeDecoder<C, P>> +public abstract class CompositeProblemModuleBase<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ComposableGenotype>, P extends Phenotype, CD extends CompositeDecoder<C, P>> extends ProblemModuleBase<C, CompositeCreator<C>, CD> { /** @@ -57,7 +56,7 @@ public abstract class CompositeProblemModuleBase<C extends CompositeGenotype<Cla */ // TODO: document exception. public - <CG extends ComposableGenotype, CP extends ComposablePhenotype<CG>, CC extends ComposableCreator<CG>, D extends ComposableDecoder<CG, CP>> + <CG extends ComposableGenotype, CP extends Phenotype, CC extends ComposableCreator<CG>, D extends ComposableDecoder<CG, CP>> void registerSubProblem(Class<CG> subGenotypeClass, CC subCreator, D subDecoder) throws CycleFoundException { creator.registerSubCreator(subCreator); @@ -79,7 +78,7 @@ public abstract class CompositeProblemModuleBase<C extends CompositeGenotype<Cla */ // TODO: document exception. public - <CG extends ComposableGenotype, CP extends ComposablePhenotype<CG>, CC extends ComposableCreator<CG>, D extends ComposableDecoder<CG, CP>> + <CG extends ComposableGenotype, CP extends Phenotype, CC extends ComposableCreator<CG>, D extends ComposableDecoder<CG, CP>> void registerSubProblem(Class<CG> subGenotypeClass, CC subCreator, List<D> subDecoders) throws CycleFoundException { creator.registerSubCreator(subCreator); diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/decode/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/decode/.ratings index 1f0e2155..5c93b0f7 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/decode/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/decode/.ratings @@ -1 +1 @@ -ConstraintGenerationDecoder.java 4a13624ea55e384ccb59c7323ea795ae80d29e25 RED +ConstraintGenerationDecoder.java 854c091376882863d91ce7b422659e3e6c611271 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/encoding/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/encoding/.ratings index 1ea6a103..3b32b3d2 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/encoding/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/encoding/.ratings @@ -1 +1 @@ -ConstrainedEncoding.java 80455c30bb3d5eb45ba92876ae4f03e473aca9f8 RED +ConstrainedEncoding.java 48865f63c9ef57505c028766ba7be71857343c79 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings index 44f4b293..d5aa2a4c 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings @@ -1,2 +1,2 @@ -MatingCrossoverMutateRepair.java 375a1ad682cda5af5d01f118a1c6c75d26f0b0d2 RED -MatingCrossoverMutateRepairModule.java 81eee7535b64c5547572349f1a4c70b2f35ec2bb RED +MatingCrossoverMutateRepair.java ea9784bc7846a4c5b35a533e45b821b24f436383 RED +MatingCrossoverMutateRepairModule.java ae5182b0db7401f2509dfe24ac3b85f42b00d5c1 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/.ratings index 4f7241d2..a88bd1c6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/.ratings @@ -1,2 +1,2 @@ -ComposableOperatorClassPredicate.java 295490c0e60422d117b161eab0bf83db8e76649e RED -OperatorUtil.java 49c9e69fe706568a088c7df9c271bad48382c34b RED +ComposableOperatorClassPredicate.java 402b631f26ecff002f33f1dffa6989dc565a207e RED +OperatorUtil.java c95253d64ee68df857ef743df8cc151c5b1fc678 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/partitionmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/partitionmapping/.ratings index da01c918..7b74e818 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/partitionmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/partitionmapping/.ratings @@ -1,2 +1,2 @@ -CopyPartitionMapping.java 3e77f3bb93cdcb5839e6c050261f7a671bef6de0 RED -CopyPartitionMappingModule.java 679212216ca3f9ae3fbeeaeeeeb5813dc762952d RED +CopyPartitionMapping.java 641348ea8742dd1dc41770b434263c227aeecc87 RED +CopyPartitionMappingModule.java 3e2539c219d0ec618ee4b155bbcb910e48520672 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/platform/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/platform/.ratings index f94f131c..d64fb46b 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/platform/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/platform/.ratings @@ -1,2 +1,2 @@ -CopyPlatformCommunicationGraph.java 33a0bca299979ad7d6a25848e7828ca2d7017513 RED -CopyPlatformCommunicationGraphModule.java 0dd4ad33e694d3b4ddb8fb404b56e46b51bf5fd3 RED +CopyPlatformCommunicationGraph.java 940b8a0b104f8ee9809c53fa8d364cd3c892854d RED +CopyPlatformCommunicationGraphModule.java ff27643cf25d732fd46106847a544d5a0bc4a39e RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/safetyfunctionarch/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/safetyfunctionarch/.ratings index 3621b5f0..3a20768d 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/safetyfunctionarch/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/safetyfunctionarch/.ratings @@ -1,2 +1,2 @@ -CopySafetyFunctionArch.java 05e41d7d980f48698ccda668a75c4189b28b6a4d RED -CopySafetyFunctionArchModule.java 33038dd75c06df9b55cb4618a742656f5f305a7c RED +CopySafetyFunctionArch.java 92c728e3c40e1dde265d43564957d2cd55e7109b RED +CopySafetyFunctionArchModule.java ed14d74cc2f945124b7383ef1a1c1262ff546dea RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/taskmapping/.ratings index 6fd222c9..e79f83b6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/taskmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/copy/taskmapping/.ratings @@ -1,3 +1,3 @@ -CopyAbstractTaskMapping.java c6df9e76c182ca083303703cdd7d53ebe5cb6960 RED -CopyInstanceTaskMapping.java 902538ef9927500d5e16ff8b50364560bed10a6b RED -CopyTaskMappingModule.java 4904f2062265901c4a9d070449a06d40f6c054a4 RED +CopyAbstractTaskMapping.java 41356d99a196d9e50c19653a395f6d33945420af RED +CopyInstanceTaskMapping.java 9a7cf966b8b63ff2f82131ac803ce604564722b2 RED +CopyTaskMappingModule.java dd7d4d52cc66de6fb7b19d016571e6d62cee12c1 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings index 1241fd9c..972ab98a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings @@ -1,10 +1,10 @@ -CrossoverAbstractTaskMappingModule.java 4942a1dc7547a656b75cb899f06556f8dedd342e RED -CrossoverAllocationBase.java a2d0db2e860103bad3d7f8af1982623182103a80 RED -CrossoverOperatorModuleBase.java 03f237eba55f15043082bb1f5cc47f052cb24d33 RED -CrossoverRandManyAllocation.java c6a1ec9d0975247bbfc32a114f814eb52568cdb0 RED -CrossoverSingleAllocation.java 823db1f9c10e7ed4c7eb8212310a6d411526db88 RED -NopCrossover.java 70500c9db651250298c97e261e4f8a0d8b6941e3 RED -NopCrossoverInstantiatedTaskMappingModule.java 95156489b862633b428a87df2ae51aa304c7f6f1 RED -NopCrossoverPartitionMappingModule.java ac1eb750baf51027e352f4b95e6145e914bc4d19 RED -NopCrossoverPlatformCommunicationGraphModule.java 1e4b42a28f38a42fbddd0b5ad793679c96cb3330 RED -NopCrossoverSFArchModule.java 65379d3a5e26993de3cb72856e0e66b645e8b064 RED +CrossoverAbstractTaskMappingModule.java 04c64460b461c69b09fe66b3af2a9423906ffaa8 RED +CrossoverAllocationBase.java d11fd0c9627fd8224d49ee7541b7640b7f164bbb RED +CrossoverOperatorModuleBase.java 4343d7a3e8d5dc926b63fde625e8fee891b6ba9d RED +CrossoverRandManyAllocation.java 961182441dfde02a76373791aec4db804fa2e675 RED +CrossoverSingleAllocation.java 551f5c07151b80aac1e77e73d5c380474ef200c1 RED +NopCrossover.java 6c6c7ab84b33865dae3740604372d3c7d544738f RED +NopCrossoverInstantiatedTaskMappingModule.java 92c26b59d4a876dca6b6d76d4eeb8b9354f5e69a RED +NopCrossoverPartitionMappingModule.java b7589a430adad3c0221ab26ccedb68c45645875d RED +NopCrossoverPlatformCommunicationGraphModule.java fbad012d253b15353a0bd4d64b0a3ad93fdccd3e RED +NopCrossoverSFArchModule.java 7dacb3ecaa4e0eadd00d71ad6d980301951ec830 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/failSilent/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/failSilent/.ratings index d4a80ce8..a0f72b64 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/failSilent/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/failSilent/.ratings @@ -1 +1 @@ -CrossoverAllocationFailSilent.java 668b310ffa5544d81938bb957eabd1034c899219 RED +CrossoverAllocationFailSilent.java a3ea300ed0460b6222eec4067b161845cb201018 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/faultDetectionVoting/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/faultDetectionVoting/.ratings index f6c755ce..2a159b1a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/faultDetectionVoting/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/faultDetectionVoting/.ratings @@ -1 +1 @@ -CrossoverAllocationFaultDetectionVoting.java 7ad980120a322084cfc0085106c91e4722a37a72 RED +CrossoverAllocationFaultDetectionVoting.java 03955ce30ac9329bdf5fbf32765f4aaa829c5f0b RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/.ratings index 2eb432b3..d60f92a5 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/.ratings @@ -1,3 +1,3 @@ -MutateBase.java 270e544e90864adfb4e92f369db369eaab4a0f17 RED -MutateOperatorModuleBase.java b17ea95c0f3e8ccbdd9005c416c6d9aff54a5517 RED -NopMutateOperator.java c016ee80e96392d663e59d151b16ea546111cecf RED +MutateBase.java 74235bf78f594b887cba7a5005443eda80fc94f7 RED +MutateOperatorModuleBase.java 353924ab96686b5019c68c4bdd7741879cd998c4 RED +NopMutateOperator.java 6cc7d102046e582360a62dcf12a24806f6525df5 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/partitionmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/partitionmapping/.ratings index c6d7a468..a5fe5c17 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/partitionmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/partitionmapping/.ratings @@ -1,4 +1,4 @@ -MutatePartitionBase.java bb0c22283f538959a4896dd7cfc9ef3686df5eb9 RED -MutatePartitionDecrement.java a502f96ffaf4510828cdfc67346185f9fffdfbce RED -MutatePartitionIncrement.java 121c27c9e8bf3df7364a4245ef6f93300f221931 RED -PartitionMappingModule.java c39d8441752a67ef10398de2b810d178452fd326 RED +MutatePartitionBase.java 6cb254826ed2feb9a1609eb9208c8060868c5fe5 RED +MutatePartitionDecrement.java aa364f0d6e970ecc7e5d004c5d132878465951c0 RED +MutatePartitionIncrement.java 4b8e804d7b8e18bbd422cd74a204c7c5d458a31e RED +PartitionMappingModule.java 0eb2323ca27acf3ad32a973984a127a006e4f4aa RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/platform/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/platform/.ratings index 028b9bd0..f3a359e2 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/platform/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/platform/.ratings @@ -1 +1 @@ -NopPlatformCommGraphMutateModule.java 08577f7b156f428332be4a371fa6bc7f1f129c2b RED +NopPlatformCommGraphMutateModule.java 65589cc7a519b6acb1665724b22a7c3d837cf526 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/safetyarch/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/safetyarch/.ratings index fc52acc0..a8076f4f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/safetyarch/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/safetyarch/.ratings @@ -1,5 +1,5 @@ -MutateChannelNumber.java 3cc953a73ceeff9f4d78d6ceccd003310f71097a RED -MutateConnectedDiagnosisPresent.java 2b6053d44d11bcab37ba7fa4b780c17538af5fbf RED -MutateSafetyArchBase.java 940804b02cdf0f631b870a5458a7782835b2cdef RED -MutateSafetyFunctionArchitectureModule.java f45953e9f11655d90295f9a25ce46889b5c7f14d RED -MutateSafetyTriggerSignalNumber.java c883a170a4d9a6cc5a1b1ee86586dd79b44c2ab4 RED +MutateChannelNumber.java 2e49168b8d78cf98669babe400f47e6beb2fcfe5 RED +MutateConnectedDiagnosisPresent.java 9089e7c8c0fdf2f2b2fe3a91495090dcd840efab RED +MutateSafetyArchBase.java 572ca678c91ba6b7288ae672312c89d67e117bd9 RED +MutateSafetyFunctionArchitectureModule.java 005944541da58e07816b67cd7ab15872b7503dfc RED +MutateSafetyTriggerSignalNumber.java 385efb314ad5faabc4a18f25d189a413b6c2ac64 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings index 495a3e3e..82224c77 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings @@ -1,2 +1,2 @@ -MutateTaskInstance.java 7bb9d0cd22886796e77d7d2ba4b46323a88e4957 RED -MutateTaskInstanceModule.java 2d1a1227e1f14028d00ec77a8b2d19bb1437cf5e RED +MutateTaskInstance.java 0c101e73c2605c3ce7338a4894ed7fc4b388e880 RED +MutateTaskInstanceModule.java 4ec43fc3539409b360dd3c4939d22cc1b487e6b5 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings index 8cb12bd9..f082b56e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings @@ -1,6 +1,6 @@ -MutateAllocation.java 6de15219d302a04e89891372be98c54320d1a97e RED -MutateRedundancy.java f8d8eb0b1404e211a3b4c46a22dd0f8b3557530e RED -MutateRedundancyDecrement.java 087a249c93eb7f247b880bc82922337edb47c097 RED -MutateRedundancyIncrement.java 3a7aa2fc44b81982a77ca4daff458cab2eed6454 RED -MutateTaskMappingModule.java ac26c4c284593e2a326ff4ecb22d4282cab41ebf RED -MutateTasksBase.java e1df983535ca07c9e90081fd64c4a605b178d033 RED +MutateAllocation.java cee21301311e7e1bc1164f152e11760297bbd793 RED +MutateRedundancy.java 4b8f9ba0a9aa542bb4d3d168115f3fb01cd31829 RED +MutateRedundancyDecrement.java d2b176412ccf746641e7f7ebeade83f94de5d3dc RED +MutateRedundancyIncrement.java 6fb9e2312877fa57bb8970f167564f186008def8 RED +MutateTaskMappingModule.java 4f2d680a94c6aadb99eb576b66dbd3c06f193d33 RED +MutateTasksBase.java 237e281449ec0601623873db8d07ffe0c94f80bf RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/selection/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/selection/.ratings index 4e033de9..5f93fb40 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/selection/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/selection/.ratings @@ -1,7 +1,7 @@ -IMultiSelectorOperatorModule.java 0f94e8a916ce600dae0a7a993731dfa776136d2a RED -IOperatorSelector.java 65ff646a4f39ef93e6dc5bfc6cfb2eda2411a4d1 RED -ISelectorOperatorModule.java 2979612094a036d0ce1429fdbb15c3666a23f410 RED -OperatorSelectorBase.java 972b17f677a504786761a4a3a8bb55e7a08e7c36 RED -OperatorSelectorPredicate.java 6410075f62fdc8a6604c6d5cbf7c9a06f63b4049 RED -RandomOperatorSelector.java 13c9fcf7283f0bcac0c373fb72b1724c0abe6eb3 RED -RoundRobinOperatorSelector.java 399a6b84b5fa2b05c99ff8ec05442ce35e266611 RED +IMultiSelectorOperatorModule.java 157eea7b5b736034703db099931fdda439a632ba RED +IOperatorSelector.java 3da9c10eb864458097b7097bf2dd5129dd5ec271 RED +ISelectorOperatorModule.java 8b7254d5a2c6eaf0ca802153cf637a65df7af182 RED +OperatorSelectorBase.java b7763544dd214d20bf0a4cfc48a752cc831bb595 RED +OperatorSelectorPredicate.java 8dbd944b60956c9414af0ba27f86a837a266372d RED +RandomOperatorSelector.java 48fd49694fb011b45bbc63291ec65c261d2cef3b RED +RoundRobinOperatorSelector.java 1cd0027f6d38e8829b03c88304eba424def673c0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/.ratings index d4bd2506..6161d377 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/.ratings @@ -1,8 +1,8 @@ -ArchExpSubDecoder.java b53315dae39fd6afdae22e2412af5cf9dff5e574 RED -ArchitectureDecoder.java 9a002b7e7ecf05835276dd0302faf0bd7c3aa656 RED -ArchitectureExplorationProblemModule.java 650201476e17b6c7df1b9844e69fe979d20f04f6 RED -DseProblemModuleBase.java e088ed91aae6391bdec7ba93df65e677665f9596 RED -EvaluatorWrapper.java 47ff0b2df7f75e232fa269b55750f0e2c408b08c RED -ExplorationGoalPriorityMultiEvaluator.java 0f900f86c8adc14b69d95bb8eb3a34ea1ed2d41e RED -ProblemModuleBase.java fb1401b846d001dfc78bbd8b8881929788b10d41 RED -StrictTTDecoder.java 293d4e08d0ad1474aaa9c234807d140291cf40ae RED +ArchExpSubDecoder.java 8878133e8b65858b4cd7cedd243d49d391066323 RED +ArchitectureDecoder.java d067dc995e0895860d98d717647c0f7b061f5908 RED +ArchitectureExplorationProblemModule.java 6a8f34a29885d14c6f96e7516d23b30a646cd032 RED +DseProblemModuleBase.java 0eba41852529e92e7255c7a7d8fce18354facbca RED +EvaluatorWrapper.java 3747e5b78b1dcef8e1595c1ae9354e8ef2738e79 RED +ExplorationGoalPriorityMultiEvaluator.java 1f6d2aa6ece8acdf4f57face0439f3429ab87329 RED +ProblemModuleBase.java 4d5c2a80cada7ba6e4722c27f4625777ee0bbd87 RED +StrictTTDecoder.java d44d02b5f866717ebaa40a8a1a32225852e56af8 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/ArchitectureDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/ArchitectureDecoder.java index bae36d87..d067dc99 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/ArchitectureDecoder.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/ArchitectureDecoder.java @@ -21,9 +21,8 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.ArchExpSubEnco import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.ArchitectureExplorationEncoding; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.CompositeDecoderBase; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.graph.DecoderDependencyGraph; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.ArchitectureSolution; -import org.opt4j.core.Genotype; import org.opt4j.core.genotype.CompositeGenotype; import org.opt4j.core.problem.Decoder; @@ -35,8 +34,8 @@ import com.google.inject.Inject; * * @author diewald */ -public class ArchitectureDecoder - extends CompositeDecoderBase<ArchitectureExplorationEncoding, ArchitectureSolution> { +public class ArchitectureDecoder extends + CompositeDecoderBase<ArchitectureExplorationEncoding, ArchitectureSolution> { /** Default constructor that makes the input models accessible for the decoders. */ @Inject @@ -46,8 +45,8 @@ public class ArchitectureDecoder /** {@inheritDoc} */ @Override - public <CP extends ComposablePhenotype<? extends Genotype>> ArchitectureSolution - mergeSubPhenotypes(Map<Class<CP>, CP> subPhenotypes) { + public <CP extends Phenotype> ArchitectureSolution mergeSubPhenotypes( + Map<Class<CP>, CP> subPhenotypes) { return new ArchitectureSolution(); } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/DseProblemModuleBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/DseProblemModuleBase.java index 77cd950a..0eba4185 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/DseProblemModuleBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/DseProblemModuleBase.java @@ -26,8 +26,6 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.evaluate.ComposableEvaluator; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.evaluate.CompositeEvaluator; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.problem.CompositeProblemModuleBase; import org.fortiss.af3.exploration.alg.dse.evaluator.ArchitectureEvaluator; @@ -50,7 +48,7 @@ import org.opt4j.core.problem.Evaluator; * * @author diewald */ -public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ComposableGenotype>, P extends CompositePhenotype<?>, CD extends CompositeDecoder<C, P>> +public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? extends ComposableGenotype>, ComposableGenotype>, P extends Phenotype, CD extends CompositeDecoder<C, P>> extends CompositeProblemModuleBase<C, P, CD> { /** DSE configuration */ @@ -60,7 +58,7 @@ public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? e // TODO(#3270) protected SystemModelAdapter<?, ?, ?, ?, ?, ?, ?> systemModelAdapter; - /** Set of requested {@link ComposablePhenotype}s that form the solution set. */ + /** Set of requested {@link Phenotype}s that form the solution set. */ Set<Class<? extends IExplorationEncoding>> requestedSolutions; /** @@ -123,12 +121,12 @@ public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? e priorityMap.put(objectiveType, objectivePrioOffset + objPrio); } } /* - * else { - * throw new IllegalClassException( - * "Objectives that are not MOExplorationObjectives are currently not supported by this backend." - * ); - * } - */ + * else { + * throw new IllegalClassException( + * "Objectives that are not MOExplorationObjectives are currently not supported by this backend." + * ); + * } + */ } for(ExplorationTarget<?> target : targets) { @@ -145,7 +143,8 @@ public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? e * * @throws Exception */ - protected <RT, T extends ExplorationTarget<RT>, S extends ComposablePhenotype<?>, E extends ComposableEvaluator<S>> + protected + <RT, T extends ExplorationTarget<RT>, S extends Phenotype, E extends ComposableEvaluator<S>> EvaluatorWrapper<?, RT, T> addGoalEvaluator(CompositeEvaluator<P> dseEvaluator, T goal, int priority) throws Exception { @SuppressWarnings("unchecked") EvaluatorWrapper<?, RT, T> wrappedEvaluator = @@ -154,12 +153,11 @@ public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? e if(wrappedEvaluator != null) { // Here, we check whether the goal evaluator is defined for composable phenotypes (only // composable evaluators are allowed then). - if(ComposablePhenotype.class - .isAssignableFrom(wrappedEvaluator.getTargetPhenotypeType())) { + if(Phenotype.class.isAssignableFrom(wrappedEvaluator.getTargetPhenotypeType())) { Class<?> phenotypeClass = wrappedEvaluator.getTargetPhenotypeType(); - if(ComposablePhenotype.class.isAssignableFrom(phenotypeClass)) { + if(Phenotype.class.isAssignableFrom(phenotypeClass)) { // if(phenoClass.isAssignableFrom(phenotypeClass) && // evalClass.isAssignableFrom(wrappedEvaluator.getClass())) { @SuppressWarnings("unchecked") Class<S> subPhenotypeClass = @@ -184,8 +182,7 @@ public abstract class DseProblemModuleBase<C extends CompositeGenotype<Class<? e } else { throw new Exception(); } - } else if(!(ComposablePhenotype.class - .isAssignableFrom(wrappedEvaluator.getTargetPhenotypeType()))) { + } else if(!(Phenotype.class.isAssignableFrom(wrappedEvaluator.getTargetPhenotypeType()))) { // Otherwise, a "simple" goal evaluator is created addEvaluator(wrappedEvaluator); } else { diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java index 9c355fc1..3747e5b7 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java @@ -16,7 +16,6 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem; import org.eclipse.emf.ecore.EObject; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.evaluator.ArchExpSubEvaluator; @@ -116,9 +115,8 @@ public class EvaluatorWrapper<P, RT, T extends ExplorationTarget<RT>> implements /** {@inheritDoc} */ @Override - public <CP extends ComposablePhenotype<?>> Objectives evaluateComposable(Class<CP> clazz, - CP phenotype, FlatPhenotypeMap<Phenotype> phenotypes, - ClassToInstanceMap<EObject> transformedModels) { + public <CP extends Phenotype> Objectives evaluateComposable(Class<CP> clazz, CP phenotype, + FlatPhenotypeMap<Phenotype> phenotypes, ClassToInstanceMap<EObject> transformedModels) { Objectives objectives = new Objectives(); // TODO: Do we really need the evalu diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings index e73620a3..f910098e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings @@ -1 +1 @@ -MessageDecoder.java 4ad8b9325ad1032437426c5f1636448b54b7883c RED +MessageDecoder.java 78eda9938a9d176f0e69bcffd4bbec28049db93d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings index a198648b..80c558fe 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings @@ -1,2 +1,2 @@ -InstantiatedTaskMappingDecoder.java 7c814ec27683f24c4122d1c977ab47b76f36a379 RED -InstantiatedTaskMappingDecoderAcyclic.java 9d2823e418fe0dae98fbfe00427b5bf6fe3ceb3b RED +InstantiatedTaskMappingDecoder.java e73da437e703017adacce54f6778f553180c02b2 RED +InstantiatedTaskMappingDecoderAcyclic.java 979d34e0bfc76cc39ac201b3d9d34500f44ce30d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/partitionmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/partitionmapping/.ratings index a70ad051..2ae985fa 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/partitionmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/partitionmapping/.ratings @@ -1,2 +1,2 @@ -PartitionMappingDecoderGraph.java 4541c30721d8898a269320fbf5bbc65627548160 RED -PartitionMappingIdentityDecoder.java 45a0f3748f01beb741390d564a707f19cf3fd2b6 RED +PartitionMappingDecoderGraph.java 73645b119904fb34c8a1136a7603af8830a94778 RED +PartitionMappingIdentityDecoder.java 964e0e992dd33aeec4ed55a83d9c6c6f7883a7a0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings index 400accbb..8ac9f6e4 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings @@ -1,4 +1,4 @@ -SFEncodingDecoder.java ed80fb718ebef561d42610709820852ff777d609 RED -SFGraphDecoder.java 5b6a65e02f9132348a5051b431581a32fe14046e RED -SFMappingConstraintDecoder.java 3fe95f631eb32d8f1757dba46a2c93be3e04f5af RED -SFMappingDecoder.java b3985407125fe2e36882385aff269b0dc46689cd RED +SFEncodingDecoder.java 38d5a6c261315d2fd24f06f764c97e9d9f6808db RED +SFGraphDecoder.java 82c9b536a526e0e2b23d35a64124e622e5eedd5a RED +SFMappingConstraintDecoder.java 69b46dc6184f316102df770ebad3814361db6d11 RED +SFMappingDecoder.java 0fe8c6aad79085a5be5ead4c38b21e06095944a9 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFEncodingDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFEncodingDecoder.java index d8f81ab1..f7c4dfe7 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFEncodingDecoder.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFEncodingDecoder.java @@ -22,20 +22,19 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunction import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.ComposableDecoder; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.decode.ComposableDecoderBase; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.ArchExpSubDecoder; /** - * Provides a {@link SafetyFunctionArchEncoding} to the set of {@link ComposablePhenotype} types. + * Provides a {@link SafetyFunctionArchEncoding} to the set of {@link Phenotype} types. * This {@link ComposableDecoder} is an identity operation. * * @author diewald */ -public class SFEncodingDecoder<C> - extends ComposableDecoderBase<SafetyFunctionArchEncoding<C>, SafetyFunctionArchEncoding<C>> - implements ArchExpSubDecoder { +public class SFEncodingDecoder<C> extends + ComposableDecoderBase<SafetyFunctionArchEncoding<C>, SafetyFunctionArchEncoding> implements + ArchExpSubDecoder { /** * {@inheritDoc} @@ -56,9 +55,10 @@ public class SFEncodingDecoder<C> * see {@link ComposableDecoderBase}. */ @Override - public SafetyFunctionArchEncoding<C> updateComposable(SafetyFunctionArchEncoding<C> inGenotype, - SafetyFunctionArchEncoding<C> outGenotype, - FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException { + public SafetyFunctionArchEncoding<C> + updateComposable(SafetyFunctionArchEncoding<C> inGenotype, + SafetyFunctionArchEncoding<C> outGenotype, + FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException { return inGenotype; } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings index 74500d69..05e34d61 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings @@ -1,2 +1,2 @@ -AbstractTaskMappingIdentityDecoder.java b1556259f12c67e465031f63f21a47e327f42ab9 RED -TaskMappingDecoderBase.java 0b0fefc3bb48ea5b65956266b48bd97eed90d9f5 RED +AbstractTaskMappingIdentityDecoder.java 35871c7a2d43f7645282a75507f0d2276a53dbc4 RED +TaskMappingDecoderBase.java f75f02c16f7b9b9eb16fa9935f904bde9eaf293c RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/AbstractTaskMappingIdentityDecoder.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/AbstractTaskMappingIdentityDecoder.java index 65d9b47f..35871c7a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/AbstractTaskMappingIdentityDecoder.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/AbstractTaskMappingIdentityDecoder.java @@ -22,13 +22,13 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi 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.extensions.compositegene.decode.ComposableDecoder; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.FlatPhenotypeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.ArchExpSubDecoder; /** - * Provides a {@link AbstractTaskMappingEncoding} to the set of {@link ComposablePhenotype} types. + * Provides a {@link AbstractTaskMappingEncoding} to the set of {@link Phenotype} types. * This {@link ComposableDecoder} is an identity operation. * * @author diewald diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java index 4fc4acda..f75f02c1 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java @@ -23,18 +23,17 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi 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.extensions.compositegene.decode.ComposableDecoderBase; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap; 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.IResourceAdapter; +import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter; import org.fortiss.af3.exploration.alg.exception.ExplorationException; /** * * @author diewald */ -public abstract class TaskMappingDecoderBase<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>, P extends ComposablePhenotype<?>> +public abstract class TaskMappingDecoderBase<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>, P extends Phenotype> extends ComposableDecoderBase<T, P> { /** diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings index 01dfb3ae..5d7a238a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings @@ -1,4 +1,4 @@ -AbstractTaskMappingDecoder.java 2f3aa1860a3f10224bd8f5eab4ee07f136f44065 RED -FailSilentAbstractTaskMappingDecoder.java 737f312502e0e41eb7de9e78985572436ec95ce9 RED -FaultDetectionVotingAbstractTaskMappingDecoder.java bf75917b2a858e77feb677957a6eb9333bf099d9 RED -TaskInstanceResourceAlignmentDecoder.java 4e9e61817df2e869ef84b67943c4e9874bbd4f37 RED +AbstractTaskMappingDecoder.java 52a08984ae1270bba11cf3a215009c9d8c1f9a17 RED +FailSilentAbstractTaskMappingDecoder.java 0d68a832a1e9bca8ef93aaffb9d309c1fe7d7f7a RED +FaultDetectionVotingAbstractTaskMappingDecoder.java 91ad48817fdd592a70da6a08d4a0f666c01acc33 RED +TaskInstanceResourceAlignmentDecoder.java fe8b789f3a0185585a90cf1882fd3983453b4a0d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/repair/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/repair/.ratings index 6f59fb7e..166dafe4 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/repair/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/repair/.ratings @@ -1 +1 @@ -RepairModuleBase.java 9e491c2e726c0d72370b3ae71813aed1a4932f83 RED +RepairModuleBase.java 8ad46913cc775f17607ac5ae660248f4a01910f5 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings index 2d79db22..340112b8 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings @@ -1,6 +1,6 @@ -ArchExpSubSolution.java 3bb56206fe70f19f7cb6aee575eba552ce9bbc4e RED -ArchitectureSolution.java 4403246ed4c40e907e5def4ff503001081f0f47d YELLOW -IExplorationSolution.java a6153937197358907ceec46606a7f28620c26f2b RED -IScheduleSolution.java 8a2959147bdca874fd43b1591bc5471b68c04333 RED -StrictTTSchedule.java eec7ffce1047cec7b869a938fd428e56cd705163 RED -TimeSlot.java 499ba8b40aca05351c4baf03d104dd20e5eb19d1 RED +ArchExpSubSolution.java 01ed04e438843a9c55c69a3c32c37f7d76f783a3 RED +ArchitectureSolution.java fe7357822289ac1890f84ebe4e93abbd4a56b658 RED +IExplorationSolution.java 28e3033f9a77bc4bc43a1d170df89256d9052a59 RED +IScheduleSolution.java 1f219222f59260ca87ab38fc11bebe91b790812b RED +StrictTTSchedule.java 58bccb7781b2a636a03fa6414fd733bf8a13547b RED +TimeSlot.java 055e615eeba569813c4edf1896d136f4a0fc6b3e RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchExpSubSolution.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchExpSubSolution.java index 62eb8db9..01ed04e4 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchExpSubSolution.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchExpSubSolution.java @@ -15,14 +15,13 @@ +--------------------------------------------------------------------------*/ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.opt4j.core.Genotype; +import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; /** * Marker interface for solutions of a sub-problem a architectural exploration problem. * * @author diewald */ -public interface ArchExpSubSolution<S extends Genotype> extends ComposablePhenotype<S> { +public interface ArchExpSubSolution extends Phenotype { // Marker interface. } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchitectureSolution.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchitectureSolution.java index 3e476e72..fe735782 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchitectureSolution.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/ArchitectureSolution.java @@ -20,11 +20,8 @@ import java.util.Collection; import java.util.LinkedList; import java.util.Queue; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.ArchitectureExplorationEncoding; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotypeBase; 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; /** * Base class for solutions (=> {@link Phenotype}s) of an architecture exploration problem. @@ -33,24 +30,23 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen */ // TODO: Check commonalities of this class with the FlatPhenotypeMap. // TODO: Check whether it would be beneficial to create a IExplorationSolutionBase Class. -public class ArchitectureSolution extends CompositePhenotypeBase<ArchitectureExplorationEncoding> - implements IExplorationSolution<ArchExpSubSolution<?>> { +public class ArchitectureSolution extends PhenotypeBase implements + IExplorationSolution<ArchExpSubSolution> { /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override - public Collection<Class<? extends ArchExpSubSolution<?>>> getAllSubSolutionClasses() { - Collection<Class<? extends ArchExpSubSolution<?>>> subSolutionClasses = new ArrayList<>(); - Queue<ComposablePhenotype<?>> traversalList = new LinkedList<>(); + public Collection<Class<? extends ArchExpSubSolution>> getAllSubSolutionClasses() { + Collection<Class<? extends ArchExpSubSolution>> subSolutionClasses = new ArrayList<>(); + Queue<Phenotype> traversalList = new LinkedList<>(); traversalList - .addAll((Collection<? extends ComposablePhenotype<?>>)(Collection<?>)subPhenotypes - .values()); + .addAll((Collection<? extends Phenotype>)(Collection<?>)subPhenotypes.values()); while(!traversalList.isEmpty()) { - ComposablePhenotype<?> phenotype = traversalList.poll(); - subSolutionClasses - .add((Class<? extends ArchExpSubSolution<?>>)phenotype.getPTypeToRegister()); - if(phenotype instanceof CompositePhenotype) { - traversalList.addAll(((CompositePhenotype<?>)phenotype).getSubPhenotypes()); + Phenotype phenotype = traversalList.poll(); + subSolutionClasses.add((Class<? extends ArchExpSubSolution>)phenotype + .getPTypeToRegister()); + if(phenotype != null) { + traversalList.addAll(phenotype.getSubPhenotypes()); } } return subSolutionClasses; @@ -69,8 +65,8 @@ public class ArchitectureSolution extends CompositePhenotypeBase<ArchitectureExp return retPheno; } - if(phenotype instanceof CompositePhenotype) { - traversalList.addAll(((CompositePhenotype<?>)phenotype).getSubPhenotypes()); + if(phenotype != null) { + traversalList.addAll(phenotype.getSubPhenotypes()); } } return null; diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java index d6685ea0..58bccb77 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java @@ -25,7 +25,8 @@ import java.util.TreeMap; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition; 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.extensions.compositegene.phenotype.ComposablePhenotype; +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.sysmodel.arch.ICommunicationResourceAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IGatewayUnitAdapter; @@ -46,8 +47,8 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.sched.ScheduleRuntimeExcepti */ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>> - implements IScheduleSolution<StrictTTSchedule<S, T>>, ComposablePhenotype<T>, - ArchExpSubSolution<T> { + extends PhenotypeBase implements IScheduleSolution<StrictTTSchedule<S, T>>, + ArchExpSubSolution { /** * Amount (of time) which {@link TimeSlot}s are allowed to overlap. Here due to numerical * imprecision. @@ -120,10 +121,8 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit /** * Performs a validation of this schedule. Returns {@code true} if the following conditions - * hold: - * <li>The number of allocations defined in the mapping matches the number of scheduled - * components.</li> - * <li>No overlap of {@link TimeSlot}s within the schedule of each + * hold: <li>The number of allocations defined in the mapping matches the number of scheduled + * components.</li> <li>No overlap of {@link TimeSlot}s within the schedule of each * {@link IResourceAdapter}.</li> */ public boolean validateSchedule(boolean enableScheduleException) { @@ -137,11 +136,10 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit } /** - * Validates whether the number of {@link TimeSlot}s representing a - * {@link ITaskAdapter} matches the number of allocations defined in the - * {@link IMappingEncoding} from which this {@link StrictTTSchedule} is derived. - * This check is performed for each {@link ITaskAdapter} in the - * {@link IMappingEncoding}. + * Validates whether the number of {@link TimeSlot}s representing a {@link ITaskAdapter} matches + * the number of allocations defined in the {@link IMappingEncoding} from which this + * {@link StrictTTSchedule} is derived. + * This check is performed for each {@link ITaskAdapter} in the {@link IMappingEncoding}. */ private boolean validateAllocationNumberInSchedule(boolean enableScheduleException) { for(ITaskAdapter<?> comp : encoding.getRequesters()) { @@ -155,8 +153,9 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit } } if(compEncNum != compSchedNum && encoding.getRequesters().contains(comp)) { - System.out.println("The number of scheduled Components of " + comp.getName() + - " does not match the number defined in the Component->ExecutionUnit mapping."); + System.out + .println("The number of scheduled Components of " + comp.getName() + + " does not match the number defined in the Component->ExecutionUnit mapping."); if(enableScheduleException) { throw new ScheduleRuntimeException(this); } @@ -171,8 +170,7 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit * with another {@link TimeSlot} of that {@link ResourceSchedule}. */ private boolean validateNoTimeSlotOverlaps(boolean enableScheduleException) { - for(Map.Entry<IResourceAdapter<?>, ResourceSchedule> resourceSchedule : schedule - .entrySet()) { + for(Map.Entry<IResourceAdapter<?>, ResourceSchedule> resourceSchedule : schedule.entrySet()) { for(TimeSlot currentTimeSlot : resourceSchedule.getValue().keySet()) { TimeSlot nextTimeSlot = resourceSchedule.getValue().higherKey(currentTimeSlot); if(nextTimeSlot != null && @@ -200,8 +198,7 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit * validated. */ private boolean validateCausalityOfTasks(boolean enableScheduleException) { - for(Map.Entry<IResourceAdapter<?>, ResourceSchedule> resourceSchedule : schedule - .entrySet()) { + for(Map.Entry<IResourceAdapter<?>, ResourceSchedule> resourceSchedule : schedule.entrySet()) { for(TimeSlot currentTimeSlot : resourceSchedule.getValue().keySet()) { for(TimeSlot predecessorSlot : currentTimeSlot.getPredecessors()) { if(currentTimeSlot.getStartTime() < predecessorSlot.getEndTime() - @@ -236,8 +233,8 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit } /** Registers a {@link TimeSlot} with the appropriate schedule. */ - public TimeSlot registerTimeSlot(TimeSlot slot, S deployedRequest, - IResourceAdapter<?> resource) { + public TimeSlot + registerTimeSlot(TimeSlot slot, S deployedRequest, IResourceAdapter<?> resource) { // Create a new TimeSlot and eventually add a new ResourceSchedule, if none exists yet for // the deployment target. if(schedule.get(resource) == null) { @@ -277,8 +274,9 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit */ public TimeSlot createTimeSlot(S deployedRequest, IResourceAdapter<?> resource, Collection<TimeSlot> predessorSlots, double start, double end, long iteration) { - TimeSlot slot = new TimeSlot(deployedRequest, resource, predessorSlots, start, end, - (int)iteration, false); + TimeSlot slot = + new TimeSlot(deployedRequest, resource, predessorSlots, start, end, (int)iteration, + false); return registerTimeSlot(slot, deployedRequest, resource); } @@ -347,11 +345,12 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit /** Formats the string representation of a resource */ private String getResourceName(IResourceAdapter<?> resource) { String str = resource.getName(); - if(!(resource instanceof ITransmissionUnitAdapter || - resource instanceof IGatewayUnitAdapter)) { + if(!(resource instanceof ITransmissionUnitAdapter || resource instanceof IGatewayUnitAdapter)) { // FIXME: Use the name of the partition. - str += "@" + resource - .toString();/* systemModelAdapter.getHardwareResource(resource).getName(); */ + str += "@" + resource.toString();/* + * systemModelAdapter.getHardwareResource(resource).getName + * (); + */ } return str; } @@ -384,7 +383,7 @@ public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partit /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override - public Class<? extends ComposablePhenotype<?>> getPTypeToRegister() { - return (Class<? extends ComposablePhenotype<?>>)StrictTTSchedule.class; + public Class<? extends Phenotype> getPTypeToRegister() { + return StrictTTSchedule.class; } } diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings index 9965c4df..e85fbf07 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings @@ -1,6 +1,6 @@ -ArchExpSubEvaluator.java 3516cc5a58514e47f965920012cf0cd738ddbaa4 RED -ArchitectureEvaluator.java b0c504d4b75bd7286c22713282a5ae38f27db231 RED -ExplorationTargetEvaluatorBase.java 1b45c04cb27a911806682b9f5ee18bcaa5f0ee0d RED -ExpressionEvaluatorBase.java 600d61496b9f8cb818cb68e275d8f4260ea8cea7 RED -ITopLevelEvaluator.java 032ec6375efff2234664690f271cec98816abcc5 RED -TaskMappingEvaluator.java 742dd84439cfc62186a2799a1293248e2def32e2 RED +ArchExpSubEvaluator.java b7121690c41fec70955cc76cebebc4ff64787591 RED +ArchitectureEvaluator.java bd4d481faedd5fb0cb34ae9ab6742ed48a016444 RED +ExplorationTargetEvaluatorBase.java d50dc78ab5d72b727f4ff305634e3f604e45ba7b RED +ExpressionEvaluatorBase.java 0361b11e2019a9fa7c2535effde2de6afe02c56b RED +ITopLevelEvaluator.java 1d271f29368adcb9fa68478ee70888146c91ccbf RED +TaskMappingEvaluator.java 880a7527976c6dc61998be684997a7bc953ad064 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings index befb3254..8d8579e6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings @@ -1,10 +1,10 @@ -ComponentMultiAllocationConstraintEvaluator.java af0a6ce0274cd07605d03048fa6ec18321c02029 RED -ComponentMultiDislocationConstraintEvaluator.java fcb867e1317a51c8ef85de00bb958ae1ae7f576a RED -ConstraintEvaluatorBase.java 4a0e50681708c882bf314d689e1ddce322d0cd50 RED -DeadlineConstraintEvaluator.java 6763810616860bd149f90a653776276681ee480e RED -IConstraintEvaluator.java bca49bbdea5e089b0d045fc356ceedcb466df55e RED -MappingEvaluatorConstraint.java f1f44bffbef03f1650a7f026428423838b16b845 RED -NoEmptyPartitionConstraintEvaluator.java 0cd05407f2c2958c5c26d4497b6fdca84c03ad3e YELLOW -PeriodConstraintEvaluator.java 05cf21be06c9ae12593f870efdf9c358efa2d97c RED -SafetyIntegrityLevelConstraintEvaluator.java 9ad7129faaa35d89af4fced7a7121a0a142cb6f1 RED -SameSilInPartitionConstraintEvaluator.java 571c4f092ea59266d2bcd4870f2297dfc9ae1ad2 RED +ComponentMultiAllocationConstraintEvaluator.java 1c3d042eaaec011bd4d2daaa20e3decf8a273c0a RED +ComponentMultiDislocationConstraintEvaluator.java 851d415151da11a72f1b0b708ec264dfe97f6928 RED +ConstraintEvaluatorBase.java 390219c84242650b2c5ed3732499a77ce815a552 RED +DeadlineConstraintEvaluator.java dfe69382d843405eb1c9626c578f04a8c141b49c RED +IConstraintEvaluator.java dc8c058ba3fa6dccd03f082970890f53174375fc RED +MappingEvaluatorConstraint.java 9e704335297e306d32ad777e12df978e60e67ab4 RED +NoEmptyPartitionConstraintEvaluator.java ef3e421ba61f9d69834189aa1d72d85e3587e391 RED +PeriodConstraintEvaluator.java 10830bfc9386df4a9617914a4830637f3fdb90ae RED +SafetyIntegrityLevelConstraintEvaluator.java fce18765a86640032e7135cdefc98eee9702366c RED +SameSilInPartitionConstraintEvaluator.java 6ae270852cc66f603004ed1718406c7ff88f744d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings index 0341d8ab..cec4a3b6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings @@ -1,5 +1,5 @@ -EnergyObjectiveEvaluator.java ad2b868aa3dce2c7708ee6cc90f357b79a4cf799 RED -FailSilentReliabilityEvaluator.java 83211c8e2b69579c424a486cd6845bb8d1bb69fa RED -FaultDetectionVotingReliabilityEvaluator.java 189fdfd0daed3348c510a6aeac0bd391e835c524 RED -MappingEvaluatorObjective.java 627aa735ebc2d04ed583ee68fd465d676a1008b6 RED -ReliabilityEvaluatorBase.java 98fa54270cba25137112fe55f3551fbd8064ac28 RED +EnergyObjectiveEvaluator.java 55b55ad26c1ab1ec6511615678df01f08b4927b7 RED +FailSilentReliabilityEvaluator.java b3167361dc95242d6a3bedff716890d70be12622 RED +FaultDetectionVotingReliabilityEvaluator.java f855845cbea8a2aaba5481b3769f6b00d8683480 RED +MappingEvaluatorObjective.java 17a9b315ed0385a1dca2a753118cae0e5f42af2b RED +ReliabilityEvaluatorBase.java 303e2f735ec79e533522e1cfedc6b568ce5352d8 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/.ratings index 8b4b45e1..aa09e380 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/.ratings @@ -1,4 +1,4 @@ -DeprecatedModelGeneratorBase.java 653a6413139120d4e8949880c6b951aad09fbeaf RED -EMFModelConcurrencyHandler.java b488636059888b61c2b4af974c1752be1d5f3d3b RED -ITransformationModule.java 5277a9d1fd452835dbe3fe8b7182bb83edd4c0e9 YELLOW -ITransformationStrategy.java eb72568e6df58b44ac96418c8d59c3a98715dc5c RED +DeprecatedModelGeneratorBase.java be9e214555ee28a48d59ecd6856f7b12f5f57ecf RED +EMFModelConcurrencyHandler.java 7db7ba7548b9785863ce3c72533b5f65307bcac3 RED +ITransformationModule.java f995cf6c065fcac2df1f4492b33e9659e4b7d6d2 RED +ITransformationStrategy.java 3e5dc1a41a13ccea617d598ff72bbb747deb452b RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/base/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/base/.ratings index 9139ba4a..caac0311 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/base/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/base/.ratings @@ -1,4 +1,4 @@ -ElementTransformationModuleBase.java 812658d8643df59a7ebd799c85085d762ed8cfde RED -ElementTransformationStrategyBase.java 468380f3421f4e0e39ddfa1f8ac6138b07baf1cc RED -TransformationModuleBase.java 62c310e26a9933b668f99c657aef250bffc5fe10 RED -TransformationStrategyBase.java 4d042b75cbdd0d2f79b0cec79e627c0e9630e512 RED +ElementTransformationModuleBase.java bc5f586fcb5766b62b5126a5ff0ddad0e8eb63b8 RED +ElementTransformationStrategyBase.java 1dc8dc3a4fb934bf906765b76c0884993433a063 RED +TransformationModuleBase.java 0142ab076dccfe2961754e74b8c80f0e5e7c9520 RED +TransformationStrategyBase.java 5d9fe2c87534a051dab79c323f28aa5576a7a3f4 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings index b6753592..1d7efacd 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings @@ -1,6 +1,6 @@ -ComponentArchitectureFinalizer.java dc9aaaa71d783537cd7ea9c0b2521932b3a5d95c RED -ComponentArchitectureInitializer.java b3bdadb89c08659b5892564a4d37d682bb3bb23f RED -ComponentArchitectureInserter.java 5ffe3b556a71e15b562a8a28694da830dc269b5e RED -ComponentArchitectureInstantiator.java 0acdb5c6039f53fa01446da5af6c5bb50a854e80 RED -ComponentArchitectureReplicator.java 72ca8f9428506f489be79b980a0c966a7b388d71 RED -ComponentArchitectureTransformer.java f4a1ea1337dcb3aeaa99900034dd9ada9b9ee5a7 RED +ComponentArchitectureFinalizer.java 8aa3c64b93f12d2251f304fcdb275db477a4eec2 RED +ComponentArchitectureInitializer.java 5a005c23b05705e8fac4bd923ec6cae5a1a9feed RED +ComponentArchitectureInserter.java 3ecef8e87be344a48ded69cd4ca63cdacbf02abe RED +ComponentArchitectureInstantiator.java 15a4c9ca75fd66fec93714b6626ccc1eb134984d RED +ComponentArchitectureReplicator.java 704781b1cb803c643608b458aebcbb7bf7548fc6 RED +ComponentArchitectureTransformer.java 89152cc839b053c06cc8b289d97d96f56932e76e RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings index 8b0b1f1f..4b2877a0 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings @@ -1,4 +1,4 @@ -DeploymentFinalizer.java ce2c53558f008636c3c9f3bddd8432518c0545f1 RED -DeploymentInitializer.java e190b0fe5af29c887ed59e011d68cdda5f59cf1d RED -DeploymentReplicator.java 6877c3626ef0ee56db14b0af8688e7ec107290bb RED -ExplorationSolutionToDeployment.java 6841d5ada7db04f5e6aa68ae40865a3c958ef643 RED +DeploymentFinalizer.java 23dceff006ee88d2b6cbc19477b7b403c032ca30 RED +DeploymentInitializer.java b776e12bc184322c5dd75b83c9bbf584b216e265 RED +DeploymentReplicator.java d717aabfa1705734127e60fa831e648e340db78d RED +ExplorationSolutionToDeployment.java 1d5c54914de0949ee18830e15021d7970ec1a114 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/dseinternal/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/dseinternal/.ratings index 12b66ab7..8fb3bfcc 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/dseinternal/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/dseinternal/.ratings @@ -1,6 +1,6 @@ -ComponentExecutionUnitTransformation.java b4a88521187c8b114fa50bf239a17213add9f746 YELLOW -PartitionToExecutionUnitTransformation.java 0d93bf39fed3af7f1b0b018bb14893c67ad038ae YELLOW -PartitionTransformation.java e4f6120eaa59bf853c08918de821382b9390b18b YELLOW -SuperSetTransformationBase.java 166ece983c1e010f18ed69dc072bd66e9cc94d08 YELLOW -SuperSetTransformationStrategy.java 305d149e8e7044ea307738f1da2b483af689a726 YELLOW -TaskToPartitionTransformation.java 12a5e5cc4031e590819970d781b88966dcac31b6 YELLOW +ComponentExecutionUnitTransformation.java 7eaeba02c12e7a7116ef2cc990c5cbeb900616f4 RED +PartitionToExecutionUnitTransformation.java c94d7e45718ad7dea22a526bece11c8e2c27bd10 RED +PartitionTransformation.java 840b975e39f5de8d4831f8153d9b690fe4a4b681 RED +SuperSetTransformationBase.java f74544987d49beab335544f5e8a543c9f07ae9a7 RED +SuperSetTransformationStrategy.java 0f658d7bdc90847d4cb809afaef408b5e0ed7615 RED +TaskToPartitionTransformation.java 5c91f8b4c09c16ba82cf132ec8654a39785e4d5b RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/element/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/element/.ratings index b949ac98..958bc569 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/element/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/element/.ratings @@ -1,2 +1,2 @@ -IElementTransformationModule.java 74944b50aa164aaa00a760c43674e5c7c5b168f7 RED -M2MCopier.java 06c90ca296218bf0d5a39215e4200eeb41abd22e RED +IElementTransformationModule.java 214929f166795c3201bbaab3836b91e6f637566a RED +M2MCopier.java afd51ed6e73a1e5fc30d60bf90727df9d13da7ba RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/graph/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/graph/.ratings index 80622786..5358bffb 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/graph/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/graph/.ratings @@ -1,2 +1,2 @@ -ElementModuleDependencyGraph.java 4b7b44fbf093f72901dd47e54d4b47c3a30b483c RED -ElementTransformationModuleEdge.java 3b135b061d35484ac51b5041eac382bc775ea211 RED +ElementModuleDependencyGraph.java bbb0fc47cdeec172763aa86fd1adb9928caa9b35 RED +ElementTransformationModuleEdge.java 41abe25b65171af96c3496d29194aa4a8317d0da RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/partition/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/partition/.ratings index 35170dce..e52a0c0b 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/partition/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/partition/.ratings @@ -1,2 +1,2 @@ -PartitionTransformationStrategy.java 220d5175ac8ff958f82c053a934095880540fcd3 YELLOW -PartitionTransformer.java 3226c719980e12590e02eea5b01652b19b290577 RED +PartitionTransformationStrategy.java 5d29815ba2e501a3423af8ceac831e4a2fd31e8e RED +PartitionTransformer.java d61f8d062daf4ba9109dfe28a1d8e1e32ae8003c RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings index bd0ee265..7aaa8c32 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings @@ -1,2 +1,2 @@ -SafetyChannelPortReplicator.java 6fc6a909be6baa4d73501cd6d9759b5a47870057 RED -SafetyDiagUnitRemover.java b3ce9c265511692802ce3c519c5ae2820e5d8ae0 RED +SafetyChannelPortReplicator.java 5990480f0a7fc3ee1671ab71cf6a650aeb4e7dce RED +SafetyDiagUnitRemover.java b1a08fa29528ef5df0c21f47161173cf65b94554 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/.ratings index 89f21dad..8ac275c4 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/.ratings @@ -1,2 +1,2 @@ -FailSilentExecModelFactory.java 5e9acef92029f7f1cabffb5c1d61f99168a075a6 RED -FaultDetectionVotingExecModelFactory.java 0357061405b68dcc9f02f17c14fb4bac2f0fd888 RED +FailSilentExecModelFactory.java 4ee468ad45b7548ee06b0ce3aaa417cbcbcec282 RED +FaultDetectionVotingExecModelFactory.java b8c7d062f624c18a41bc4ee26e0e8299a82f5cdb RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings index 6ae08730..7152e0ce 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings @@ -1,17 +1,17 @@ -ICommunicationResourceAdapter.java 54dd128bfa04c5cfd16551eec8983e712636f86a RED -IComponentAdapter.java c8425150287be21b48d686469b88ea7fb77793e4 RED -IExecutionUnitAdapter.java a93c835d5dce6a6054eea7b0abb9663c04a335b8 RED -IGatewayUnitAdapter.java 5f806d2907ee461938eea14238572311572ecf81 RED -ILogicalArchitectureAdapter.java 7570a2adab987260e74bc255fcf21862a820226e RED -IMemoryUnitAdapter.java 588840b8237bd23a048a69961ffe985caf3b425b RED -IModelElementAdapter.java 3f6ae2fdc68ffed2728d2f895dc287864053e352 RED -IPlatformArchitectureAdapter.java 0a785dcff9147e1904751714ccd61ed758e0f1fe RED -IRequestAdapter.java bb7b3c05c4f52215cd79b27207bad8ce66a28506 RED -IResourceAdapter.java 634866895c9d1aa427f3c8d47e69acd807d0b582 RED -IResourceConnectionAdapter.java 7e20a8c3e60a9892597301556c891ba2dd43387f RED -ISafetyFunctionAdapter.java f20249e7c37f54774a9e8eaa0566a85492c80654 RED -ISignalAdapter.java 4f04154c5802a4f1a5469df90652852e16727421 RED -ITaskAdapter.java ea35d5d3c9482c3a3f4452eec7fa0e825552be59 RED -ITransmissionUnitAdapter.java 8965b73bfe9ef232a2a6d5427f7001761716d583 RED -InternalComponentParameters.java 2b19f4eeddee84e4c6e558ed9a1613cba33b7665 RED -SystemModelAdapter.java 3621d4aaaeb8b5913194dc4cc6182c20f305149b RED +ICommunicationResourceAdapter.java 05fba6a2c158545f28393eb4c845b2ace86eb99d RED +IComponentAdapter.java 2dfb64428d4edc278e6b5f7c3f21e44d07196917 RED +IExecutionUnitAdapter.java a73348f4bff9a9c8f4a3f0e60177490e2e228388 RED +IGatewayUnitAdapter.java dcf6aa0afcb20d3035b3034e2183c5dfc867e9b9 RED +ILogicalArchitectureAdapter.java 2dea1c829c1542ffa788b669ae979854ae7e8480 RED +IMemoryUnitAdapter.java c4093302720e21dec978479051184c842f1061d4 RED +IModelElementAdapter.java a7620a897eb9ebfdcaf869ebb25e112d900b5622 RED +IPlatformArchitectureAdapter.java 399d3cdff468c5ac95ca4cf6f17caabdeb2fef16 RED +IRequestAdapter.java d9298837caf9e15971471aae0bb567e416e82a41 RED +IResourceAdapter.java 4d41218b96f25daedad66098250baf622a3f89b3 RED +IResourceConnectionAdapter.java 67d0a7f54de3e3fe21532fc33f6b853eb844b993 RED +ISafetyFunctionAdapter.java 503745b2c45c19995f37b10e8d640aeca06d5154 RED +ISignalAdapter.java 2bdb578564cf1d3351c99811c9090e2e9bd70715 RED +ITaskAdapter.java 0f8c8699bb48e609211713aef6a7e1e82a00c963 RED +ITransmissionUnitAdapter.java 217aca158641261dc8035805f341fe4c4c527a36 RED +InternalComponentParameters.java cd5eea4ddf104c4cb3c4521d3256566812876027 RED +SystemModelAdapter.java f92341ec7813ad4301b0f3abc084b3dbc6f8055f RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings index 2a9765d6..7c71b98c 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings @@ -1,13 +1,13 @@ -AF3ExecutionUnitAdapter.java fcc78cb56ae62cc56e2d2985d3586296a226c7b6 RED -AF3GatewayAdapter.java 4a9d8c3d10c3c92867caea37bbce199b9e634741 RED -AF3LogicalArchitectureAdapter.java b129b15fefcd1864df1d2584f2ca0820ef6600c4 RED -AF3MemoryUnitAdapter.java f4846d229dedc3b2b8e023204d0101e2a8c1c0c2 RED -AF3ModelElementAdapter.java 9266176a61425e1af8efd4ea37856d67c93dbddb RED -AF3PlatformArchitectureAdapter.java fb657d182999dc73eed16c0adc57c5876c8104b9 RED -AF3RequestAdapter.java 7cfea424beeacaac81b48efd4e1c24270dcb3929 RED -AF3ResourceAdapter.java 00070d4e3ec7f19a672b6295c546fa1d30d7fc50 RED -AF3ResourceConnectionAdapter.java 0e791fd7d9602f4cf00f54c6254d31f1c9cc72b0 RED -AF3SignalAdapter.java bc102b65b929393808eb747572f9ae05b04a8856 RED -AF3SystemModelAdapter.java e6ea1aaae3c4867cfc38487d7534e847794fdb82 RED -AF3TaskAdapter.java e59896eeb0a268435075474947a51fa0689df554 RED -AF3TransmissionUnitAdapter.java 0ce1a08c29d75a05fb49668d02abddd852487a4c RED +AF3ExecutionUnitAdapter.java e0a7927c59a16a7f73fe21c4e34267dfede20e02 RED +AF3GatewayAdapter.java cbfca3b46722cd0e01fa90ffffc4664da369019f RED +AF3LogicalArchitectureAdapter.java 9bdbd0203f4df4f7a1c2d8e2a7e4d817e8311d5c RED +AF3MemoryUnitAdapter.java 4d896d2e564a5fd4d88aa00db5aa3a29d3966ad1 RED +AF3ModelElementAdapter.java 33016711535fdf5d82ef14b91886f68e8b5ebc19 RED +AF3PlatformArchitectureAdapter.java d5a5a7a88e7fca74d747d4e7720419265c38defe RED +AF3RequestAdapter.java c859ff360212cdab994895ee84390a235922c3cf RED +AF3ResourceAdapter.java ca6c78c2cffe0e7c2d28990138e309b851a192d7 RED +AF3ResourceConnectionAdapter.java 56a9eb31aa8a64702bf82b5c072ccdc3cd32bf53 RED +AF3SignalAdapter.java 7d124a5c25b8267fa3be16d897253252f96c21c7 RED +AF3SystemModelAdapter.java 07b8ad0613452cd08b3ef588b7de3c9cbfb3021e RED +AF3TaskAdapter.java 4ee4e1bcf1f4780f0a4f069d1a0bcf177a241dc7 RED +AF3TransmissionUnitAdapter.java 41e176391fbb7577fc63b790d3f508d8eeffc445 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/helper/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/helper/.ratings index fd8bd4ac..746d7d2c 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/helper/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/helper/.ratings @@ -1 +1 @@ -AF3DeploymentParameterMapAdapter.java 0ddaa1c4eb1cbe2daf72854b266acfe8f85c6e70 RED +AF3DeploymentParameterMapAdapter.java 070e98cb28028de49305025bf7db0918479c4a85 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings index 1ddc3c73..94515c54 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings @@ -1,5 +1,5 @@ -AcyclicTaskGraph.java c8fa01f3ad30f0cc5980838636355a2e041b5cbb RED -DefaultTaskGraph.java 8c384e8dfd6f9806a04b68b45855ba75dd558a50 RED -SignalAdapterWeightedEdge.java 6b7dbae1c2e7a658b33c3c7a584cee13b2269891 RED -TaskGraph.java 90289a46be5c6ad658a06f4ff17d6da648fc97e8 RED -TaskGraphInstantiator.java bfda013ddc6f4a9d2b063dfa7187827be1cdac73 RED +AcyclicTaskGraph.java 51100f233b5f74b041e90567792cc6749323bb82 RED +DefaultTaskGraph.java d93154c7edf376e60e46f5f3b164bfa7d939b959 RED +SignalAdapterWeightedEdge.java b40989eecb8e94357476bfc5c7e9ef7e59013c9e RED +TaskGraph.java 27fdf1acbbc10d47db9a4a7f20eaa7525a599aa9 RED +TaskGraphInstantiator.java 1f8a218f8c4ad885ca7d7d9560932f0f6a063a7b RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings index 39ee99a8..6f62fe77 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings @@ -1,2 +1,2 @@ -Message.java e6aeffa00605318214ba100758b988b500acfe8c RED -MessageGenerator.java 841882d4cce69b7bb6cfa4dea4331f7dcfdb0038 RED +Message.java d4b5432ef03c3630ad1cbb8bd12b867a851f1559 RED +MessageGenerator.java 13d7678c5043b61a3306ffc50f8af97842ae0817 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/faultmodel/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/faultmodel/.ratings index 70c5fce3..021ef362 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/faultmodel/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/faultmodel/.ratings @@ -1 +1 @@ -FaultDetector.java c7dbe496029497f89373225ebd549047c4c490e8 RED +FaultDetector.java d0774cef6e96b0be40b3d32d4756e8d5ed89d913 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/.ratings index 9f82cf5a..5554d72f 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/.ratings @@ -1,2 +1,2 @@ -IMappingEncoding.java faa8d770688ae74d54318b155be59d39a3fe3cd9 RED -IMappingEntry.java 21bbb8e403894b56a0b0b97685fa526c4ea01c25 RED +IMappingEncoding.java 02378fcb8e8982995e1fc63d6a6c420ee365ec3e RED +IMappingEntry.java 616cd919c2519391255f0829626833789f76193c RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/comm/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/comm/.ratings index 5aa80abe..0cb033ff 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/comm/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/mapping/comm/.ratings @@ -1,3 +1,3 @@ -IMessageRouter.java 502b0083ba82de6a70813c4c7ca9606ebb2ba65f RED -MessageRouter.java 8dd059bfa4dabdf1939fb8e46d0499cf2a13664d RED -ShortestPathRouter.java 1b82cb1fe083ec06411d399ef37d3fdddc7993aa RED +IMessageRouter.java 1117e989c2a92e41639f6304d5a729f1fa225305 RED +MessageRouter.java 3a0cbe363bf10ba384c7b1d2e42526f3178653a0 RED +ShortestPathRouter.java 5625b3183184d3afb7041d1c333adac5ea6aea0d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/random/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/random/.ratings index 47ef13c7..60eda96a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/random/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/random/.ratings @@ -1 +1 @@ -RandomExploration.java 41da623c8c658cf79485fb4ad89d1498e56827b5 RED +RandomExploration.java 3b974e42f1e576a7870299cbeb47b2680fc8852e RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings index 73faf2e3..e8d483c7 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings @@ -1,2 +1,2 @@ -ScheduleRuntimeException.java d682adaaaff3d366cc6b55dd9c8e9c30bbc51152 RED -SchedulerBase.java a80ea719f9bfc7d3298515e343b725208d5c1e9f RED +ScheduleRuntimeException.java 88fefc07c8fdffc468fb8b49ccc4a38864823277 RED +SchedulerBase.java e6e6cde677b0435fd247b80efd8cd9c662a2ba51 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings index ebcee155..1ab65ac6 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings @@ -1 +1 @@ -TDMABusScheduler.java b711592d931474543263e86dccd3b5ac39b17f22 RED +TDMABusScheduler.java 20b532bc5028b4ab0e117f12001d9138b4ee00d8 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings index ecbc1135..53bbb73e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings @@ -1,3 +1,3 @@ -EDFSchedulerBase.java 8bbcd90eeb796de2072d74cd7b669083c2b1bb73 RED -FailSilentEDFScheduler.java 14c2fbb0ece5087d7c004fb372ad83fa6e85e5cc RED -FaultDetectionVotingEDFScheduler.java 0d34f4702e29c2610b26656ca07288cfb8b5012e RED +EDFSchedulerBase.java a8da54ef6ed72e0b7c13f21910e4d148f918d2a1 RED +FailSilentEDFScheduler.java 6dcfc322b509231a9d621c8f6277ee411df59c5f RED +FaultDetectionVotingEDFScheduler.java af93ad1d506c88e5969dfde32523e0bd5956bc2b RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/exception/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/exception/.ratings index 1f3e129b..391a96bd 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/exception/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/exception/.ratings @@ -1,7 +1,7 @@ -ConstraintGenerationException.java 19f797ab00ccc39baada10cb09f8b90ab0601e9f RED -ExplorationException.java b0fa9bc9f35234d02f5fb3bd8df210041ba733e3 RED -ExplorationServiceException.java b51423a0cb273141f8e2c6f1758be99cca05ee30 RED -InvalidModelException.java 52051b92f446aad76e1de425d9f550160b053525 RED -InvalidPlatformModelException.java 15d709d1fc33ca99494632cdcde5959e29d4d985 RED -InvalidTimingModelException.java 42f0053807eca0492d047cbe6b2e1ecb0fa2dba7 RED -TransformationModuleException.java 474c084589d5e530b3573dd5af43b594c8d3221e RED +ConstraintGenerationException.java ea88d94abb652ec0c5788cb9f9856b866e7abf09 RED +ExplorationException.java 62ce085f34132afc32eaf8ca579ae8926a3d3b70 RED +ExplorationServiceException.java 0d93a35ea1b510d199866b9d847ae2bfa92c48cd RED +InvalidModelException.java f5ef624ea79418ee5f6bc6acea9126094ec27c49 RED +InvalidPlatformModelException.java b0e93b8e9b703dc33825c71d7bc542abda83a2ef RED +InvalidTimingModelException.java 014945b26fffef745844be500ef4c2efe0bc9a27 RED +TransformationModuleException.java 636e1e6c408539953a356c5fc9429c7f333b5e09 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/.ratings index 6eefaced..b8cf7a4e 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/.ratings @@ -1,3 +1,3 @@ -DependencyEdge.java 2de1bcec554c6167f132b3808040704867c65b7f RED -DependencyGraph.java c00ed51a15597aad876b80d2a323c9053c1b5995 RED -IDependencyModule.java 51c66e0f96ef56e9c5f34ead3b4efeddf2193b55 RED +DependencyEdge.java d2b3c82e1830947d42f833b1dd91d36f99a8d307 RED +DependencyGraph.java 745cb18dfa5992412c063d6280c44ede081e54b2 RED +IDependencyModule.java 8db4ecbd0a6aa1457bd69f2729028c1b10487a0d RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/display/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/display/.ratings index 4e939f8b..4f2f9d1a 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/display/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/graph/display/.ratings @@ -1,6 +1,6 @@ -AF3JGraphTVisualizer.java 3608982f88f8605806a93887c7637f05cfaad39f RED -JGraphTVisualizer.java 178b8a5caeba118ce61d867a4f090bdfaaa33021 RED -NamedAF3Vertex.java a149c2cc614086aeac840e5624af97b906802a4e RED -NamedVertex.java d7f25cd2df6da0569a4b7bcad23683a1cd9d244e RED -ObjectJGraphTVisualizer.java 284fd7554765867b5b08701e502063c54d55ea05 RED -ObjectVertex.java e9249d0502db6fe91b70f333c5dbe30ceadbc0e8 RED +AF3JGraphTVisualizer.java b24de8c69d8b01a5e99984285b43148a22d08df7 RED +JGraphTVisualizer.java 183316386cbee6351d349a3177d15552e86d66f9 RED +NamedAF3Vertex.java 75960acc9e31b7836f36c628b2f7ddd3c646fcac RED +NamedVertex.java a2cdd4a51ef197955fa34538524a97c7eac07ff0 RED +ObjectJGraphTVisualizer.java e248dd681bcc22d636172028c2180893164cc496 RED +ObjectVertex.java e4713c9c57475e9beb91c1ee15984634dcdc8132 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/guava/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/guava/.ratings index 0262f68f..2f86da22 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/guava/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/guava/.ratings @@ -1,8 +1,8 @@ -HashTypedBiMap.java 42b26cdc6293781345c92a900165ce91f36cc16d RED -IAssociativeElement.java 3685e686f8806d07e2a929ef037800ea655b2b3c RED -ImmutableSubClassToInstanceMap.java cf423599e9d43e57d67b0c5bb1ef4d82618a4cb7 RED -MutableSubClassToInstanceMap.java 4491236782cd148b9ca7ec367e3f1dc5b3ea891d RED -SubClassToInstanceMap.java 546914eb037ea04929dbbd365ae1d07ac8156387 RED -SubClassToInstanceMultiMap.java bd5b5c9d7d977f520d142d093fc70fc12525bce8 RED -TypedBiMap.java 47d5dacfea8fdb26d2619922dc785857549b75cd RED -TypedPair.java 2d87f3d048801a62bb0326e555c6affc6c2c854f RED +HashTypedBiMap.java c0ac75414051a5d3f6c435b676d5f0223fb55c21 RED +IAssociativeElement.java a9a2c913a3942b899c8de574ed2de6f22b8aa86d RED +ImmutableSubClassToInstanceMap.java d7bb12a2efea3b83d5301db212dd7c29cd6fce0b RED +MutableSubClassToInstanceMap.java f7be57a417b601b8823adf75a2dde595a3d39748 RED +SubClassToInstanceMap.java f43d8dc1f2d64df8611936786af6896bbbcafeba RED +SubClassToInstanceMultiMap.java 12706be5015f394412ffd2f4c3e84ba342c2c643 RED +TypedBiMap.java aec6fea96f0d2099bcd13e86e01f9262eb61f6a8 RED +TypedPair.java 8f5afd7b710b993a5aea4865d50dd5fe49a5436c RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/plot/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/plot/.ratings index cf90b997..1d233453 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/plot/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/plot/.ratings @@ -1,7 +1,7 @@ -MessagePathOnClicked.java e90438a9aa7342112e9c7f9ff9d5ea85d1e3a445 RED -ScheduleGanttRenderer.java 1ebd6405da88417a9cc8464913a1ad5206ff897f RED -ScheduleLabelGenerator.java 0ceecedfec9802bbcaa33525d61e1a60a70d3841 RED -SchedulePlotter.java 29b1156c9419d4ff3314c4b2c932aeb46f4749f8 RED -ScheduleToolTipGenerator.java cedfa0dd7ebc7b48d7cc70e966eebaeee9636caf RED -TaskSeriesCollectionFromSchedule.java b53b7af649c48980520ad572da8c7bbdbae0aed5 RED -XYPlotter.java a70c65b6138805d91ad1db551bcc4e7cfc1dc200 RED +MessagePathOnClicked.java 3f375950a59fedad5e2cd025c6c019ec5a1355d5 RED +ScheduleGanttRenderer.java 8696a7574f53b35bc0909e364c430d1f6aa184ee RED +ScheduleLabelGenerator.java 3a96dc0798916a7b661f9529abbf361efdba607b RED +SchedulePlotter.java 993bef41fc93598306cae509b716141722de53ab RED +ScheduleToolTipGenerator.java 6fe9d52c967859255527c91a724ad18a785bcab8 RED +TaskSeriesCollectionFromSchedule.java 2d63e095ecc978ac9c8770590c31fa2bef0ea0b6 RED +XYPlotter.java a572858c9b5a3f2cf62bc0860b19499925f30a64 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/.ratings index f21d7f04..8820428d 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/.ratings @@ -1,13 +1,13 @@ -ExplorationEncodingMap.java 061b6c18f34c3584890ec0630ec40bac1eee7c1c RED -ExplorationService.java f5067724b280208d9a7f59f417a068cbc7a20416 RED -ExplorationTransformationInputs.java 8ea50adb65b4f886d8acb68a9f1f7f116afde588 RED -IExplorationConstraintTransformationService.java 3f90632a2747970f35e653a236c9c1286a7cd637 RED -IExplorationContraintTransformationModule.java d20eeca8e0d7c5948fb8abbd5d7cf267fc502fba RED -IExplorationEncoding.java 510843700127afb540eda56934dbac3726b63529 RED -IExplorationEvaluatationService.java 0b4af374a83386f3ac0e7fa8ba47b571da6fe58a RED -IExplorationModule.java 8990c654e649f043fa9813b8bf9113ac7bd42d27 RED -IExplorationRepairService.java e923c43c49e0c83daef71707d5fdb66444f859f8 RED -IExplorationService.java 891b8c4ce01e40ab31bf69231a63fd61c57ac98e RED -IExplorationTargetEvaluator.java 9b39b44f64ad8195583b00f8e3852bbc912f75fc RED -IExplorationTransformationService.java 5430b63426e704516b560d142b46ae702e07f726 RED -IRepairModule.java 498a5b0ff519482af41db2916b1eefd1142cc9df RED +ExplorationEncodingMap.java aaea06f5731018d159a04266c92f1a701e461323 RED +ExplorationService.java 013434bf2fd9ae6d97b2540874b2fa7d75e280e2 RED +ExplorationTransformationInputs.java 3374ce609b50e69c3c29f1eb79bee25cd06b181d RED +IExplorationConstraintTransformationService.java 06c5e34e4c9e5b752b7747f5ac853f7b8f756867 RED +IExplorationContraintTransformationModule.java 3fad662f1740ca2e8d050d1854dd8b381674f758 RED +IExplorationEncoding.java f58adbcf840af521333c2777f50041a60548bff3 RED +IExplorationEvaluatationService.java 045d9cc5e1a25d51762efe49fed1d705414c5507 RED +IExplorationModule.java d965e3a98447dcc46c803bd83a8eb449903c926d RED +IExplorationRepairService.java 9fdbc6c62436e32f1ebc7f3e6c43517199271f32 RED +IExplorationService.java 5d460284b816e77c496f35c13380e044cc18c689 RED +IExplorationTargetEvaluator.java 8fbebfdd30a4cb23758fc78600bdc8548a5452b9 RED +IExplorationTransformationService.java b16fb771873374a3cfd31b8e942af030e689774e RED +IRepairModule.java 170c6556f6a4375ebf092a18f964d8ef306ce2b0 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/ExplorationEncodingMap.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/ExplorationEncodingMap.java index 224f014d..aaea06f5 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/ExplorationEncodingMap.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/ExplorationEncodingMap.java @@ -20,19 +20,18 @@ import java.util.LinkedHashMap; import java.util.Map.Entry; import java.util.Set; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype; /** * Allows to capture the already created/decoded {@link Phenotype}s and pass them to their successor * creators/decoders as a flat map that associates a {@link Phenotype}s type with its instance. - * Using a {@link CompositePhenotype} for this job allows to "protect" the internal map from + * Using a {@link Phenotype} for this job allows to "protect" the internal map from * unintended read/write operations. * * @author diewald */ -public class ExplorationEncodingMap<T extends IExplorationEncoding> - implements Iterable<Entry<Class<? extends T>, T>> { +public class ExplorationEncodingMap<T extends IExplorationEncoding> implements + Iterable<Entry<Class<? extends T>, T>> { /** * Map which correlates the {@link IExplorationEncoding} classes with their corresponding * {@link IExplorationEncoding}s. @@ -55,8 +54,10 @@ public class ExplorationEncodingMap<T extends IExplorationEncoding> * {@link IExplorationEncoding} of the given type * can be found, {@code null} is returned. */ - public <E extends T> E getEncoding(Class<E> subGenotypeClass) { - return getEncodingInternal(subGenotypeClass); + public <E extends T> E getEncoding(Class<?> subGenotypeClass) { + // FIXME: Temp HACK to simplify the decoder dependency management. This map will be removed + // during the rework. + return getEncodingInternal((Class<E>)subGenotypeClass); } /** diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/.ratings index 91a95e28..451ccb10 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/.ratings @@ -1,4 +1,4 @@ -ExplorationConstraintTransformationService.java 80031ad626c327df10bc00859a4036844544553b RED -ExplorationEvaluationService.java 259ace09d86990428fb2ff9cfbff552cb4a69be8 RED -ExplorationRepairService.java ac50a5e53792c6793ff4b8ad5aa9812141990f5c RED -ExplorationTransformationService.java 44817e9380c88d538b094b0930b88b2ce0f03b89 RED +ExplorationConstraintTransformationService.java 5e7117398827ae129b3c9a8a16457d816ba665a7 RED +ExplorationEvaluationService.java 96fdc6ba227cb73af2073589557364d64d93b7af RED +ExplorationRepairService.java 940ceda7c8c48f282132355249af1fe0a005c0f5 RED +ExplorationTransformationService.java 36e2368dd6098e1f3aa210a6defd4f269628e28a RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/ExplorationEvaluationService.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/ExplorationEvaluationService.java index dd4e3846..96fdc6ba 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/ExplorationEvaluationService.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/service/internal/ExplorationEvaluationService.java @@ -23,7 +23,7 @@ import java.util.HashSet; import java.util.Set; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.evaluate.ComposableEvaluator; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; +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.Phenotype; import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.EvaluatorWrapper; import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter; @@ -155,7 +155,7 @@ public class ExplorationEvaluationService<T extends IExplorationTargetEvaluator< // @CodeFormatterOff Collection<Class<?>> curNonPhenotypeInputTypes = filterSet(allRequiredInputs, - t -> !(ComposablePhenotype.class.isAssignableFrom(t) + t -> !(Phenotype.class.isAssignableFrom(t) || Genotype.class.isAssignableFrom(t))); // @CodeFormatterOn diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/.ratings index d9ef439a..2ac7d817 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/.ratings @@ -1,7 +1,7 @@ -AF3Utils.java c48bfa348731c379205d72fbf0380f505e15176d RED -DesignSpaceExplorationModelElementFactory.java 73368ff5bd5ab3dab10aca6a331e14cbde440f59 RED -ExplorationAlgDebugUtils.java 06116a61e99717a59b7b01e4e2865bf044a8a0e2 RED -ExplorationAlgUtils.java 3571ce1be1bcc997d800c59e0108544293194e70 RED -ExplorationEcoreUtils.java 48ed07aec3cd93e66d37abc10d50636d591f1c71 RED -GraphUtils.java 8b25592f30645f7709af527c72551f038a163833 RED -TransformationUtils.java 9b424a20d117a601f9c6a4a4a4ee9e4879c29195 YELLOW +AF3Utils.java f372a35e0c0197ba8c18fdef66fe7e5ab468acc0 RED +DesignSpaceExplorationModelElementFactory.java bc6a6462bb655f3709afbc6b0c50ccd4f9764b5d RED +ExplorationAlgDebugUtils.java acdb59e8a413c89e26f91b8829149afcb8328600 RED +ExplorationAlgUtils.java 3ae0811b433c0be37af094086aff720cb42ea862 RED +ExplorationEcoreUtils.java d816b750378d2bcbd307ff86e121c8d38ef5c28b RED +GraphUtils.java 12f6e2910b408b4a0f5df5c778667c0952853ff5 RED +TransformationUtils.java 71f17505a2b3b7084193309b3da6345b25f5a03e RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java index 4a635759..acdb59e8 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java @@ -27,8 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta 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.extensions.compositegene.genotype.ComposableGenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype; -import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype; +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.mapping.IMappingEntry; import org.opt4j.core.genotype.CompositeGenotype; @@ -45,34 +44,34 @@ public class ExplorationAlgDebugUtils { * TBD. */ public static <E extends TaskMappingEntry<ITaskAdapter<?>, Partition>> boolean - checkTaskMappingForSFConsistency( - TaskMappingEncoding<ITaskAdapter<?>, E> encoding) { + checkTaskMappingForSFConsistency(TaskMappingEncoding<ITaskAdapter<?>, E> encoding) { // TODO #checking: Implement this method in a generic manner to check the number of channels // of safety functions with the entry number in the allocation encodings. - Collection<E> sfEs = encoding.getMappingEntries().stream() - .filter(e -> e.getSource().getName().contains("SafetyProtection")) - .collect(Collectors.toList()); - Collection<E> ioEs = encoding.getMappingEntries().stream() - .filter(e -> e.getSource().getName().contains("IOServer")) - .collect(Collectors.toList()); + Collection<E> sfEs = + encoding.getMappingEntries().stream() + .filter(e -> e.getSource().getName().contains("SafetyProtection")) + .collect(Collectors.toList()); + Collection<E> ioEs = + encoding.getMappingEntries().stream() + .filter(e -> e.getSource().getName().contains("IOServer")) + .collect(Collectors.toList()); return sfEs.size() == ioEs.size(); } /** - * Returns the set of all {@link ComposablePhenotype}s that are contained in the given - * {@link CompositePhenotype}, or any of its sub {@link CompositePhenotype}s. + * Returns the set of all {@link Phenotype}s that are contained in the given {@link Phenotype}, + * or any of its sub {@link Phenotype}s. * * @param compositePhenotype - * {@link CompositePhenotype} whose child {@link ComposablePhenotype}s shall be + * {@link Phenotype} whose child {@link Phenotype}s shall be * identified. - * @return Set of <i>all</i> child {@link ComposablePhenotype}s. + * @return Set of <i>all</i> child {@link Phenotype}s. */ - public static Collection<ComposablePhenotype<?>> - getAllSubPhenotypes(CompositePhenotype<?> compositePhenotype) { - Collection<ComposablePhenotype<?>> allSubPhenotypes = compositePhenotype.getSubPhenotypes(); - pickInstanceOf(CompositePhenotype.class, allSubPhenotypes) - .forEach(p -> allSubPhenotypes.addAll(getAllSubPhenotypes(p))); + public static Collection<Phenotype> getAllSubPhenotypes(Phenotype compositePhenotype) { + Collection<Phenotype> allSubPhenotypes = compositePhenotype.getSubPhenotypes(); + pickInstanceOf(Phenotype.class, allSubPhenotypes).forEach( + p -> allSubPhenotypes.addAll(getAllSubPhenotypes(p))); return allSubPhenotypes; } @@ -85,12 +84,12 @@ public class ExplorationAlgDebugUtils { * identified. * @return Set of <i>all</i> child {@link ComposableGenotype}s. */ - public static Collection<ComposableGenotype> - getAllSubGenotypes(CompositeGenotype<?, ?> compositeGenotype) { + public static Collection<ComposableGenotype> getAllSubGenotypes( + CompositeGenotype<?, ?> compositeGenotype) { @SuppressWarnings("unchecked") Collection<ComposableGenotype> allSubGenotypes = (Collection<ComposableGenotype>)compositeGenotype.values(); - pickInstanceOf(CompositeGenotype.class, allSubGenotypes) - .forEach(p -> allSubGenotypes.addAll(getAllSubGenotypes(p))); + pickInstanceOf(CompositeGenotype.class, allSubGenotypes).forEach( + p -> allSubGenotypes.addAll(getAllSubGenotypes(p))); return allSubGenotypes; } @@ -103,8 +102,8 @@ public class ExplorationAlgDebugUtils { * {@link AbstractTaskMappingEncoding} to examine for consistency. * @return If the mapping is consistent w.r.t. the {@link InternalIsolatedCommunicationSet}. */ - public static boolean - mappingContainsAllIsolationCommEntries(AbstractTaskMappingEncoding encoding) { + public static boolean mappingContainsAllIsolationCommEntries( + AbstractTaskMappingEncoding encoding) { Collection<InternalIsolatedCommunicationSet> constrs = encoding.getConstraintsOf(InternalIsolatedCommunicationSet.class); // TODO: Remove the ugly casting when converting the internal constraints into "real" ones. diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/dsl/model/patterns/impl/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/dsl/model/patterns/impl/.ratings index 2c853377..a73ff1d1 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/dsl/model/patterns/impl/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/dsl/model/patterns/impl/.ratings @@ -1 +1 @@ -ElementPropertyStaticImpl.java f979c072af7d0815c71d56ab4e3f4d03b224ae63 RED +ElementPropertyStaticImpl.java 7ca63e3f7093b7f4948a8605bcd3bb680e0bf8ef RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/location/impl/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/location/impl/.ratings index 82016e63..4db25668 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/location/impl/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/location/impl/.ratings @@ -1 +1 @@ -LocationConstraintStaticImpl.java ed7152ef3bcdd663b72b3ed29ff87f3ea5d409bd RED +LocationConstraintStaticImpl.java 0d76c8aeb1f93a53769ad2cb86e91d99d177bfac RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/time/impl/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/time/impl/.ratings index b9679b3c..8511f367 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/time/impl/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/model/time/impl/.ratings @@ -1,2 +1,2 @@ -DeadlineConstraintStaticImpl.java 77d9d2ad174f4514ab33fdaf6b490d9579bc5a87 RED -PeriodConstraintStaticImpl.java 221c53ca296918389b27fdb19e0e40ff0e501970 RED +DeadlineConstraintStaticImpl.java 01053743f72cc946d5465cf9bba95e5d236e71e4 RED +PeriodConstraintStaticImpl.java 1c82225fd97e90583f044ca43266fd1e76810c06 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/moea/model/predefined/impl/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/moea/model/predefined/impl/.ratings index 4d844fa6..0cb41630 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/moea/model/predefined/impl/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/moea/model/predefined/impl/.ratings @@ -1,5 +1,5 @@ -ComponentMultiAllocationConstraintStaticImpl.java d96775b45fbf79fad355e80c356c6c0434571b5e RED -ComponentMultiDislocationConstraintStaticImpl.java 06a7eb21b5ab6ab142d86015fffb40ed29272f34 RED -FailureMinObjectiveStaticImpl.java 5c7f0180ed88305656e14cdb23465fca27c93db9 RED -MultiLocationConstraintStaticImpl.java 8d7408f924b49481a9ed0ad6899793935629003e RED -SafetyIntegrityLevelConstraintStaticImpl.java 54293dec51568e9636f47b34b0985f4a84688436 RED +ComponentMultiAllocationConstraintStaticImpl.java a8df2eecdd9bdb1627479bb1703f43e4321a426c RED +ComponentMultiDislocationConstraintStaticImpl.java 651342e9c6216ccd8bd849a0959d27d349ebc15c RED +FailureMinObjectiveStaticImpl.java c301c9b11b9c9cc72965af09e73830f71c38d2ae RED +MultiLocationConstraintStaticImpl.java 35eac571b37a3fb99d02c12760012a7c9add9030 RED +SafetyIntegrityLevelConstraintStaticImpl.java b435dc824b24fafb361544d991cdc56d9fc1c6b8 RED diff --git a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/util/.ratings b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/util/.ratings index 677f6940..c464e8e4 100644 --- a/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/util/.ratings +++ b/org.fortiss.af3.exploration.alg/src/org/fortiss/af3/exploration/util/.ratings @@ -1,3 +1,3 @@ -CommonExplorationTagetModelElementFactory.java 940577a3c4e750e496dddd5e0a199843dc271f8d RED -DSLUtils.java f62fe2ac1bbe2f640c66545c9324ce9bc2caaa56 RED -ExplorationDslModelElementFactory.java 2b99d826f40ab39fd32b53d72614a206f74c6975 RED +CommonExplorationTagetModelElementFactory.java 1e132ff8e85262c636e5cf9931016a79a166fe33 RED +DSLUtils.java 4576e9b4ca6e46c2b868f74c7a197ccf3c1fb717 RED +ExplorationDslModelElementFactory.java c13ea3614c0d93a7107d2fdae72ac0966069d294 RED -- GitLab