Top Banner
EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) Our online Tutors are available 24*7 to provide Help with Embedded System Project using Matlab Homework/Assignment or a long term Graduate/Undergraduate Help with Embedded System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure to provide high quality help with Embedded System Project using Matlab Homework Help. Upload your Embedded System Project using Matlab Assignment at ‘Submit Your Assignment’ button or email it to . You can use our ‘Live Chat’ option to schedule an Online Tutoring session with our Embedded System Project using Matlab Tutors. Mask_Shut_off(varargin) function varargout = Mask_Shut_off(varargin) mOutputArgs = {}; % Variable for storing output when GUI returns set_param(char(varargin), 'T','off'); % Declare and create all the UI objects in this GUI here so that they can % be used in any functions hMainFigure = figure(... % the main GUI figure 'MenuBar','none', ... 'Toolbar','none', ... 'HandleVisibility','callback', ... 'Name', mfilename, ... 'NumberTitle','off', ... 'Position',[380,350,250,180],... 'Color', get(0, 'defaultuicontrolbackgroundcolor')); %'Position',[0.1 0.70 0.2 0.05],... %'Position',[0.3 0.80 0.4 0.15],... text = uicontrol(hMainFigure,'Style','text',... 'Parent', hMainFigure, ... 'String','Warning: The mask will be shut off due to the deactivation.',... 'Position',[60 100 160 40]); hTransform2Button = uicontrol(... % button for updating selected plot 'Parent', hMainFigure, ... 'Units','normalized',... 'HandleVisibility','callback', ... 'String','Shut Off',... 'Callback', @hTransform2ButtonCallback); hTransform1Button = uicontrol(... % button for updating selected plot 'Parent', hMainFigure, ... [email protected]
26

EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

Jun 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT)

Our online Tutors are available 24*7 to provide Help with Embedded System Project using

Matlab Homework/Assignment or a long term Graduate/Undergraduate Help with Embedded

System Project using Matlab. Our Tutors being experienced and proficient in Embedded

System Project using Matlab ensure to provide high quality help with Embedded System

Project using Matlab Homework Help. Upload your Embedded System Project using Matlab

Assignment at ‘Submit Your Assignment’ button or email it

to . You can use our ‘Live Chat’ option to schedule

an Online Tutoring session with our Embedded System Project using Matlab Tutors.

Mask_Shut_off(varargin) function varargout = Mask_Shut_off(varargin) mOutputArgs = {}; % Variable for storing output when GUI returns set_param(char(varargin), 'T','off'); % Declare and create all the UI objects in this GUI here so that they can % be used in any functions hMainFigure = figure(... % the main GUI figure 'MenuBar','none', ... 'Toolbar','none', ... 'HandleVisibility','callback', ... 'Name', mfilename, ... 'NumberTitle','off', ... 'Position',[380,350,250,180],... 'Color', get(0, 'defaultuicontrolbackgroundcolor')); %'Position',[0.1 0.70 0.2 0.05],... %'Position',[0.3 0.80 0.4 0.15],... text = uicontrol(hMainFigure,'Style','text',... 'Parent', hMainFigure, ... 'String','Warning: The mask will be shut off due to the deactivation.',... 'Position',[60 100 160 40]); hTransform2Button = uicontrol(... % button for updating selected plot 'Parent', hMainFigure, ... 'Units','normalized',... 'HandleVisibility','callback', ... 'String','Shut Off',... 'Callback', @hTransform2ButtonCallback); hTransform1Button = uicontrol(... % button for updating selected plot 'Parent', hMainFigure, ...

[email protected]

Page 2: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

'Units','normalized',... 'HandleVisibility','callback', ... 'String','Cancel',... 'Callback', @hTransform1ButtonCallback); align([hTransform1Button hTransform2Button],'Fixed',70,'Bottom'); mOutputArgs{1} = hMainFigure; if nargout>0 [varargout{1:nargout}] = mOutputArgs{:}; end function hTransform2ButtonCallback(hObject, eventdata) % This function implements only Transformation Step Nuo. 2 on the UNIT % Level, which is: Test Structure Retrieval for UNIT Subsystem Level % p = strcmp(varargin, 'SUT_PI_TC/<Test data generator>') set_param(char(varargin), 'Mask','Off'); delete(hMainFigure); end function hTransform1ButtonCallback(hObject, eventdata) % This function implements only Transformation Step Nuo. 2 on the UNIT % Level, which is: Test Structure Retrieval for UNIT Subsystem Level delete(hMainFigure); end end ReqName_callback(block) function [] = ReqName_callback(block) % Callback processing function for mask parameter % - number of Preconditions used in the Requirment Name Set set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of Reqs OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Precondition name>')); % Add or remove model items for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % Remove lines set_param([block '/switch <signal1>'], 'Inputs', num2str(No+1)); PreLines = get_param([block '/<Precondition name>' num2str(i)],'LineHandles');

Page 3: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

delete_line(PreLines.Inport(1)); delete_line(PreLines.Outport(2)); % Remove blocks delete_block([block '/<Precondition name>' num2str(i)]); elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks add_block('MIL_Test/Test Data/Test Data Architecture/<Test data generator>/<Requirement name>/<Precondition name>',[block '/<Precondition name>' num2str(i)]); set_param([block '/<Precondition name>' num2str(i)], 'LinkStatus', 'none'); if i == 2 pos = get_param([block '/<Precondition name>'], 'Position'); else pos = get_param([block '/<Precondition name>' num2str(i-1)], 'Position'); end pos1 = pos(1); pos3 = pos(3); pos2 = pos(2)+100; pos4 = pos(4)+100; set_param([block '/<Precondition name>' num2str(i)], 'Position', [pos1 pos2 pos3 pos4]); set_param([block '/switch <signal1>'], 'Inputs', num2str(i+1)); % Add lines add_line(block,['Out Bus/1'],['<Precondition name>' num2str(i) '/1'],'autorouting','on'); add_line(block,['<Precondition name>' num2str(i) '/2'],['switch <signal1>/' num2str(i+2)],'autorouting','on'); end end if No == 1 InPos = get_param([block '/<Precondition name>'], 'Position'); else InPos = get_param([block '/<Precondition name>' num2str(No)], 'Position'); end InP1 = InPos(1)+130; InP3 = InPos(3)+120; InP2 = InPos(2)+80; InP4 = InPos(4)+70; set_param([block '/Initialisation & Stabilisation'], 'Position',[InP1 InP2 InP3 InP4]); parentOfReq = get_param(block, 'Parent'); system_name1(parentOfReq); ReqName_callback(block) function [] = ReqName_callback(block)

