Skip to content
Snippets Groups Projects
  • Alexander Diewald's avatar
    4e0d3459
    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
    History
    DI: Fully functional: Completely rework evaluation & data passing.
    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>