% Clear and close everything clear all; close all; fclose all; % Run setup.m setup; % Set working folder init('Test20170426'); % Creat an automaton (DES) Q = 2; % 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,0;]; create('G', Q, delta, Qm); % create automaton selfloop('SG', 'G', [12, 13]); % selfloop G with events 12, 13 % Creat an automaton (DES) Q1 = 3; % number of states % the initial state q0 is always labeled "0" Qm1 = [0]; % marker state set delta1 = [0,10,1; % transition triples (exit state, event, enter state) 1,10,2; 2,10,0]; create('G1', Q1, delta1, Qm1); % create automaton % Creat an automaton (DES) Q2 = 2; % number of states % the initial state q0 is always labeled "0" Qm2 = [0]; % marker state set delta2 = [0,10,1; % transition triples (exit state, event, enter state) 1,10,0]; create('G2', Q2, delta2, Qm2); % create automaton meet('G','G1','G2'); % product by meet % Creat an automaton (DES) Q1 = 3; % number of states % the initial state q0 is always labeled "0" Qm1 = [0]; % marker state set delta1 = [0,1,1; % transition triples (exit state, event, enter state) 1,2,2; 2,2,0]; create('G1', Q1, delta1, Qm1); % create automaton % Creat an automaton (DES) Q2 = 2; % number of states % the initial state q0 is always labeled "0" Qm2 = [0]; % marker state set delta2 = [0,2,1; % transition triples (exit state, event, enter state) 1,3,0]; create('G2', Q2, delta2, Qm2); % create automaton sync('G','G1','G2'); % synchronous product by sync % Creat an automaton (DES) Q1 = 3; % number of states % the initial state q0 is always labeled "0" Qm1 = [2]; % marker state set delta1 = [0,3,0; % transition triples (exit state, event, enter state) 0,1,1; 1,2,2]; create('G1', Q1, delta1, Qm1); % create automaton % Creat an automaton (DES) Q2 = 3; % number of states % the initial state q0 is always labeled "0" Qm2 = [2]; % marker state set delta2 = [0,4,0; % transition triples (exit state, event, enter state) 0,2,1; 1,1,2]; create('G2', Q2, delta2, Qm2); % create automaton % method 1 selfloop('SG1','G1',[4]); selfloop('SG2','G2',[3]); nonconflict('SG1','SG2') % method 2 sync('G','G1','G2'); allevents('ALLG','G'); nonconflict('G','ALLG')