Page 4: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

% Callback processing function for mask parameter % - number of VF-s used in the Validation Functions Set set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of Reqs OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Preconditions name>')); SysN = get_param(block, 'parent'); ReqN = get_param(block, 'Name'); ReqN_V = ReqN(end:-1:1); Nr = ReqN_V(1); if Nr == '>' Nr = 1; end SigFrBS = get_param([SysN '/Bus Selector'], 'OutputSignals'); OldNo_Sig = length(findstr(SigFrBS, ','))+1; SigFrBS_l = get_param([SysN '/Bus Selector'], 'LineHandles'); % 0 is not allowed as VF-s SSm doesn't make sense in that case % Add or remove model items if OldNo > No % Remove % Redraw all the lines and Reset the in-out ports of all related block % Remove all the lines from Bus Selector for i = 1:OldNo_Sig delete_line(SigFrBS_l.Outport(i)); end % Reset the inports of Bus Creator4 set_param([SysN '/Bus Creator4'], 'Inputs', num2str(OldNo_Sig-(OldNo-No))); end for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % Remove lines set_param([block '/Bus Creator'], 'Inputs', num2str(No)); PreLines = get_param([block '/<Preconditions name>' num2str(i)],'LineHandles'); AssLines = get_param([block '/<Assertions name>' num2str(i)],'LineHandles'); delete_line(PreLines.Inport(1)); delete_line(PreLines.Outport(1)); delete_line(AssLines.Inport(2)); delete_line(AssLines.Outport(1)); % Remove blocks delete_block([block '/<Preconditions name>' num2str(i)]);

Page 5: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

delete_block([block '/<Assertions name>' num2str(i)]); %================================================================== %================================================================== % Delete Signals between Bus Selector and Arbitration % Delete Signals in Arbitration No_In = length(find_system([SysN '/Arbitration'], 'regexp', 'on','LookUnderMasks','all','Name','In')); delete_line([SysN '/Arbitration'],['In' num2str(No_In) '/' num2str(1)],['Collect Verdicts/' num2str(No_In)]); delete_line([SysN '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No_In+1)]); % Delete Signals from Bus Selector SigFrBS_n = get_param([SysN '/Bus Selector'], 'OutputSignals'); p = strcat(',','signal',Nr,'.signal',num2str(i),'.signal1'); SigFrBS_n = strrep(SigFrBS_n,p,''); set_param([SysN '/Bus Selector'], 'OutputSignals',SigFrBS_n); % Delete Inports of Arbitration and Collection Verdicts delete_block([SysN '/Arbitration/In' num2str(No_In)]); set_param([SysN '/Arbitration/Collect Verdicts'], 'Inputs', num2str(No_In)); add_line([SysN '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No_In)],'autorouting','on'); %================================================================== %================================================================== elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks add_block('MIL_Test/Validation Function/Test Evaluation Architecture/<system name>/<Requirement name>/<Preconditions name>',[block '/<Preconditions name>' num2str(i)]); add_block('MIL_Test/Validation Function/Test Evaluation Architecture/<system name>/<Requirement name>/<Assertions name>',[block '/<Assertions name>' num2str(i)]); set_param([block '/<Preconditions name>' num2str(i)], 'LinkStatus', 'none'); set_param([block '/<Assertions name>' num2str(i)], 'LinkStatus', 'none'); pos2 = (((i-1)*120)+24); pos4 = (((i-1)*120)+66); set_param([block '/<Preconditions name>' num2str(i)], 'Position', [165 pos2 265 pos4]); posi2 = (((i-1)*120)+94); posi4 = (((i-1)*120)+136); set_param([block '/<Assertions name>' num2str(i)], 'Position', [315 posi2 450 posi4]); set_param([block '/Bus Creator'], 'Inputs', num2str(i)); % Add lines add_line(block,['<Preconditions name>' num2str(i) '/1'],['<Assertions name>' num2str(i)

Page 6: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

'/1'],'autorouting','on'); add_line(block,['InOut Bus/1'],['<Assertions name>' num2str(i) '/2'],'autorouting','on'); add_line(block,['InOut Bus/1'],['<Preconditions name>' num2str(i) '/1'],'autorouting','on'); add_line(block,['<Assertions name>' num2str(i) '/1'],['Bus Creator/' num2str(i)],'autorouting','on'); % ================================================================= % ================================================================= % Add Signals between Bus Selector and Arbitration % Nr = str2num(ReqN_V(1)); % Add Outports of Bus Selector % Here OutSignal of Bus Seletor, the Outports quere depends on the click % quere Signal1 = get_param([SysN '/Bus Selector'], 'OutputSignals'); SignalP = strcat(Signal1,',','signal',Nr,'.signal',num2str(i),'.signal1'); set_param([SysN '/Bus Selector'], 'OutputSignals',SignalP); % Add Inports of Bus Creator4 In_nr = get_param([SysN '/Bus Creator4'], 'Inputs'); In_nr = str2num(In_nr)+1; set_param([SysN '/Bus Creator4'], 'Inputs', num2str(In_nr)); % Add Input to Arbitration, also needs signals in the Arbitration % added at the same time No_In = length(find_system([SysN '/Arbitration'], 'regexp', 'on','LookUnderMasks','all','Name','In')); add_block('Simulink/Ports & Subsystems/In1',[SysN '/Arbitration/In' num2str(No_In+1)]); posi = get_param([SysN '/Arbitration/In' num2str(No_In)], 'Position'); pos1 = posi(1); pos3 = posi(3); pos2 = posi(2)+40; pos4 = posi(4)+40; set_param([SysN '/Arbitration/In' num2str(No_In+1)], 'Position',[pos1 pos2 pos3 pos4]); % fix position of Memory fix_pos([SysN '/Arbitration/Collect Verdicts'],[SysN '/Arbitration/Memory'],0,10); % Set Inputports of 'Collect Verdicts' set_param([SysN '/Arbitration/Collect Verdicts'], 'Inputs', num2str(No_In+2)); % Put the Memory Outsignal always in the last Inport of Collect % Verdicts delete_line([SysN '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No_In+1)]); add_line([SysN '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No_In+2)],'autorouting','on');

