Главная страница

Лабораторная работа 4 doc. Лабораторная работа 4 планировщик задач реальноговремени


Скачать 304 Kb.
НазваниеЛабораторная работа 4 планировщик задач реальноговремени
Дата01.12.2020
Размер304 Kb.
Формат файлаdoc
Имя файлаЛабораторная работа 4 doc.doc
ТипЛабораторная работа
#155585
страница3 из 6
1   2   3   4   5   6

Пакет «NVS-Designer» для автоматизированного формирования


мультиверсионного ПО
Одним из направлений интенсификации производства ПО является ори- ентация средств его создания на специалиста проблемной области. Существу- ет ряд отечественных и зарубежных систем, в которых акцент смещается на инструментальные средства сборки программного продукта из программных модулей на основе формализованного описания вычислительного процесса. Это большая группа систем, реализующих аппарат спецификаций, техноло- гии планирующего типа, поддерживаемые, например, диалоговыми маршрут- ными системами, Р-технология и др.

Планирование средств системы реального времени состоит, в том числе в определении требуемой информации для задания программы функциониро- вания средств. И в качестве исходных данных формируется вектор временной развертки технологического цикла управления (ТЦУ)

t = (t1, t2, … tn),

где ti– момент задействования того или иного компонента структуры для вы- полнения задачи, находящейся в i-й вершине графа ТЦУ.

Вектор временной развертки однозначно определяет взаимосвязи по передаче управления между компонентами структуры. Так как выбор момен- тов включения компонент вычислительной системы является решающим фак- тором определения всей динамики процесса, то здесь возможна определенная оптимизация. От этого выбора зависит, будет ли реализован ТЦУ и если бу- дет, то, за какое время и с каким качеством.

Общее описание


«NVSDesigner» – представляет собой среду проектирования систем управления, построенных на принципах методологии мультиверсионного программирования.

Пакет реализован с использованием среды визуального программирова- ния BorlandC++Builder 3.0 на платформе операционной системы Windows 95/98. Программный код написан с использованием подхода объектно-ориен- тированного программирования, что позволило реализовать в приложении наибольшую модульность.

Приложение реализовано с использованием основных достоинств опе- рационной системы Windows 95/98: графический интерфейс пользователя, многозадачность, модульность и т.д.

В версию 1.0 данного программного продукта входят следующие свой-

ства:

  • проектирование системы по одной из двух формулировок построения

мультиверсионных систем управления

  • возможность варьирования всех параметровсистемы;

  • представление структуры системы в виде вектора булевых перемен- ных (векторучастия);

  • оптимизация структуры системы с использованием методов псевдобу- левойоптимизации;

  • возможность задания постановки оптимизационной задачи по усмот- рениюпользователя;

  • графическое представление данных, позволяющее наблюдать за про- цессом оптимизации в реальном времени идр.

  • наличие следующих оптимизационных процедур: метод полного перебора, случайный перебор, различные алгоритмы схемы метода изменяю- щихся вероятностей (СПА, МСПА, СПАБО, МСПАБО) с независимой гене- рацией компонент вектора вероятностей, в том числе с использованием непа- раметрического восстановления целевой функции, традиционные схемы слу- чайного поиска, различные модификации локального поиска, секущие алго- ритмы;

  • возможность сохранения и восстановления данных в виде файлов осо- бого формата (файлы*.nvs);

  • функция быстрой загрузки файлов, с которыми приходилось работать ранее;

  • возможность добавления оптимизационных процедур в виде про- граммных модулей без изменения программного кода оболочки (и вообще го- воря, возможность использования таких модулей, написанных для NVSDesigner, для программного решения (реализации) любых задач псевдобуле- войоптимизации).

Работа с «NVSDesigner»


Для того чтобы создать новый проект в меню«File» выберите пункт

«New…» или на панели инструмен-

товнажми- те кнопку – появится

окновыбо- ра типа системы. Предлага-

