% Clear and close everything clear all; close all; fclose all; % Run setup.m setup; % Set working folder init('MUTEX_PO'); % Partial-observation supervisor design procedure % Step 1 % Creat plant (components) Q = 3; % number of states % the initial state q0 is always labeled "0" Qm = [0]; % marker state set delta = [0,10,1; % transition triples (exit state, event, enter state) 1,11,2; 2,12,0 ]; create('A1', Q, delta, Qm); % create automaton % Creat plant (components) Q = 3; % number of states % the initial state q0 is always labeled "0" Qm = [0]; % marker state set delta = [0,20,1; % transition triples (exit state, event, enter state) 1,21,2; 2,22,0 ]; create('A2', Q, delta, Qm); % create automaton % Creat specification (components) Q = 3; % number of states % the initial state q0 is always labeled "0" Qm = [0]; % marker state set delta = [0,11,1; % transition triples (exit state, event, enter state) 1,12,0; 0,21,2; 2,22,0 ]; create('E', Q, delta, Qm); % create automaton %Step 2 sync('PLANT','A1','A2'); allevents('ALL', 'PLANT'); figure(1) displaydes('PLANT') % display automaton %Step 3 sync('SPEC', 'E', 'ALL'); %Step 4 supconrobs('SUPO', 'PLANT', 'SPEC', [21]); figure(1) displaydes('SUPO') % display automaton %Step 5 condat('SUPODAT', 'PLANT', 'SUPO'); printdat('SUPODAT','SUPODAT')