Page 7: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

% Add line from 'in' to 'Collect Verdicts', which happens in the % undersystem Arbitration add_line([SysN '/Arbitration'],['In' num2str(No_In+1) '/' num2str(1)],['Collect Verdicts/' num2str(No_In+1)],'autorouting','on'); % Add Line from Bus Selector to Arbitration add_line(SysN,['Bus Selector/' num2str(No_In+1)],['Arbitration/' num2str(No_In+1)],'autorouting','on'); % Add lines between Bus Selector and Bus Creator4 add_line(SysN,['Bus Selector/' num2str(No_In+1)],['Bus Creator4/' num2str(No_In+1)],'autorouting','on'); % ================================================================= % ================================================================= end end % Remove Outport of Bus Selector & Input of Bus Creator4 if OldNo > No % Remove % Redraw all the lines and Reset the in-out ports of all related block % Add Line from Bus Selector to Arbitration SigF_N = get_param([SysN '/Bus Selector'], 'OutputSignals'); N_SigF= length(findstr(SigF_N, ','))+1; for j = 1:N_SigF add_line(SysN,['Bus Selector/' num2str(j)],['Arbitration/' num2str(j)],'autorouting','on'); % Add lines between Bus Selector and Bus Creator4 add_line(SysN,['Bus Selector/' num2str(j)],['Bus Creator4/' num2str(j)],'autorouting','on'); end end system_name1(SysN); %---------------------------------------------------------------- % HELPER % parentOfReq = get_param(block, 'Parent'); % %in the parentOfReq find the block having name Bus Selector % BS = find_system(parentOfReq, 'SearchDepth', 1,'regexp', 'on','LookUnderMasks','all','BlockType','BusSelector'); % outSignals = get_param(BS, 'outputSignals'); % outSignalsOldNo = length(findstr(outSignals, ','))+1; % number of outSignals from Bus Selector currently present in the model % inpSignals = get_param(BS, 'InputSignals'); % lenInpS = length(inpSignals);

Page 8: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

% % for i =1:lenInpS % outSignalsNb(i) = length(BSInpSign{i,1}{1,2}); % end % outSignalsNo = sum(outSignalsNo); % New number of outsignals for Bus Selector Test_D_Gen(block) function [] = Test_D_Gen(block) % Callback processing function for mask parameter % - number of <Requirement name> used in the System set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of VF-s OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Requirement name>')); T1 = strcat(block, '/<Requirement name>/<Preconditions name>'); OldNoS = length(find_system(T1, 'regexp', 'on','LookUnderMasks','all','Name','Feature generation')); for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % Remove lines SigAtTLines = get_param([block '/<Requirement name>' num2str(i)],'LineHandles'); delete_line(SigAtTLines.Inport(1)); for j = 1:OldNoS delete_line(SigAtTLines.Outport(j)); end % Remove blocks for j = 1:OldNoS set_param([block '/switch <signal' num2str(j) '>'], 'Inputs', num2str(No)); end delete_block([block '/<Requirement name>' num2str(i)]); elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks if i == 2 add_block([block '/<Requirement name>'],[block '/<Requirement name>' num2str(i)]); else add_block([block '/<Requirement name>' num2str(i-1)],[block '/<Requirement name>' num2str(i)]); end

Page 9: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

set_param([block '/<Requirement name>' num2str(i)], 'LinkStatus', 'none'); if i == 2 pos = get_param([block '/<Requirement name>'], 'Position'); else pos = get_param([block '/<Requirement name>' num2str(i-1)], 'Position'); end pos1 = pos(1); pos3 = pos(3); pos2 = pos(2)+80; pos4 = pos(4)+80; set_param([block '/<Requirement name>' num2str(i)], 'Position',[pos1 pos2 pos3 pos4]); for k = 1:OldNoS set_param([block '/switch <signal' num2str(k) '>'], 'Inputs', num2str(i)); end % Add lines for m = 1:OldNoS add_line(block,['<Requirement name>' num2str(i) '/' num2str(m)],['switch <signal' num2str(m) '>/' num2str(i+1)],'autorouting','on'); end add_line(block,['Out Bus/1'],['<Requirement name>' num2str(i) '/1'],'autorouting','on'); end end Test_D_Gen_S(block,signal) function [] = Test_D_Gen_S(block,signal) % Callback processing function for mask parameter % - number of <Requirement name> used in the System set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); if signal < 0 No = str2double(get_param(block,'So')); % Get # of VF-s else No = signal; end T1 = strcat(block, '/<Requirement name>/<Preconditions name>'); T2 = strcat(block, '/<Requirement name>'); OldNo = length(find_system(T1, 'regexp', 'on','LookUnderMasks','all','Name','Feature generation')); OldNoReq = length(find_system(block, 'regexp',

Page 10: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

'on','LookUnderMasks','all','Name','<Requirement name>')); for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % delete lines % block SigAtTLines2 = get_param([block '/switch <signal' num2str(i) '>'],'LineHandles'); delete_line(SigAtTLines2.Outport(1)); for j = 1:(OldNoReq+1) delete_line(SigAtTLines2.Inport(j)); end delete_block([block '/<signal' num2str(i) '>']); delete_block([block '/switch <signal' num2str(i) '>']); %T2 for k = 1:OldNoReq if k == 1 T1 = strcat(block, '/<Requirement name>/<Preconditions name>'); T2 = strcat(block, '/<Requirement name>'); SigAtTLines1 = get_param([T2 '/switch <signal' num2str(i) '>'],'LineHandles'); delete_line(SigAtTLines1.Outport(1)); delete_line(SigAtTLines1.Inport(1)); delete_line(SigAtTLines1.Inport(2)); delete_line(SigAtTLines1.Inport(3)); % T1 SigAtTLines = get_param([T1 '/Feature generation' num2str(i)],'LineHandles'); %delete_line(SigAtTLines.Inport(1)); delete_line(SigAtTLines.Outport(1)); % delete block delete_block([T2 '/<signal' num2str(i) '>']); delete_block([T2 '/switch <signal' num2str(i) '>']); delete_block([T1 '/Feature generation' num2str(i)]); delete_block([T1 '/<signal' num2str(i) '>']); else T1 = strcat(block, '/<Requirement name>', num2str(k), '/<Preconditions name>'); T2 = strcat(block, '/<Requirement name>', num2str(k)); SigAtTLines1 = get_param([T2 '/switch <signal' num2str(i) '>'],'LineHandles'); delete_line(SigAtTLines1.Outport(1)); delete_line(SigAtTLines1.Inport(1)); delete_line(SigAtTLines1.Inport(2)); delete_line(SigAtTLines1.Inport(3)); % T1 SigAtTLines = get_param([T1 '/Feature generation' num2str(i)],'LineHandles'); %delete_line(SigAtTLines.Inport(1));

