Project 1- Traffic Jam Assistant Feature
First Create SLDD:-

Then Create Requirement1:-

Then create Requirement2:-

Model Generated as per requirements:-

Requirement Tagging:-


Parameter Configuration:-


MABB Check:-

Code Generation:-

Generated Code:-
/*
* Event Support License -- for demonstration use and event support. Not
* for government, research, commercial, or other organizational use.
*
* File: Traffic_Jam_Assistant_Feature0.c
*
* Code generated for Simulink model 'Traffic_Jam_Assistant_Feature0'.
*
* Model version : 1.16
* Simulink Coder version : 9.9 (R2023a) 19-Nov-2022
* C/C++ source code generated on : Thu Jul 20 20:13:46 2023
*
* Target selection: ert.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#include "Traffic_Jam_Assistant_Feature0.h"
#include "rtwtypes.h"
/* External inputs (root inport signals with default storage) */
ExtU_Traffic_Jam_Assistant_Fe_T Traffic_Jam_Assistant_Feature_U;
/* External outputs (root outports fed by signals with default storage) */
ExtY_Traffic_Jam_Assistant_Fe_T Traffic_Jam_Assistant_Feature_Y;
/* Real-time model */
static RT_MODEL_Traffic_Jam_Assistan_T Traffic_Jam_Assistant_Featur_M_;
RT_MODEL_Traffic_Jam_Assistan_T *const Traffic_Jam_Assistant_Featur_M =
&Traffic_Jam_Assistant_Featur_M_;
/* Model step function */
void Traffic_Jam_Assistant_Feature0_step(void)
{
uint8_T tmp;
/* Switch: '/Switch' incorporates:
* Inport: '/Input_Switch'
* Logic: '/AND'
* Logic: '/NOT'
*/
if ((!Traffic_Jam_Assistant_Feature_U.Input_Switch) &&
Traffic_Jam_Assistant_Fe_ConstB.RelationalOperator) {
/* Saturate: '/Saturation' incorporates:
* Inport: '/Enable_Display'
*/
if (Traffic_Jam_Assistant_Feature_U.Enable_Display <= 7) {
tmp = Traffic_Jam_Assistant_Feature_U.Enable_Display;
} else {
tmp = 7U;
}
/* MultiPortSwitch: '/Multiport ' incorporates:
* Saturate: '/Saturation'
*/
switch (tmp) {
case 0:
/* Outport: '/Output_Display' incorporates:
* Constant: '/ON_MODE'
*/
Traffic_Jam_Assistant_Feature_Y.Output_Display = 1U;
break;
case 1:
/* Outport: '/Output_Display' incorporates:
* Constant: '/ON_MODE'
*/
Traffic_Jam_Assistant_Feature_Y.Output_Display = 1U;
break;
case 2:
/* Outport: '/Output_Display' incorporates:
* Constant: '/OFF_MODE'
*/
Traffic_Jam_Assistant_Feature_Y.Output_Display = 2U;
break;
case 3:
/* Outport: '/Output_Display' incorporates:
* Constant: '/OFF_MODE'
*/
Traffic_Jam_Assistant_Feature_Y.Output_Display = 2U;
break;
default:
/* Outport: '/Output_Display' incorporates:
* Constant: '/STANDBY_MODE'
*/
Traffic_Jam_Assistant_Feature_Y.Output_Display = 3U;
break;
}
/* End of MultiPortSwitch: '/Multiport ' */
} else {
/* Outport: '/Output_Display' incorporates:
* Constant: '/NO_DISPLAY'
*/
Traffic_Jam_Assistant_Feature_Y.Output_Display = 0U;
}
/* End of Switch: '/Switch' */
}
/* Model initialize function */
void Traffic_Jam_Assistant_Feature0_initialize(void)
{
/* (no initialization code required) */
}
/* Model terminate function */
void Traffic_Jam_Assistant_Feature0_terminate(void)
{
/* (no terminate code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/