- Apr 17, 2018
-
-
Alexander Diewald authored
Signed-off-by:
Alexander Diewald <diewald@fortiss.org>
-
- Mar 28, 2018
-
-
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
-
Alexander Diewald authored
refs 3257
-
Alexander Diewald authored
* Using exponential functions for the penalty calculation of constraints is common practice and favored over pure potential functions. refs 3257
-
- Mar 22, 2018
-
-
Alexander Diewald authored
* Adds a sub-method to the Partition Transformation Strategy that adds Ports and Channels to a PartitionAchitecture. * The required Ports and Channels are derived from the Signals exchanged between Tasks. * Ports and Channels are only added for InterPartitionCommunication (logically). * The Sampling and Queuing characteristics of PartitionPorts is derived from their corresponding TaskPorts. refs 3257
-
Alexander Diewald authored
* Correctly implement a constraint that enforces partitions to host only Tasks of ONE safety level. refs 3257
-
Alexander Diewald authored
* The SuperSet transformation methods are now implemented in a TransformationStrategy (Sub-package modeltransformation). Remove the leftover stubs. refs 3254
-
- Mar 19, 2018
-
-
Alexander Diewald authored
refs 3257
-
Alexander Diewald authored
-
- Mar 14, 2018
-
-
Simon Barner authored
refs 3261
-
- Mar 08, 2018
-
-
Alexander Diewald authored
* Simplify the Transformation Service interface. * Clean and simplify the base implementation of the Transformation Framework. * Introduce a container element that makes the Transformation almost agnostic to the fact if the inputs stem form DSE-internals or SuperSets. * Add a SuperSetMap transformation strategy.
-
- Mar 07, 2018
-
-
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
-
- Feb 27, 2018
-
-
Alexander Diewald authored
* Change the MM accordingly. * Introduce static helper methods to implement the getters/setters of the affected maps: Runtime exceptions are thrown on mismatching types. * Add a migrator to set the DSESuperSet types of old models. * Adjust the factory methods. refs 3289
-
- Feb 21, 2018
-
-
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
-
- Feb 13, 2018
-
-
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
-
- Feb 12, 2018
-
-
Alexander Diewald authored
refs 3279
-
- Feb 09, 2018
-
-
Alexander Diewald authored
Removes the remaining occurrences of the SystemModelAdapter from the inner DSE parts. Instead, the abstraction created by the SystemModelAdapter are used. refs 2962
-
- Feb 08, 2018
-
-
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
-
- Feb 06, 2018
-
-
Alexander Diewald authored
* The DSEInputParameter container is no longer used --> Remove. * Remove several porting classes of the MOEA-based DSE. refs 3200
-
Alexander Diewald authored
* Use the correct package. * Also correct the registration of the Opt4J backend. refs 3264
-
Alexander Diewald authored
* Isolate the property readout (from annotations) in single adapters. * Reintegrate the ReplicationBound annotation. * Add an additional parameter to the SystemModelAdapter. refs 3262
-
- Feb 05, 2018
-
-
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
-
- Feb 01, 2018
-
-
Alexander Diewald authored
Note: Due to the invasive changes, the MOEA-based DSE is currently non-functional. This intermediate commit is intended to separate the overall goal into smaller tasks. refs 3254
-
Simon Barner authored
- Delete unused utility methods that reference this type - Move GPIOLinkingValueProvider and GPIOPinNumberValueProvider to af3.platform.pikeos. refs 3261
-
Alexander Diewald authored
refs 3254
-
Alexander Diewald authored
refs 3254
-
Alexander Diewald authored
* Above renaming. * Introduce the empty IComponentAdapter interface to reference AF3 components. refs 3254
-
Alexander Diewald authored
* Modify (Super)Sets to use a generic that denotes the types of elements within a set. Thereby, it is ensured that only elements of this kind are contained/referenced in a specific set. * Introduce a SuperSetMap that allows to associate the types of elements of supersets with superset instances. * Use the SuperSetMap as the main entity to pass model elements from the DSE Project to backends. * Add the ComponentToTaskAllocationTable to the DSESuperSet and the DSE model element: This is the new way to identify which Tasks belong to which Component. refs 2939
-
- Jan 25, 2018
-
-
Alexander Diewald authored
-
Alexander Diewald authored
-
- Jan 24, 2018
-
-
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. *
-
- Jan 22, 2018
-
-
Simon Barner authored
refs 3249
-
- Jan 19, 2018
-
-
Simon Barner authored
Eliminate support for multi-instance annotations, which was mostly unused and only complicated the code. refs 2964
-
- Jan 18, 2018
-
-
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
-
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
-
- Dec 21, 2017
-
-
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.
-
- Dec 18, 2017
-
-
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
-
- Dec 13, 2017
-
-
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
-
- Dec 08, 2017
-
-
Simon Barner authored
TODO: - Enable selection of execution type - Mapping of ports (see also: #3223) refs 2562
-
Simon Barner authored
refs 3220
-