Page 11: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

delete_line(SigAtTLines.Outport(1)); % delete block delete_block([T2 '/<signal' num2str(i) '>']); delete_block([T2 '/switch <signal' num2str(i) '>']); delete_block([T1 '/Feature generation' num2str(i)]); delete_block([T1 '/<signal' num2str(i) '>']); end end elseif No > OldNo && i > OldNo && i <= No % Add % Block add_block('Simulink/Sinks/Out1',[block '/<signal' num2str(i) '>']); fix_pos([block '/<signal' num2str(i-1) '>'],[block '/<signal' num2str(i) '>'],0,145); add_block([block '/switch <signal1>'],[block '/switch <signal' num2str(i) '>']); fix_pos([block '/switch <signal' num2str(i-1) '>'],[block '/switch <signal' num2str(i) '>'],0,60); add_line(block,['switch <signal' num2str(i) '>' '/1'],['<signal' num2str(i) '>/' num2str(1)],'autorouting','on'); add_line(block,['Bus Selector/1'],['switch <signal' num2str(i) '>/' num2str(1)],'autorouting','on'); % Add blocks % <Test data generator>/<Requirement name>/<Preconditions name> for j = 1:OldNoReq if j == 1 T1 = strcat(block, '/<Requirement name>/<Preconditions name>'); T2 = strcat(block, '/<Requirement name>'); add_block('Simulink/Sinks/Out1',[block '/<Requirement name>/<Preconditions name>/<signal' num2str(i) '>']); fix_pos([block '/<Requirement name>/<Preconditions name>/<signal' num2str(i-1) '>'],[block '/<Requirement name>/<Preconditions name>/<signal' num2str(i) '>'],0,-70); add_block([block '/<Requirement name>/<Preconditions name>/Feature generation'],[block '/<Requirement name>/<Preconditions name>/Feature generation' num2str(i)]); fix_pos([block '/<Requirement name>/<Preconditions name>/Feature generation'],[block '/<Requirement name>/<Preconditions name>/Feature generation' num2str(i)],0,-i*50); add_line(T1,['Feature generation' num2str(i) '/1'],['<signal' num2str(i) '>/' num2str(1)],'autorouting','on'); % T2 add_block('Simulink/Sinks/Out1',[T2 '/<signal' num2str(i) '>']); fix_pos([T2 '/<signal' num2str(i-1) '>'],[T2 '/<signal' num2str(i) '>'],0,145); add_block([T2 '/switch <signal1>'],[T2 '/switch <signal' num2str(i) '>']); fix_pos([T2 '/switch <signal' num2str(i-1) '>'],[T2 '/switch <signal' num2str(i) '>'],0,60); add_line(T2,['switch <signal' num2str(i) '>' '/1'],['<signal' num2str(i) '>/'

Page 12: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

num2str(1)],'autorouting','on'); add_line(T2,['Sequencing of test data in time due to Preconditions/1'],['switch <signal' num2str(i) '>/' num2str(1)],'autorouting','on'); add_line(T2,['Initialisation & Stabilisation/1'],['switch <signal' num2str(i) '>/' num2str(3)],'autorouting','on'); add_line(T2,['<Preconditions name>/' num2str(i+1)],['switch <signal' num2str(i) '>/' num2str(2)],'autorouting','on'); % Block add_line(block,['<Requirement name>/' num2str(i)],['switch <signal' num2str(i) '>/' num2str(2)],'autorouting','on'); else T1 = strcat(block, '/<Requirement name>', num2str(j), '/<Preconditions name>'); T2 = strcat(block, '/<Requirement name>', num2str(j)); add_block('Simulink/Sinks/Out1',[T1 '/<signal' num2str(i) '>']); fix_pos([T1 '/<signal' num2str(i-1) '>'],[T1 '/<signal' num2str(i) '>'],0,-70); add_block([T1 '/Feature generation'],[T1 '/Feature generation' num2str(i)]); fix_pos([T1 '/Feature generation'],[T1 '/Feature generation' num2str(i)],0,-i*50); add_line(T1,['Feature generation' num2str(i) '/1'],['<signal' num2str(i) '>/' num2str(1)],'autorouting','on'); % T2 add_block('Simulink/Sinks/Out1',[T2 '/<signal' num2str(i) '>']); fix_pos([T2 '/<signal' num2str(i-1) '>'],[T2 '/<signal' num2str(i) '>'],0,145); add_block([T2 '/switch <signal1>'],[T2 '/switch <signal' num2str(i) '>']); fix_pos([T2 '/switch <signal' num2str(i-1) '>'],[T2 '/switch <signal' num2str(i) '>'],0,60); add_line(T2,['switch <signal' num2str(i) '>' '/1'],['<signal' num2str(i) '>/' num2str(1)],'autorouting','on'); add_line(T2,['Sequencing of test data in time due to Preconditions/1'],['switch <signal' num2str(i) '>/' num2str(1)],'autorouting','on'); add_line(T2,['Initialisation & Stabilisation/1'],['switch <signal' num2str(i) '>/' num2str(3)],'autorouting','on'); add_line(T2,['<Preconditions name>/' num2str(i+1)],['switch <signal' num2str(i) '>/' num2str(2)],'autorouting','on'); add_line(block,['<Requirement name>' num2str(j) '/' num2str(i)],['switch <signal' num2str(i) '>/' num2str(j+1)],'autorouting','on'); end end end end

Page 13: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

