Transformation of SADF Graphs
The sdf3transform-sadf tool offers functionality to change the XML specification of an SADF graph into the XML specification of another SADF graph. The following transformations are supported.
Fixing Execution Times
Tool | sdf3transform-sadf --transform 'execution_times(minimize|average|maximize)' | APIs | SADF_Transform_MinimizeExecutionTimes() SADF_Transform_AverageExecutionTimes() SADF_Transform_MaximizeExecutionTimes() |
---|---|
Replacing the execution time distributions for each scenario of all processes to point distributions can be accoplished according to three different approaches as listed in the next table.
Transformation | Description |
---|---|
Minimize Execution Times | Replaces the execution time distribution corresponding to each scenario of all processes by the minimum execution time of that distribution |
Average Execution Times | Replaces the execution time distribution corresponding to each scenario of all processes by the (weighted) average execution time of that distribution |
Maximize Execution Times | Replaces the execution time distribution corresponding to each scenario of all processes by the maximum execution time of that distribution |
Fixing (Sub)Scenarios
Tool | sdf3transform-sadf --transform 'fix_scenarios(<subscenariolist>)' | API | SADF_FixScenarios() |
---|---|
This transformation replaces the behaviour of each process by a fixed (sub)scenario based on specifying a valid subscenario for each detector. To this end, the <subscenariolist> consists of a comma separated list with a DetectorName(SubScenarioName) entry for each Detector of the original SADF graph. The resulting SADF graph obtained with this transformation resemples an SDF graph with execution time distributions corresponding to the chosen (sub)scenarios. Notice that this function may yield an inconsistent SADF graph and/or an SADF graph that consists of multiple unconnected components. The latter is due to the fact that the transformation removes any channel for which the production rate and/or consumption rate equals 0.