-
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:
Alexander Diewald <diewald@fortiss.org>
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:
Alexander Diewald <diewald@fortiss.org>