Project 1 - Wiper control system and Vehicle speed calculation for ABS using Wheel Speed sensor
Answere :
Wiper control system :
Aim : Develop Simulink/state Flow Modules For Wiper Control System Based on the Given Conditions
Description of Challenge :
1. If the density of the rain is low, then wiper rotates with low speed, the output signal should be 100rpm.
2. If the density of the rain is medium, then wiper rotates with low speed, the output signal should be 200rpm.
3. If the density of the rain is high, then wiper rotates with low speed, the output signal should be 500rpm.
1) Model Development :

Subsystem :

No Rain Subsystem :

Low Rain Susystem :

Medium Rain Subsystem :

High Rain Subsystem :

2) Simulink Data Dictionary (SLDD) :

3) Requirement Tagging :
Create the Functional and SwReq File into the xls. File.


Click On the New Requirement Set :

After That Click on the Add Requirement :

Linking the Requirement :


Requirement Report :


4) Model Advisor (JMAAB) :
Going to the Simulink Model >> Click on the Modelling >> Model Advisor.


5) Fixed Point Tool :
Run thee Model Error Free >> and then Click on the Fixed Point Tool >> Iterative Fixed-Point Conversion.
Simulation Model :

Simulink Data Dictionary(SLDD) Before Applying the Fixed point Tool

Block Before Applying Fixed Point Tool


Procedure to Start the Fixed Point Tool :







After Applying The Fixed Point Tool :



Simulink Data Dictionary (SLDD) After Applying the Fixed Point Tool

6) SLDV Design Error Detection Report :
Goto the Model >> Open the Design Verifier App >> Select the Design Error Detection >> then Click on Design Error Detection Setting.




Design Error Detection Report :



7) Functional Test Cases, MIL, SIL Harness, Coverage Report :
Simulink Model :

Functional Test Cases :

Model in Loop (MIL) :

Signal Builder Waveform :

MIL Output :

MIL Coverage Report :



Software in Loop (SIL) :

Signal Builder Waverform :

SIL Output :
SIL Coverage Report :



Code Generated :

8) SLDV Test Generation Report :
Goto the Model Run the model Error Free >> App >> Desgin Verifier >> Click one the Test Generation
Click on the Test Generation Setting


Result Summary of Test Generation :

Report :





9) Auto Code Generation main .c & .h Files :

