Commit 20f1043b authored by Sebastian Bergemann's avatar Sebastian Bergemann
Browse files

Resolved merge conflicts

Issue-Ref: 4204
Issue-URL: af3#4204

Signed-off-by: Sebastian Bergemann's avatarSebastian Bergemann <bergemann@fortiss.org>
parents 0ee219a6 17f1cd5d
Pipeline #34278 passed with stage
af3_faq.html 2d96af809e68dc36b10ab337f88362f596d18eb2 GREEN
example_co-simulation.html 8f36f6921311ca9eb7ccd769dda0173014e8af8d GREEN
examples.MainPage.html a4b3a4c0413e9342588f4dba7eeddc8f12fc967c GREEN
getting_started.html be46d562ac2bfb1b8a31ada020f55150891194dc YELLOW
getting_started.html 0f3d062b421c7ec462fe6a0f03670a8036e6e297 GREEN
managing_projects.html f8822b841152e3168c07e309887dc6e4a5448ff1 GREEN
rcphelp.gettingstarted.MainPage.html 0279a278429b888003086d0bf2536f13923a0fe2 GREEN
tipsAndTricks.html 016873a68e57f72aae5a33c937612fbc32b4bc0f GREEN
constraints.html d06c877400c0e3ecaf249ea25e1aa7100754de0f GREEN
dse.MainPage.html fd506f89284ef3c7cfac3da224e60638e72fd0c3 GREEN
dse_dashboard.html 044fad37deafdb748ead5ea883c95b5d586ceffd GREEN
dse_perspective.html ad41459fc2f9bd8123a4997657b506f646ca0f70 GREEN
objectives.html 178e3d9bb40dab01b8170646bf6a5d654ea6ea25 GREEN
synthesis.html 9dde25b4a980c87f2fb931447dcfaf16de386105 GREEN
deployment_synthesis.html b303ef05d53ced7627d5fa19241b338c7710b9e9 GREEN
dse.MainPage.html 5d36c9d4d962b848dd1451e0fef485b0ea2570c8 GREEN
dse_dashboard.html 29e2e51725134a8cffbae8da580c9f2a212fd8ec GREEN
dse_perspective.html 51a34d5048498d4834ea5a64d9203563db94f364 GREEN
scheduling_synthesis.html 724d40843bd951acc106156b6dc2599a6adf1626 GREEN
synthesis.html 3edffbb53d550c8e12a403083086b0515a8a24ce GREEN
visualization.html 2f4f8ce6c358f630d16713da1ee7732e1c27065a GREEN
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation on Constraint modeling in AutoFOCUS3. -->
<html>
<head>
<script src='https://code.jquery.com/jquery-1.11.0.min.js'></script>
......@@ -13,7 +11,7 @@
</script>
<link rel="stylesheet" type="text/css" href="../layout/stylesheet.css"/>
<title>Constraint Modeling</title>
<title>Deployment Synthesis</title>
</head>
<body>
......@@ -28,52 +26,102 @@
<button onclick="topFunction()" id="upBtn" title="Go to top">Top</button>
<h1>Constraint Modeling</h1>
<p> The <b>Constraint</b> page is your starting point for any constraint modeling activity. Some patterns are provided to facilitate the definition of constraints.
Below, we give an overview of the constraint patterns available so far:
<ul>
<li>Allocation;</li>
<li>Function Coupling;</li>
<li>Safety Level;</li>
<li>Memory Utilization.</li>
</ul>
<h1>Deployment Synthesis</h1>
<p> The <b>deployment synthesis</b> enables to explore the allocation of tasks to execution
units w.r.t. to the constraints and objectives described on this page.
</p>
<h2>Allocation</h2>
<p>
As you can notice from some of the figures below, the defined constraints/objectives
are listed as <i>Target Definition</i> in the <i>DSE Navigator</i> on the left.
</p>
<h2>Constraints</h2>
<h3>Allocation</h3>
<img src="pictures/Allocation.png", width = "100%"/>
<p>
By selecting a task in the table on the left, and a (HW) execution unit on the right you can add an allocation or dislocation constraint.
By selecting a task in the table on the left, and a (HW) execution unit on the right
you can add an <b>Allocation</b> or <b>Dislocation</b> constraint.
<ul>
<li><b>Allocation</b>: the selected task(s) must be mapped to one of the selected hardware units.</li>
<li><b>Dislocation</b>: the selected task(s) must NOT be mapped to any of the selected hardware units.</li>
</ul>
In the figure above, we are creating a constraint that requires the allocation of <i>Task_Component</i> to either <i>Core01</i> or <i>Core02</i>.
In the figure above, we have created a constraint that requires the allocation of <i>Task_AccelerationControl</i>
to <i>PowertrainECU</i>, and that disallows the allocation of <i>Task_DistanceControl</i> to <i>HeadUnitECU</i>.
</p>
<h2>Function Coupling</h2>
<h3>Function Coupling</h3>
<img src="pictures/Coupling.png", width = "100%"/>
<p>
In the <b>Function Coupling</b> Pattern you are allowed to force some tasks to be deployed into the same/distinct (HW) execution units.
First select a set of tasks in the table on the left, and then select either Coupling or Decoupling in the option button on the right.
The <b>Function Coupling</b> Pattern you allows to force some tasks to be deployed
into the same/distinct (HW) execution units. Note that the constraint does not specify
to which HW execution unit the tasks should be allocated.
</p>
<p>
First select a set of tasks in the table on the left, and then select either <b>Coupling</b>
or <b>Decoupling</b> in the option button on the right.
<ul>
<li><b>Coupling</b>: the selected tasks must be mapped to the same execution unit.</li>
<li><b>Decoupling</b>: the selected tasks must be to distinct execution units.</li>
</ul>
In the figure above, e.g., we are <i>coupling</i> the tasks <i>Task_Component</i> and <i>Task_Component1</i>.
In the figure above, e.g., we are coupling the tasks <i>Task_DistanceControl</i>
and <i>Task_AccellerationControl</i>.
</p>
<h2>Safety Level</h2>
<h3>Memory Utilization</h3>
<img src="pictures/Memory.png", width = "100%"/>
<p>
The <b>Memory Utilization</b> Pattern allows to specify the percentage of flash memory
that may be used by tasks allocated to a given execution unit.
As a prerequisite, the pattern requires the specification of the amount of available
flash memory in the respective annotation of the execution units, and the
flash requirements of Tasks in the <i>Task Memory Mapping</i> table, respectively
(both in the <i>Modelling Perspective</i>). The admissible memory utilization ratio
considered for the application of the constraint has to be entered into the second column
of the table.
</p>
<p>
In the figure above, e.g., we are specifying that the tasks allocated to <i>HeadUnitECU</i>
may only use up to 60% of the available 104876 bytes of flash memory.
</p>
<h3>Safety Level</h3>
<img src="pictures/Safety.png", width = "100%"/>
<p>
In the <b>Safety Level</b> Pattern you are allowed to specify the allocated safety level of each HW execution unit by modifying the values in the table. E.g., if you specify that <i>Core03</i> must be lower than SIL2, a constraint is created that forces all tasks deployed into <i>Core03</i> to have a safety level lower than SIL2.
The <b>Safety Level</b> Pattern allows to specify the ECUs for which the safety level
constraint should be enabled. This means that no tasks referring to components with a
safety level higher than specified in the <i>safety integratity level</i> annotation
of the respective execution may be deployed onto them.
</p>
<p> In the example above, only tasks with an ASIL of up to ASIL-C may be allocated
to <i>HeadUnitECU</i> (ASIL-D for <i>PowertrainECU</i>).
</p>
<h2>Memory Utilization</h2>
<img src="pictures/Memory.png", width = "100%"/>
<h2>Objectives</h2>
<h3>Hardware Optimization</h3>
<img src="pictures/HardwareOptimization.png", width = "100%"/>
<p>
This pattern allows you to create optimization objectives for the hardware components (table on the left) where the tasks (table on the right) are running.
The optimization function consists of two main parts:
<ul>
<li>Optimization Direction: it can be either minimization or maximization of the function;</li>
<li>Aggregation Operator: it can be either a <i>sum</i> over hw properties (e.g. the sum of the hardware costs) or <i>count</i>. The count function basically just counts the number of model elements (ECUs in this case) in an architecture.</li>
</ul>
When you are done, you can press the button <i>Add</i> to create the objective.
</p>
<h3>Bus Bandwidth Optimization</h3>
<img src="pictures/BusOptimization.png", width = "100%"/>
<p>
In the <b>Memory Utilization</b> Pattern you are allowed to specify (as a percentage value) the amount of memory that can be used by tasks allocated to a given execution unit. In order to do so, just modify the values in the last column of the table. In the figure above, e.g., we are specifying that the tasks allocated to <i>Core01</i> can only use 50% of its memory.
As you can notice from the figure, in the DSE Navigator on the left the constraints just defined appear listed as Target Definition steps.
This pattern allows you to <b>optimize the bandwidth</b>
of a given transmission channel. You should first select the transmission unit you
want to consider from the menu (in the figure above, <i>InterdomainFlexRayBus</i>
is selected) and then select the optimization direction via the option button (either
<i>minimize</i> or <i>maximize</i>). Finally press the button <i>Add</i> to create
the objective.
</p>
</div>
......
......@@ -43,9 +43,9 @@
<ul>
<li><a href="dse_perspective.html">DSE Perspective Overview</a></li>
<li><a href="dse_dashboard.html">DSE Dashboard</a></li>
<li><a href="constraints.html">Constraint Modeling</a></li>
<li><a href="objectives.html">Objective Modeling</a></li>
<li><a href="synthesis.html">Deployment/Schedule Synthesis (Exploration)</a></li>
<li><a href="synthesis.html">Synthesis Page Overview</a></li>
<li><a href="deployment_synthesis.html">Deployment Synthesis</a></li>
<li><a href="scheduling_synthesis.html">Scheduling Synthesis</a></li>
<li><a href="visualization.html">Solution Visualization</a></li>
</ul>
</div>
......
......@@ -68,7 +68,7 @@
</ul>
</p>
<h2>Starting point: Importing an AF3 model or existing DSE project</h2>
<h2>Step 1: Importing an AF3 model or existing DSE project</h2>
<p>
Each DSE project starts with an import of an AF3 model: Therefore, press the button "Select
AF3 Project" at the bottom of the Dashboard (Note: Importing external models is currently
......@@ -90,7 +90,47 @@
highlighted by a yellow background.
</p>
<img src="pictures/Import_Task_Architecture.png" alt="Import page for a task architecture." title="Import page for a task architecture."/>
<h2>Step 2: Definition of Constraints and Objectives</h2>
<p>
Constraints that define the admissible solution space, or objectives that rate the quality
of solutions are defined before performing the actual synthesis. The pattern-based
editors to define constraints and objectives can be reached using the <b>Constraints</b>
button of the DSE dashboard.
</p>
<p>
For the documentation of specific constraints or objectives, refer to the
documentation of the respective syntheses that support them:
</p>
<ul>
<li><a href="deployment_synthesis.html">Deployment Synthesis</a></li>
<ul>
<li>Allocation Constraint</li>
<li>Function Coupling Constraint</li>
<li>Memory Utilization Constraint</li>
<li>Safety Level Constraint</li>
<li>Hardware Optimization Objective</li>
<li>Bus Bandwidth Optimization Objective</li>
</ul>
<li><a href="scheduling_synthesis.html">Scheduling Synthesis</a></li>
<ul>
<li>Schedule Span Minimization Objective</li>
<li>Energy Minimization Objective</li>
</ul>
</ul>
<h2>Step 3: Execution of Design Space Exploration</h2>
<p>
In the <a href="synthesis.html">synthesis page</a>, the design exploration is
configured and executed. First, the constraints and objectives defined in the
previous steps are used to establish rule sets. Then, based on these rule sets,
one of the following explorations (with or without optimization) is launched:
<ul>
<li><a href="deployment_synthesis.html">Deployment Synthesis</a></li>
<li><a href="scheduling_synthesis.html">Scheduling Synthesis</a></li>
</ul>
</p>
</div>
<script src="../layout/jsscript/topBtn.js"></script>
......
......@@ -45,11 +45,10 @@ solvers and optimization algorithms.</p>
<ul>
<li><a href="dse_dashboard.html">DSE Dashboard</a></li>
<li><a href="constraints.html">Constraint Modeling</a></li>
<li><a href="objectives.html">Objective Modeling</a></li>
<li><a href="synthesis.html">Synthesis Page Overview</a></li>
<li><a href="deployment_synthesis.html">Deployment Synthesis</a></li>
<li><a href="schedule_synthesis.html">Schedule Synthesis</a></li>
<li><a href="visualization.html">Visualization of DSE Results</a></li>
<li><a href="scheduling_synthesis.html">Scheduling Synthesis</a></li>
<li><a href="visualization.html">Solution Visualization</a></li>
</ul>
</p>
</div>
......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation on Objective modeling in AutoFOCUS3. -->
<html>
<head>
<script src='https://code.jquery.com/jquery-1.11.0.min.js'></script>
......@@ -13,7 +11,7 @@
</script>
<link rel="stylesheet" type="text/css" href="../layout/stylesheet.css"/>
<title>Objective Modeling</title>
<title>Scheduling Synthesis</title>
</head>
<body>
......@@ -27,35 +25,24 @@
<div class="box">
<button onclick="topFunction()" id="upBtn" title="Go to top">Top</button>
<h1>Objective Modeling</h1>
The <b>Objectives</b> page is your starting point for any objective modeling activity. Here, you have an overview over all objective patterns.
Available until now:
<ul>
<li>Hardware Optimization</li>
<li>Bus Bandwidth Optimization</li>
</ul>
<h2>Hardware Optimization</h2>
<img src="pictures/HardwareOptimization.png", width = "100%"/>
<h1>Scheduling Synthesis</h1>
<p>
This pattern allows you to create optimization objectives for the hardware components (table on the left) where the tasks (table on the right) are running.
The optimization function consists of two main parts:
<ul>
<li>Optimization Direction: it can be either minimization or maximization of the function;</li>
<li>Aggregation Operator: it can be either a <i>sum</i> over hw properties (e.g. the sum of the hardware costs) or <i>count</i>. The count function basically just counts the number of model elements (ECUs in this case) in an architecture.</li>
</ul>
When you are done, you can press the button <i>Add</i> to create the objective.
The scheduling synthesis enables to explore the scheduling of tasks on execution
units as well as signals on transmission units w.r.t. to the constraints and
objectives described on this page.
</p>
<h2>Bus Bandwidth Optimization</h2>
<img src="pictures/BusOptimization.png", width = "100%"/>
<h2>Objectives</h2>
<h3>Schedule Span Minimization</h3>
<p>
This pattern allows you to <b>optimize the bandwidth</b> of a given transmission channel. You should first select the transmission unit you want to consider from the menu (in the figure above, <i>InterdomainFlexRayBus</i> is selected) and then select the optimization direction via the option button (either <i>minimize</i> or <i>maximize</i>). Finally press the button <i>Add</i> to create the objective.
Minimizes the span (maximum length) of strictly time-triggered schedules.
</p>
<h3>Energy Minimization</h3>
<p>
Minimizes the consumed amount of energy during operation by scaling the frequency
of the available cores.
</p>
</div>
<script src="../layout/jsscript/topBtn.js"></script>
<script src="../layout/jsscript/submenuScript.js"></script>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation on Deployment Synthesis in AutoFOCUS3. -->
<html>
<head>
<script src='https://code.jquery.com/jquery-1.11.0.min.js'></script>
......@@ -12,7 +11,7 @@
<meta http-equiv="content-type" content="text/html; charset=windows-1252"/>
<link rel="stylesheet" type="text/css" href="../layout/stylesheet.css"/>
<title>Deployment Synthesis</title>
<title>Synthesis</title>
</head>
<body>
<div class="header">
......@@ -24,14 +23,16 @@
</div>
<div class="box">
<h1>Synthesis</h1>
<h1>Synthesis Page Overview</h1>
<button onclick="topFunction()" id="upBtn" title="Go to top">Top</button>
<p> The <b>Synthesis</b> page is your starting point for generating
mappings from tasks to hardware execution units or to generate strictly
time-triggered task schedules. Therefore, it allows to select
constraints and objectives to define the design space and optimization
goals that can be launched from this view.
<p> The <b>Synthesis</b> page is your starting point for the different synthesis types supported by
AutoFOCUS3. Therefore, it allows to select constraints and objectives to define the design
space and optimization goals that can be launched from this view.
</p>
<p>
For a documentation of constraints or objectives, we refer to the documentation of the
respective synthesis type.
</p>
<h2>1. Selecting a Synthesis Type</h2>
<img src="pictures/synthesis_selection.svg" alt="" title="Synthesis Type Selection" style="width: 1098px; height: 600px;"/>
......@@ -46,14 +47,14 @@
<h2>2. Creating Rule Sets</h2>
<img src="pictures/synthesis_creating_rulesets.svg" alt="" title="Creating RuleSets" style="width: 1101px; height: 600px;"/>
<p>Before a synthesis is launched, so-called rule sets are
typically created. They group constraints and objectives, respectively.
<p>Before a synthesis is launched, a so-called rule sets has to be created
that group constraints and objectives.
For instance, constraints on the allocation of tasks to execution units
can be grouped together.
can be grouped together (for later reuse).
</p>
<p>To create a rule set, the constraints or objectives
constituting a rule set must be selected in the left-hand tables. Then,
the "Create Rule Set" button must be pressed to create one and let it
the <i>Create Rule Set</i> button must be pressed to create one and let it
appear in the corresponding table on the right-hand side. There, it can be
renamed to carry an expressive name.
</p>
......@@ -86,7 +87,7 @@
In order to define the design space and goals for an
optimizing, rule sets from both tables that are surrounded by the blue box
must be selected. Again, a solver must be selected that can also be
configured (green box). By clicking "Optimize", the optimizing synthesis
configured (green box). By clicking <i>Optimize</i>, the optimizing synthesis
is launched.
</p>
</div>
......
......@@ -144,9 +144,9 @@
<ul>
<li><a href="dse/dse_perspective.html">DSE Perspective Overview</a></li>
<li><a href="dse/dse_dashboard.html">DSE Dashboard</a></li>
<li><a href="dse/constraints.html">Constraint Modeling</a></li>
<li><a href="dse/objectives.html">Objective Modeling</a></li>
<li><a href="dse/synthesis.html">Deployment/Schedule Synthesis (Exploration)</a></li>
<li><a href="dse/synthesis.html">Synthesis Page Overview</a></li>
<li><a href="dse/deployment_synthesis.html">Deployment Synthesis</a></li>
<li><a href="dse/scheduling_synthesis.html">Scheduling Synthesis</a></li>
<li><a href="dse/visualization.html">Solution Visualization</a></li>
</ul>
</div>
......
navBarContent.html 2288f9e486c8b55abb76b16349e9bf74338591a1 YELLOW
navBarContent.html 528cf54cf2a92b3ce5749e2e83922fe7f8e61081 GREEN
......@@ -84,9 +84,9 @@
<div class="dropdown-container">
<a href="<PATH_TO_TOP>/dse/dse_perspective.html">DSE Perspective Overview</a>
<a href="<PATH_TO_TOP>/dse/dse_dashboard.html">DSE Dashboard</a>
<a href="<PATH_TO_TOP>/dse/constraints.html">Constraint Modeling</a>
<a href="<PATH_TO_TOP>/dse/objectives.html">Objective Modeling</a>
<a href="<PATH_TO_TOP>/dse/synthesis.html">Deployment/Schedule Synthesis (Exploration)</a>
<a href="<PATH_TO_TOP>/dse/synthesis.html">Synthesis Page Overview</a>
<a href="<PATH_TO_TOP>/dse/deployment_synthesis.html">Deployment Synthesis</a>
<a href="<PATH_TO_TOP>/dse/scheduling_synthesis.html">Scheduling Synthesis</a>
<a href="<PATH_TO_TOP>/dse/visualization.html">Solution Visualization</a>
</div>
......
......@@ -61,9 +61,9 @@
<topic href="html/dse/dse_perspective.html" label="DSE Perspective Overview">
</topic>
<topic href="html/dse/dse_dashboard.html" label="DSE Dashboard"/>
<topic href="html/dse/constraints.html" label="Constraint Modeling"/>
<topic href="html/dse/objectives.html" label="Objective Modeling"/>
<topic href="html/dse/synthesis.html" label="Deployment/Schedule Synthesis (Exploration)"/>
<topic href="html/dse/synthesis.html" label="Synthesis Page Overview"/>
<topic href="html/dse/deployment_synthesis.html" label="Deployment Synthesis"/>
<topic href="html/dse/scheduling_synthesis.html" label="Scheduling Synthesis"/>
<topic href="html/dse/visualization.html" label="Solution Visualization"/>
</topic>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment