Skip to content
Snippets Groups Projects
  1. Mar 12, 2019
  2. Jan 22, 2019
  3. 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
  4. Jan 04, 2019
  5. Jan 02, 2019
  6. 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
  7. Dec 16, 2018
  8. Dec 14, 2018
  9. Dec 11, 2018
  10. Dec 08, 2018
  11. Oct 02, 2018
  12. Sep 24, 2018
  13. Sep 15, 2018
  14. 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
  15. 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
  16. Aug 01, 2018
    • Alexander Diewald's avatar
      DSE-Process: Add an ExplorationFeature service. · fdd0872a
      Alexander Diewald authored
      
      * The IExplorationFeatureService allows to add extensions to the DSE
        process that consist of sub-modules, e.g., Variables, Evaluations,
        or additional operations on existing encodings.
      * While the IExplorationFeatureService is used to manage all existing
        extensions, the activated ones (configuration) is passed to the DSE
        by the exploration backend. Currently, the activated features are hard
        coded, but shall be moved to the UI.
      * Consequently, the IExplorationModuleService has bee removed. Its
        functionality has been moved to the ExplorationFeature abstract class
        that are single features registered with the
        IExplorationFeatureService.
      * The activated features now govern the installation of the sub-modules
        (Creators, Decoders), instead of the previous
        IExplorationModuleService.
      * When setting up the Opt4J exploration, the activated decoder
        configuration is now checked for consistency to avoid circular
        dependencies and duplicate responsibilities of decoders to create a
        phenotype.
      * An IExplorationFeature type is added to the MOEA ecore model to allow
        referencing exploration features from EMF classes.
      
      Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
      fdd0872a
  17. Jul 30, 2018
  18. Jul 14, 2018
  19. Jul 02, 2018
  20. Apr 27, 2018
  21. Apr 17, 2018
  22. Mar 07, 2018
    • Alexander Diewald's avatar
      Exploration.alg: Add the partition model export. · 9f05e450
      Alexander Diewald authored
      * Add SuperSets to the transformation interface: The dependency handling is still missing.
      * Transformation for generated partitions.
      * Transformation for Partition to ExecutionUnit allocations.
      * transformation for Task to Partition Allocations.
      refs 3257
      9f05e450
  23. Feb 06, 2018
  24. Feb 01, 2018
  25. 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
  26. Nov 16, 2017
  27. Nov 14, 2017
  28. Mar 01, 2017
  29. Feb 21, 2017
  30. Jan 24, 2017
  31. Jan 20, 2017
Loading