global mainFrame 
global i_dev_ed 
global i_art_ed 
global i_apt_ed
global i_rt_edt 
global i_pt_edt 
global i_qua_ed 
global i_us_co i_av_ld i_av_wt i_av_lr i_av_sr
global hStart hPauseon
global b_pause


mainFrame = figure(	'Name','Система Массового Обслуживания',...
					'Units','normalized',...
					'Position',[0.1500 0.2500 0.700 0.600],...
					'NumberTitle','off', ...
					'DefaultLineLineWidth',1, ...
					'Visible','on');
get(mainFrame)
        
uicontrol( mainFrame,	'Style','text','BackgroundColor',[0 0 0], ...
						'Units','normalized',...
						'Position', [0.5 0 0.002 0.99]); 
uicontrol( mainFrame,	'Style','text','BackgroundColor',[0 0 0], ...
						'Units','normalized',...
						'Position', [0 0.2 0.99 0.002]);
uicontrol( mainFrame,	'Style','text','BackgroundColor',[0 0 0], ...
						'Units','normalized',...
						'Position', [0 0.99 1 0.002]);

uicontrol( mainFrame,	'Style','text','BackgroundColor',[0 0 0], ...
						'Units','normalized',...
						'Position', [0 0.395 0.5 0.002]); 
                     
uicontrol( mainFrame,	'Style','text','BackgroundColor',[0 0 0], ...
						'Units','normalized',...
						'Position', [0 0.45 0.5 0.002]); 
% ИСХОДНЫЕ ДАННЫЕ                     

uicontrol( mainFrame, 	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
                        'Units','normalized', ...
                        'Position',[0.005 0.95 0.49 0.04], ...
                        'String','Исходные данные');
                     
% КОЛИЧЕСТВО УСТРОЙСТВ

i_dev_ed = uicontrol( mainFrame,'Style','edit', ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'BackgroundColor',[1 1 1], ...
								'Position',[0 0.88 0.05 0.05], ...
								'String','3',...
								'Enable','on',...
								'Callback','but');  

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.19 0.88 0.25 0.045], ...
						'String','Количество устройств',...
						'HorizontalAlignment','left');
                 
% СРЕДНЕЕ ВРЕМЯ ПОСТУПЛЕНИЯ ЗАЯВКИ          
                  
i_art_ed= uicontrol( mainFrame,	'Style','edit', ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'BackgroundColor',[1 1 1], ...
								'Position',[0 0.8 0.05 0.05], ...
								'String','20',...
								'Enable','on',...
								'Callback','but');  

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.19 0.8 0.25 0.045], ...
						'String','Среднее A',...
						'HorizontalAlignment','left');
                 
                  
% СРЕДНЕЕ ВРЕМЯ ОБРАБОТКИ ЗАЯВКИ
                 
i_apt_ed = uicontrol( mainFrame,'Style','edit', ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'BackgroundColor',[1 1 1], ...
								'Position',[0 0.72 0.05 0.05], ...
								'String','45',...
								'Enable','on',...
								'Callback','but');  

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.19 0.72 0.25 0.045], ...
						'String','Среднее S',...
						'HorizontalAlignment','left');    
                  
% НАЧАЛЬНОЕ ЗНАЧЕНИЕ ГЕНЕРАТОРА ДЛЯ ВРЕМЕНИ ПОСТУПЛЕНИЯ ЗАЯВКИ
                 
i_rt_edt = uicontrol( mainFrame,'Style','edit', ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'BackgroundColor',[1 1 1], ...
								'Position',[0 0.64 0.05 0.05], ...
								'String','120',...
								'Enable','on',...
								'Callback','but'); 

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.19 0.64 0.25 0.045], ...
						'String','Генератор времени поступления заявки',...
						'HorizontalAlignment','left');                    
                  
% НАЧАЛЬНОЕ ЗНАЧЕНИЕ ГЕНЕРАТОРА ДЛЯ ВРЕМЕНИ ПОСТУПЛЕНИЯ ЗАЯВКИ
                 
