Skip to content
Snippets Groups Projects
  1. Mar 12, 2019
  2. Feb 13, 2019
  3. Jan 22, 2019
  4. Jan 14, 2019
  5. Jan 11, 2019
    • Alexander Diewald's avatar
      Reuse eligible Phenotypes in the offspring · c2dfd6ca
      Alexander Diewald authored
      
      * Adds a injector/binder analyzer that allows to query which phenotypes
        are affected by Genotype modifications.
      * Create a Holder for Phenotypes that may be preserved.
      * Add preserved phenotypes to the decoding cache before launching the
        actual decoding.
      * Update Opt4J to enable tracking of modified genotypes.
      * Correct the crossover and mutate module for the ProvidingPhenotype.
      
      Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
      c2dfd6ca
  6. Jan 04, 2019
  7. Dec 31, 2018
    • Alexander Diewald's avatar
      Move the operator selection to the Opt4J framework · 8bad9db5
      Alexander Diewald authored
      
      * The operator selection is now embedded in the Opt4J framework, so
        remove all code in this plugin related to that feature.
      * The previous implementation was buggy such that multiple operators
        could be bound to one genotype, but only one of them was executed per
        exploration run (random selection).
      * Fixing these issues in this plugin would have been a suboptimal
        solution since the required selection logic would need to be
        duplicated in each module binding multiple operators.
      
      Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
      8bad9db5
  8. Sep 15, 2018
  9. Aug 12, 2018
    • Alexander Diewald's avatar
      DI: Fully functional: Completely rework evaluation & data passing. · 4e0d3459
      Alexander Diewald authored
      
      * Switch the ExplorationEvaluationService to not rely on eclipse
        extension points but use java registration methods. This service has
        now a close relation to the ExplorationFeatureService that holds all
        ExplorationModules.
        Additional information and logic required for evaluation is found in
        the ExplorationEvaluationService.
      * Register the MappingEvaluatorObjective for DSML Expressions and the
        EvaluatorModules specific for the ParitionExploration.
      * Add the @Provides annotation to each evaluation function such that
        their method parameters are automatically injected by Guice.
      * Extract the parsing of IExpressions to parsers which are called from
        the corresponding IExplorationModules.
      * Provisioning interception:
        * Generalize the DecodingInterceptor into a ProvisionInterceptor such
          that it can be used for the create phase as well. Along, make the
          update mechanism via sub-modules providing same types optional (used
          only in the decode phase).
        * Add an Interceptor module such that already created Genotypes can be
          provided to other create methods that depend upon them. This avoids
          launching the create method for the same time several times, causing
          inconsistencies between the Genotypes.
        * Add a @Creates annotation for method interception binding.
      * Add additionally required @Provides annotation in the
        SystemModelAdaper.
      * Create a TaskMapper that encapsulates the Task -> ITaskAdapter
        associations. It is used, for instance, in the evaluators where the
        ExplorationTargets are defined on AF3 elements whereas the DSE
        internally works on reduced elements.
      * Remove the non-used cglib library.
      * Add the ByteBuddy library (v1.8.17) to be able to generate code at
        runtime. It is used to generate Provider Classes (using @Provides
        methods) that are supplied to the injectors of follow up phases (e.g.,
        decode -> evaluate) such that previous results are available to these
        injectors.
      * NOTE / IMPORTANT: This commit leaves several outdated and (now) unused
        classes in place. They will be removed in follow up commits.
      
      Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
      4e0d3459
  10. Aug 04, 2018
    • Alexander Diewald's avatar
      DI: Add decoder plugin mechanism. · e11234f6
      Alexander Diewald authored
      
      * Update Guice to a self-compile version that allows overriding
        @Provides methods.
      * Create an "@PluginDecoder" annotation along with a MethodInterceptor
        that intercepts such annotated decode methods. It launches all decode
        methods that provide the same phenotype prior to executing itself
        (sub-decoding). These sub-decoders are providing updates to the
        phenotype before the actual decoding is executed.
        NOTE: Sub-decoder methods must be annotated with the "@Named("XYZ")"
        key where XYZ is the class name of the decoder. This is required to
        avoid @Provides methods that would return the same type.
      * Re-create the DecoderModules by the Guice Injector before passing them
        to the GuiceDecoder such that Method Interceptors can be installed
        before the GuiceDecoder is instantiated.
      * Correct the integration of the PlatformCommunicationGraphEncoding.
      * Add more required @Provides Methods to the SystemModelAdapter.
      
      Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
      e11234f6
  11. Jul 30, 2018
  12. Jul 14, 2018
  13. Jul 02, 2018
  14. Apr 17, 2018
  15. Nov 23, 2017
    • Alexander Diewald's avatar
      Integrate a DSE backend selection mechanism in the DSE perspective. · da750b8d
      Alexander Diewald authored
      * Exploration.alg:
        * Register the .alg plugin via an IStattup extension to avoid dependencies on this plugin.
        * Create a objective and a constraint evaluator that can handle DSML expressions.
        * Adjust the opt4j extensions.
        * Temporally introduce the MappingEncoding marker interface to support the DSML evaluators (--> allocation expressions).
        * Fix some minor bugs and warnings.
        * Move the porting utils to the alg plugin (previously in alg.ui).
        * Move the plot code to the alg plugin (previously in alg.ui) until the transition to the AF3 visualization framework is finished.
      * Exploration.smt:
        * Create a backend implementation for the smt-based exploration.
        * Minor adjustments (I/O) to comply with the backend mechanism.
      * Exploration:
        * Package renaming of the DSE backend mechanism.
        * Make the DSE backend mechanism independent of the eclipse extension mechanism.
        * Integrate the Exploration solution Classes in the EMF model.
        * Minor adjustments of the DSE backend API.
      * Exploration.ui:
        * Add a combobox to select the DSE backend for the Deployment synthesis
        * Adjust the GUI backends to comply with the DSE backend interfaces.
      refs 2939
      da750b8d
  16. Nov 16, 2017
  17. Jan 24, 2017
  18. Jan 20, 2017
Loading