Transformation() function Transformation() % SUTmodelName ) % ============================================================ % TRANSFORMATION is creating a test framework for a selected SUT model (here: SUT_PI) % This is a draft version of MiLEST by Justyna Zander, Abel Marrero, and Xiong Xuezheng. 2005-2008. % Copyrights are reserved. % http://www.fokus.fraunhofer.de/en/motion/ueber_motion/technologien/milest/index.html % ============================================================ % clear; clc; SUTmodelName = 'SUT_PI'; SOURCE = SUTmodelName; load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); load_system(SOURCE); SUTblockName = 'SUT'; %SUTblockName = get_param(find_system(SUTmodelName, 'BlockType', 'SubSystem'), 'Name'); %SUTblockName = SUTblockName{1}; TARGET = [SOURCE '_TC']; %new_system(TARGET); copyfile([SOURCE '.mdl'], [TARGET '.mdl']) load_system(TARGET); %------------------------------------- % clear TARGET to start transformation % should be in the preTransformation phase terminators = find_system(SOURCE, 'BlockType', 'Terminator'); grounds = find_system(SOURCE, 'BlockType', 'Ground'); lenTer = length(terminators); lenGr = length(grounds); termLines = get_param([TARGET '/' SUTblockName],'LineHandles'); for i = 1:lenGr delete_block([TARGET '/Ground_' num2str(i)]) delete_line(termLines.Inport(i)); end for i = 1:lenTer delete_block([TARGET '/Terminator_' num2str(i)]) delete_line(termLines.Outport(i)); end %------------------------------------- % building the generic test structure

Page 14: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

add_block('MIL_Test/Validation Function/Test Evaluation Architecture/<system name>', [TARGET '/ValidationFunctions']); add_block('Simulink/Sinks/Display',[TARGET '/OverallVerdict']); %add_block('Simulink/Sinks/To Workspace',[TARGET '/OverallVerdictVar']); %set_param([TARGET '/OverallVerdictVar'], 'VariableName', 'OverallVerdict'); set_param([TARGET '/ValidationFunctions'], 'LinkStatus', 'none') set_param([TARGET '/OverallVerdict'], 'Position',[1135 433 1215 457]); %set_param([TARGET '/OverallVerdictVar'], 'Position',[1140 387 1215 413]); set_param([TARGET '/ValidationFunctions'], 'Position',[910 409 1040 456]); %add_line(TARGET,['ValidationFunctions/2'],['OverallVerdictVar/1'],'autorouting','on'); add_block('Simulink/Commonly Used Blocks/Bus Selector', [TARGET '/BSOV']); set_param([TARGET '/BSOV'], 'Position',[1075 416 1080 454]); set_param([TARGET '/BSOV'], 'OutputSignals', 'OverallVerdict') add_line(TARGET,['ValidationFunctions/1'],['BSOV/1'],'autorouting','on'); add_line(TARGET,['BSOV/1'],['OverallVerdict/1'],'autorouting','on'); add_block('Simulink/Commonly Used Blocks/Bus Creator', [TARGET '/BCOut']); add_block('Simulink/Commonly Used Blocks/Bus Creator', [TARGET '/BCIn']); add_block('Simulink/Commonly Used Blocks/Bus Creator', [TARGET '/BCInOut']); set_param([TARGET '/BCOut'], 'Position',[800 341 805 434]); set_param([TARGET '/BCIn'], 'Position',[800 441 805 519]); set_param([TARGET '/BCInOut'], 'Position',[870 344 875 526]); % set number of inputs to the bus set_param([TARGET '/BCOut'], 'Inputs', num2str(lenTer)); set_param([TARGET '/BCIn'], 'Inputs', num2str(lenGr)); % todo - dep. on the buses inside the sut for i = 1:lenTer add_line(TARGET,[SUTblockName '/' num2str(i)],['BCOut/' num2str(i)],'autorouting','on'); end add_block('MIL_Test/Test Data/Test Data Architecture/<Test data generator>',[TARGET '/<Test data generator>']); set_param([TARGET '/<Test data generator>'], 'Position',[80 370 230 410]); %set_param([TARGET '/Test Stimuli'], 'Ports', [0 lenGr 0 0 0 0 0 0] -f); %add_block([TARGET '/<Test data generator>/<signal1>'],[TARGET '/<Test data generator>/<signal2>']); %fix_pos(['MIL_Test/Test Data/Test Data Architecture/<Test data generator>'],[TARGET '/<Test data generator>/<signal2>'],0,150); add_line(TARGET,['BCOut/1'],['BCInOut/1'],'autorouting','on'); add_line(TARGET,['BCOut/1'],['<Test data generator>/2'],'autorouting','on'); add_line(TARGET,['BCIn/1'],['BCInOut/2'],'autorouting','on');

Page 15: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

add_line(TARGET,['BCInOut/1'],['ValidationFunctions/1'],'autorouting','on'); % analysis of Signals coming into the SUT %add_block('Simulink/Commonly Used Blocks/Bus Creator', [TARGET '/BCInSUT']); %set_param([TARGET '/BCInSUT'], 'Position',[445 371 450 444]); % add_line(TARGET,['Test Stimuli/1'],['BCInSUT/1'],'autorouting','on'); % add_line(TARGET,['BCInSUT/1'],[SUTblockName '/1'],'autorouting','on'); BusSelInSUT = find_system([SUTmodelName '/' SUTblockName], 'BlockType', 'BusSelector'); DemInSUT =find_system([SUTmodelName '/' SUTblockName], 'BlockType', 'Demux'); % todo - busselctors % if BusSelInSUT ~= 0 | DemInSUT ~= 0 % disp('aha') % end %addterms(TARGET); %========================================================================== %========================================================================== load_system([TARGET '/<Test data generator>']); % this is very important to disable the link of subsystem, or u will not have the right to change subsystem % in this situation set_param([TARGET '/<Test data generator>'],'LinkStatus', 'none'); In_SUT = find_system([TARGET '/SUT'], 'BlockType', 'Inport'); n = length(In_SUT); Test_D_Gen_S([TARGET '/<Test data generator>'],n); set_param([TARGET '/<Test data generator>'],'MaskValues', {'1', num2str(n), 'off'}); for i = 1:lenGr add_line(TARGET,['<Test data generator>/' num2str(i)],['BCIn/' num2str(i)],'autorouting','on'); add_line(TARGET,['<Test data generator>/' num2str(i)],[SUTblockName '/' num2str(i)],'autorouting','on'); end %========================================================================== save_system; disp(sprintf('Test Structure "%s" for "%s" built.', TARGET, SOURCE));

