Skip to content
Snippets Groups Projects
synthesis.html 9.36 KiB
Newer Older
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation on Deployment Synthesis in AutoFOCUS3. -->
<html>
Simon Barner's avatar
Simon Barner committed
	<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 & 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 style="background-color:#f2f2f2;">Objective Modeling</a>
								<a href="deployment_synthesis.html">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 'synthesis.html' Documentation Problem!&body= Dear AutoFOCUS3 team, I am reporting an issue related to Design Space Exploration (DSE). 
							{Please specify the problem precisely here.}.">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>

			<h2>1. Selecting a Synthesis Type</h2>
			<img src="pictures/synthesis_selection.svg" alt="" title="Synthesis Type Selection" style="width: 1098px; height: 600px;"/>
			<p>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 synthesis.
			</p>


			<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.
				For instance, constraints on the allocation of tasks to execution units
				can be grouped together.
			</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
				appear in the corresponding table on the right-hand side. There, it can be
				renamed to carry an expressive name.
			</p>

			<h2>3. Launching a Synthesis</h2>
			<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>

			<img src="pictures/synthesis_start_constraints.svg" alt="" title="Start a Synthesis Considering Constraints" style="width: 1100px; height: 600px;"/>

			<p>
				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.
			</p>
			<img src="pictures/synthesis_settings_dialog.svg" alt="" title="Solver Settings Dialog"/>

			<p>
				To launch an optimizing synthesis, similar steps apply that are described in the following.
			</p>

			<img src="pictures/synthesis_start_optimization.svg" alt="" title="Launch an Optimizing Synthesis" style="width: 1168px; height: 600px;"/>

			<p>
				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.
			</p>
		</div>

		<script src="../layout/jsscript/topBtn.js"></script>
		<script src="../layout/jsscript/submenuScript.js"></script>
		<div class="footer">
			<p>
				&copy; 2020 <a href="https://www.fortiss.org/">fortiss GmbH</a> &nbsp;&nbsp;&bull;&nbsp;&nbsp;
				<a href="https://www.fortiss.org/en/publications/software/autofocus-3#c2007">Contact</a>&nbsp;&nbsp;&bull;&nbsp;&nbsp;
				<a href="https://www.fortiss.org/en/imprint">Imprint</a>
			</p>
		</div>
	</body>