етсянавы- бор два типа структуры си-

стемы(рис. 4.1). Выбрав, например,

формули- ровку №1, перед вами по-

явится бланк описания системы

управле-

Рис.н4и.1я.,Опконсотврыобеонрнаотйипсаситсрпукотлуьр-ы

зованием данной фсоирсмтеумлыировки под-

хода мультиверсионного про-

граммирования.

Главное окно программы состоит из двух страниц: «Systemparameters» (параметры системы) и «Systemstructureoptimization» (оптимизация структу- ры системы). В нижней части окна расположена таблица, содержащая компо- ненты вектора участия, и панель, содержащая информацию о размерности вектора участия, стоимости и надежности системы, а также информацию о том, удовлетворяет ли структура системы предъявленным к ней на этапе по- становки задачи условиям (рис. 4.2).


Рис. 4.2 Главное окно программы
На странице «Systemparameters» находится информация о структуре системы: число задач; число базовых модулей (классов типовых задач); число версий для каждого из типовых модулей; принадлежность задач системы классам и характеристики версий типовых модулей (надежность и стоимость). Для формулировки №2 на этой странице будут расположены до- полнительные элементы управления. Многие параметры системы взаимозави- симы, поэтому, изменяя, например, число задач в системе, автоматически из- меняется размерность вектора участия, число столбцов в таблице, описываю- щей вектор участия и число столбцов и значения ячеек в таблице, которая описывает вектор принадлежности задачклассам.

Страница «Systemstructureoptimization» содержит информацию о зада- че построения оптимальной структуры системы управления. Пользователь может задать метод вычисления функции надежности (для методов безуслов- ной оптимизации предлагается метод штрафных функций) и условия, предъ- являемыексистемеуправления:«хотябыоднаверсиявкаждоммодуле»,

«нечетное число версий в каждом модуле» и «стоимость системы не должна превышать имеющегося бюджета». Пользователь имеет возможность задать величину бюджета. Окно «Systemstructureoptimization» представлено на рис. 4.3.

На этой странице также имеются две кнопки «X={000…00}» и

«X={111…11}», которые выполняют функции: соответственно «система с ну- левой структурой» (ни одному модулю не поставлена в соответствие ни одна версия) и «система с полным набором» (в составе каждого модуля имеются все возможные версии).


Рис. 4.3. Страница «System structure optimization»
Пожалуй, основными элементами управления на странице «Systemstructureoptimization» являются выпадающий список оптимизационных алго- ритмов и кнопки «Optimize » (Оптимизировать) и «Stop » (Стоп), выпол- няющие функции соответственно запуска ипреждевременного

При сохранении проекта система запоминает параметры структуры проектируемой систем, в том числе и величину бюджета.

При работе в системе проектирования пользователь варьирует разные параметры. При изменении параметров в строке состояния появляется помет- ка «Modified» (изменен). После сохранения документа пометка «Modified» в строке состояния исчезает.

Для того чтобы сохранить данные о системе достаточно в меню «File» выбрать пункт «Save» или нажать кнопку . Если проект не был загружен из какого-либо файла до этого - программа спросит название файла, в котором следует сохранить данные осистеме.

Работу в системе проектирования рассмотрим на примере системы управления, построенной согласно формулировке №2, так как формулировку

№1 можно рассматривать как упрощение формулировки №2.

На странице «Systemparameters» главного окна приложения имеются элементы управления, позволяющие изменять следующие параметры систе- мы: число базовых модулей (классов задач); число версий в каждой из базо- вых модулей; характеристики версий базовых модулей (надежность и стои- мость); число задач в системе; число программных модулей в каждой из задач

системы; принадлежность программных модулей отдельных задач системы базовым классам.

Таким образом, пользователь в первую очередь задает два главных па- раметра системы: число задач в системе и число классов задач. При измене- нии значения некоторых параметров системы, автоматически изменяются па- раметры, на которые повлияло данное изменение.