Page 16: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

VFs_callback(block) function [] = VFs_callback(block) % Callback processing function for mask parameter % - number of VF-s used in the Validation Functions Set set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of VF-s OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','Requirement')); %set_param([block '/Requirement'], 'Name', 'Requirement1'); CurrentNoInp = get_param([block '/Bus Creator'], 'Inputs'); CurrentNoInp = str2num(CurrentNoInp); % Handle BusSelector BS = find_system(block, 'SearchDepth', 1,'regexp', 'on','LookUnderMasks','all','BlockType','BusSelector'); outSignals = get_param(BS, 'outputSignals'); % outSignalsOldNo = length(findstr(outSignals{1,1}, ','))+1; % number of outSignals from Bus Selector currently present in the model % 0 is not allowed as VF-s SSm doesn't make sense in that case % Add or remove model items for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % Remove lines set_param([block '/Bus Creator'], 'Inputs', num2str(No)); SigAtTLines = get_param([block '/Requirement' num2str(i)],'LineHandles'); delete_line(SigAtTLines.Inport(1)); delete_line(SigAtTLines.Outport(1)); % Remove blocks delete_block([block '/Requirement' num2str(i)]); elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks add_block('MIL_Test/Validation Function/Test Evaluation Architecture/Validation FunctionsTemplate/Requirement',[block '/Requirement' num2str(i)]); set_param([block '/Requirement' num2str(i)], 'LinkStatus', 'none'); pos2 = (((i-1)*80)+34); pos4 = (((i-1)*80)+86); set_param([block '/Requirement' num2str(i)], 'Position', [285 pos2 430 pos4]); set_param([block '/Bus Creator'], 'Inputs', num2str(i)); % Add lines

Page 17: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

add_line(block,['Requirement' num2str(i) '/1'],['Bus Creator/' num2str(i)],'autorouting','on'); add_line(block,['Datatype conversion/1'],['Requirement' num2str(i) '/1'],'autorouting','on'); end end % Bus Creator4 inpSignals = get_param(BS, 'InputSignals'); lenInpS = length(inpSignals{1,1}); if lenInpS ~= 1 for j =1:lenInpS outSignalsNb(j) = length(inpSignals{1,1}{j,1}{1,2}); end outSignalsNo = sum(outSignalsNb); elseif lenInpS == 1 outSignalsNb = length(inpSignals{1,1}{1,1}{1,2}); outSignalsNo = sum(outSignalsNb); % New number of outsignals for Bus Selector end %BusCreator 4 set_param([block '/Bus Creator4'], 'Inputs', num2str(outSignalsNo)); % Arbitration set_param([block '/Arbitration/Collect Verdicts'], 'Inputs', num2str(outSignalsNo+1)) MemoLine = get_param([block '/Arbitration/Memory'],'LineHandles'); delete_line(MemoLine.Outport(1)); add_line([block '/Arbitration'],'Memory/1',['Collect Verdicts/' num2str(outSignalsNo+1)],'autorouting','on'); % % Arbitration % for j =1:outSignalsNo % if OldNo > No && i > No && i <= OldNo % Remove % delete_block([block '/Arbitration/In' num2str(j)]); % elseif No > OldNo && i > OldNo && i <= No % Add % add_block('Simulink/Ports & Subsystems/In1',[block '/Arbitration/In' num2str(j)]); % % end % end %Add outputs to Bus Selector %set_param(BS, 'OutputSignals', 'signal1.signal2,signal1.signal1,signal1.signal2') % % pomysl jak dodac string zlozony z nazw of signals % for i=1:4 % inpSig1Lev= inpSignals{i,1}; % lenInS = length(inpSignals{i,1}{1,2}); % inpSig2Lev(lenInS:1)= inpSignals{i,1}{1,2}; % end

Page 18: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

% strcat(inpSig2Lev) arbitration_callback(block) function [] = arbitration_callback(block) % arbitration_callback acting if the Nr of 'requirement' signal changed set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of Reqs OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Preconditions name>')); for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % disp(' del line'); elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks % Add Outports of Bus Selector % OutSignal of Bus Seletor %Signal1 = 'signal1.signal1.signal1'; %for j = 2 : i %ans = get_param(block, 'Name'); %disp(' add line'); end end % Remove Outport of Bus Selector & Input of Bus Creator4 fix_pos(blocka,blockb,r,t) function [] = fix_pos(blocka,blockb,r,t) % fix the height distance between 2 blocks % blocka acts as the origin of coordinates

Page 19: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

% blockb is the one move around the blocka % t is for the down, r is for the left Pos = get_param(blocka, 'Position'); Posb = get_param(blockb, 'Position'); B = Posb(3)-Posb(1); H = Posb(4)-Posb(2); pos1 = Pos(1)+r; pos3 = pos1+B; pos2 = Pos(4)+t; pos4 = pos2+H; set_param(blockb, 'Position',[pos1 pos2 pos3 pos4]); shut_mask(block) function [] = shut_mask(block) set_param(block, 'LinkStatus', 'none'); v = get_param(block, 'T'); Path = get_param(block, 'Parent'); N = get_param(block, 'Name'); Path = strcat(Path, '/',N); if strcmp(v, 'on') == 1 %test_gui_1 Mask_Shut_off(Path); %set_param(block, 'Mask','Off'); end slblocks function blkStruct = slblocks %SLBLOCKS Define the Simulink library block representation. % % Define the Simulink library block representation for the Testing % CP 10-11-05 % Copyright 2005-2006, Fraunhofer FOKUS % $Revision: 1.0.0.0 $ $Date: 2005/11/10 20:11:50 $ % $Revision: 1.0.0.0 $ $Date: 2006/07/10 20:11:50 $ blkStruct.Name = 'MIL Test Blockset'; % The function that is called when % the user double-clicks on this icon. blkStruct.OpenFcn = 'MIL_Test'; blkStruct.MaskInitialization = ''; % Define the library list for the Simulink Library browser. % Return the name of the library model and the name for it Browser(1).Library = 'MIL_Test';

