Software Requirements Definition

Software High Level Requirements
From the system requirements, we can help you define high level software requirements. The high level software requirement definition, is the expression of the system requirements specifically to be implemented in code. Each software requirement is systematically traced to a system requirement. Justification is provided for any derived requirements. Software requirements definitions are written by following best practices guidelines.

Software Low Level Requirements
The low level requirements are the expression of the code at the level the closest to the programming language. Each software requirement is systematically traced to a software high level requirement. Software requirements definitions are written by following best practices guidelines. When an automated code generation tool is used the picture is the low level requirement.


DO-178B



The following is a typical example of a fuel metering unit software requirements.





Software High Level Requirements


CL_0000001SRD 5.2.1:FCU RVDTTYPE : DRVSR : R123574
The CL shall read the FCU RVDT Voltage Feedback [OSIN_FCU_RVDT_VFBK] in engineering unit (mV) from the Operating System.

CL_0000002SRD 5.2.1:FCU RVDTTYPE : HLRSR : R123574
The CL shall input the FCU RVDT Voltage Feedback [OSIN_FCU_RVDT_VFBK] into a 2 dimensional map [MAP2D_FCU_RVDT_MV_TO_DEG] to determine the FCU Feedback Angular Position [FCU_RVDT_ANG] in degrees.

CL_0000003SRD 5.2.1:FCU RVDTTYPE : HLRSR : R123574
The CL shall define the 2 dimensional curve (FCU RVDT Voltage Feedback to FCU RVDT Angular Position) [MAP2D_FCU_RVDT_MV_TO_DEG] as per a the following (x,y) points.

CL_0000004SRD 5.2.1:FCU RVDTTYPE : DRVSR : R123574
The CL shall range limit the output of the 2 dimensional curve (FCU RVDT Voltage Feedback to FCU RVDT Angular Position) [MAP2D_FCU_RVDT_MV_TO_DEG] between the minimum y value and maximum y value defined in the map.

CL_0000005SRD 5.2.7:FCU CONTROL LOOPTYPE : HLRSR : R123572
The CL shall calculate the FCU RVDT Position Error [FCU_RVDT_POS_ERR] as per the following equation.

FCU Position Error = FCU Position Setpoint - FCU RVDT Angular Position

CL_0000005SRD 5.2.7:FCU CONTROL LOOPTYPE : HLRSR : R123572
The CL shall calculate the FCU RVDT Position Error [FCU_RVDT_POS_ERR] as per the following equation.

FCU Position Error = FCU Position Setpoint - FCU RVDT Angular Position

CL_0000006SRD 5.2.7:FCU CONTROL LOOPTYPE : HLRSR : R123572
The CL shall input the FCU Position Error in a Dynamic Filter and output the FCU Torque Motor Current.

CL_0000007SRD 5.2.7:FCU CONTROL LOOPTYPE : DRVSR : R123572
The CL shall use a PID Compensation for the FCU Dynamic Filter.

CL_0000008SRD 5.2.7:FCU CONTROL LOOPTYPE : DRVSR : R123572
The CL shall reset the PID integral gain to 0.0, when the CL is cycled for the first time.

CL_0000010SRD 5.2.10:FCU FAULT DETECTIONTYPE : DRVSR : R123579
The CL shall input the FCU RVDT Position Feedback into a first order lag filter with a 200ms time constant.

CL_0000011SRD 5.2.10:FCU FAULT DETECTIONTYPE : HLRSR : R123579
The CL shall detect a FCU Position tracking error if the following condition is met :

ABS(FCU Position Setpoint-Filtered FCU RVDT Position)>10 degrees

CL_0000012SRD 5.2.10:FCU FAULT DETECTIONTYPE : HLRSR : R123579
The CL shall latch a FCU Position Tracking Error Fault when the FCU Position Tracking Error is set for more than 2 sec.

CL_0000013SRD 5.2.10:FCU FAULT DETECTIONTYPE : HLRSR : R123580
The CL shall set the FCU Torque Motor Current to 0.0 when a FCU Position Tracking Error Fault is set.

CL_0000014SRD 5.2.10:FCU FAULT DETECTIONTYPE : DRVSR : R123580
The CL shall reset the FCU Integral Gain to 0.0 when a FCU Position Tracking Error Fault is set.

CL_0000015SRD 5.2.15:FCU OUTPUTTYPE : DRVSR :
The CL shall output the FCU RVDT Torque Motor Current [OSOUT_FCU_TQCUR] in engineering unit (mV) to the Operating System.




Software Low Level Requirements


SL_0000001SDD 3.2.1:FCU RVDTTYPE : LLRCL : 0000001
The FCU RVDT Voltage Feedback Current Value in engineering unit (mV) [OSIN_FCU_RVDT_VFBK.k] shall be read from the Operating System analog input array IN_OS_ANLG[0].

SL_0000002SDD 3.2.1:FCU RVDTTYPE : DRVCL : 0000001
The FCU RVDT Voltage Feedback Last Past Value in engineering unit (mV) [OSIN_FCU_RVDT_VFBK.k1] shall be equal to its Current Value.

SL_0000003SDD 3.2.1:FCU RVDTTYPE : LLRCL : 0000003
The FCU RVDT Voltage to FCU Angular Position Map [MAP2D_FCU_RVDT_MV_TO_DEG] shall be defined by the following points :

MAP2D_FCU_RVDT_MV_TO_DEG.x1=-14.6;
MAP2D_FCU_RVDT_MV_TO_DEG.y1=12;
MAP2D_FCU_RVDT_MV_TO_DEG.x2=187;
MAP2D_FCU_RVDT_MV_TO_DEG.y2=-98;

SL_0000004SDD 3.2.1:FCU RVDTTYPE : LLRCL : 0000002
The FCU RVDT Angular Position in Degree [FCU_RVDT_ANG] shall be calculated using the 2D linear interpolation function linint2dim2ptsfunc that uses the FCU RVDT Position vs Voltage Feedback Map [MAP2D_FCU_RVDT_MV_TO_DEG] for its map input (1st input), and uses the FCU Angular Position [OSIN_FCU_RVDT_VFBK] for its parameter input (2nd input).

SL_0000005SDD 3.2.1:FCU RVDTTYPE : LLRCL : 0000004
The FCU RVDT Angular Position low and high values [RNGLIM_FCU_RVDT_ANG] shall be defined as the minimum and maximum value of thein the for The FCU RVDT Voltage to FCU Angular Position Map [MAP2D_FCU_RVDT_MV_TO_DEG].

SL_0000006SDD 3.2.1:FCU RVDTTYPE : LLRCL : 0000004
The FCU RVDT Angular Position Range Limited [FCU_RVDT_ANG_RNGLIM] shall be calculated using the range limiting function rnglimfunc that uses that uses the FCU RVDT Angular Position low and high values defined in [RNGLIM_FCU_RVDT_ANG] for its range input (1st input), and uses the FCU RVDT Angular Position [FCU_RVDT_ANG_RNGLIM] as its parameter input (2nd input).

SL_0000007SDD 3.2.1:FCU RVDTTYPE : LLRCL : 0000005
The FCU RVDT Position Error [FCU_RVDT_POS_ERR] shall be calculated by substracting the FCU Position Setpoint [FCU_RVDT_SET_POINT] from the FCU RVDT Angular Position [FCU_RVDT_ANG_RGLM].