Code Report :
.c File :
/*
* Event Support License -- for demonstration use and event support. Not
* for government, research, commercial, or other organizational use.
*
* File: WiperControl_System.c
*
* Code generated for Simulink model 'WiperControl_System'.
*
* Model version : 1.13
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
* C/C++ source code generated on : Tue Feb 7 17:28:00 2023
*
* Target selection: ert.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#include "WiperControl_System.h"
#include "WiperControl_System_private.h"
/* External inputs (root inport signals with default storage) */
ExtU_WiperControl_System_T WiperControl_System_U;
/* External outputs (root outports fed by signals with default storage) */
ExtY_WiperControl_System_T WiperControl_System_Y;
/* Real-time model */
static RT_MODEL_WiperControl_System_T WiperControl_System_M_;
RT_MODEL_WiperControl_System_T *const WiperControl_System_M =
&WiperControl_System_M_;
/* Model step function */
void WiperControl_System_step(void)
{
/* Outport: '/No_Rain' incorporates:
* Constant: '/Constant1'
* Switch: '/Switch'
*/
WiperControl_System_Y.No_Rain = 0;
/* Switch: '/Switch' incorporates:
* Inport: '/Density'
* RelationalOperator: '/Relational Operator'
*/
if (WiperControl_System_U.Density > 960) {
/* Outport: '/High_Rain' incorporates:
* Constant: '/Constant1'
*/
WiperControl_System_Y.High_Rain = 8000;
} else {
/* Outport: '/High_Rain' incorporates:
* Constant: '/Constant2'
*/
WiperControl_System_Y.High_Rain = 0;
}
/* End of Switch: '/Switch' */
/* Switch: '/Switch' incorporates:
* Inport: '/Density'
* Logic: '/Logical Operator'
* RelationalOperator: '/Relational Operator'
* RelationalOperator: '/Relational Operator1'
*/
if ((WiperControl_System_U.Density > 0) && (WiperControl_System_U.Density <=
480)) {
/* Outport: '/Low_Rain' incorporates:
* Constant: '/Constant2'
*/
WiperControl_System_Y.Low_Rain = 1600;
} else {
/* Outport: '/Low_Rain' incorporates:
* Constant: '/Constant3'
*/
WiperControl_System_Y.Low_Rain = 0;
}
/* End of Switch: '/Switch' */
/* Switch: '/Switch' incorporates:
* Inport: '/Density'
* Logic: '/Logical Operator'
* RelationalOperator: '/Relational Operator'
* RelationalOperator: '/Relational Operator1'
*/
if ((WiperControl_System_U.Density > 480) && (WiperControl_System_U.Density <=
960)) {
/* Outport: '/Medium_Rain' incorporates:
* Constant: '/Constant2'
*/
WiperControl_System_Y.Medium_Rain = 3200;
} else {
/* Outport: '/Medium_Rain' incorporates:
* Constant: '/Constant3'
*/
WiperControl_System_Y.Medium_Rain = 0;
}
/* End of Switch: '/Switch' */
}
/* Model initialize function */
void WiperControl_System_initialize(void)
{
/* (no initialization code required) */
}
/* Model terminate function */
void WiperControl_System_terminate(void)
{
/* (no terminate code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/
.h File :
/*
* Event Support License -- for demonstration use and event support. Not
* for government, research, commercial, or other organizational use.
*
* File: WiperControl_System.h
*
* Code generated for Simulink model 'WiperControl_System'.
*
* Model version : 1.13
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
* C/C++ source code generated on : Tue Feb 7 17:28:00 2023
*
* Target selection: ert.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#ifndef RTW_HEADER_WiperControl_System_h_
#define RTW_HEADER_WiperControl_System_h_
#ifndef WiperControl_System_COMMON_INCLUDES_
#define WiperControl_System_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif /* WiperControl_System_COMMON_INCLUDES_ */
#include "WiperControl_System_types.h"
/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
#define rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
#endif
#ifndef rtmSetErrorStatus
#define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
#endif
/* External inputs (root inport signals with default storage) */
typedef struct {
int16_T Density; /* '/Density' */
} ExtU_WiperControl_System_T;
/* External outputs (root outports fed by signals with default storage) */
typedef struct {
int16_T No_Rain; /* '/No_Rain' */
int16_T Low_Rain; /* '/Low_Rain' */
int16_T Medium_Rain; /* '/Medium_Rain' */
int16_T High_Rain; /* '/High_Rain' */
} ExtY_WiperControl_System_T;
/* Real-time Model Data Structure */
struct tag_RTM_WiperControl_System_T {
const char_T * volatile errorStatus;
};
/* External inputs (root inport signals with default storage) */
extern ExtU_WiperControl_System_T WiperControl_System_U;
/* External outputs (root outports fed by signals with default storage) */
extern ExtY_WiperControl_System_T WiperControl_System_Y;
/* Model entry point functions */
extern void WiperControl_System_initialize(void);
extern void WiperControl_System_step(void);
extern void WiperControl_System_terminate(void);
/* Real-time Model object */
extern RT_MODEL_WiperControl_System_T *const WiperControl_System_M;
/*-
* The generated code includes comments that allow you to trace directly
* back to the appropriate location in the model. The basic format
* is /block_name, where system is the system number (uniquely
* assigned by Simulink) and block_name is the name of the block.
*
* Use the MATLAB hilite_system command to trace the generated code back
* to the model. For example,
*
* hilite_system('') - opens system 3
* hilite_system('/Kp') - opens and selects block Kp which resides in S3
*
* Here is the system hierarchy for this model
*
* '' : 'WiperControl_System'
* '' : 'WiperControl_System/WiperControl_System'
* '' : 'WiperControl_System/WiperControl_System/HighRain'
* '' : 'WiperControl_System/WiperControl_System/LowRain'
* '' : 'WiperControl_System/WiperControl_System/MediumRain'
* '' : 'WiperControl_System/WiperControl_System/NoRain'
*/
#endif /* RTW_HEADER_WiperControl_System_h_ */
/*
* File trailer for generated code.
*
* [EOF]
*/
10) Polyspace Analysis Report/ Output :
Procedure to Analysis the Polyspace Report
Bug Finder :
- Firstly Generated the .C code
- Initially, open the Polyspace in that new project click on start new project.
- The Project Properties dialogue box will open in that give the project name as we saved in the MATLAB,then select the location where it we need to save after that click Next or use the default location.
- Then ,it asks for the Projrct source,click on browserand select the folder where th .c file are generated then optionally we can add the include folder then clock on finish,the polyspace environment will open.
- In the configuraton settings option called Target & compiler select the source code language as c,change the target processor as X86_64.
- In the coding standards & code Metrics in that enable the check MISRA C:2004 also select the calculate the code metrics option
- After that go to bug finder analysis under that select the default one.
- Go to reporting enable the generate report option and ouput formet as PDF or any file we need
- Finally save the polyspace and run the Bug Finder.
Code Prover :
- Befour going to the Code Prover First setup the Configration setting.
- In Configuration go to the Code prover verification and under code prover verification option.
- Click on the Check Behavior and Enable the option (i,e Allow Negative Operand for left shifts).
- and also click on the Consider Non-Finite floats.
- Then After you go to the Precision
- In Precision Select the Precision level -2 and Verification Level is Software Safety Analysis Level-2.
then After Click on Save Botton the Configration setting will be save.
then After We Run the Code Prover. - And After Click on the Dashboard option and see the Results.
11) Test Generation Report- Baseline and Back to back Testing :
Baseline Testing :
Run the model>> goto the Simulink Test >>Click on the Simulink Test Manager >> then Click on New >> Test File>> Create Test Name.



