Skip to content
Snippets Groups Projects
MIRA.aspects.html 10.07 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><!--
 Documentation of MIRA - Model-based Integrated Requirements Analysis.
 
 @author becker
 @ConQAT.Rating GREEN Hash: 9E1B5106815B8C6D8DF2ECC5890F5C39
-->
	<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
	<title>MIRA - Creating a Requirements Analysis using AutoFOCUS3 (AF3)</title>
</head>
<body>
<h1><u><font color="#336699">General Aspects</font></u></h1>

<h2><font color="#336699">Aspects in Requirements</font></h2>

<p>You can give structure to your requirements using <em>Aspects</em>. They allow to categorize requirements as explained below.</p>

<p>There are different tags, each representing a particular <em>Aspect</em> the requirement may focus on.</p>

<p><img alt="" src="./pictures/aspects.png" style="width: 533px; height: 420px;" /></p>

<p>There is a main set of 8 Aspects supported by AutoFOCUS3:</p>

<ul>
	<li>&ldquo;Timing aspect&rdquo; &ndash; the requirement refers to timing constraints</li>
	<li>&ldquo;Signal aspect&rdquo; &ndash; the requirement defines a signal, its type and its range</li>
	<li>&ldquo;Parameter definition aspect&rdquo; &ndash; the requirement defines a parametric value. This allows to reused other requirements by changing the value of the parameter</li>
	<li>&ldquo;Safety level aspect&rdquo; &ndash; the requirement defines a safety level of the system</li>
	<li>&ldquo;Mode aspect&rdquo; &ndash; the requirement defines an operational mode of the system</li>
	<li>&ldquo;Design choice aspect&rdquo; &ndash; the requirement was derived from a design choice of the software developer</li>
	<li>&ldquo;Functional aspect&rdquo; &ndash; the requirement specifies a particular behavior by relating inputs and outputs</li>
	<li>&nbsp;&ldquo;Temporal property aspect&rdquo; &ndash; the requirement defines a property, which can be defined using temporal patterns</li>
</ul>

<p>To add an <em>Aspect</em>, choose the requirement and right-click on it to get the pop-up menu. Now you can select the corresponding <em>Aspects</em>. All assigned <em>Aspects</em> to the requirement will be visible as <em>Tabs</em> in the main editor for Requirements.</p>

<p><img alt="" src="./pictures/aspectsTabs.png" style="width: 727px; height: 352px;" /></p>

<p>Every <em>Aspect</em> can be removed from requirement using the respective button in respective <em>Tab</em>:</p>

<p><img alt="" src="./pictures/aspectsRemove.png" style="width: 729px; height: 270px;" /></p>

<p>Below you can fined more detailed description of every <em>Aspect</em>.</p>

<h2><span style="color: rgb(51, 102, 153);">Timing </span><font color="#336699">Aspect</font></h2>

<h2><span style="color: rgb(51, 102, 153);"><img alt="" src="./pictures/aspects/TA.png" style="width: 729px; height: 241px;" /></span></h2>

<p>You can&nbsp;add this <em>Aspect</em> to&nbsp;a requirement&nbsp;for&nbsp;<span new="" style="line-height: 107%; font-family: ;" times="">referring</span> it&nbsp;to timing constraints.</p>

<p>In this section you can&nbsp;define the <em>Timing specification </em>by checking the following constraints:</p>

<ol>
	<li><em>Latency</em>, <em>Response Time</em> or <em>Processing Time</em> of&nbsp;the developed&nbsp;System</li>
</ol>

<p><img alt="" src="./pictures/aspects/Latency.png" style="width: 169px; height: 185px;" /></p>

<ol start="2">
	<li>&quot;<em>should be</em>&quot; - this is an expression, if the chosen time parameter <em>should be</em> &quot;equal&quot;, &quot;lower&quot;, etc., than&nbsp;the necessary value, which is defined by you ( its value and unit) or</li>
	<li>its&nbsp;range<em> should be </em>between two values</li>
</ol>

<h2><span style="color: rgb(51, 102, 153);">Signal </span><font color="#336699">Aspect</font></h2>

<h2><span style="color: rgb(51, 102, 153);"><img alt="" src="./pictures/aspects/SD.png" style="width: 729px; height: 442px;" /></span></h2>

<p>This Aspect can be&nbsp;added to&nbsp;a requirement&nbsp;for&nbsp;defining a signal.</p>
<p>Here you can specify all necessary signal parameters such as:</p>