После того, как было введено число классов задач, следует ввести ха- рактеристики каждого из классов: число версий, доступных для решения за- дачи данного класса и параметры каждой из версий. В верхней таблице вво- дятся значения числа версий каждого класса.

Для того чтобы изменить параметры версий некоторого класса, следует в выпадающем списке, расположенном ниже таблицы с данными о классах, выбрать номер класса (4.4). Значения в нижней таблице изменятся и станут равными параметрам версий, решающих задачи указанного класса. Для изме- нения параметров версий необходимо выделить соответствующую ячейку та- блицы и ввести новое значение.

Правее описанных данных на странице находятся параметры конкрет- ной системы: число задач в ней и т.д. Варьирование этих данныхпроизводит-

ся так же как и варьирование данных, описывающих библиотеку базовых мо- дулейР(ирси. с4..44. .В5ы).бор класса



Рис. 4.5. Параметры системы

Изменяя описанные выше параметры, поль- зователь тем самым изменяет и размерность век- тора участия, стоимость системы и ее надеж- ность. Но надежность и стоимость системы в пер- вую очередь зависят от ее структуры, которая описывается при помощи вектора участия. Имен- но поэтому в программу введена функция «руч- ного» редактирования вектора участия. Выделив некоторую ячейку вектора, пользователь может ввести единицу или ноль, что будет соответство-

вать участию или отсутствию некоторой мультиверсии в структуре системы управления. Меняя эти величины, пользователь может видеть, что автомати- чески меняются параметры стоимости и надежности системы. Окно для «руч- ного» редактирования вектора участия представлено на рис. 4.6.

Страница «Systemstructureoptimization» содержит элементы управле- ния, необходимые для решения задачи построения оптимальной структуры системы управления, основываясь на информации, введенной на странице

«Systemparameters».




Рис.4.6. Редактирование вектора участия

На данной странице в первую очередь пользователь может выбрать ме- тод, которым будет просчитываться целевая функция оптимизационной зада- чи. Это может быть просто функция надежности системы от ее структуры или один из вариантов функции надежности со штрафами. Метод штрафных функций внедрен в пакет с целью использования оптимизационных процедур, решающих задачи безусловной оптимизации.

Пользователь также может выбрать ограниче- ния, налагаемые на целевой функционал. Он может включить/отключить действие одного из трех типов ограничений: «хотя бы одна версия в каждом модуле», «нечетное число версий в каждом модуле»и

«стоимость системы не должна превышать имеюще- гося бюджета» (рис. 4.7). Чтобы реализовать это поль-

Рис. 4.7. Ограничения

зователь должен щелкнуть мышкой на соответствующем условии.

Одновременно с изменениями условий и вида целевой функции меня- ются значения параметров, расположенные внутри панели в нижней части главного рабочего окна приложения. В зависимости от того, удовлетворяет ли структура системы поставленнымограничениям,

внизу панели будет изображаться надпись

«Conditionissatisfied» (условие выполняется), выполненная в черном цвете или «Conditionisnotsatisfied» (условие не выполняется) – в крас-

ном цвете (рис.4.8).

Основным элементом на странице «Systemstructureoptimization» является выпадающий спи-

Рис. 4.8. Информация о
соблюдении условий

сок оптимизационных алгоритмов (рис.4.9). В списке перечислены подклю- ченные алгоритмы псевдобулевойоп-

тимизации. Подключение алгоритма организуется написанием отдельного модуля и никаким образом не влияет на программный код самой оболочки

пакета. В модуле, содержащем описа- ния оптимизационных процедур, на-

Рис. 4.9. Оптимизационные алгоритмы

ходятся все параметры алгоритмов, в том числе и их названия. Поэтому без модуля алгоритмов пакет ничего собой не представляет.

Щелкнув по выпадающему списку методов оптимизации, пользователь может выбрать один из них. На странице появится панель алгоритма. Описа- ние панели алгоритма также входит в состав модуля оптимизационных мето- дов.

