<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation on Deployment Synthesis in AutoFOCUS3. -->
<html>
  <head>
    <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>
  </head>
  <body>
    <div class="header">
      <div class="box">
        <div class="navbar">
          <div class="dropdown"> <a href="../getting_started.html" style="padding:0;">
              <button class="btn" id="hamburger" onclick="javascript:window.location.href='../getting_started.html'">
                <label for="hamburger" class="hamburger"> <span class="hamburgerLine"></span>
                  <span class="hamburgerLine"></span> <span class="hamburgerLine"></span>
                </label> </button> </a>
            <div class="dropdown-content"> <button class="dropdown-btn">Getting
                Started<i class="caret-down"></i></button>
              <div class="dropdown-container"> <a href=".././managing_projects.html">
                  Create, Import, Export and Load AF3-Projects</a> <a href=".././tipsAndTricks.html">Tips
                  &amp; Tricks</a> <a href=".././af3_faq.html">FAQs</a> </div>
              <button class="dropdown-btn">Requirements Engineering<i class="caret-down"></i></button>
              <div class="dropdown-container"> <a href="../requirements/MIRA.requirements_analysis.html">
                  Requirements Analysis Node</a> <a href="../requirements/MIRA.glossary.html">Glossary</a>
                <a href="../requirements/MIRA.requirements.html">Requirements</a>
              </div>
              <button class="dropdown-btn">Modeling and Simulation<i class="caret-down"></i></button>
              <div class="dropdown-container"> <a href="../ModandSim/model_element_attributes.html">Introduction
                  to Graphical Modeling Interface</a> <a href="../ModandSim/component_architecture.html">Component
                  Architecture Modeling</a> <a href="../ModandSim/data_dictionary.html">Data
                  Dictionary: Types and Functions</a> <a href="../ModandSim/refactoring.html">Refactoring</a>
                <a href="../ModandSim/model_markers_view.html">On-the-fly Checks</a>
                <button class="dropdown-btn">Behavior Modeling<i class="caret-down"></i></button>
                <div class="dropdown-container"> <a href="../ModandSim/code_specification.html">Code
                    Specification</a> <a href="../ModandSim/state_automaton.html">State
                    Automata</a> <a href="../ModandSim/hierarchical_state_automaton.html">Hierarchical
                    State Automata</a> <a href="../ModandSim/mode_automaton.html">
                    Mode Automata</a> </div>
                <button class="dropdown-btn">Simulation<i class="caret-down"></i></button>
                <div class="dropdown-container"> <a href="../ModandSim/simulation_with_af3.html">Simulation</a>
                  <a href="../ModandSim/operatorpanels.html">Operator Panels</a>
                  <a href="../ModandSim/operatorpanels_advanced.html">Advanced
                    Operator Panels</a> <a href="../ModandSim/cosimulation_with_af3.html">
                    Co-Simulation and FMI Support</a> </div>
              </div>
              <button class="dropdown-btn">Deployment and Code Generation<i class="caret-down"></i></button>
              <div class="dropdown-container"> <button class="dropdown-btn">Modeling
                  Technical Architectures<i class="caret-down"></i></button>
                <div class="dropdown-container"> <a href="../ta/platform_architecture.html">Platform
                    Architecture</a> <button class="dropdown-btn">Supported
                    Platform Architectures<i class="caret-down"></i></button>
                  <div class="dropdown-container"> <a href="../ta/platform_architecture_generic.html">Generic
                      Platform Architecture</a> <a href="../ta/platform_architecture_hierarchical.html">Hierarchical
                      Platform Architecture</a> <a href="../ta/platform_architecture_raspberrypi.html">RaspberryPi
                      Platform Architecture</a> </div>
                  <a href="../ta/task_architecture.html">Task Architecture</a> <a
                    href="../ta/partition_architecture.html"> Partition
                    Architecture</a> <a href="../ta/allocations.html">
                    Deployments/Allocations</a> <a href="../ta/system_schedule.html">
                    System Schedule</a> </div>
                <a href="../ta/code_generation.html">Code Generation</a> </div>
              <button class="dropdown-btn">Design Space Exploration (DSE)<i class="caret-down"></i></button>
              <div class="dropdown-container"> <a href="dse_perspective.html">DSE
                  Perspective Overview</a> <a href="dse_dashboard.html">DSE
                  Dashboard</a> <a href="constraints.html">Constraint Modeling</a>
                <a href="objectives.html">Objective Modeling</a> <a style="background-color:#f2f2f2;">Deployment
                  Synthesis</a> <a href="schedule_synthesis.html">Schedule
                  Synthesis</a> <a href="visualization.html">Solution
                  Visualization</a> </div>
              <button class="dropdown-btn">Assurance Case Modeling<i class="caret-down"></i></button>
              <div class="dropdown-container"> <a href="../assuranceCases/creation.html">Modeling
                  GSN-based Assurance Cases</a> <a href="../assuranceCases/assessment.html">Quantitative
                  Assessment of Assurance Cases</a> <a href="../assuranceCases/maintenance.html">Change
                  Impact Analysis</a> </div>
              <a href=".././furtherResources.MainPage.html">Further Resources</a>
            </div>
          </div>
          <div class="topnav-right"> <a href="mailto:af_user@lists.fortiss.org?subject=Reporting%20%27deployment_synthesis.html%27%20Documentation%20Problem%21&amp;body=%20Dear%20AutoFOCUS3%20team,%20I%20am%20reporting%20an%20issue%20related%20to%20Design%20Space%20Exploration%20%28DSE%29.%20%0A%20%20%20%20%20%20%20%7BPlease%20specify%20the%20problem%20precisely%20here.%7D.">Report
              a Problem?</a> </div>
        </div>
      </div>
    </div>
    <div class="box">
      <h1>Synthesis</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>
      <br>
      <h2>1. Selecting a Synthesis Type</h2>
      <br>
      <img src="pictures/synthesis_selection.svg" alt="" title="Synthesis Type Selection"
        style="width: 1098px; height: 600px;">&nbsp;</div>
    <div class="box">First, a synthesis type such as deployment (of tasks onto
      execution units) or (task) scheduling is selected at the top of the view.
      Afterwards, the constraints and objectives that are applicable for the
      selected synthesis types become visible. If multiple synthesis types are
      selected, the selected solver performs a joint syntheses.</div>
    <div class="box"><br>
      <h2>2. Creating Rule Sets</h2>
      <p><br>
      </p>
      <img src="pictures/synthesis_creating_rulesets.svg" alt="" title="Creating RuleSets"
        style="width: 1101px; height: 600px;"></div>
    <div class="box"><br>
    </div>
    <div class="box">Before a synthesis is launched, so-called rule sets are
      typically created. They group constraints and objectives, respectively.
      For instance, constraints on the allocation of tasks to execution units
      can be grouped together.</div>
    <div class="box">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
      appear in the corresponding table on the right-hand side. There, it can be
      renamed to carry an expressive name.</div>
    <div class="box"><br>
      <h2>3. Launching a Synthesis</h2>
      <p><br>
      </p>
      <p>Two different exploration types to perform a synthesis are supported: A
        constraint-satisfying synthesis and an optimizing one that optimizes the
        system towards the selected design goals (i.e., objectives). </p>
      <p><br>
      </p>
      <img src="pictures/synthesis_start_constraints.svg" alt="" title="Start a Synthesis Considering Constraints"
        style="width: 1100px; height: 600px;"><br>
      A constraint-satisfying synthesis is started by selecting rules sets from
      the table in the blue box. In the green box, a solver must be selected
      that actually performs the synthesis. By clicking the button "Configure",
      the solver can be configured and termination criteria such as timeouts can
      be defined (see below). By clicking "Check Feasibility", a
      constraint-satisfying synthesis is launched.</div>
    <div class="box"><img src="pictures/synthesis_settings_dialog.svg" alt="" title="Solver Settings Dialog"></div>
    <div class="box"><br>
    </div>
    <div class="box">To launch an optimizing synthesis, similar steps apply that
      are described in the following.</div>
    <div class="box"><br>
    </div>
    <div class="box"><img src="pictures/synthesis_start_optimization.svg" alt=""
        title="Launch an Optimizing Synthesis" style="width: 1168px; height: 600px;"></div>
    <div class="box"><br>
    </div>
    <div class="box">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
      is launched.</div>
    <br>
    <p>&nbsp;</p>
    <p>
      <script src="../layout/jsscript/topBtn.js"></script>
      <script src="../layout/jsscript/submenuScript.js"></script> </p>
    <div class="footer">
      <p> � 2020 <a href="https://www.fortiss.org/">fortiss GmbH</a>
        &nbsp;&nbsp;�&nbsp;&nbsp; <a href="https://www.fortiss.org/en/publications/software/autofocus-3#c2007">Contact</a>&nbsp;&nbsp;�&nbsp;&nbsp;
        <a href="https://www.fortiss.org/en/imprint">Imprint</a> </p>
    </div>
  </body>
</html>