ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.896
А. Н. АФАНАСЬЕВ, В. С. ХОРОДОВ
РАЗРАБОТКА МОДЕЛИ УПРАВЛЕНИЯ ЗАДАЧАМИ В СИСТЕМЕ РАСПРЕДЕЛЁННОГО ПРОЕКТИРОВАНИЯ УИБЬ-ПРОГРАММ
Посвящена управлению проектными задачами в системе распределённого проектирования. Описаны сценарии поиска и формирования операторов параллельной сетевой схемы задач. Рассмотрены основные типы связей между этими операторами. Описаны роль и назначение операторов декомпозиции, синтеза в процессе управления проектными задачами.
Ключевые слова: САПР, VHDL, потоки работ, распределённое проектирование.
Введение
В настоящее время большое внимание уделяется системам поддержки процессов, в которых критически важную роль играет координация действий участников. Системы управления потоками работ активно развиваются и имеют много областей применения. Проектирование вычислительных устройств на языке описания аппаратуры не является исключением. Большую роль в управлении потоками работ играют стандарты технологии workflow, разрабатываемые коалицией Workflow Management Coalition WfMC) [1]. Современные системы управления потоками работ обладают ограниченными возможностями в области распределения задач и определения последовательности выполнения задач. Ввиду того, что повседневная работа по проектированию связана с использованием нескольких систем (в том числе и системы управления потоками работ наряду с другими), актуальным является объединение нескольких систем и создание единой рабочей площадки.
Под управлением процессом проектирования будем понимать совокупность действий по планированию, координации и контролю выполнения проектных работ для реализации целей проектов с учётом ограничений на доступные ресурсы.
Для разработки сложных VHDL-программ в [2] предложена система распределённого проектирования, в которой возникает задача управления потоками проектных работ. Ниже предлагается модель управления задачами (работами), позволяющая эффективно организовать коллективное проектирование VHDL-объектов.
© Афанасьев А. Н., Хородов В. С., 2015
В качестве основы использована модель параллельного управления работами [3].
Параллельной сетевой схемой задач (ПССЗ) будем называть кортеж
PNST = (G(P, A), COM, CON, F, N), где G(P, A) - граф ПССЗ, в котором P - множество вершин-операторов, A - множество дуг, COM -множество составных операторов и CON - множество условных операторов. В графе выделя-
T>E
ются вершины выполнения P , декомпозиции
PD и синтеза PS . В множестве составных операторов выделяются операторы проектных задач
COMT, декомпозиции COMD и синтеза COM S . Выделяются дуги разветвления AC , декомпозиции AD и синтеза AS . Отображение вершин графа на множество составных операторов имеет вид F : N ^ COM . В множестве условных операторов выделяются условные операторы проектных задач CONT, декомпозиции
CONd и синтеза CONS. Отображение дуг графа на множество условных операторов имеет вид N: A ^ CON. В составных и условных операторах используются элементы множеств проектных задач (T), условий переходов к следующим операторам (C), а также безусловный переход (т) и маска (M). Составной оператор проектных задач представляет собой совокупность задач, выполнение которых происходит последовательно. Составной оператор синтеза представляет собой совокупность проектных решений, являющихся атрибутами в операторах, и оператора синтеза, выполнение которого приводит к формированию нового проектного решения и разрешает переход к выполнению последующих задач только тогда, когда все
предыдущие будут выполнены. Составной оператор декомпозиции представляет собой совокупность проектных задач и оператора декомпозиции, выполнение которого приводит к полуавтоматическому разбиению задачи на подзадачи. Такие задачи могут выполняться независимо друг от друга с произвольным сдвигом во времени. Обобщённый условный оператор выполнения проектных задач представляет собой совокупность условий и маски. В статье [4] приведено математическое определение составных операторов.
Использование операции маскирования операторов позволяет выполнить кластеризацию множества задач и организовать поиск по параметрам и контексту как проектных задач, так и проектных решений.
Существующие системы управления задачами по способу формирования управления можно разбить на две группы.
1. Ручное управление движением задач через встроенный редактор.
2. Управление задачами по шаблону в виде бизнес-процессов.
В нескольких системах успешно применяются обе модели для управления задачами. Дальнейшее описание направлено на развитие этих моделей путём добавления в аппарат ПССЗ возможности как ручного управления задачами, так и автоматического.
Сценарии поиска и создания операторов ПССЗ
Для описания механизма структурного поиска задач-прецедентов в БД введём следующие обозначения: О - множество хранимых операторов ПССЗ в БД, ор7 е О, где ор7 - 7-й оператор ПССЗ. Каждый оператор в своей структуре содержит одну или несколько проектных задач ^ е ор7, где ] = 1..т7, т7 - количество проектных задач в 7-м операторе. Введём оценки параметров спецификации = (51$2,...$к), к >0. Пусть оценка каждого параметра Sf выражается действительным числом, принадлежащим некоторому интервалу. Для определённости примем, что чем больше значение тем важнее для пользователя данный параметр. Поисковый запрос рассматривается как виртуальная задача vt, которая содержит параметры спецификации. Введём функцию сравнения двух задач сотрЕипс^ь t2). При сравнении в идеальном случае сотрЕипс^, 0, т. е. задача t точно соответствует виртуальной задаче vt.
Используя введённые обозначения, определим следующие поисковые задачи и их результаты.
1. Выполнить поиск
(opj е O) | compFunc (vt, t, е op) -> min. Если результаты поиска (opj е O) = 0, то в O отсутствуют операторы, релевантные поисковому запросу. При (opj е O) = 1 есть единственный подходящий оператор. Если (opj е O)> 1, то таких операторов несколько.
2. Выполнить поиск
(opj е O) I compFunc (vt, t, е opj) < А, где А — оценка наибольшего допустимого расхождения смыслов поискового запроса и искомых операторов.
3. Выполнить поиск.
(opj е O) | compFunc (vt, t7 е opj) < А && S(op) -> max.
Результатом поиска является подмножество операторов ПССЗ, которым соответствует наибольшая оценка важности f-го параметра.
Поисковые результаты выводятся с сортировкой по релевантности. В случае, когда поисковый запрос выдал результаты, проектировщик может ими воспользоваться с целью автоматической декомпозиции проектного устройства, описанного спецификацией. Данные результаты могут помочь проектировщику получить декомпозированные проектные задачи путем редактирования определённых параметров задач-прецедентов, или он может воспользоваться результатами в качестве справки.
Рассмотрим второй метод. В случае, когда поисковый запрос не выдал результатов, на основе спецификации автоматически формируется или дополняется оператор ПССЗ. Алгоритм перехода от спецификации к оператору ПССЗ имеет вид:
1. Анализ созданной спецификации и формирование проектной задачи. Переход к шагу 2.
2. Поиск оператора, описывающего родительский элемент. При наличии оператора -переход к шагу 3, а при его отсутствии - к шагу 6.
3. Поиск оператора для интеграции проектной задачи, учитывая возможность использования проектного решения, полученного при решении данной задачи, в качестве независимого компонента. При наличии оператора — переход к шагу 6, а при его отсутствии - к шагу 4.
4. Подсчёт количества дочерних операторов в родительском элементе. Если количество операторов больше 0, то переход к шагу 5. В противном случае - к шагу 7.
5. Изменение существующего типа родительского элемента на оператор декомпозиции. Создание оператора синтеза и установка с ним связи всех дочерних элементов первого уровня вложенности. Переход к шагу 6.
Таблица 1
Типы связей между задачами и операторами ПССЗ
Наименование связи
Вид связи
Описание связи
Предшествование
( PI j <TiT2„. Tn, Mi>
Ç рГ) <TJ2 ...Tm,M2>
Выполнение задач второго оператора начинается после завершения всех задач первого оператора
Отношение
Задачи выполняются параллельно
Потоков объектов
Выполнение задач второго оператора начинается после завершения всех задач первого оператора. При этом результатом работы первого оператора является объект. Эта связь также означает что объект, порождаемый первым оператором, используется в последующих работах
Декомпозиция
Устанавливается между оператором декомпозиции и задачами, полученными в результате выполнения этого оператора
Синтез
Устанавливается между оператором синтеза и задачами, для которых необходимо провести процедуру синтеза с целью получения проектного решения
Условное предшествование
Выполнение задач второго оператора начинается не только после завершения всех задач первого оператора, но и выполнения определённого условия
Поиск проектировщика для решения проектной задачи. Переход к шагу 7.
Добавление / редактирование оператора в БД ПССЗ.
Установка связей между проектными задачами и операторами в ПССЗ происходит согласно стандарту ГОБР3 [5]. Выделяются шесть типов связей, обозначения, наименование и описание
которых, приведены в табл. 1.
На рис. 1 приведён пример ПССЗ, содержащей все шесть типов связей, которые были описаны в табл. 1. Данный пример показывает возможную структуру ПССЗ через взаимосвязи между операторами. Каждой вершине графа ПССЗ (Р) соответствует составной оператор. Информационная составляющая оператора
предназначена для хранения совокупности проектных задач (Т). Дуги в ПССЗ представляют условия (С) перехода к выполнению следующего оператора. Оператор декомпозиции (Б) предназначен для организации процесса распараллеливания задач. Оператор синтеза (8) отвечает за объединение проектных решений, являющихся атрибутами составных операторов, в единое проектное решение. Одним из элементов управляющей составляющей ПССЗ является маска (М), которая представляет собой совокупность параметров проектных задач. Использование операции маскирования позволяет кластеризовать множество задач и производить поиск по параметрам и контексту.
Рис. 1. Пример ПССЗ
Укрупнённый алгоритм расчёта типовой инженерной задачи включает в себя следующие основные этапы: предварительный анализ задачи; препроцессинг; формирование решения; постпроцессинг; испытания [6]. На этапе предварительного анализа задачи определяется спецификация проектируемого устройства. На этапе препроцессинга формируется ПССЗ, по которой и будет вестись дальнейшая работа над проектом. На этапе формирования решения создаются структурно-функциональные лингвистические модели (СФЛМ) устройства. На этапе постпро-цессинга анализируется общая модель устройства, полученная путём синтеза, в результате чего вносятся изменения в СФЛМ и производится возврат к этапу формирования решения или переход к этапу испытаний и формирования тестов.
Для формирования ПССЗ в ручном режиме удобно использовать операции преобразования и подстановки, применение которых существенно уменьшает время формирования модели управления задачами.
Операция преобразования
Данный вид операции применяется при внесении изменений в структуру ПССЗ в ходе проектирования.
Определение 1. Операцию преобразования оператора COMi в схеме PNST будем обозначать PNSTCOM\COM) и производить заменой всех вхождений оператора COM i на оператор COM j, то есть в графовой интерпретации заменой каждой вершины P на вершину Pj вместе с соответствующей заменой входящих и исходящих дуг A на дуги Aj. Операция преобразования определена, если операторы COMi и COM j являются операторами одного типа: составными операторами декомпозиции или синтеза.
Операция подстановки
Данный вид операции применяется при начальном формировании ПССЗ, описывающего процесс проектирования вычислительного устройства.
Определение 2. Операцию подстановки подсхемы PNSTi в схему PNST вместо оператора COM j е COM будем обозначать
PNST = PNST (COM j ^ PNST i) и производить заменой всех операторов COM j на подсхему PNSTi.
В качестве примера подстановки в схему Р№Т вместо операторов СОМ1 и СОМ2 соответственно подсхем Р№Т и РШТ2, то есть операция подстановки имеет вид
РШТ = РЫЩСОМ1 ^РЖТ1,СОМ2 ^Р№Т2).
Операция подстановки может быть определена с удалением начальной СОМ0 и конечной
СОМК вершин подставляемой подсхемы РЖТг.
Заключение
Предложенная модель управления задачами в системе распределённого проектирования УИБЬ-программ позволяет распределить задачи между проектировщиками и организовать их взаимодействие. Решение задачи декомпозиции основано на анализе спецификаций проектируемого устройства.
Предложены алгоритмы поиска задач-прецедентов и назначения задачи проектировщику. Алгоритмы обеспечивают повышение качества управления процессом коллективного проектирования за счёт сокращения времени на формирование повторных задач.
3. Афанасьев А. Н. Методология графоаналитического подхода к анализу и контролю потоков работ в автоматизированном проектировании сложных компьютеризованных систем // Вестник УлГТУ . - 2011. - №3(55). - С. 48-52.
4. Хородов В. С. Модель управления потоками работ в системе распределённого проектирования УИБЬ-объектов // Технические науки - от теории к практике: сборник статей по материалам XXXVII Международной научно-практической конференции. - Новосибирск : СибАК. -2014. - №8(33). - С. 6-11.
5. Ковалев С. М., Ковалев В. М. Современные методологии и стандарты описания бизнес-процессов: преимущества, недостатки и области применения // Справочник экономиста. - 2006. -№11.
6. Криштофик А. М., Медведев С. В., Иванец Г. Г., Гусев С. В. Решение инженерных задач в машиностроении с использованием суперкомпьютерных и грид-технологий // Суперкомпьютерные системы и их применение: 88А'2010: III Международная научная конференция. -Минск: ОИПИ НАН Беларуси, 2010. -С.141-152.
СПИСОК ЛИТЕРАТУРЫ
1. Вил ван дер Аалст, Кейс ван Хей. Управление потоками работ. Модели, методы и системы. - М. : Физматлит, 2007. - 315 с.
2. Афанасьев А. Н., Хородов В. С. Распределённое проектирование структурно-функциональных моделей, представленных на языке VHDL // Вестник УлГТУ. - 2014. - №2 (66). -С. 41-45.
Афанасьев Александр Николаевич, доктор технических наук, проректор по дистанционному и дополнительному образованию УлГТУ, профессор кафедры «Вычислительная техника» УлГТУ.
Хородов Виталий Сергеевич, аспирант кафедры «Вычислительная техника» УлГТУ.
Поступила 09.02.2015 г.