<ol>
	<li>its <em>Name</em></li>
	<li>if&nbsp;it&nbsp;is&nbsp;an <em>Input </em>or <em>Output</em> signal</li>
	<li>its <em>Type</em> (it can be integer, boolean, etc.)</li>
	<li><em>Initial Value </em>of the signal or</li>
	<li>its range <strong>(!it doesn&#39;t work properly&nbsp;at the moment)</strong></li>
	<li>and its <em>Update rate</em> in <span new="" style="line-height: 107%; font-family: ;" times="">milliseconds</span> (ms)</li>
</ol>

<h2><span style="color: rgb(51, 102, 153);">Parameter definition Aspect</span></h2>

<h2><span style="color: rgb(51, 102, 153);"><img alt="" src="./pictures/aspects/PD.png" style="width: 729px; height: 247px;" /></span></h2>

<p>In this Aspect you can specify the reusable parameter in a requirement, by defining:</p>

<ol>
	<li><em>Name</em> of the parameter</li>
	<li><em>Default value </em>of the parameter, which will be used during the simulation</li>
	<li><em>Type </em>of the parameter, such as &quot;boolean&quot;, &quot;int&quot;, &quot;double&quot;</li>
</ol>

<h2><span style="color: rgb(51, 102, 153);">Safety level Aspect </span></h2>

<h2><span style="color: rgb(51, 102, 153);"><img alt="" src="./pictures/aspects/SL.png" style="width: 729px; height: 244px;" /></span></h2>

<p>If your requirement refers to a safety aspect, you can specify a safety level defining:</p>

<ol>
	<li>one of the <em>Safety Standards</em>: &quot;IEC 61508&quot;, &quot;ISO 26262&quot;&nbsp;or &quot;DO 178C&quot;, on which the requirement is&nbsp;based on.</li>
</ol>

<p><img alt="" src="./pictures/aspects/safetyStandards.png" style="width: 249px; height: 153px;" /></p>

<ol start="2">
	<li><em>Safety Integrity Level</em> (SIL from 1 to 4) <strong>(!it doesn&#39;t work properly&nbsp;at the moment)</strong></li>
</ol>

<h2><span style="color: rgb(51, 102, 153);">Mode Aspect </span></h2>

<h2><span style="color: rgb(51, 102, 153);"><img alt="" src="./pictures/aspects/Mode.png" style="width: 729px; height: 366px;" /></span></h2>

<p><span style="color: rgb(0, 0, 0);">This Aspect can be tagged to the requirement, which describes operational mode of a&nbsp;System.</span></p>

<p><span style="color: rgb(0, 0, 0);">In this section you can add information about the System&#39;s modes by right-clicking mouse onto the table &quot;Mode&quot;, i.e. &quot;Turn on&quot; mode or &quot;Switch off&quot;.</span></p>

<h2><span style="color: rgb(51, 102, 153);">Design choice Aspect </span></h2>

<h2><span style="color: rgb(51, 102, 153);"><img alt="" src="./pictures/aspects/DCh.png" style="width: 479px; height: 423px;" /></span></h2>

<p><span style="color: rgb(0, 0, 0);">This Aspect can be used, for example,&nbsp;in order to mark the requirement as a derived&nbsp;from the development process of the System&nbsp; and added to the requirements&#39; scope&nbsp;at the later phase of the System design process. </span><span style="font-family: &quot;-webkit-standard&quot;,serif; font-size: 12pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: &quot;Times New Roman&quot;; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">This Aspect gives a reference to the DO178 standard, where such kind of requirements is described as &ldquo;derived requirements&quot;</span><span style="color: rgb(0, 0, 0);">.</span></p>

<h2><font color="#336699">Functional Aspect</font></h2>

<h2><img alt="" src="./pictures/aspects/Func.png" style="width: 1084px; height: 641px;" /></h2>

<p>A functional aspect specifies the relation of inputs and outputs.</p>

<p>The rows in the table to the left specifies the names (1)&nbsp;of the inputs and outputs (2)&nbsp;used in the relation.</p>

<p>The <em>Code Specification</em> specifies the relation between inputs and outputs.</p>

<h2><span style="color: rgb(51, 102, 153);">Temporal property A</span><span style="color: rgb(51, 102, 153);">spect</span></h2>

<p>&nbsp;<img alt="" src="./pictures/aspects/TempProp.png" style="width: 691px; height: 315px;" /></p>

<p>Another one&nbsp;Aspect, which can be used&nbsp;in the behavior definition using temporal patterns. For this purpose you need to define a <em>Condition Type</em> :</p>

<ul style="margin-left: 40px;">
	<li>&quot;When&quot; -&nbsp;to describe&nbsp;an event,</li>
	<li>&quot;If&quot; - to define undesired a&nbsp;behavior,</li>
	<li>&quot;While&quot; - to define a system state,</li>
	<li>&quot;Always&quot; - to define ubiquitous</li>
</ul>

<p><img alt="" src="./pictures/aspects/Conditions.png" style="width: 329px;" /></p>

<p>&nbsp;According to your chosen [<em>Condition type</em>]<em>, </em>you can apply the defined temporal pattern:</p>

<p>(1) [<em>When</em>] an event happens define [<em>Precondition</em>]&nbsp;and&nbsp;[<em>Trigger(s)</em>] for this event;&nbsp;then choose, how the system should behave choosing [<em>Response Type</em>: &quot;Then always (state)&quot; or&nbsp;&quot;Then once (event)&quot;] and define the&nbsp;<em>Response</em>]</p>

<p>(2) [<em>If</em>] system behaves in an undesired manner define [<em>Precondition</em>] and&nbsp;[<em>Trigger(s)</em>] for this behavior;&nbsp;then choose, how the system should behave&nbsp;setting [<em>Response Type</em>: &quot;Then always (state)&quot; or&nbsp;&quot;Then once (event)&quot;] and define the [<em>Response</em>]</p>

<p>(3) [<em>While</em>] system is in the state,&nbsp;define [<em>Precondition</em>]&nbsp;for this state; then choose, how the system should behave choosing&nbsp; [<em>Response Type</em>: &quot;Then always (state)&quot; or&nbsp;&quot;Then once (event)&quot;] and define the&nbsp;[<em>Response</em>]</p>

<p>(4) [<em>Always</em>]&nbsp;describe, what your system should do always do [<em>Response</em>].</p>

<h2><font color="#336699">Other Aspects in Requirements</font></h2>

<p>There is a set of safety Aspects, which can specify safety conditions of a system:</p>

<li> Safety Level Aspect</li>
<li> Safety - Hazart Analysis Aspect</li>
<li> Safety - MooN Solution Aspect</li>
<li> Assets</li> 
<li> Vulnerabilities</li>
<li> Threats</li>
<li> Counter Measures</li>

<p>More information about safety cases can be found in respective parts <a href="safety_cases.html">here</a>.</p>

</body>
</html>