Page 20: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

Browser(1).Name = 'MIL Test Blockset'; %Browser(1).IsFlat = 1;% Is this library "flat" (i.e. no subsystems)? blkStruct.Browser = Browser; % End of slblocks.m system_name1(block) function [] = system_name1(block) % Callback processing function for mask parameter % - number of <Requirement name> used in the System set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of VF-s OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Requirement name>')); for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % Remove lines set_param([block '/Bus Creator'], 'Inputs', num2str(No)); SigAtTLines = get_param([block '/<Requirement name>' num2str(i)],'LineHandles'); delete_line(SigAtTLines.Inport(1)); delete_line(SigAtTLines.Outport(1)); delete_line([block '/Arbitration'],['In' num2str(i) '/' num2str(1)],['Collect Verdicts/' num2str(i)]); % Remove blocks delete_block([block '/<Requirement name>' num2str(i)]); % remove lines from Bus Selector SigFrBS = get_param([block '/Bus Selector'], 'LineHandles'); delete_line(SigFrBS.Outport(i)); % remove Outport of Arbitration delete_block([block '/Arbitration/In' num2str(i)]); % Remove Inport of Bus Creator4 elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks add_block('MIL_Test/Validation Function/Test Evaluation Architecture/<system name>/<Requirement name>',[block '/<Requirement name>' num2str(i)]);

Page 21: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

set_param([block '/<Requirement name>' num2str(i)], 'LinkStatus', 'none'); if i == 2 pos = get_param([block '/<Requirement name>'], 'Position'); else pos = get_param([block '/<Requirement name>' num2str(i-1)], 'Position'); end pos1 = pos(1); pos3 = pos(3); pos2 = pos(2)+80; pos4 = pos(4)+80; set_param([block '/<Requirement name>' num2str(i)], 'Position',[pos1 pos2 pos3 pos4]); set_param([block '/Bus Creator'], 'Inputs', num2str(i)); % Add Inports of Bus Creator4 set_param([block '/Bus Creator4'], 'Inputs', num2str(i)); % Add Outports of Bus Selector % OutSignal of Bus Seletor %Signal1 = 'signal1.signal1.signal1'; %for j = 2 : i SignalP = strcat(',','signal',num2str(i),'.signal1.signal1'); %Signal1 = strcat(Signal1,SignalP); Signal1 = get_param([block '/Bus Selector'], 'OutputSignals'); Signal1 = strcat(Signal1,SignalP); %end set_param([block '/Bus Selector'], 'OutputSignals',Signal1) % Add lines add_line(block,['<Requirement name>' num2str(i) '/1'],['Bus Creator/' num2str(i)],'autorouting','on'); add_line(block,['Signal Conversion/1'],['<Requirement name>' num2str(i) '/1'],'autorouting','on'); % Add lines between Bus Selector and Bus Creator4 add_line(block,['Bus Selector/' num2str(i)],['Bus Creator4/' num2str(i)],'autorouting','on'); % Add Input to Arbitration add_block('Simulink/Ports & Subsystems/In1',[block '/Arbitration/In' num2str(i)]); if i == 2 posi = get_param([block '/Arbitration/In1'], 'Position'); else posi = get_param([block '/Arbitration/In' num2str(i-1)], 'Position'); end pos1 = posi(1); pos3 = posi(3); pos2 = posi(2)+40; pos4 = posi(4)+40; set_param([block '/Arbitration/In' num2str(i)], 'Position',[pos1 pos2 pos3 pos4]);

Page 22: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

% fix position of Memory fix_pos([block '/Arbitration/Collect Verdicts'],[block '/Arbitration/Memory'],0,10); % Add Line from Bus Selector to Arbitration add_line(block,['Bus Selector/' num2str(i)],['Arbitration/' num2str(i)],'autorouting','on'); % Set Inputports of 'Collect Verdicts' set_param([block '/Arbitration/Collect Verdicts'], 'Inputs', num2str(i+1)); % Put the Memory Outsignal always in the last Inport of Collect % Verdicts delete_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(i)]); add_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(i+1)],'autorouting','on'); % Add line from 'in' to 'Collect Verdicts', which happens in the % undersystem Arbitration add_line([block '/Arbitration'],['In' num2str(i) '/' num2str(1)],['Collect Verdicts/' num2str(i)],'autorouting','on'); end end % Remove Outport of Bus Selector & Input of Bus Creator4 if OldNo > No % Remove set_param([block '/Bus Creator4'], 'Inputs', num2str(No)); delete_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(OldNo+1)]); set_param([block '/Arbitration/Collect Verdicts'], 'Inputs', num2str(No+1)); add_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No+1)],'autorouting','on'); if No == 1 S1 = 'signal1.signal1.signal1'; else S1 = 'signal1.signal1.signal1'; for j = 2:No S1 = strcat(S1,',','signal',num2str(j),'.signal1.signal1'); end end set_param([block '/Bus Selector'], 'OutputSignals',S1); end

Page 23: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

system_name2(block) function [] = system_name2(block) % Callback processing function for mask parameter % - number of <Requirement name> used in the System set_param(block, 'LinkStatus', 'none'); load_system('Simulink'); % Load Simulink library (background) load_system('MIL_Test'); No = str2double(get_param(block,'No')); % Get # of VF-s OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Requirement name>')); if OldNo > No % Remove % Redraw all the lines and Reset the in-out ports of all related block % Remove all the lines from Bus Selector In_B4a = get_param([block '/Bus Creator4'], 'Inputs'); In_B4a = str2num(In_B4a); SigFrBS_l = get_param([block '/Bus Selector'], 'LineHandles'); for i = 1:In_B4a delete_line(SigFrBS_l.Outport(i)); end end for i = 1:max(No,OldNo) if OldNo > No && i > No && i <= OldNo % Remove % Remove lines set_param([block '/Bus Creator'], 'Inputs', num2str(No)); SigAtTLines = get_param([block '/<Requirement name>' num2str(i)],'LineHandles'); delete_line(SigAtTLines.Inport(1)); delete_line(SigAtTLines.Outport(1)); %delete_line([block '/Arbitration'],['In' num2str(i) '/' num2str(1)],['Collect Verdicts/' num2str(i)]); % Redraw the lines from Bus Selector % Find how many VFs in the Requirement block, which will be deleted NoVF = length(find_system([block '/<Requirement name>' num2str(i)], 'regexp', 'on','LookUnderMasks','all','Name','<Preconditions name>')); No_In_o = length(find_system([block '/Arbitration'], 'regexp', 'on','LookUnderMasks','all','Name','In')); delete_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No_In_o+1)]); % Delete Signals from Bus Selector SigFrBS_n = get_param([block '/Bus Selector'], 'OutputSignals'); % delete the number of VFs singals in Arbitration

