автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Разработка методов и средств многоагентного распределенного автоматизированного проектирования структурно-функциональных лингвистических моделей вычислительных устройств
Автореферат диссертации по теме "Разработка методов и средств многоагентного распределенного автоматизированного проектирования структурно-функциональных лингвистических моделей вычислительных устройств"
На правах рукописи
Хородов Виталий Сергеевич
РАЗРАБОТКА МЕТОДОВ И СРЕДСТВ МНОГОАГЕНТНОГО РАСПРЕДЕЛЕННОГО АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ СТРУКТУРНО-ФУНКЦИОНАЛЬНЫХ ЛИНГВИСТИЧЕСКИХ МОДЕЛЕЙ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ
Специальность: 05.13.12 - Системы автоматизации
проектирования (промышленность)
Автореферат
диссертации на соискание ученой степени кандидата технических наук
12 Ш 2015
005570803
Ульяновск - 2015
005570803
Работа выполнена на кафедре «Вычислительная техника» ФГБОУ ВПО «Ульяновский государственный технический университет»
Научный руководитель - Афанасьев Александр Николаевич,
доктор технических наук, доцент, профессор кафедры «Вычислительная техника» ФГБОУ ВПО Ульяновского государственного технического университета
Официальные оппоненты:
Глушань Валентин Михаилович,
доктор технических наук, профессор, профессор кафедры «Дискретная математика и методы оптимизации» Южного федерального университета
Арсентьев Алексей Владимирович,
кандидат технических наук,
доцент кафедры «Полупроводниковая электроника и наноэлектроника» Воронежского государственного технического университета
Ведущая организация - ФГАОУ ВО «Санкт-Петербургский
государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина)»
Защита состоится «30» сентября 2015 г. в 15 часов 00 минут на заседании диссертационного совета Д 212.277.01 при Ульяновском государственном техническом университете по адресу: 432027, г. Ульяновск, ул. Северный Венец, д. 32 (ауд. 211, Главный корпус).
С диссертацией можно ознакомиться в библиотеке Ульяновского государственного технического университета. Также диссертация и автореферат размещены в Internet на сайте УлГТУ - http://www.ulstu.ru/'
Автореферат разослан «08» июля 2015 г.
Ученый секретарь диссертационного совета, доктор технических наук, профессор
Смирнов Виталий Иванович
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы. Возрастание требований к функциональным характеристикам вычислительных устройств приводит к увеличению их сложности, в частности, микросхемы СБИС являются одними из самых сложных технических объектов. Для проектирования таких устройств в настоящее время используются высокоуровневые языки описания аппаратуры HDL (Hardware Descriplion Language): VHDL, Verilog, SystemC, System Verilog и др. При этом объем HDL-кода для сложных устройств может достигать нескольких сотен тысяч строк.
Для повышения успешности реализации таких проектов применяются современные парадигмы коллективного проектирования, повторного использования кода, паттернов и др. Большое внимание уделяется инструментам организации среды взаимодействия для совместной работы, используются системы автоматизации процессов управления проектами в соответствии с требованиями PMI (Project Management Institute) и стандартами ISO. Ведутся работы по созданию специализированных сред проектирования, позволяющих проводить распараллеливание проектных процедур, организовывать взаимодействие между проектировщиками путем обмена данными и сообщениями в режиме online, в короткие сроки выполнить прототипирование и др.
Российскими учеными в этой области являются Камаев В.А., Глушань В.М., Лаврик П.В., Анисимов В.И., Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А., Ильичев Н.Б., Пантелеев Е.Р., Пекунов В.В., Целищев Е.С., Адамов А.З., зарубежными - Indrusiak L.S., Udwadia F., Torlind Р. и др.
В основе организации и использования большинства HDL-языков лежит объектно-ориентированный подход. Такие языки удобно использовать как на этапах проектирования, так и верификации проекта, а созданные проектные решения могут быть использованы в течение длительного промежутка времени без внесения изменений в код. Язык описания аппаратуры VHDL, обладая возможностью структурно-функционального представления проектируемого устройства, служит основой для формирования структурно-функциональных лингвистических моделей (СФЛМ), которые являются методологической и практической основой проектирования сложных вычислительных устройств. Под СФЛМ понимаются объекты, представленные на языке VHDL, состоящие из структурной и функциональной частей. Использование СФЛМ обеспечивает решение задач проектирования вычислительных устройств по разработке интерфейсной части устройств, структуры и функционирования устройств, а также верификации.
Основными трудностями в процессе коллективного распределенного проектирования сложных HDL-проектов являются организация эффективного взаимодействия проектировщиков на основе современных web-технологий при решении взаимосвязанных задач проекта, управление задачами проекта, накопление базы проектных решений для ее после,дующего эффективного использования.
В современных системах коллективной разработки сложных программных продуктов (например, GIT, SVN, Mercurial и т.п.) используются механизмы сохранения этапов разработки, создания веток для работы над отдельными задачами с последующим слиянием в автоматическом/пользовательском режиме, ведения версий проекта с возможностью возврата к предыдущим версиям. При этом для управления задачами используются ручное управление потоком задач через встроенный редактор и/или управление задачами по шаблонам бизнес-процессов в системах управления проектами. Практическое кодирование производится в системах другого типа, что затрудняет «привязку» задач к разработанному коду.
Указанные системы контроля версий, работая только с текстом, не могут в полной мере учесть специфику сложных HDL-проектов, заключающуюся в проектировании и верификации единой сущности «структура устройства + функционирование устройства». HDL-языки предназначены для сквозного функционально-логического проектирования, поддерживают различные уровни абстракции проекта, включая поддержку особенностей архитектуры (architecture-specific design), являясь основным средством проектирования, моделирования и документирования от уровня вентилей до уровня цифровых систем.
Как правило, повторное использование кода при проектировании вычислительных устройств предполагает его частичное изменение, а не просто использование по принципу «As is» («Как есть»). Процесс написания reusable (многократно используемого) кода очень важен. Использование готового кода, который является работоспособным и был тщательно протестирован, оказывается экономически более выгодным в 90% случаев для компаний производителей. В случае использования готового модуля сторонний разработчик может вообще не знать о внутреннем устройстве, при этом ему важен лишь интерфейс и принцип работы.
Таким образом, в области автоматизированного проектирования сложных HDL-проектов актуальной и имеющей большое практическое значение научно-технической задачей является разработка методов и средств распределенного проектирования СФЛМ, позволяющих организовать взаимодействие между проектировщиками, которые находятся на удаленном
расстоянии друг от друга, для решения проектных задач и получения проектных решений.
Разрабатываемые методы должны обеспечить возможность распределенного формирования проектных решений коллективом проектировщиков путем их создания как с «нуля» в виде УНОЬ-кода, так и из шаблонов СФЛМ с частичной доработкой. В процессе формирования проектного решения применение методов управления проектными задачами, поиска и синтеза проектных решений должны способствовать оптимизации управления сложными процессами проектирования УНБЬ-программ, сократить затраты разработки и повысить качество проектирования.
Целью диссертационной работы являются сокращение затрат на разработку и повышение качества формирования проектных решений путем реализации методов и средств коллективного распределенного проектирования, позволяющих управлять процессом проектирования и создавать базу проектных решений, элементами которой являются СФЛМ для их повторного использования.
В соответствии с поставленной целью в работе формулируются и решаются следующие задачи исследования.
1. Анализ методологий, методов и средств построения распределенных и многоагентных систем коллективного проектирования.
2. Разработка многоагентной системы коллективного распределенного проектирования на основе СФЛМ.
3. Разработка модели системы распределенного проектирования (СРП) СФЛМ на базе цветных сетей Петри и проведение анализа на ее основе с целью верификации СРП, проверки сценарного взаимодействия агентов СРП.
4. Разработка методов управления проектными задачами и процессом получения проектных решений.
5. Разработка методов формирования, синтеза и поиска СФЛМ в СРП.
6. Разработка программно-информационного обеспечения СРП.
Объектом исследования является автоматизация процесса формирования
проектного решения при распределенной работе нескольких проектировщиков с проектными задачами.
Предметом исследования являются модели, методы и средства распределенного проектирования, используемые для организации коллективной работы и обеспечивающие автоматизацию процесса формирования проектного решения, представленного в виде СФЛМ.
Методы исследования основаны на использовании теории многоагентных систем, теории графов, теории сетей Петри, теории построения \уеЬ-ориентированных САПР, теории баз данных.
Научная новизна полученных в диссертации результатов теоретических и экспериментальных исследований определяется разработанными методами и средствами, лежащими в основе организации и функционирования СРП СФЛМ. В результате исследований получены следующие результаты.
1. Предложена новая архитектура многоагентной системы СРП, включающая структуру подсистем и агентов, отличающаяся составом, типами и функциональностью агентов, и позволяющая обеспечить коллективное распределенное проектирование сложных VHDL-объектов.
2. Предложен новый метод управления задачами в СРП, отличающийся использованием разработанной ассоциативно-ориентированной параллельной сетевой схемой задач (ПССЗ) и позволяющий оптимально организовать выполнение проектных задач.
3. Предложен новый метод формирования библиотек VHDL-программ, которые позволяют многократно использовать проектные решен™ или модифицировать их с учетом новых задач, применяя концепцию повторного использования (Reuse). Данный метод, в отличие от существующих, позволяет наполнять библиотеку СФЛМ, которые были созданы с применением концепции MVC для разделения интерфейсов, описаний функционирования, структур проектируемых устройств и представлений.
Практическая ценность
Практическими результатами диссертационной работы являются.
1. Разработана модель архитектуры системы распределенного проектирования на базе цветной сети Петри, позволяющая провести имитационное моделирование с целью анализа и верификации нового функционала при масштабировании системы или внесении изменений в существующий функционал.
2. Разработано программное обеспечение web-ориентированной многоагентной СРП.
3. Разработан web-ориентированный транслятор, позволяющий обнаруживать ошибки в описании на VHDL при проектировании устройства и формировать СФЛМ из этого описания.
4. Разработан распределенный поиск проектных решений, представленных в виде СФЛМ.
5. Разработан аппарат управления процессом распределенного проектирования путем формирования операторов в ПССЗ.
На защиту выносятся следующие новые и содержащие элементы новизны основные результаты.
1. Организация распределенного проектирования сложных УНОЬ-объектов в виде многоагентноП системы, содержащей 8 типов агентов с их ролевой функциональностью.
2. Механизмы управления процессом проектирования через аппарат ПССЗ.
3. Применение концепции МУС на этапе формирования проектируемого устройства из совокупности СФЛМ.
4. Разработанное программно-информационное обеспечение СРП.
Реализация и внедрение. Результаты работы внедрены в АО «Ульяновский
механический завод» путем использования в корпоративной компьютерной среде обучения предприятия, в ООО «Разработка кибернетических систем» путем использования в процессе разработки проектов, а также в учебный процесс кафедры «Вычислительная техника» УлГТУ.
Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на следующих Международных и Всероссийских конференциях: VIII Международной научно-практической конференции «Объектные Снстемы-2014», г. Шахты, 2014; VIII Международной научно-практической конференции «Системы проектирования, моделирования, подготовки производства и управление проектами С Л Э/С А М/С А Е/ Р ОМ », г. Пенза, 2014; Всероссийской научно-технической конференции «Информатика и вычислительная техника», г. Ульяновск, 2014; Всероссийской школе-семинаре «Информатика, моделирование, автоматизация проектирования», г. Ульяновск, 2013-2014; Конгрессе по интеллектуальным системам и информационным технологиям «18&1Т'14», п. Дивноморское, 2014; XXXVII Международной научно-практической конференции «Технические науки — от теории к практике», г. Новосибирск, 2014.
Публикации. По теме диссертации опубликованы 15 печатных работ, в том числе 5 статей в изданиях, входящих в перечень ВАК РФ. Получено 1 СВИДЕТЕЛЬСТВО (РОСПАТЕНТ) об официальной регистрации программы для ЭВМ №2015610356.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав с выводами, заключения, списка литературы, изложенных на 210 страницах машинописного текста, а также приложения на 38 страницах машинописного текста, содержит 55 рисунков и 34 таблицы. Список литературы включает 157 наименований.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность исследуемой проблемы, сформулированы цель и задачи диссертационной работы, перечислены полученные в диссертации новые результаты, их научная и практическая ценность, представлены положения, выносимые на защиту, и описана структура диссертации.
В первой главе «Методологии, методы и средства распределенного проектирования СФЛМ» проводится анализ предметной: области исследований. Рассмотрены ее основные понятия: «распределенное проектирование», «многоагентные системы», «структурно-функциональные лингвистические модели», а также проанализированы обобщенные подходы к проектированию, структурные элементы процесса проектирования и существующие методологии распределенного решения задач и построения многоагентаых систем.
Проанализирована структура языка VHDL, описаны его основные функциональные блоки. Исследованы особенности иерархического проектирования, которое используется для больших проектов с участием коллектива разработчиков.
Рассмотрена методология «потоков работ» Workflow и ее использование для описания и реализации распределенных вычислительных процессов, в рамках которых производится координированное взаимодействие набора распределенных ресурсов.
Рассмотрена методология сопряженного проектирования, описывающая процесс параллельного проектирования аппаратных и программных средств, при котором происходит оценка целесообразности выбора аппаратной или программной реализации определенной части проекта.
Рассмотрена методология параллельного проектирования в распределенной управляемой среде разработки проектов, построенной: в виде совокупности объединенных в сеть автоматизированных рабочих мест, осуществляющих доступ к общей базе проектов.
Рассмотрена методология сервис-ориентированной архитектуры, как один из подходов к созданию современных корпоративных информационных систем, представляющая собой набор бизнес-методов, организационных методов, методов управления и технических методов для создания гибкой бизнес-среды.
Рассмотрена методология агентно-ориентированного анализа и проектирования.
Исследованы основные направления разработки распределенных, многоагентных систем и описаны технологии, использующиеся при создании подобных систем.
Проанализированы современные, имеющие широкое применение на практике средства работы с VHDL-кодом в процессе проектирования вычислительных устройств (ВУ), их функциональные возможности с точки зрения коллективной работы, создания библиотек VHDL-программ и синтеза проектных решений. Рассмотрены организация и функционирование систем коллективного распределенного программирования GIT, SVN, Mercurial, выявлен ряд их недостатков при возможном использовании для создания HDL-проектов.
Обобщены достоинства и недостатки существующих подходов и методов коллективного проектирования при разработке сложных устройств ВУ на языках описания аппаратуры.
Сформулирована постановка задачи, в которой выделяются существующие проблемы в рассматриваемой предметной области и намечаются пути их решения в рамках диссертационной работы.
Во второй г лаке «Разработка многоагентной структуры системы распределенного проектирования СФЛМ» рассмотрены вопросы организации и функционирования многоагентной СРП. Представлена типовая схема процесса проектирования ВУ на HDL. Описаны этапы и задачи процесса, предложено 8 типов агентов, разработано их функциональное назначение. Определены роли и место агентов в процессе проектирования.
Общая структура многоагентной СРП представлена на рис. 1. Предложены следующие типы агентов.
Интерфейсный агент (interface agent [INA]) выполняет связующую роль агентов.
Агент управления проектными задачами (management agent project tasks [МАРТ]) выполняет формирование ПССЗ и распределение проектных задач между проектировщиками.
Агент разработки проектного решения (agent designer project solution [ADPS]) выполняет операции, связанные с созданием проектного решения на языке VHDL, т.е. формированием СФЛМ, шаблона СФЛМ и проведением лексического и семантического анализа кода.
Агент синтеза проектных решений (agent synthesis project solution [ASPS]) выполняет поиск готовых к объединению проектных решений, созданных проектировщиками, а также их синтез в единое проектное решение.
Агент маршрутизации (router agent [ROA]) выполняет связующую роль между локальными или распределенными агентами, расположенными на других серверах, которые выполняют роль хранения или разработки проектных решений.
Поисковый агент (search agent [SEA]) выполняет формирование запроса на поиск проектного решения и кластеризацию данных с целью сокращения времени поиска данных.
Агент базы данных (agent data base [ADB]) выполняет операции по работе с базой данных.
Агент рабочей памяти (agent working memory [AWM]) управляет состоянием системы и распределением нагрузки как на агентов, так и на всю систему.
Рис. 1. Структура многоагентной СРП
Формальное определение многоагентной СРП имеет следующий вид: MAS = (Ag,R,En), где множество агентов Ag состоит из подмножеств агентов, относящихся к разным типам.
Ag = AgINA yj Аёмлрт и AgADPS и ASasps и AgROA ^ AgSlU и AgADB и AgAWU, R = {Rx,R2,...,Rm} — множество взаимодействий между агентами. En = {Dev. Т, SFLM, PNST} - внешняя среда, Dev = {Devl,Dev2,...,DevF}~ множество проектировщиков.
Работая в системе СРП, проектировщик совершает определенные действия. ActDev = {ActDevl,ActDev2,--,ActDevL} -множество действий проектировщика. Т = {TX,T2,...,TL} — множество проектных задач в СРП, Tj = {Dev,Name,Descr,Time,Prj ,GitBranch) - проектная задача,
Name - название проектной задачи, Descr - описание проектной задачи, Time -время реализации проектной задачи, Prj - привязка к проекту, GitBranch — ветка разработки проектной задачи в системе контроля версий. SFLM = {SFLMx,SFLM2,...,SFLMg} - множество структурно-функциональных лингвистических моделей.
SFLMj ={Obj,Map} - структурно-функциональная лингвистическая модель, Obj = {Objl,Obj2,...,Objv} - множество объектов проектируемого устройства,
Objj ={Dec,Proc} - объект структурно-функциональной лингвистической
модели, где Dee-декларативная часть, Ргос— процедурная часть,
Map— карта назначения входных и выходных сигналов проектируемых устройств.
Параллельной сетевой схемой задач будем называть кортеж PNST = {G(P,A),COM,CON,F,N), где G(P,A) - граф ПССЗ, в котором Р -множество вершин-операторов, А — множество дуг. В рассматриваемом графе выделяются вершины выполнения проектных задач 1>т, декомпозиции Р° и синтеза Ps, а также дуги разветвления Ас, декомпозиции Л" и синтеза As . СОМ = {COMí,COM2,...,COMx} -множество составных операторов. Отображение вершин графа на множество составных операторов имеет вид: F = Лг -> СОМ.
СОМj = {T,OpListpm,OpListnext,Type,Mask} - составной оператор ПССЗ. CON = {CONí,CON2,.~,CONf} - множество условных операторов. Отображение дуг графа на множество условных операторов имеет вид:
N = A^> CON.
CONj ={T,OpListprev,OpListncx¡,Type,Cond,Mask} - условный оператор ПССЗ, где OpListprev = {Opt,Op2,...,Op7} - список предыдущих операторов, OpLisCmxt = {Opl,Op2,...,Opz} — список следующих операторов, Opj е (СОМ ¡CON),
Туре = {task, decomposition, synthesis}, где task — проектные задачи, decomposition — декомпозиция, synthesis - синтез,
Cond — условие, при котором будет осуществлен переход к следующему оператору. В случае безусловного перехода Cond = т,
Mask = {CodeMx,CodeM2,...,CodeMT} - маска оператора, описывает атрибуты проектных задач, которые участвуют/не участвуют в поиске.
10, не участвует в поиске -----.
1, участвует в поиске Ввиду того, что в СРП выделяется ряд модулей, не являющихся агентами, но которые предоставляют возможность взаимодействовать проектировщику с самой системой, введем в рассмотрение формальное определение СРП: SDD = {SysSt,In,Out,Act,DB}, где SysSt = {SysSt],SysSt2,...,SysSt0} - множество состояний, которые характеризуют ключевые этапы получения проектных решений через модули СРП, In - запрос к СРП, Out - сформированный ответ на запрос, DB - база данных СРП, Act = {Act],Act2,...,ActI,} - множество внутренних действий СРП.
Математическая модель агента многоагентнои системы имеет следующий вид: A g = {InAg, OutAg, AgSt, ActAg}, где AgSt = {AgStuAgSt2,..., AgSt к} -множество возможных состояний агента, ActAg = {ActAgl,ActAg2,...,ActAgJt} -множество действий агента.
ActAg( = {name, reciever, type mess}, где пате — наименование действия, receiver — получатель, typemess — тип отправляемого сообщения.
InAg = {Mesacl, Query} - рецепторный вход агента, который может быть в виде запроса {Query) или сообщения ACL (Mesacl).
OutAg = {Mesad, Request} - эффекторный выход агента, который может быть в виде ответа ( Request ) или сообщения ACL ( Mesaci ).
Рассматривая основные сущности СРП, такие как проектировщики, компоненты СРП, агенты, база проектных решений СФЛМ и ПССЗ, выделим следующие взаимодействия между ними.
1. Между проектировщиком и компонентами СРП.
DevxTxSysSt ActDevxSysStx[Init(Ag) = InAg] - обращение проектировщика к СРП, где Init(Ag) - функция инициализации агента путем формирования и передачи данных на его вход InAg.
InData = (Find(Dev,DB) | Pars(InJ), где функция Find{Dev,DB) ищет сообщения для проектировщика в базе данных СРГ1, а функция Pars(In) обрабатывает входные данные.
SysSt х InData —>■ Act х Out х SysSt — внутрисистемное функционирование.
SysSt х InData х Out -> (Provide(Out, Dev) = {view, false} ) x SysSt, где функция
Provide(Out,Dev) предоставляет данные проектировщику.
Рассматривая более детально процесс внутрисистемного функционирования по концепции MVC, предыдущая формула преобразуется следующим образом: SysSt x (lnDatacomroIler x InDatamelhod x InDatadala ) H- ActmoM x {Outconiro!ler x x Outmethod x Outja^)*. SysSt,
SysSt x (InDatacoMroUer x InDatamelhod x InData^ ) x (OutcontmUer x Outme,hod x x °utdaia) (ProvideiOut^^Dev) = Outview)x SysSt.
2. Между агентами, базой проектных решений и ПССЗ.
Внешняя среда агента представлена окружающими его объектами, в том числе и другими агентами. На рецепторный вход агенте! поступают сообщения, которые необходимо разобрать с помощью функции Pars(InA ) и получить
необходимые данные, или агент может сформировать входные данные сам на основе текущего состояния через функцию Create{AgSt).
InAg_data = (Create(AgSt) j Pars(InAg)) - формирование входных данных.
Функционирование агента описывается следующим образом: AgStx lnAgJala х [¡•uncDB _SFLM(Inilala, DBsrlM ) = DBSFtM _ x
x [FuncPNST(InAgihla,PNST) = PNSTKf:s]x [Change{InAg ^) = Data] -> ActAg x OutAg x AgSt,
где DBSF!M- база проектных решений СФЛМ, функция Change (InAg dala) преобразует входные данные в соответствии с внутренним состоянием агента, FuncDB _ SFLM (Indata, DBSFIM) представляет собой совокупность функций, название и результат работы (DBSFlM_RES) которых представлены в табл. 1, FuncPNST(InAg Jaia,PNST) представляет собой совокупность функций, название и результат работы ( PNST[trs) которых представлены в табл. 2.
Таблица 1. Описание функций по работе с СФЛМ и их результатов
v . -■; Уши-пи si-i.M ''DB&IM RFS
Create {true, false}
Find {SFLM, false}
Update {true, false}
Delete {true, false}
Таблица 2. Описание функций по работе с ПССЗ и их результатов
FuncPNST
CreateOperator {true, false}
FindTask {Op, false}
FindPNST {PNST, false}
FindDev {Dev, false}
UpdateOperator {true, false}
DeleteOperator {true, false}
Опишем возможные данные на рецепторных входах агентов.
1. В случае когда на вход агента поступает запрос:
InAg llata \{uid, action, controller, content}, где uid - id пользователя, action — действие, controller — контроллер, content — содержимое.
2. В случае когда на вход агента поступает acl сообщение:
InAg _djla : {uid,sender,reciever,content,reply_ with,reply_to,envelope, language, ontology, reply _by, protocol, conversation _id},
где uid - идентификатор пользователя в системе; sender — идентификатор агента-отправителя сообщения; receiver — кортеж идентификаторов агентов-получателей; content — содержимое сообщения или объект действия; reply_\vith — выражение, которое будет использоваться агентом, чтобы определить исходное сообщение при ответе на полученное сообщение; reply to — выражение, ссылающееся на раннее действие, к которому текущее сообщение является ответом; envelope — конверт, содержащий полезную информацию о сообщении, представляет собой список пар значений ключевых слов; language - обозначает кодировку содержимого; ontology - онтология, которая используется, чтобы дать смысл содержимому; reply_by — крайний срок отправки ответа на сообщение в виде времени и/или даты; protocol — идентификатор протокола, который использует агент-отправитель (протокол предназначен для формирования дополнительного контекста, служащего для интерпретации сообщения); conversation id — выражение для идентификации последовательности коммуникативных актов, которые вместе образуют «разговор»
3. Между агентом и СРП:
AgSt х InAg_ dala x OutAg -> (SaveDB{OutAg, DB) = {true, false} ) x AgSt, где SaveDB(OutA?,DB) - функция сохранения в базе СРП данных, полученных
агентом, которые необходимо предоставить проектировщику.
На основе формульных зависимостей разработана структура моделей в виде цветной сети Петри и назначения ее позиций и переходов.
Процесс получения проектного решения, начиная с формирования проектной задачи, описывается совокупностью сценариев: вход в СРП, поиск проектных задач, поиск проектировщика, поиск проектного решения, создание и верификация проектного решения, формирование модели СФЛМ, интеграция проектных решений от проектировщиков, информирование проектировщиков. Сценарии представлены в виде моделей цветной сети Петри.
В СРП возникает задача управления потоками проектных работ. Ниже предлагается ассоциативно-ориентированная модель управления задачами (работами), позволяющая эффективно организовать коллективное проектирование VHDL-объектов.
В ПССЗ составной оператор проектных задач представляет собой совокупность задач, выполнение которых, происходит последовательно. Составной оператор синтеза представляет собой совокупность проектных решений, являющихся атрибутами в операторах, и оператора синтеза, выполнение которого приводит к формированию нового проектного решения и разрешает переход к выполнению последующих задач только тогда, когда все предыдущие будут выполнены. Составной оператор декомпозиции представляет собой
совокупность проектных задач и оператора декомпозиции, выполнение которого приводит к полуавтоматическому разбиению задачи на подзадачи. Такие задачи могут выполняться независимо друг от друга с произвольным сдвигом во времени. Обобщенный условный оператор выполнения проектных задач представляет собой совокупность условий и маски.
Таким образом, передача управления в ПССЗ может быть организована одновременно по многим выходным дугам операторной вершины декомпозиции с последующим появлением условий инициирования процесса выполнения составного оператора задач. При наличии передачи управления одновременно по нескольким входным дугам операторной вершины синтеза также запускается процесс выполнения составного оператора задач. На рис. 2 приведен пример
При распределенном проектировании важная роль отводится процессу формирования и назначения проектных задач. Аппарат ПССЗ позволяет классифицировать множество проектных задач, описывающих проектные ситуации по контексту и признакам. Такая возможность позволяет
ПССЗ.
Рис. 2. Пример графа ПССЗ
оптимизировать управление сложными процессами проектирования VHDL-программ, сократить затраты на разработку и повысить качество проектирования.
Во второй главе также проводится моделирование работы СРП, рассматривается назначение и практическое применение модели в виде цветной сети Петри при проектировании и анализе системы.
Такое применение рассматривается по двум направлениям: использование модели в качестве инструмента анализа до разработки программного обеспечения с целью проверки работоспособности, выявления ошибок и узких мест в системе, из-за которых производительность или пропускная способность системы ограничена одним или несколькими компонентами или ресурсами; использование возможностей, которые предоставляет анализ модели во время функционирования системы. Цветные сети Петри позволяют однозначно идентифицировать проектировщика в системе. Решение задачи достижимости позволяет определить доступные состояния системы из текущего состояния. Типовыми проектными ситуациями при работе с системой являются: поиск проектного решения, генерирование VHDL-кода, генерирование графического представления, генерирование СФЛМ, генерирование шаблона СФЛМ и др.
Результат анализа свойства живости показывает степень работоспособности системы, помогает выявлять невозможные состояния (в частности, неисполняемые ветви функционирования системы), например, ситуации, в которых блокируются действия пользователя на одной странице в web-системе, или работа в которых не может завершиться. В цветной сети Петри анализ этого свойства проводится относительно каждого цвета (т.е. относительно каждого проектировщика, находящегося в системе). Таким образом осуществляется проверка работы в системе нескольких проектировщиков, выполняющих различные действия.
Модель системы на базе аппарата сетей Петри реализована в среде CPN Tools, которая позволяет смоделировать и проанализировать работу системы с учетом ее архитектуры, выявить наиболее загруженные элементы системы. Сетевая модель СРП показана на рис. 3.
В системе выделены следующие блоки, моделирующие процесс работы проектировщиков в системе: system entry (SEN) - система входа; system search (SSE) - система поиска; system constructor project solution (SCPS) - система конструктора проектного решения; system personal cabinet (SPC) - система личного кабинета; system managing projects (SMP) - система управления проектами; system managing project tasks (SMPT) - система управления проектными задачами; messenger (MES) — система уведомлений.
Рис. 3. Модель СРП на базе сети Петри
При моделировании работы системы задача достижимости интерпретируется как возможность перехода к некоторой типовой ситуации, под которой понимается совокупность последовательных маркировок, необходимых для перехода в интересующее состояние системы. Для этого строится дерево типовых ситуаций, переходы по которому переводят систему в выбранные состояния, минуя определенное количество промежуточных этапов. Используя свойство достижимости сети Петри, строится карта внутрисистемных переходов. На ней отображаются все переходы, но активны будут только те, в которые можно перейти из текущего состояния.
Определение свойства безопасности позволяет анализировать процесс создания проектного решения «наблюдением» за ходом выполнения проектных задач, закрепленных за проектировщиками. Так как в текущий момент у проектировщика может бьггь только одна активная задача, которую он делает и по которой ведется учет времени, анализ свойства безопасности позиций токенов определенного цвета позволяет выявить временные нарушения решения задач.
Обязательное наличие позиции-очереди у агента создает необходимость проверять данную позицию на свойство ограниченности. В случае превышения предельно допустимого количества задач, установленного в системе, запускается механизм создания копии агента и переназначения на него части задач. Освобождение ресурсов удалением копии агента из системы происходит при отсутствии задач в позиции-очереди агента.
В третьей главе «Разработка методов синтеза и анализа распределенного проектирования СФЛМ» исследуются методы и организация работы с СФЛМ в ходе распределенного проектирования. Предлагается схема применения концепции MVC для организации СФЛМ в виде трех отдельных компонентов таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные. Описывается функциональное назначение каждого компонента и приводится пример СФЛМ. Процесс работы в системе с СФЛМ по концепции MVC представлен на рис. 4.
В контроллер (SFLMController) выносятся методы для получения данных интерфейса, функциональной части и структуры из модели (SFLM). Также контроллер отвечает за получение данных о проектных задачах из ПССЗ (Parallel network scheme tasks - PNST). В качестве поисковых параметров рассматриваются: идентификаторы веток разработки (ids_pnst_branch); идентификаторы операторов ПССЗ (ids_pnst_operator); идентификаторы проектировщиков, которые решают проектные задачи (idsdesigner); временные рамки разработки (start developing, end_deve!op); стадии проектирования, такие как проектная задача, проектное решение в виде описания на языке VHDL, СФЛМ, шаблон СФЛМ, графическое представление проектного решения
(stages_development). Представление (SFLMView) отвечает за формирование вывода проектных решений.
Рнс. 4. Процесс работы с СФЛМ по концепции МУС
Исследованы способы представления проектных решений, такие как описания на HDL-языке, шаблоны, библиотеки элементов. Сформулированы их достоинства и недостатки.
Описаны сценарии поиска и создания операторов ПССЗ, назначение проектных задач проектировщикам, а также поиск проектных решений СФЛМ в базе данных СРП.
Рассмотрены способы распределенного проектирования СФЛМ, позволяющие организовать взаимодействие между проектировщиками, с целью получения проектных решений.
Проведен расчет коэффициента повторяемости кода при реализации HDL-проектов на основе СФЛМ. В среднем коэффициент повторяемости составил 25-30%, что свидетельствует о сокращении сроков проектирования.
Получена оценка эффективности применения СФЛМ, как средства формирования проектного решения, в виде оценки трудозатрат по проектированию ВУ на языке описания аппаратуры. Анализ проведен на основе метрики SLOC (Source Lines of Code). Получена оценка сокращения времени проектирования в среднем на 10% при использовании СРП и СФЛМ.
В четвертой главе «Реализация многоагентной системы распределенного проектирования» рассмотрена авторская разработка многоагентной web-ориентированной СРП SFLM CAD, в которой операции синтеза и анализа проектных решений возлагаются на агентов. Описано информационное обеспечение системы, включающее в себя внутрисистемное и внесистемное информационное обеспечение.
В составе внесистемного информационного обеспечения выделяются поставщики данных, являющиеся информационными системами, которые собирают проектные решения в виде описания устройств на языке VHDL.
В составе внутрисистемного информационного обеспечения выделяются следующие компоненты: сборщик данных, осуществляющий сборку проектных решений в виде VHDL-кода от поставщиков данных с последующим преобразованием их в СФЛМ и сохранением в базе данных; хранилище данных — предназначено для хранения данных системы, проектных решений, проектных задач, данных агентов и обмена информацией между агентами.
Описаны структура клиентской и серверной части системы, основанной на шаблоне MVC, а также базы данных. Рассмотрена ролевая политика, являющаяся следствием создания команды разработчиков. Приведено описание построения каждой подсистемы и ее функционального назначения.
В качестве примера реализации отдельных модулей web-системы приведен транслятор из VHDL-кода в СФЛМ. Приведены разработанные правила формирования СФЛМ и операторов ПССЗ.
Разработана интегрированная система проектирования и обучения, включающая СРП и систему электронного обучения автоматизированному проектированию ВУ по методологии СФЛМ. Отличительной особенностью этой системы является использование общей базы проектных решений СФЛМ. Система обучения построена на платформе Moodle. Включение проектных решений в виде СФЛМ в процесс обучения выполняет специализированный агент, предоставляющий необходимые данные по ходу индивидуальной траектории обучения. Взаимодействие системы обучения и СРП организовано в виде связи агентов интеграции. Описан API (application programming interface) системы электронного обучения, включающий функции получения обучающих материалов и проектных решений СФЛМ по метаданным.
В заключительной части главы рассмотрен процесс распределенного проектирования в созданной САПР.
В заключении сформулированы основные научные и практические результаты, полученные в результате проведенных в диссертационной работе исследований.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1. Предложена и реализована архитектура web-ориентированной многоагентной системы распределенного автоматизированного проектирования. Доступ к функционалу системы осуществляется посредством web-интерфейса с возможностью удаленной работы над проектируемым объектом. Сокращение времени проектирования в среднем составляет 10%.
2. Предложены методы управления задачами в системе распределенного проектирования и формирования библиотек VHDL-программ, позволяющие повысить качество формирования проектных решений за счет эффективной реализации потоков проектных задач, а также наполнения базы проектных решений объектами в виде СФЛМ, поиска наиболее близких проектных решений и их повторного использования.
3. На основе разработанной модели СРП в виде сети Петри получены практические результаты анализа работы СРП и функционирования агентов.
4. Разработано программно-информационное обеспечение СРП.
Публикации в журналах, входящих в список ВАК
1. Афанасьев А.Н. Система автоматизированного проектирования структурно-функциональных лингвистических моделей / А.Н. Афанасьев, B.C. Хородов // Автоматизация процессов управления. — 2014. — №4(38). - С. 92-98.
2. Афанасьев А.Н. Агентный подход к построению системы распределенного проектирования VHDL-объектов и ее моделирование на базе цветных сетей Петри / А.Н. Афанасьев, B.C. Хородов // Известия Волгоградского государственного технического университета. - 2014. Т.22. - №25(152). - С. 47-53.
3. Афанасьев А.Н. Технологии распределенного проектирования VHDL-объектов / А.Н. Афанасьев, B.C. Хородов // Вестник Ижевского государственного технического университета. — 2014. — №4 (64). — С. 131-134.
4. Afanasev A.N. Software system of distributed design of complex VHDL objects / A.N. Afanasev, V.S. Khorodov // Software & Systems. -2015.-№1 (109).-pp. 42-47.
5. Афанасьев А.Н. Разработка и моделирование распределенной системы проектирования VHDL-объектов / А.Н. Афанасьев, B.C. Хородов // Автоматизация. Современные технологии. - 2015. - №4. - С. 34-40.
Свидетельства о регистрации ПО для ЭВМ
6. Афанасьев А.Н. Web-ориентированный транслятор VHDL описаний в шаблоны структурно-функциональных лингвистических моделей / А.Н. Афанасьев, B.C. Хородов // Свидетельство о государственной регистрации программы для ЭВМ № 2015610356 от 12 января 2015 г.
Другие публикации
7. Хородов B.C. WEB-ориентированный подход к построению САПР / B.C. Хородов // Информатика, моделирование, автоматизация проектирования: сборник научных трудов Всероссийской школы-семинара. - Ульяновск: УлГТУ, 2013.-С. 184-190.
8. Хородов B.C. Технологии распределенного проектирования / B.C. Хородов, А.Г. Игонин // Вестник Ульяновского государственного технического университета. - 2014. - №1. — С. 55-59.
9. Афанасьев А.Н. Распределенное проектирование структурно-функциональных моделей, представленных на языке VHDL / А.Н. Афанасьев, B.C. Хородов // Вестник Ульяновского государственного технического университета. - 2014. - №2. - С. 41-45.
10. Хородов B.C. Проектирование многоагентной распределенной системы создания проектных решений с использованием структурно-функциональных лингвистических моделей / B.C. Хородов // Объектные системы: материалы VIII Международной научно-практической конференции. - Ростов-на-Дону: ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова, 2014. - С. 19-23.
11. Хородов B.C. Разработка методов синтеза распределенного проектирования структурно-функциональных лингвистических моделей / B.C. Хородов // Системы проектирования, моделирования, подготовки производства и управление проектами CAD/CAM/CAE/PDM: сборник статей по материалам VIII Международной научно-практической конференции. - Пенза: Приволжский Дом Знаний,2014.-С. 83-86.
12. Афанасьев А.Н. Моделирование распределенной системы проектирования VHDL-объектов / А.Н. Афанасьев, B.C. Хородов // Информатика и вычислительная техника: сборник научных трудов Всероссийской научно-технической конференции. - Ульяновск: УлГТУ, 2014. - С. 21-33.
13. Афанасьев А.Н. Модель управления потоками работ в системе распределенного проектирования VHDL-объектов / А.Н. Афанасьев, B.C. Хородов // Технические науки - от теории к практике: сборник статей по
материалам XXXVII Международной научно-практической конференции. №8(33). - Новосибирск: СибАК, 2014. - С. 6-11.
14. Афанасьев А.Н. Распределенное проектирование структурно-функциональных лингвистических моделей / А.Н. Афанасьев, В.С. Хородов // Труды Конгресса по интеллектуальным системам и информационным технологиям «IS&IT' 14». - М.: Физматлит, 2014. - Т. 1. - С. 331-337.
15. Хородов В.С. Разработка методов и средств многоагентного распределенного автоматизированного проектирования структурно-функциональных лингвистических моделей вычислительных устройств / В.С. Хородов // Информатика, моделирование, автоматизация проектирования: сборник научных трудов Всероссийской школы-семинара. - Ульяновск: УлГТУ, 2014.-С. 191-197.
16. Афанасьев А.Н. Разработка модели управления задачами в системе распределенного проектирования VHDL-программ / А.Н. Афанасьев, В.С. Хородов // Вестник Ульяновского государственного технического университета. -2015. -№2. - С. 33-38.
Принятые сокращения и обозначения
ACL - Agent Communication Language
API - Application Programming Interface
CPN - Coloured Petri Nets
HDL - Hardware Description Language
ISO - International Organization for Standartization
MVC - Model View Controller
PMI - Project Management Institute
VHDL - Very high speed integrated circuits Hardware Description Language
БД — база данных
ВУ - вычислительные устройства
ПССЗ — параллельная сетевая схема задач
САПР — система автоматизированного проектирования
СБИС — сверхбольшая интегральная схема
СРП - система распределенного проектирования
СФЛМ — структурно-функциональная лингвистическая модель
Хородов Виталий Сергеевич
Разработка методов и средств многоагеитного распределенного автоматизированного проектирования структурно-функциональных лингвистических моделей вычислительных устройств
Автореферат
Подписано в печать 06.07.2015. Формат 60x84/16. Усл. печ. л. 1,4. Тираж 100 экз. Заказ 599.
ИПК «Венец» УлГТУ, 432027, г. Ульяновск, Северный Венец, д. 32.
-
Похожие работы
- Исследование путей и возможностей создания автоматизированной системы идентификации объектов
- Исследование и реализация систем поддержки истинности для задач диагностики
- Исследование и разработка многоагентных информационных систем с элементами адаптации и самоорганизации
- Метод формирования распределенных онтологий в многоагентных системах поддержки принятия решений органов власти субъектов России
- Проектирование систем управления сложными информационными процессами с применением многоагентной технологии
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность