Skip to content
Snippets Groups Projects
  1. Apr 17, 2018
  2. Mar 28, 2018
    • Alexander Diewald's avatar
      Exploration(.*): Fix containment relations. · a865d755
      Alexander Diewald authored
      When using a non-z3 backend (here: the unofficial MOEA backend) that makes a more extensive use of the ExplorationSolution, invalid models can be produced. The reason for this behavior are faulty containment relations since the produced model fragments of the DSE were not contained in any other EObject. Here, it shall be noted that the SuperSets themselves are not intended as containers as of now since they are also used to pass around references to the relevant elements of a DSE.
      
      Furthermore, one warning was produced due to an EAttribute not being set (noticeable on the console).
      
      Technical details:
      
      * getCastedType(...): Used to avoid ugly casting in client code. The DSE language is based on generic IModelElements, whereas the Sets/SuperSets are strict w.r.t. to the types to provide guarantess for the DSE I/O.
      * The ExplorationSpecification now contains the the map of input parameters passed to the DSE (Tracing), but not its elements (!).
      * ExplorationSolution: 
      * * Contains the returned SuperSetMap.
      * * Added a "pool" for SuperSets: They are accessible via the SuperSetMap.
      * * Added a element "pool" for the generated elements referenced by the returned SuperSets.
      * DSMLModelElementFactory: Creating Sets now requires a reference to the SuperSet (reduced code redundancy; can be used for robustness checking later).
      * Adapt to the meta-model changes when using SuperSets/Sets (esp in the smt plugin).
      refs 3353
      a865d755
    • Alexander Diewald's avatar
      9bec3c26
    • Alexander Diewald's avatar
      Exploration.alg: Exponential penalty funcion for NoEmptyPartitionConstraint. · 5f9e344c
      Alexander Diewald authored
      * Using exponential functions for the penalty calculation of constraints is common practice and favored over pure potential functions.
      refs 3257
      5f9e344c
  3. Mar 22, 2018
  4. Mar 19, 2018
  5. Mar 14, 2018
  6. Mar 08, 2018
  7. 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
  8. Feb 27, 2018
  9. Feb 21, 2018
    • Alexander Diewald's avatar
      Exploration: DSE project MM improvements & DSE Backend Unification · fbefcaea
      Alexander Diewald authored
      =================
      | Exploration
      
      exploration.ecore
      =================
      - ExplorationSpecification
        - targets: non-contained (Migrator!)
        - Add superSet reference to pass required SuperSets to the DSE backend.
      - Remove ExplorationSolution interface: No Migration needed.
      - Rename ExplorationSolutionSet --> ExplorationSolution
        - Deprecated inputModelAdapter: No migration needed, only used in MOEA.
        - Renaming: targetSpecification --> explorationSpec
          - targetSpecification marked @deprecated
          - No mirgator needed: Class was not used in previous stable releases.
      - Add EClass SuperSetMap: Relates types of elements to SuperSets
        - solution: EJavaClassToSuperSetMap (containment!)
      - Add EClass EJavaClassToSuperSetMap: internal map of "SuperSetMap"
        - key: Class
        - Value: SuperSet (NO containment!)
      - ExplorationSolution
        - Renamed solutionModelMap -> solutionSets
          (Type EJavaClassToEJavaObjectMap -> EJavaClassToSuperSetMap)
        - Adjust EOperations to modifications in backend map.
      - SingleExplorationSolution
        - Add the solution state for single solutions.
        - Adjust EOperations to modifications in backend map.
      - Removed EJavaClassToEJavaObjectMap
      
      dseproject.ecore
      ================
      - DSE:
        - Add EReference target: ExplorationTarget (containment)
        - Remove explorationSpecification (Migrator!)
      - Add an ExplorationTargetPool that contains all ExplorationTargets of a DSE
        project.
      - DSERun:
        - Add EReference explorationSolution (containment)
        - Remove EReference visualization (Migrator!)
        
      dsl_v2.ecore
      ============
      - Overwrite the accept method for the Sum expression: Do not return null if the
        associated set is empty, evaluate to Zero, instead.
      
      New Migrators
      =============
      - DSEExplorationTargetContainmentMigrator
        Migrates the set of explorationTargets to the DSE project
      - VisualizationToExpSolutionMigrator:
        Migrates the Visualization data to the ExplorationSolution representation that
        allows a better traceability.
        
      Other Business
      ==============
      - Adjust plugin.xml to account for recently removed Objective- and
        ConstraintExpression classes. Now, ExplorationObjective and
        ExplorationConstraint is used.
        
      =================
      | Exploration.alg
      
      - Adjust the Opt4JBackend to be comply to the new DSE Backend Specification
      - The output type detection in the base decoder is more robust.
      - The ITaskAdapter temporally references its corresponding component to ease
        the refactoring of the DSE backend interface. This shall not be needed when
        the transformation framework is integrated again.
      - Temporally transform the internal solutions to a superset of
        ComponentToExecutionUnitAllocations to create s solution model. Workaround
        until the transformation framework is integrated again.
      - Misc adjustment for backend changes.
      
      =================
      | Exploration.smt
      
      - Adjust the Z3Backend to be comply to the new DSE Backend Specification
      - Base the results of the DeploymentRun2 and SolverRun2 on the
        ExplorationSolution (see above).
      
      ================
      | Exploration.ui
      
      - Adjust the GUI logic to account for the changed containment relations.
      - Update the DSE project import wizard for the Meta-Model changes.
      - Move the ExplorationSolutionVisualizationUtils class to the UI plugin (here).
        It is used to transform ExplorationSolutions to a Visualization representation
        (i.e., DataSetCollection).
      - Use doubles instead of ints in the SpiderChartUtils. Although not a proper
        solution, this covers more cases... Instead the generic should be reflected.
      refs 3273
      fbefcaea
  10. Feb 13, 2018
    • Alexander Diewald's avatar
      Exploration(.*): Remove outdated EClasses. · 0ac78eeb
      Alexander Diewald authored
      * No migration needed due to the eClasses' abstract/interface nature.
      * Removed ObectiveExpression
      * Removed ConstraintExpression
      * Removed ExplorationTargetExpression
      * Removed GenericObjective
      * Removed GenericConstraint
      refs 3273
      0ac78eeb
  11. Feb 12, 2018
  12. Feb 09, 2018
  13. Feb 08, 2018
    • Alexander Diewald's avatar
      Exploration.alg: Remove the SystemModelAdapter from the inner DSE core [1/2]. · 8c3d3d3d
      Alexander Diewald authored
      * Remove the SystemModelAdapter from many inner constructor methods where it is not needed or can be substituded by other information/data sources.
      * Introduce the InitialEncodingProvider that provides encodings to inner DSE parts iff an encoding can be constructed from the input models and if no other Exploration Feature provides the required encoding.
      refs 2962
      8c3d3d3d
  14. Feb 06, 2018
  15. Feb 05, 2018
    • Alexander Diewald's avatar
      Exploration.alg: Fixup the MOEA-based DSE using the SuperSet inputs. · e69ff571
      Alexander Diewald authored
      * Tasks replace Components as the main requesters to be deployed to execution units.
      * Modify the EDF scheduler to focus on scheduling of tasks within Partitions.
      * TaskGraphs:
        * Allow multiple edges (signals) to be exchanged between tasks. This change renders the graph to be more compliant to the TaskArchitecture of AF3.
        * Use non-deprecated JGraphT classes.
      refs 3254
      e69ff571
  16. Feb 01, 2018
  17. Jan 25, 2018
  18. Jan 24, 2018
    • Alexander Diewald's avatar
      Exploration.alg: First running version of the Partition Exploration. · 729f08f7
      Alexander Diewald authored
      * Introduce the following Decoders:
        * PartitionMappingDecoderGraph: Updates a PlatformCommunicationGraph to align to an updated PartitionMapping.
        * PartitionMappingIdentityDecoder: Forwards a PartitionMappingEncoding to the Genotype
        * TaskInstanceResourceAlignmentDecoder: Adjusts the sets of valid target resources for allocations & reallocates invalid entries.
      * Add the following Exploration Sub Problems:
        * PartitionMappingProblem: Mapping of Partitions to cores. TaskMappings are now defined as Task --> Partition.
        * PlatformCommGraphProblem: Recalculation of communication paths existing in the platform. Required for Message Routing.
        * Add corresponding operators: vary the number of Partitions and their allocation to cores. Also add NOP Operators where needed (Esp. Crossover).
        * Add Copy operations.
      * Restructure the MessageRouter(s) to consider changes of the PlatfromCommunicationGraphs.
      * Various Adpations to existing task mappings due to the changed target resources.
      * Update the DependencyGraph:
        * Simplify the calculation of dependencies.
        * Correctly consider "Pure" identity decoders, i.e., Decoders that only take one input genotype into account and output the same: They would be neglected otherwise.
      * Restructure the Mapping class.
      * 
      729f08f7
  19. Jan 22, 2018
  20. Jan 19, 2018
  21. Jan 18, 2018
    • Alexander Diewald's avatar
      Safety: Prepare for unused code removal. · 5d7f9317
      Alexander Diewald authored
      * Remove the SFF value provider. An "equivalent Safety Level" will be introduced for hardware elements later.
      * Keep the ProbabilityFailuresDemand- and ProbabilityFailuresHourValueProvider(s) for use in a more complex safety analysis.
      * Keep the HwComplexityValueProvider for describing simple HW voters (useful for safety analysis).
      refs 3240
      5d7f9317
    • Alexander Diewald's avatar
      Exploration: Add utility methods for solution visualization. · 2e3ab4a7
      Alexander Diewald authored
      * Introduce utility methods to transform a ExplorationSolutionSet to a DataSetCollection and subsequent methods.
      * Move some reflection utility classes from the exploration.alg plugin to the exploration plugin.
      refs 2935
      2e3ab4a7
  22. Dec 21, 2017
    • Alexander Diewald's avatar
      First draft of the Partition Exploration. · 1a27847d
      Alexander Diewald authored
      * NOTE: This commit is an intermediate one: Code compiles, but is untested.
      * Generalize many parts of the TaskMappingEncoding into the MappingEncoding.
      * PartitionExploration:
        * Define the PartitionMappingEncoding based on the generalized MappingEncoding.
        * Define Mutation Operators for the PartitionMappingEncoding.
        * Define a Creator Module for the PartitionMappingEncoding.
      1a27847d
  23. Dec 18, 2017
    • Simon Barner's avatar
      1) Introduce IAllocationType marker interface · 36463a01
      Simon Barner authored
       - Used to semantically mark AllocationTables and AllocationEntries (e.g., which layers of the system are connected by allocation, and which system entities)
       - Add IAllocationService.addAllocationEntryType() and getAllocationEntryTypes() to register and query IAllocationTypes
       - Apply IAllocationTypes specializations to Task, Partition and Hardware architecture allocations
      
      2) Move TaskToExecutionUnitAllocationTable and TaskWcetTable to af3.task (to avoid circular dependencies that would arise from the introduction of IAllocationType)
      
      3) Schedule model UI
       - Use IAllocationTypes to provide unified generic UI in af3.schedule.ui
       - Remove most of the temporary hacks since allocation[.ui] is now in the build
       - TODO: Remove SystemScheduleDeploymentPropertySection once Deployment has fully been replaced by AllocationTable
      
      refs 2950,3188,3067
      36463a01
  24. Dec 13, 2017
    • Simon Barner's avatar
      - Register af3.timing / Wcet and Period annotations to tasks. Wcet is the... · 8b333491
      Simon Barner authored
      - Register af3.timing / Wcet and Period annotations to tasks. Wcet is the assumed WCET of a Task (independent of the ExecutionUnit to which it mapped)
      - Add TaskWcetTable that allows to specify the WCET for (Task,ExecutionUnit) pairs.
        - For now, the values can be edited in the annotation view only
        - TODO: Integrated task WCET table as secondary TaskArchitecture editor
      refs 2562
      
      8b333491
  25. Dec 08, 2017
Loading