Page 24: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

for j = 1:NoVF No_In = length(find_system([block '/Arbitration'], 'regexp', 'on','LookUnderMasks','all','Name','In')); delete_line([block '/Arbitration'],['In' num2str(No_In) '/' num2str(1)],['Collect Verdicts/' num2str(No_In)]); delete_block([block '/Arbitration/In' num2str(No_In)]); p = strcat(',','signal',num2str(i),'.signal',num2str(j),'.signal1'); SigFrBS_n = strrep(SigFrBS_n,p,''); end % Redesign the Verdicts Collection set_param([block '/Arbitration/Collect Verdicts'], 'Inputs', num2str(No_In_o-NoVF+1)); add_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(No_In_o-NoVF+1)],'autorouting','on'); % Reset the inports of Bus Creator4 and Selector set_param([block '/Bus Creator4'], 'Inputs', num2str(No_In_o-NoVF)); set_param([block '/Bus Selector'], 'OutputSignals',SigFrBS_n); % Remove blocks delete_block([block '/<Requirement name>' num2str(i)]); elseif No > OldNo && i > OldNo && i <= No % Add % Add blocks add_block('MIL_Test/Validation Function/Test Evaluation Architecture/<system name>/<Requirement name>',[block '/<Requirement name>' num2str(i)]); set_param([block '/<Requirement name>' num2str(i)], 'LinkStatus', 'none'); if i == 2 pos = get_param([block '/<Requirement name>'], 'Position'); else pos = get_param([block '/<Requirement name>' num2str(i-1)], 'Position'); end pos1 = pos(1); pos3 = pos(3); pos2 = pos(2)+80; pos4 = pos(4)+80; set_param([block '/<Requirement name>' num2str(i)], 'Position',[pos1 pos2 pos3 pos4]); set_param([block '/Bus Creator'], 'Inputs', num2str(i)); % Add Inports of Bus Creator4 In_B4 = get_param([block '/Bus Creator4'], 'Inputs'); In_B4 = str2num(In_B4)+1; set_param([block '/Bus Creator4'], 'Inputs', num2str(In_B4)); % Add Outports of Bus Selector % OutSignal of Bus Seletor %Signal1 = 'signal1.signal1.signal1'; %for j = 2 : i SignalP = strcat(',','signal',num2str(i),'.signal1.signal1'); %Signal1 = strcat(Signal1,SignalP);

Page 25: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

Signal1 = get_param([block '/Bus Selector'], 'OutputSignals'); Signal1 = strcat(Signal1,SignalP); %end set_param([block '/Bus Selector'], 'OutputSignals',Signal1) % Add lines add_line(block,['<Requirement name>' num2str(i) '/1'],['Bus Creator/' num2str(i)],'autorouting','on'); add_line(block,['Signal Conversion/1'],['<Requirement name>' num2str(i) '/1'],'autorouting','on'); % Add lines between Bus Selector and Bus Creator4 %add_line(block,['Bus Selector/' num2str(i)],['Bus Creator4/' num2str(i)],'autorouting','on'); add_line(block,['Bus Selector/' num2str(In_B4)],['Bus Creator4/' num2str(In_B4)],'autorouting','on'); % Add Input to Arbitration add_block('Simulink/Ports & Subsystems/In1',[block '/Arbitration/In' num2str(In_B4)]); if i == 2 posi = get_param([block '/Arbitration/In1'], 'Position'); else In_in = In_B4-1; posi = get_param([block '/Arbitration/In' num2str(In_in)], 'Position'); end pos1 = posi(1); pos3 = posi(3); pos2 = posi(2)+40; pos4 = posi(4)+40; set_param([block '/Arbitration/In' num2str(In_B4)], 'Position',[pos1 pos2 pos3 pos4]); % fix position of Memory fix_pos([block '/Arbitration/Collect Verdicts'],[block '/Arbitration/Memory'],0,10); % Add Line from Bus Selector to Arbitration add_line(block,['Bus Selector/' num2str(In_B4)],['Arbitration/' num2str(In_B4)],'autorouting','on'); % Set Inputports of 'Collect Verdicts' In_CV = In_B4+1; set_param([block '/Arbitration/Collect Verdicts'], 'Inputs', num2str(In_CV)); % Put the Memory Outsignal always in the last Inport of Collect % Verdicts delete_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/' num2str(In_B4)]); add_line([block '/Arbitration'],['Memory/' num2str(1)],['Collect Verdicts/'

Page 26: EMBEDDED SYSTEM PROJECT USING MATLAB (SAMPLE ASSIGNMENT) · System Project using Matlab. Our Tutors being experienced and proficient in Embedded System Project using Matlab ensure

num2str(In_CV)],'autorouting','on'); % Add line from 'in' to 'Collect Verdicts', which happens in the % undersystem Arbitration add_line([block '/Arbitration'],['In' num2str(In_B4) '/' num2str(1)],['Collect Verdicts/' num2str(In_B4)],'autorouting','on'); end end % Remove Outport of Bus Selector & Input of Bus Creator4 if OldNo > No % Remove % Redraw all the lines and Reset the in-out ports of all related block % Add Line from Bus Selector to Arbitration SigF_N = get_param([block '/Bus Selector'], 'OutputSignals'); N_SigF= length(findstr(SigF_N, ','))+1; for j = 1:N_SigF add_line(block,['Bus Selector/' num2str(j)],['Arbitration/' num2str(j)],'autorouting','on'); % Add lines between Bus Selector and Bus Creator4 add_line(block,['Bus Selector/' num2str(j)],['Bus Creator4/' num2str(j)],'autorouting','on'); end end

visit us at www.assignmentpedia.com or email us at [email protected] or call us at +1 520 8371215