Click on the Requirement

then after Click one the System Under Testing

Click on the Input


then after click on the Baseline Criteria and click on the Capture


Click on the Coverage Setting >> Click on Enable Option.

then After Save and Run it.
Results :

Baseline Criteria Results :




Baseline Criteria Output :

Baseline Testing Report :



Back To Back Testing :

Click on the Simulink Test Manager

Click on New





Generated MIL And SIL Model :


Click on the Requirement

then After Click on the System under test and harness are link automatically.

then Click on the Input and enable it.

after that click on coverage Setting and Enable the Coverage.

and Save and Run it.
Results :

Equivalence Criteria Result :





Back to back testing Report :





---------------------------------------------------------------------------------------------------------------------------
2. Vehicle speed calculation for ABS using Wheel Speed sensor
Aim : Develop Simulink/state flow model for the vehicle speed calculation unit inside the ABS system for the below conditions.
1) Simulink Model :

Subsystem :


2) Simulink Data Dictionary(SLDD) :

3) Requirement Tagging :
Create the Functional and SwReq into the .xls files.


Click on New Requirement Set

After that Click on the Add Requirement

Linking the Requirement:

Requirement Report :



4) Model Advisor (JMAAB) Report :
going to Simulink model >> Click o Modelling >> Click on the Model Advior.


5) Fixed-Point Tool :
Run the model Error Free then Goto the >> App>> Click on the Fixed point Tool.
Simulink Model :

Simulink Data Dictionary(SLDD) Before applying Fixed Point Tool

Blocks Before applying fixed point tool :

Procedure to Start Fixed-Point Tool :





Apply Data Type

After Applying the Fixed-Point Tool

SLDD After Applying Fixed-Point Tool

6) SLDV Design Error Detection Report :
Goto the Model >> Click on the App>> Select the Design Verifier >> Design Error Detection>> Design Error Detection Setting.
Simulink Model :





Design Error Detection Report :




7) Functional Test Cases, MIL,SIL Harness, Coverage Report :
Functional Test Cases :

Simulink Model :

Signal Builder Waveform :

MIL Model :

MIL Scope Output :

MIL Coverage Report :


Coverage Report :



SIL Model :

Signal Builder Waveform :

SIL Output :

SIL Coverage Output :


SIL Coverage Report :


Code Generated after Running Model :

8) SLDV Test Generation Report :
Goto the Model Run the model Error Free >> App >> Desgin Verifier >> Click one the Test Generation.


Simulink Design Verifier Test Generation : Advisor


SLDV Report :















9) Auto code Generation main .c & .h Files :


