Skip to content
Snippets Groups Projects
constraints.html 4.79 KiB
Newer Older
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!-- Documentation on Constraint modeling in AutoFOCUS3. -->

	<link rel="stylesheet" type="text/css" href="../layout/stylesheet.css">
	<title>Constraint modeling in AutoFOCUS3</title>
</head>
<div class="header">
<div class="box">
<div class="navbar">
<!--a href="https://www.fortiss.org/" align="left">
<img src="fortiss-logo.png" width="90px" height="20px" align="left">
</a-->
 <div class="dropdown">
    <button class="btn" id="hamburger">
    <label for="hamburger" class="hamburger">
        <span class="hamburgerLine"></span>
        <span class="hamburgerLine"></span>
        <span class="hamburgerLine"></span>
    </label>
    </button>
    <div class="dropdown-content">  
      <a href="../getting_started.html"> Main Page</a>
      <a href="../ModandSim/model_element_attributes.html">Modeling and Simulation</a>
      <a href="../ta/technical_viewpoint.html">Deployment and Code Generation</a>
      <a href="../dse/dse_perspective.html">Design Space Exploration (DSE)</a>
      <a href="../assuranceCases/creation.html">Assurance Case Modeling</a>
      <a href=".././af3_further_resources.html">Further Resources</a>
    </div>
   </div> 
    <div class="dropdown">
    <button class="dropbtn">Design Space Exploration (DSE) <i class="triangle"></i></button>
    <div class="dropdown-content">
	  <a href="dse_perspective.html">DSE Perspective Overview</a>
	  <a href="dse_dashboard.html">DSE Dashboard</a>
	  <a href="objectives.html">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>
   </div>
<div class="topnav-right">
      <a href="mailto:af_user@lists.fortiss.org?subject=Reporting 'constraints.html' Documentation Problem!&body= Dear Af3 team, I am reporting an issue related to Design Space Exploration (DSE). 
       {Please specify the problem precisely here.}.">Report a Problem?</a>
    </div>
  </div>
</head>
</div>
</div>
<div class="box">
<button onclick="topFunction()" id="upBtn" title="Go to top">Top</button>


<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>
<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.
	<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>.
</p>
<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.
	<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>. 
</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.
</p>
<h3>Memory Utilization</h3>
<img src="pictures/Memory.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.
</p>
</div>

<script src="../layout/jsscript/topBtn.js">
</script>
</body>