В настоящей версии программного продукта доступны следующие оп- тимизационные процедуры:

– метод полного перебора;


стей;

  • алгоритмы схемы МИВЕР с независимым распределением вероятно-




  • алгоритмы схемы МИВЕР с независимым распределением вероятно-

стей для задач безусловной оптимизации;

    • различные вариации алгоритмов схемы МИВЕР, в том числе с исполь- зованием непараметрического оцениванияфункционала

    • случайныйперебор,

    • алгоритмы направленного случайногопоиска,

    • алгоритмы метода локальногопоиска,

    • секущиеалгоритмы.


Рис. 4.10. Панель метода полного перебора

На панели алгоритма отображается инфор- мация о параметрах алгоритма и информация, описывающая работу алгоритма в реальном вре- мени (рис. 4.10). Например, на панели метода полного перебора в реальном времени отобража- ются следующие параметры: номер итерации (i); значения элементов вектора, в котором в данный момент просчитывается значение функционала; минимальное значение функционала среди уже просмотренных точек области определения целе- вой функции (Fmin); значения компонент векто-

ра из числа уже просмотренных, при котором значение целевой функции обратилось в Fmin (Xmin), а также на панели отображается шкала прогресса алгоритма (процент просмотренных точек).

Перед тем как запустить алгоритм оптимизации из схемы МИВЕР, пользователь должен задать параметры алгоритма. В выпадающем списке пользователь должен выбрать метод пересчета вектора вероятностей (по умолчанию выбирается ARSA – СПА), в строках редактирования установить значения параметров R и r алгоритма.


n
Затем нажатием кнопки «Optimize » пользователь может запустить оптимизационнуюпроцедуру.Послеэтогонапанелиотобразитсявеличина, характеризующаяпроцентточек,вкоторыхбудетпросчитанозначениецеле- войфункции,отчислаточекизмножествабулевыхпеременныхB2.Впро- цесседействияалгоритмаоптимизациинапанелиметодавреальномвремени будет отображаться следующая информация (рис.4.11):

  • номера итераций (i – общий цикл, k – внутренний цикл, j – цикл гене- рациивекторов);

  • число сгенерированныхвекторов;

  • число обращений к целевойфункции;

  • шкалы общего прогресса алгоритма и прогресса по внутреннему цик-

лу;

  • значения компонент вектора вероятностей, представленные ввиде

диаграммы;

  • максимальные и минимальные значения целевой функции среди про- считанных на очередном этапе работы алгоритма и векторы, при которых функционал принимает этизначения.





распределением вероятностей.
Оптимизационный процесс может быть прерван в любой момент време- ни нажатием кнопки «Stop ».

В дальнейшем планируется дополнить пакет следующими свойствами:

  • переход к современному однодокументному интерфейсу пользователя (SingleDocumentInterface);

  • представление структуры системы управления в графическомвиде;

  • включение в задачу проектирования системы управления временных и ресурсных требований(ограничений);

  • пополнение библиотеки оптимизационныхпроцедур;

  • реализация абсолютной модульности (реализация оптимизационных процедур не в одном, а в нескольких подключаемых модулях, что позволит облегчить подключениеалгоритмов);

  • введение параметровоболочки;

  • развитие файлов оперативной документации (on-linehelp).

По завершении работы алгоритма на панели отображается решение и значение целевой функции в полученном векторе (рис. 4.12). Также в соответ- ствии с полученным решением обновляется информация в таблице значений компонент вектора участия и на панели, описывающей надежность и стои- мость системы.


Рис. 4.12. Панель результатов
Таким образом, в пакете «NVSDesigner» можно реализовывать одно- критериальные модели и алгоритмы формирования технологического цикла управления (ТЦУ) и мультиверсионного ПО исполнения задач управления с использованием подхода объектно-ориентированного программирования.

1   2   3   4   5   6


написать администратору сайта