.C Code :
/*
* Event Support License -- for demonstration use and event support. Not
* for government, research, commercial, or other organizational use.
*
* File: vehicle_speed_mode_02.c
*
* Code generated for Simulink model 'vehicle_speed_mode_02'.
*
* Model version : 1.14
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
* C/C++ source code generated on : Wed Feb 8 23:26:35 2023
*
* Target selection: ert.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#include "vehicle_speed_mode_02.h"
#include "rtwtypes.h"
#include "vehicle_speed_mode_02_private.h"
#include <math.h>
/* External outputs (root outports fed by signals with default storage) */
ExtY_vehicle_speed_mode_02_T vehicle_speed_mode_02_Y;
/* Real-time model */
static RT_MODEL_vehicle_speed_mode_0_T vehicle_speed_mode_02_M_;
RT_MODEL_vehicle_speed_mode_0_T *const vehicle_speed_mode_02_M =
&vehicle_speed_mode_02_M_;
real_T rt_roundd_snf(real_T u)
{
real_T y;
if (fabs(u) < 4.503599627370496E+15) {
if (u >= 0.5) {
y = floor(u + 0.5);
} else if (u > -0.5) {
y = u * 0.0;
} else {
y = ceil(u - 0.5);
}
} else {
y = u;
}
return y;
}
/* Model step function */
void vehicle_speed_mode_02_step(void)
{
/* Chart: '<S1>/VehicleSpeed_Mode' incorporates:
* Inport: '<Root>/Fl'
* Inport: '<Root>/Fr'
* Inport: '<Root>/Rl'
* Inport: '<Root>/Rr'
*/
if ((Fr > 0) && (Fl > 0) && (Rl > 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Fl;
if (tmp > 65535U) {
tmp = 65535U;
}
tmp += Rl;
if (tmp > 65535U) {
tmp = 65535U;
}
tmp += Rr;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
4.0);
} else if ((Fr == 0) && (Fl > 0) && (Rl > 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Fl + Rl;
if (tmp > 65535U) {
tmp = 65535U;
}
tmp += Fl;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
3.0);
} else if ((Fr > 0) && (Fl == 0) && (Rl > 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Rl;
if (tmp > 65535U) {
tmp = 65535U;
}
tmp += Rr;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
3.0);
} else if ((Fr > 0) && (Fl > 0) && (Rl == 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Fl;
if (tmp > 65535U) {
tmp = 65535U;
}
tmp += Rr;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
3.0);
} else if ((Fr > 0) && (Fl > 0) && (Rl > 0) && (Rr == 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Fl;
if (tmp > 65535U) {
tmp = 65535U;
}
tmp += Rl;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
3.0);
} else if ((Fr > 0) && (Fl > 0) && (Rl == 0) && (Rr == 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Fl;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
2.0);
} else if ((Fr == 0) && (Fl == 0) && (Rl > 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Rl + Rr;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
2.0);
} else if ((Fr == 0) && (Fl > 0) && (Rl == 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Fl + Rr;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
2.0);
} else if ((Fr == 0) && (Fl > 0) && (Rl > 0) && (Rr == 0)) {
uint32_T tmp;
tmp = (uint32_T)Fl + Rl;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
2.0);
} else if ((Fr > 0) && (Fl == 0) && (Rl == 0) && (Rr > 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Rr;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
2.0);
} else if ((Fr > 0) && (Fl == 0) && (Rl > 0) && (Rr == 0)) {
uint32_T tmp;
tmp = (uint32_T)Fr + Rl;
if (tmp > 65535U) {
tmp = 65535U;
}
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = (uint16_T)rt_roundd_snf((real_T)tmp /
2.0);
} else {
/* Outport: '<Root>/Vehicle_Speed' */
vehicle_speed_mode_02_Y.Vehicle_Speed = 0U;
}
/* End of Chart: '<S1>/VehicleSpeed_Mode' */
}
/* Model initialize function */
void vehicle_speed_mode_02_initialize(void)
{
/* (no initialization code required) */
}
/* Model terminate function */
void vehicle_speed_mode_02_terminate(void)
{
/* (no terminate code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/
.h Code :
/*
* Event Support License -- for demonstration use and event support. Not
* for government, research, commercial, or other organizational use.
*
* File: vehicle_speed_mode_02.h
*
* Code generated for Simulink model 'vehicle_speed_mode_02'.
*
* Model version : 1.14
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
* C/C++ source code generated on : Wed Feb 8 23:26:35 2023
*
* Target selection: ert.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#ifndef RTW_HEADER_vehicle_speed_mode_02_h_
#define RTW_HEADER_vehicle_speed_mode_02_h_
#ifndef vehicle_speed_mode_02_COMMON_INCLUDES_
#define vehicle_speed_mode_02_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif /* vehicle_speed_mode_02_COMMON_INCLUDES_ */
#include "vehicle_speed_mode_02_types.h"
/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
#define rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
#endif
#ifndef rtmSetErrorStatus
#define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
#endif
/* External outputs (root outports fed by signals with default storage) */
typedef struct {
uint16_T Vehicle_Speed; /* '<Root>/Vehicle_Speed' */
} ExtY_vehicle_speed_mode_02_T;
/* Real-time Model Data Structure */
struct tag_RTM_vehicle_speed_mode_02_T {
const char_T * volatile errorStatus;
};
/* External outputs (root outports fed by signals with default storage) */
extern ExtY_vehicle_speed_mode_02_T vehicle_speed_mode_02_Y;
/* Model entry point functions */
extern void vehicle_speed_mode_02_initialize(void);
extern void vehicle_speed_mode_02_step(void);
extern void vehicle_speed_mode_02_terminate(void);
/* Real-time Model object */
extern RT_MODEL_vehicle_speed_mode_0_T *const vehicle_speed_mode_02_M;
/*-
* The generated code includes comments that allow you to trace directly
* back to the appropriate location in the model. The basic format
* is <system>/block_name, where system is the system number (uniquely
* assigned by Simulink) and block_name is the name of the block.
*
* Use the MATLAB hilite_system command to trace the generated code back
* to the model. For example,
*
* hilite_system('<S3>') - opens system 3
* hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
*
* Here is the system hierarchy for this model
*
* '<Root>' : 'vehicle_speed_mode_02'
* '<S1>' : 'vehicle_speed_mode_02/VehicleSpeed_Mode'
* '<S2>' : 'vehicle_speed_mode_02/VehicleSpeed_Mode/VehicleSpeed_Mode'
*/
#endif /* RTW_HEADER_vehicle_speed_mode_02_h_ */
/*
* File trailer for generated code.
*
* [EOF]
*/
10) Polyspace Analysis Report/Output :
Procedure to Analysis the Polyspace Report
Bug Finder :
- Firstly Generated the .C code
- Initially, open the Polyspace in that new project click on start new project.
- The Project Properties dialogue box will open in that give the project name as we saved in the MATLAB,then select the location where it we need to save after that click Next or use the default location.
- Then ,it asks for the Projrct source,click on browserand select the folder where th .c file are generated then optionally we can add the include folder then clock on finish,the polyspace environment will open.
- In the configuraton settings option called Target & compiler select the source code language as c,change the target processor as X86_64.
- In the coding standards & code Metrics in that enable the check MISRA C:2004 also select the calculate the code metrics option
- After that go to bug finder analysis under that select the default one.
- Go to reporting enable the generate report option and ouput formet as PDF or any file we need
- Finally save the polyspace and run the Bug Finder.
Code Prover :
- Befour going to the Code Prover First setup the Configration setting.
- In Configuration go to the Code prover verification and under code prover verification option.
- Click on the Check Behavior and Enable the option (i,e Allow Negative Operand for left shifts).
- and also click on the Consider Non-Finite floats.
- Then After you go to the Precision
- In Precision Select the Precision level -2 and Verification Level is Software Safety Analysis Level-2.
then After Click on Save Botton the Configration setting will be save.
then After We Run the Code Prover. - And After Click on the Dashboard option and see the Results.
12) Test Manager Report-Baseline & Back to Back Testing :
Baseline Testing :
Run the model>> goto the Simulink Test >>Click on the Simulink Test Manager >> then Click on New >> Test File>> Create Test Name.

Click on the Simulink Test Manager.

Click on the New

after that Click on the Requirement and Link the Requirement

then after Click one the System Under Testing

Click on the Inputs


After that Click on the Baseline Criteria


Click on the Coverage Setting and Enable the Coverage

then Save And Run it.
Results :

Baseline Criteria Results :

Baseline Generated Report :




Back To Back Testing :
Going to Model and run the model with Error >> Click on the App>> then Click on the Simulink Test>> Simulink Test Manager >> Click on New >> After that Click on the >> Test For Model Component.





Generated MIL and SIL Model :


Click on the Requirement >> Add Requirement

Click on the System Under Test

Click on the Coverage Setting and Enable the Coverage

Then Save and Run it.
Results :

Equivalence Criteria Results :
Iteration: 1

Iteration : 2

Back to Back Testing Report :




All Results and Files Are attached in below.