You can give structure to your requirements using Aspects. They allow to categorize requirements as explained below.
There are different tags, each representing a particular Aspect the requirement may focus on.
There is a main set of 8 Aspects supported by AutoFOCUS3:
To add an Aspect, choose the requirement and right-click on it to get the pop-up menu. Now you can select the corresponding Aspects. All assigned Aspects to the requirement will be visible as Tabs in the main editor for Requirements.
Every Aspect can be removed from requirement using the respective button in respective Tab:
Below you can fined more detailed description of every Aspect.
You can add this Aspect to a requirement for referring it to timing constraints.
In this section you can define the Timing specification by checking the following constraints:
This Aspect can be added to a requirement for defining a signal.
Here you can specify all necessary signal parameters such as:
In this Aspect you can specify the reusable parameter in a requirement, by defining:
If your requirement refers to a safety aspect, you can specify a safety level defining:
This Aspect can be tagged to the requirement, which describes operational mode of a System.
In this section you can add information about the System's modes by right-clicking mouse onto the table "Mode", i.e. "Turn on" mode or "Switch off".
This Aspect can be used, for example, in order to mark the requirement as a derived from the development process of the System and added to the requirements' scope at the later phase of the System design process. This Aspect gives a reference to the DO178 standard, where such kind of requirements is described as “derived requirements".
A functional aspect specifies the relation of inputs and outputs.
The rows in the table to the left specifies the names (1) of the inputs and outputs (2) used in the relation.
The Code Specification specifies the relation between inputs and outputs.
Another one Aspect, which can be used in the behavior definition using temporal patterns. For this purpose you need to define a Condition Type :
According to your chosen [Condition type], you can apply the defined temporal pattern:
(1) [When] an event happens define [Precondition] and [Trigger(s)] for this event; then choose, how the system should behave choosing [Response Type: "Then always (state)" or "Then once (event)"] and define the Response]
(2) [If] system behaves in an undesired manner define [Precondition] and [Trigger(s)] for this behavior; then choose, how the system should behave setting [Response Type: "Then always (state)" or "Then once (event)"] and define the [Response]
(3) [While] system is in the state, define [Precondition] for this state; then choose, how the system should behave choosing [Response Type: "Then always (state)" or "Then once (event)"] and define the [Response]
(4) [Always] describe, what your system should do always do [Response].
There is a set of safety Aspects, which can specify safety conditions of a system:
More information about safety cases can be found in respective parts here.