i_pt_edt = uicontrol( mainFrame,'Style','edit', ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'BackgroundColor',[1 1 1], ...
								'Position',[0 0.56 0.05 0.05], ...
								'String','250',...
								'Enable','on',...
								'Callback','but');  

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.19 0.56 0.25 0.045], ...
						'String','Генератор времени обработки заявки',...
						'HorizontalAlignment','left');                     
                  
                  
% КВАНТ ВРЕМЕНИ
                 
i_qua_ed = uicontrol( mainFrame,'Style','edit', ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'BackgroundColor',[1 1 1], ...
								'Position',[0 0.48 0.05 0.05], ...
								'String','2',...
								'Enable','on',...
								'Callback','but');  

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.19 0.48 0.25 0.045], ...
						'String','Кватн времени',...
						'HorizontalAlignment','left');                   
                  
                  
                  
                  
                  
                  
% ГРАФИЧЕСКОЕ ОТОБРАЖЕНИЕ РАБОТЫ ПРОГРАММЫ

uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0 0.4 0.49 0.05], ...
						'String','Графическое отображение работы программы',...
						'HorizontalAlignment','center');
                  
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0 0.35 0.11 0.045], ...
						'String','Устройства',...
						'HorizontalAlignment','left');                  
                 
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0 0.15 0.11 0.045], ...
						'String','Очередь',...
						'HorizontalAlignment','left');    
                  
                  
                  
% РЕЗУЛЬТАТЫ
uicontrol( mainFrame, 	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
                        'Units','normalized', ...
                        'Position',[0.51 0.95 0.49 0.04], ...
                        'String','Результаты работы программы');
                     
          
i_us_co = uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'Position',[0.51 0.88 0.12 0.04], ...
								'String','0',...
								'HorizontalAlignment','left',...
								'Callback','');  
                
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.63 0.88 0.4 0.04], ...
						'String','Коэффициент использования системы',...
						'HorizontalAlignment','left');
                 
i_av_ld = uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'Position',[0.51 0.76 0.12 0.04], ...
								'String','0',...
								'Callback','');  
                
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.63 0.76 0.35 0.04], ...
						'String','Средняя задержка в очереди',...
						'HorizontalAlignment','left');
                 
                  
i_av_wt = uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'Position',[0.51 0.64 0.12 0.04], ...
								'String','0',...
								'Callback','');  
                
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.63 0.64 0.35 0.04], ...
						'String','Среднее время ожидания',...
						'HorizontalAlignment','left');                                      
                  
i_av_lr = uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'Position',[0.51 0.52 0.12 0.04], ...
								'String','0',...
								'Callback','');  
                
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.63 0.52 0.45 0.04], ...
						'String','Среднее по времени число требований в очереди',...
						'HorizontalAlignment','left');                      
                  
i_av_sr = uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
								'HorizontalAlignment','left', ...
								'Units','normalized', ...
								'Position',[0.51 0.4 0.12 0.04], ...
								'String','0',...
								'Callback','');  
                
uicontrol( mainFrame,	'Style','text', 'BackgroundColor',[0.8 0.8 0.8], ...
						'Units','normalized', ...
						'Position',[0.63 0.4 0.45 0.04], ...
						'String','Среднее по времени число требований в системе',...
						'HorizontalAlignment','left');                  
                  
                  
                  
% КНОПКИ УПРАВЛЕНИЯ                 

%Старт
hStart = uicontrol( mainFrame,...
			'Style','pushbutton', ...
			'Units','normalized', ...
			'Position',[0.51 0.1 0.15 0.08], ...
			'String','Старт', ...
			'Enable','on',...
			'Callback','run_pr');
%Пауза
hPauseon=uicontrol( mainFrame,'Style','pushbutton', ...
        'Units','normalized', ...
        'Position',[0.7 0.1 0.15 0.08], ...
        'Enable','off',...
        'String','Пауза', ...
        'Callback','b_pause=1-b_pause');
    