Project 1 - Wiper control system and Vehicle speed calculation for ABS using Wheel Speed sensor
Note: all the required Test reports have been uploaded to Google Drive and Link is provided below
Link: https://drive.google.com/drive/folders/162pfhcFlubdRP1KS6qHrIPq9jSdMm2WO?usp=sharing
Q1: V&V Workflow for Wiper Control System
Aim:
The aim of the Verification and Validation (V&V) workflow for the Wiper Control System was to thoroughly validate and verify the Simulink model, ensuring its correctness, compliance with requirements, and reliability under various rain density scenarios.
Theory:
Verification:
The process of evaluating a system or component during or at the end of the development process to determine whether it satisfies the specified requirements.
Validation:
The process of evaluating a system or component during or at the end of the development process to determine its effectiveness and suitability.
Explanation:
<!-- [if !supportLists]-->1. <!--[endif]-->Simulink Model Development:

The Simulink model was developed based on the provided requirements for the Wiper Control System.
The model includes components for rain density input, wiper speed control, and output signal generation.

State Flow:
Verification and Validation Steps:
<!-- [if !supportLists]-->2. <!--[endif]-->SLDD (Simulink Design Description) File:

The SLDD file provides a comprehensive description of the Simulink model, detailing its architecture, components, and functionality.
<!-- [if !supportLists]-->3. <!--[endif]-->Requirement Tagging Report:
Each component of the model was tagged with relevant requirements to ensure traceability and verification against specified criteria.
<!-- [if !supportLists]-->4. <!--[endif]-->Fixed-Point Tool Application:

The Fixed-Point Tool was applied to ensure that numerical representations in the model adhere to fixed-point data types, optimizing precision and performance.
<!-- [if !supportLists]-->5. <!--[endif]-->Model Advisor - JMAAB Compliance Report:
The Model Advisor was used to assess compliance with the Joint Industry Council (JMAAB) standards, ensuring best practices in model development.
<!-- [if !supportLists]-->6. <!--[endif]-->SLDV (Simulink Design Verifier) Design Error Detection Report:

SLDV was applied to detect potential design errors in the model, ensuring that it meets the specified requirements.
<!-- [if !supportLists]-->7. <!--[endif]-->Functional Test Case, MIL, SIL Harness, and Coverage Reports:
MIL Harness model:

MIL Harness model Result:

SIL Harness model:

SIL Harness model Result:

Functional test cases were developed, and Model-in-the-Loop (MIL) and Software-in-the-Loop (SIL) harness models were created to perform testing. Coverage reports ensured that the model was thoroughly exercised.
<!-- [if !supportLists]-->8. <!--[endif]--> SLDV Test Generation Report:

SLDV was utilized to automatically generate additional test cases, expanding the test coverage and enhancing the reliability of the model.
<!-- [if !supportLists]-->9. <!--[endif]-->Auto-Code Generation and Code Analysis Reports:

The Simulink model was translated into C and H codes using auto-code generation. Code analysis tools, such as Polyspace, were applied to identify potential bugs and ensure code reliability.
<!-- [if !supportLists]-->10. <!--[endif]-->Poly space analysis report/outputs
Polyspace Bug Finder Report:
As we do not have the Polyspace licence, only the process for generating reports using Polyspace Bug Finder and Polyspace Code Prover is outlined below:
<!-- [if !supportLists]-->1. <!--[endif]-->Open MATLAB and navigate to the directory containing the code.
<!-- [if !supportLists]-->2. <!--[endif]-->Access the Polyspace Bug Finder interface by entering "polyspace" in the MATLAB command window.
<!-- [if !supportLists]-->3. <!--[endif]-->Create a new project and assign it a name.
<!-- [if !supportLists]-->4. <!--[endif]-->Choose "MATLAB" as the programming language.
<!-- [if !supportLists]-->5. <!--[endif]-->In "Project Settings," specify the files for analysis and additional options.
<!-- [if !supportLists]-->6. <!--[endif]-->Initiate the analysis by clicking "Run Analysis."
<!-- [if !supportLists]-->7. <!--[endif]-->Once complete, Polyspace Bug Finder generates a report listing potential bugs.
<!-- [if !supportLists]-->8. <!--[endif]-->View the report by selecting "View Report" in the Polyspace Bug Finder interface.
<!-- [if !supportLists]-->9. <!--[endif]-->The report displays potential bugs with detailed information and recommendations.
<!-- [if !supportLists]-->10. <!--[endif]-->Export the report in PDF, HTML, or XML formats by selecting "Export Report."
<!-- [if !supportLists]-->11. <!--[endif]-->Review and address identified bugs to enhance code quality and reliability.
Polyspace Code Prover Output:
<!-- [if !supportLists]-->1. <!--[endif]-->Open MATLAB and navigate to the code directory.
<!-- [if !supportLists]-->2. <!--[endif]-->Access the Polyspace Code Prover interface by typing "psrun" in the MATLAB command window.
<!-- [if !supportLists]-->3. <!--[endif]-->Create a new project and assign it a name.
<!-- [if !supportLists]-->4. <!--[endif]-->Choose "MATLAB" as the programming language.
<!-- [if !supportLists]-->5. <!--[endif]-->In "Project Settings," select files for analysis and specify additional options.
<!-- [if !supportLists]-->6. <!--[endif]-->Start the analysis by clicking "Run Analysis."
<!-- [if !supportLists]-->7. <!--[endif]-->After completion, Polyspace Code Prover generates output indicating the presence or absence of run-time errors.
<!-- [if !supportLists]-->8. <!--[endif]-->View the output by selecting "View Results" in the Polyspace Code Prover interface.
<!-- [if !supportLists]-->9. <!--[endif]-->The output indicates if the code is free of run-time errors or identifies detected errors.
<!-- [if !supportLists]-->10. <!--[endif]-->Save the output in PDF, HTML, or XML formats by selecting "Export Results."
<!-- [if !supportLists]-->11. <!--[endif]-->Review and address any errors flagged by Polyspace Code Prover for code correctness and reliability.
Following these steps allows for the utilization of Polyspace Bug Finder and Polyspace Code Prover to enhance the quality and reliability of MATLAB code.
<!-- [if !supportLists]-->11. <!--[endif]-->Test Manager Reports – Baseline & Back-to-Back Testing:
Baseline and back-to-back testing were performed using Simulink Test Manager. Test Manager recorded the results of test cases, ensuring that the model behaved as expected before and after modifications.
Baseline Testing Report:

The Baseline Testing Report details the results of running a suite of test cases on the initial version of the Simulink model. This report serves as a reference for future comparisons.
Back-to-Back Testing Report:

The Back-to-Back Testing Report compares the results of the test cases between the initial version (baseline) and the modified version of the Simulink model. This report highlights any differences or unexpected behavior introduced by the modifications.

Result:
The verification and validation processes confirmed the correctness, reliability, and compliance of the Wiper Control System Simulink model with specified requirements.
Conclusion:
The V&V workflow ensured that the Simulink model meets the required standards, adheres to best practices, and behaves predictably under various rain density scenarios. The model is considered validated and ready for deployment in real-world applications.
Key Learnings
Traceability: Requirement tagging and traceability are essential for ensuring that each component of the model aligns with specified requirements.
Comprehensive Testing: The combination of baseline testing, back-to-back testing, and automated test generation provides thorough coverage, identifying potential issues and ensuring robustness.
Code Analysis: Applying tools such as Polyspace for code analysis helps identify potential bugs and enhances the overall reliability of the generated code.
Note: all the required Test reports have been uploaded to Google Drive and Link is provided below
Link: https://drive.google.com/drive/folders/162pfhcFlubdRP1KS6qHrIPq9jSdMm2WO?usp=sharing
Q2: V&V Workflow for Vehicle Speed Calculation for ABS
Aim:
The aim of the Verification and Validation (V&V) workflow for Vehicle Speed Calculation for ABS was to thoroughly validate and verify the Simulink model, ensuring its correctness, compliance with requirements, and reliability in various wheel speed sensor scenarios.
Theory:
Verification: The process of evaluating a system or component during or at the end of the development process to determine whether it satisfies the specified requirements.
Validation: The process of evaluating a system or component during or at the end of the development process to determine its effectiveness and suitability.
Explanation
<!-- [if !supportLists]-->1. <!--[endif]-->Simulink Model Development:

The Simulink model was developed based on the provided requirements for Vehicle Speed Calculation for ABS.
The model includes components for wheel speed sensor inputs, different modes, and vehicle speed calculations based on sensor availability.
Verification and Validation Steps:
<!-- [if !supportLists]-->2. <!--[endif]-->SLDD (Simulink Design Description) File:

The SLDD file provides a comprehensive description of the Simulink model, detailing its architecture, components, and functionality.
<!-- [if !supportLists]-->3. <!--[endif]-->Requirement Tagging Report:
Each component of the model was tagged with relevant requirements to ensure traceability and verification against specified criteria.
<!-- [if !supportLists]-->4. <!--[endif]-->Fixed-Point Tool Application:

The Fixed-Point Tool was applied to ensure that numerical representations in the model adhere to fixed-point data types, optimizing precision and performance.
<!-- [if !supportLists]-->5. <!--[endif]-->Model Advisor - JMAAB Compliance Report:

The Model Advisor was used to assess compliance with the Joint Industry Council (JMAAB) standards, ensuring best practices in model development.
<!-- [if !supportLists]-->6. <!--[endif]-->SLDV (Simulink Design Verifier) Design Error Detection Report:

SLDV was applied to detect potential design errors in the model, ensuring that it meets the specified requirements.
<!-- [if !supportLists]-->7. <!--[endif]-->Functional Test Case, MIL, SIL Harness, and Coverage Reports:
MIL Harness Model:

Functional test cases were developed, and Model-in-the-Loop (MIL) and Software-in-the-Loop (SIL) harness models were created to perform testing. Coverage reports ensured that the model was thoroughly exercised.
MIL Harness Model Result:

SIL Harness Model:

SIL Harness Model Result:

<!-- [if !supportLists]-->8. <!--[endif]-->SLDV Test Generation Report:

SLDV was utilized to automatically generate additional test cases, expanding the test coverage and enhancing the reliability of the model.
<!-- [if !supportLists]-->9. <!--[endif]-->Auto-Code Generation and Code Analysis Reports:

The Simulink model was translated into C and H codes using auto-code generation. Code analysis tools, such as Polyspace, were applied to identify potential bugs and ensure code reliability.
<!-- [if !supportLists]-->10. <!--[endif]-->Poly space analysis report/outputs
Polyspace Bug Finder Report:
As we do not have the Polyspace licence, only the process for generating reports using Polyspace Bug Finder and Polyspace Code Prover is outlined below:
<!-- [if !supportLists]-->1. <!--[endif]-->Open MATLAB and navigate to the directory containing the code.
<!-- [if !supportLists]-->2. <!--[endif]-->Access the Polyspace Bug Finder interface by entering "polyspace" in the MATLAB command window.
<!-- [if !supportLists]-->3. <!--[endif]-->Create a new project and assign it a name.
<!-- [if !supportLists]-->4. <!--[endif]-->Choose "MATLAB" as the programming language.
<!-- [if !supportLists]-->5. <!--[endif]-->In "Project Settings," specify the files for analysis and additional options.
<!-- [if !supportLists]-->6. <!--[endif]-->Initiate the analysis by clicking "Run Analysis."
<!-- [if !supportLists]-->7. <!--[endif]-->Once complete, Polyspace Bug Finder generates a report listing potential bugs.
<!-- [if !supportLists]-->8. <!--[endif]-->View the report by selecting "View Report" in the Polyspace Bug Finder interface.
<!-- [if !supportLists]-->9. <!--[endif]-->The report displays potential bugs with detailed information and recommendations.
<!-- [if !supportLists]-->10. <!--[endif]-->Export the report in PDF, HTML, or XML formats by selecting "Export Report."
<!-- [if !supportLists]-->11. <!--[endif]-->Review and address identified bugs to enhance code quality and reliability.
Polyspace Code Prover Output:
<!-- [if !supportLists]-->1. <!--[endif]-->Open MATLAB and navigate to the code directory.
<!-- [if !supportLists]-->2. <!--[endif]-->Access the Polyspace Code Prover interface by typing "psrun" in the MATLAB command window.
<!-- [if !supportLists]-->3. <!--[endif]-->Create a new project and assign it a name.
<!-- [if !supportLists]-->4. <!--[endif]-->Choose "MATLAB" as the programming language.
<!-- [if !supportLists]-->5. <!--[endif]-->In "Project Settings," select files for analysis and specify additional options.
<!-- [if !supportLists]-->6. <!--[endif]-->Start the analysis by clicking "Run Analysis."
<!-- [if !supportLists]-->7. <!--[endif]-->After completion, Polyspace Code Prover generates output indicating the presence or absence of run-time errors.
<!-- [if !supportLists]-->8. <!--[endif]-->View the output by selecting "View Results" in the Polyspace Code Prover interface.
<!-- [if !supportLists]-->9. <!--[endif]-->The output indicates if the code is free of run-time errors or identifies detected errors.
<!-- [if !supportLists]-->10. <!--[endif]-->Save the output in PDF, HTML, or XML formats by selecting "Export Results."
<!-- [if !supportLists]-->11. <!--[endif]-->Review and address any errors flagged by Polyspace Code Prover for code correctness and reliability.
Following these steps allows for the utilization of Polyspace Bug Finder and Polyspace Code Prover to enhance the quality and reliability of MATLAB code.
<!-- [if !supportLists]-->11. <!--[endif]-->Test Manager Reports – Baseline & Back-to-Back Testing:
Baseline and back-to-back testing were performed using Simulink Test Manager. Test Manager recorded the results of test cases, ensuring that the model behaved as expected before and after modifications.
Baseline Testing Report:

The Baseline Testing Report details the results of running a suite of test cases on the initial version of the Simulink model. This report serves as a reference for future comparisons.
Back-to-Back Testing Report:

The Back-to-Back Testing Report compares the results of the test cases between the initial version (baseline) and the modified version of the Simulink model. This report highlights any differences or unexpected behavior introduced by the modifications.
Result:
The verification and validation processes confirmed the correctness, reliability, and compliance of the Vehicle Speed Calculation for the ABS Simulink model with specified requirements.
Conclusion:
The V&V workflow ensured that the Simulink model meets the required standards, adheres to best practices, and behaves predictably under various wheel speed sensor scenarios. The model is considered validated and ready for deployment in real-world applications.
Key Learnings
Traceability: Requirement tagging and traceability are essential for ensuring that each component of the model aligns with specified requirements.
Comprehensive Testing: The combination of baseline testing, back-to-back testing, and automated test generation provides thorough coverage, identifying potential issues and ensuring robustness.
Code Analysis: Applying tools such as Polyspace for code analysis helps identify potential bugs and enhances the overall reliability of the generated code.
Note: all the required Test reports have been uploaded to Google Drive and Link is provided below
Link: https://drive.google.com/drive/folders/162pfhcFlubdRP1KS6qHrIPq9jSdMm2WO?usp=sharing