Содержание к диссертации
Введение
Глава 1. Анализ методов и средств синтеза моделей проектных решений в системах проектировния 11
1.1. Процесс проектирования, системы моделирования и проектирования аппаратных средств 11
1.1.1. Структура процесса проектирования 11
1.1.2. Типовые маршруты и процедуры проектирования 13
1.1.3. Анализ систем проектирования и моделирования аппаратуры 14
1.2. Методы автоматизации функционально-логического проектирования 19
1.2.1. Методы и средства, применяемые в функционально-логическом проектировании 19
1.2.2. Уровни и языки моделирования функциональных схем 22
1.3. Анализ систем синтеза структурно-функциональных моделей с применением искусственного интеллекта 25
1.3.1. Методы и средства, применяемые в интеллектуальных сапр 26
1.3.2. Методика описания объектов проектирования в интеллектуальных САПР 27
1.3.3. Методы автоматизации синтеза проектных решений с применением ИИ 29
1.4. Анализ моделей представлений знаний в системах искусственного
интеллекта, применяемых в САПР 31
1.4.1. Модели представлений знаний в системах ИИ 31
1.4.2. Сетевые модели знаний. Нейронные, семантические сети в системах ИИ 36
1.5. Методы классификации 39
1.6. Анализ недостатков применяемых средств представления и обработки проектных решений САПР 44
1.7. Постановка задачи 47
Глава 2. Разработка нейро-семантического подхода обработки лингвистических структурно-функциональных моделей 51
2.1. Разработка структуры и определение требований к системе анализа ЛСФМ на базе НСП 51
2.2. Разработка метода анализа и обработки ЯО на базе НСП 55
2.3 Разработка языка описания с классификационным признаком для описания структурно-функциональных моделей 60
2.4. Система лексического анализа ЯО (СЛА ЯО) на базе нейронной сети 63
2.5. Система синтаксического анализа ЯО (ССА ЯО) 74
2.6. Классификация ЛСФМ на базе сетей кохонена 77
2.7. Разработка метода хранения ЛСФМ 87
2.8. Выводы 92
ГЛАВА 3. Разработка метода синтеза артефактов ЛСФМ с применением НСП... 94
3.1. Разработка метода преобразования описания артефакта СФМ на БОА в
шаблон 94
3.1.1. Выявление зависимостей между входными ячейками и ячейками памяти и выходами 97
3.1.2 Анализ зависимостей в СФМ на БОА 104
3.1.3. Выводы 114
3.2. Разработка элементов алгебры разбора описания ЛСФМ 115
3.2.1. Определение алгебры разбора СФМ 115
3.2.2. Операции алгебры разбора СФМ 115
3.2.3. Тождественные преобразования в алгебре разбора СФМ 122
3.2.4. Описание синтаксиса алгебры разбора описания СФМ на БОА в БНФ-грамматике 123
3.3. Структурно-функциональное проектирование в САПП ЛСФМ 124
3.3.1. Технология процесса проектирования СФМ в САПП 124
3.3.2. Разработка метода автоматизации процессов проектирования СФМ с применением НСП 129
3.3.3 Система информационного поиска артефактов в БД 134
3.3.4 Разработка языка запросов для информационного поиска 140
3.4. Применение сао в реинжиниренге ЛСФМ 141
3.5 Оценка эффективности обработки ЛСФМ НСП 143
3.6. Выводы 147
Глава 4. Инструментальная среда проектирования структурно-функциональных моделей 149
4.1. Архитектура системы структурно-функционального моделирования 152
4.2. Система анализа сфм построенная на базе НСП 155
4.3. Подсистема преобразования описания в унифицированную форму 160
4.4. Подсистема классификации описания 166
4.5 Хранение СФМ (БД) 169
4.6 Преобразование описания на БОА в ПБОА 170
4.7. Блок интерфейса с проектировщиком 173
4.8. Выводы 176
Заключение 177
Литература
- Типовые маршруты и процедуры проектирования
- Разработка метода анализа и обработки ЯО на базе НСП
- Выявление зависимостей между входными ячейками и ячейками памяти и выходами
- Система анализа сфм построенная на базе НСП
Введение к работе
Актуальность проблемы
Для исследования свойств объектов проектирования используется моделирование. С точки зрения описания объекта проектирования, системы моделирования делятся на системы с графическим вводом и системы, использующие языки описания (ЯО). Системы с графическим вводом являются более наглядными, но не обладают теми преимуществами, которые имеют системы на ЯО (создание систем любой сложности, возможность удобной отладки и верификации, возможность повторного использования кода и т.д.).
Современное состояние в области САПР можно охарактеризовать следующими положениями:
Появилось множество проектов, выполненных с применением различных языков описания. Проектные решения часто хранятся не в должном объеме и форме. Этот недостаток проявляется при передаче проекта из одной среды в другую или при попытке использовать готовое решение другими проектировщиками.
Современные САПР должны не только сохранять результаты проектной деятельности, но и обладать средствами интеграции с другими системами проектирования, средствами обработки полученного опыта с последующим использованием различными проектировщиками. Из-за увеличения количества языков описания аппаратуры средства моделирования должны иметь возможность адаптации под различные формы описания объекта проектирования, иметь единую базу данных проектов.
Этап проектирования, связанный с построением структурно-функциональной модели на языке описания, на данный момент слабо автоматизирован. Это связано, в частности, со сложностью обработки описания моделей. Большинство операций синтеза в системах моделирования проектировщик выполняет вручную.
Автоматизация синтеза лингвистических структурно-функциональных моделей (ЛСФМ) в большинстве систем проектирования реализуется за счет использования шаблонов. Для описания шаблонов используются специальные функции и языки. Зачастую шаблон представляет собой описание интерфейса структурного элемента, подґотовленного для внесения в него описания архитектуры. Одним из требований к системам проектирования является наличие средств генерация нового шаблона по результатам разбора модели на языке описания.
Существующие коммерческие системы проектирования реализуют синтез ЛСФМ за счет встроенных фирменных алгоритмов, но являются закрытыми системами. Поддерживаемые средства проектирования заставляют пользователя действовать в рамках применяемых класса устройств и языков. Настройка системы проектирования на новый язык описания, без внесения изменений в программный код, не доступна.
Таким образом, в области САПР актуальной и имеющей большое практическое значение задачей, является разработка методов и средств обработки ЛСФМ, позволяющих проводить анализ, классификацию, хранение в единой базе данных и преобразование описания моделей в форму шаблона для реализации процедур синтеза. Разрабатываемые методы должны реализовывать в системе проектирования возможность адаптации под требуемое описание модели, без внесения изменений в программный код.
Целью работы является сокращение сроков проектирования за счет исследования и разработки методов и средств обработки лингвистических структурно-функциональных моделей цифровых аппаратных средств (ЦАС).
В соответствии с поставленной целью в работе формулируются и решаются следующие задачи исследований.
1. Разработка языка описания структурно-функциональных моделей на базе расширения языка моделирования VHDL.
2. Разработка нейро-семантической сети (НСС) для анализа и классификации лингвистических структурно-функциональных моделей.
3. Разработка единой унифицированной формы хранения лингвистических структурно-функциональных моделей.
4. Разработка способа преобразования описания ЛСФМ в форму шаблона, позволяющую осуществить автоматический синтез.
5. Разработка средств интеллектуального поиска в БД ЛСФМ ЦАС.
Объектом исследования является автоматизация процесса обработки ЛСФМ ЦАС.
Предметом исследования являются разработка комплекса методов на основе НСС и программных средств, обеспечивающих автоматизацию обработки ЛСФМ ЦАС.
Методы исследования основаны на использовании положений и методов теории алгоритмов, теории множеств, теории алгоритмических алгебр, теории графов, теории параллельного программирования и параллельных сетевых схем алгоритмов, теории построения систем искусственного интеллекта, а также использовании основ системотехники и теории автоматизированного проектирования.
Научная новизна определяется разработанным подходом обработки лингвистических структур но-функциональных моделей. Предложенный подход позволяет автоматизировать процесс обработки лингвистических структурно-функциональных моделей со следующими возможностями: 1) настраивать систему проектирования под требуемую форму языкового описания, без изменения программного кода системы проектирования, 2) унифицировать форму хранения артефактов ЛСФМ, 3) классифицировать описание модели, с возможностью обучения системы под новые классы объектов, 4) автоматизировать процесс построения шаблонов артефактов ЛСФМ.
В результате проведенных исследований получены следующие результаты:
1) Разработан язык описания структурно-функциональных моделей проектных решений (БОА - базовый язык аппаратуры), отличающийся от известных наличием классификационных меток используемых объектов, что позволяет проводить анализ и классификацию артефактов ЛСФМ в системах проектирования, созданных на базе НСС.
2) Разработан нейро-семантаческий подход обработки ЛСФМ, сущность которого определяется хранением формы и правил описания объектов в нейро- подобных структурах, связанных с семантической сетью, хранящей правила обработки описания, что позволяет проектировщику индивидуально настраивать среду проектирования.
3) Разработана нейро-сетевая модель классификации объектов проектирования на базе карт Кохонена, что позволяет классифицировать артефакты лингвистических структурно-функциональных моделей проектных решений, созданных на разных языках описания.
4) Разработан метод построения шаблонов, который заключается в выявлении зависимостей переменных, составляющих структуру объектов ЛСФМ ЦАС. Это позволяет сократить время создания шаблонов для автоматизации синтеза моделей.
5) Предложены элементы алгебры преобразования описания модели на языке БОА в шаблон, которые позволяют задавать правила преобразования описания ЛСФМ.
Практическая ценность
1) Разработана форма храпения артефактов ЛСФМ ЦАС, которая позволяет хранить в единой базе модели, описываемые на различных языках описания.
2) Разработана методика и алгоритм преобразования структурно-функциональных моделей на БОА в форму шаблона, что позволяет использовать разработанные артефакты моделей при автоматическом синтезе новых ЛСФМ.
3) Разработан язык запросов к БД моделей, который позволяет задать в запросе проектировщика структурные и функциональные вариации параметров, хранимых артефактов моделей, с различным коэффициентом (уровнем)совпадения.
4) Разработана архитектура и реализованы компоненты системы проектирования SMAPU SMAPU - система структурно-функционального проектирования с использованием НСС для обработки лингвистических структурно-функциональных моделей. Использование НСС позволяет сократить сроки разработки модели объектов проектирования, унифицировать форму хранения артефактов, настраивать форму описания моделей под индивидуальные требования проектировщиков. Компоненты SMAPU позволяют;
- разрабатывать структури о-функциональную модель на ЯО;
- транслировать модель на ЯО, осуществлять ее отладку и верификацию;
- визуализировать процесс функционирования модели в текстовом и графическом виде;
- разрабатывать графическое представление объектов структурно-функциональной модели;
разрабатывать графическое представление структурно-функциональной модели в целом;
- использовать для проектирования библиотеку графических и языковых описаний объектов ЛСФМ ЦАС;
- генерировать описание процессоров управления на языке БОА на основе представленных данных функционирования устройства;
- настраивать систему под требуемое описание модели. Редактировать, добавлять в графическом виде лексические и синтаксические конструкции языка. Производить настройку нейро-семантической сети для профилирования и классификации моделей;
- преобразовывать описание артефактов ЛСФМ ЦАС на БОА в форму шаблона на ПБОА (ПБОА - промежуточный язык, язык описания шаблонов);
- классифицировать, преобразовывать и добавлять описание новых моделей в БД;
- обновлять из архива или через сеть Internet библиотеку элементов.
На систему моделирования SMAPU получено три СВИДЕТЕЛЬСТВА (РОСПАТЕНТ) об официальной регистрации программы для ЭВМ № 2004611286, 2004611289, 2004611290.
Реализация и внедрение результатов работы
Разработанная система проектирования SMAPU и методика построения шаблонов внедрены в учебный процесс Ульяновского государственного технического университета (г. Ульяновск), в проектную деятельность научно технического центра "МЕТА" (г, Тольятти), общества с ограниченной ответственностью "Микро" (г. Ульяновск).
Апробация работы
Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях: 5-ой Международной научно-технической конференции: «Интерактивные системы: проблемы человеко-компьютерного взаимодействия», г. Ульяновск, 2004; Международной конференции «Континуальные алгебраические логики, исчисления и нейроинформатика в науке и технике» (КЛИН-2005), г. Ульяновск, 2005; 6-ой Международной научно-технической конференции: «Интерактивные системы: проблемы человеко-компьютерного взаимодействия», г. Ульяновск, 2005; на заседании кафедры «Вычислительная техника» (Ульяновск, 2006). Ежегодных внутривузовских конференциях профессорско-преподавательского состава, г. Ульяновск, 2004, 2005, 2006.
Публикации
По материалам диссертации опубликовано 11 печатных работ. Получено три СВИДЕТЕЛЬСТВА (РОСПАТЕНТ) об официальной регистрации программы для ЭВМ№ 2004611286, 2004611289, 2004611290.
Структура и объем работы
Диссертационная работа состоит из введения, четырех глав с выводами, заключения, библиографического списка использованной литературы, изложенных на 187 страницах машинописного текста, а также приложения, на 72 страницах машинописного текста, содержит 32 рисунка и 5 таблиц. Список литературы включает 141 наименование.
Типовые маршруты и процедуры проектирования
Маршрутом проектирования называется последовательность проектных процедур, ведущая к получению требуемых проектных решений. Проектные процедуры делятся на процедуры синтеза и анализа. Процедуры синтеза используются для создания описаний проектируемых объектов с целью отображения структуры и параметров объекта.
Процедуры анализа заключаются в исследовании проектируемого объекта для проверки его работоспособности.
Для построения маршрута проектирования производят: расчленение сложной задачи синтеза на более простые задачи промежуточных проектных решений, чередование процедур синтеза и верификации, применяют итерационность проектировния, усиление анализа (усложнение моделей) по мере приближения к окончательному проектному решению.
Существуют два подхода к верификации проектных процедур: аналитический и численный. Аналитический подход основан на использовании формальных методов доказательства соответствия двух сравниваемых описаний. Численный подход основан на математическом моделировании процессов функционирования проектируемых объектов.
Моделирование - это исследование объекта путем создания его модели и оперирования ею с целью получения полезной информации об объекте.
При функциональном проектировании моделируют состояние или процессы — последовательности сменяющих друг друга состояний объекта. Такое моделирование осуществляется с помощью функциональных математических моделей.
Верификация[88] на основе моделирования заключается в установлении соответствия проектного решения, представленного математической моделью, исходному (эталонному) описанию, заданному в виде ТЗ.
Модель проектного решения (Мпр) и эталонная модель (Мэт) должны при совпадающих внешних условиях приводить к одинаковым, в пределах заданной точности, зависимостям. Идентичность внешних условий означает, что в моделях Мпр и Мэт должны использоваться одинаковые векторы внешних параметров. Соответствие моделей устанавливается по совпадению выходных параметров. Выходные параметры — это величины, характеризующие свойства системы. Типичные примеры выходных параметров, например, задержка распространения, уровень выходного сигнала, частота генерируемых сигналов.
Проектные процедуры синтеза делятся на структурные и параметрические.
Процедуры структурного синтеза по характеру проектируемого объекта делятся на синтез схем (принципиальных, функциональных, структурных, кинематических и др.), конструкций (определение геометрических форм, взаимного расположения деталей), процессов (технологических, вычислительных и др.), документации (чертежей, пояснительных записок, ведомостей и др.).
Основные процедуры параметрического синтеза — оптимизация номинальных значений параметров элементов и их допусков. Идентификация моделей заключается в расчете параметров, используемых в модели. Для процедур оптимизации, как правило, требуется выполнение большого объема вычислений с помощью сложных программных комплексов,
Для описания моделей схем были разработаны специальные искусственные языки - языки описания (HDL, hardware description languages), покрывающие основные понятия, существенные для проектирования цифровых систем.
Языки описания являются достаточно мощным средством для поддержки проектирования или моделирования аппаратуры, предоставляющие возможность разработчику всесторонне описать структуру и/или работу устройства. Существует большое количество таких языков; AHDL [121], VHDL [129, 138, 139], Verilog[130], HDL, Abel и др. Известны также случаи использования стандартных языков программирования, например Си, для описания структуры БИС.
Ряд языков описания аппаратуры (AHDL, Abel) предназначены для описания систем на ПЛИС, другие появились изначально как средство моделирования цифровых систем, а затем стали инструментом их описания,
С точки зрения описания моделей, системы проектирования делятся на системы с графическим вводом данных и системы основанные на HDL,
В обоих типах присутствуют свои достоинства и недостатки. Рассмотрим системы со следующих позиций: сложность и время создания проекта, наглядность, отладка и верификация, возможность повторного использования, проекты с управляющими блоками, синтез проекта
Сложность и время создания проекта. Этот вопрос является наиболее важным и существенным. При разработке больших проектов, применение систем с графическим вводом схем практически неприемлемо- Большая сложность схем, огромное количество соединений, которые, в принципе, во время разработки являются лишними, отвлекают внимание проектировщика и замедляют списание проекта. В соответствии с этим время создания проекта возрастает. На небольших проектах применение той или иной систем не вызывает в этом отношении вопросов. В этом случае они могут применяться на равных.
Наглядность. Вопрос наглядности разрабатываемого проекта стоит также очень важно. Хотя вопрос наглядности может рассматриваться двояко. С одной стороны, следует разделить наглядность конечной схемы, когда проектировщик держит под контролем текущий состав схемы и наглядность ее работы. Системы с графическим вводом информации очень наглядны в первом аспекте и практически неработоспособны во втором. Возможно посмотреть только результаты работы. Т.е. на этапе разработки любой элемент представляет из себя черный ящик зависимости выходов от входов.
Разработка метода анализа и обработки ЯО на базе НСП
Основная цель САО - оценить по параметрам качества представленные ЛСФМ. Т,к. объектами САО являются отдельные элементарные объекты, входящие в структуру ЛСФМ и вся модель в целом, то параметры между ними различаются. Для элементарного объекта параметрами считаются; время срабатывания, функциональные и структурные параметры, а для модели только структурные особенности.
Поскольку речь идет о структурно-функциональных моделях, методы и средства оценивания параметров предназначены для решения, прежде всего, задачи влияния аппаратных решений на свойства разрабатываемой схемы.
Для того, чтобы оценить СФМ в целом, необходимо использовать методы оценки структурных и функциональных особенностей, описание которых представлено в виде программы на языке описания и методы измерения параметров в ходе испытания модели проектировщиком. Важную роль при этом играют средства поддержки накопления артефактов проектирования в БД, а также средства анализа ЯО. Первые позволяют наращивать результаты измерений одних и тех же или функционально близких реализаций сопоставимых по функциональным возможностям моделей и расширяют пространство сопоставляемых решений за счет таких, для которых моделирование было проведено ранее.
Структурно-функциональная модель на ЯО представляет собой совокупность фрагментов, каждый из которых подразделяется на структурную и функциональную часть, В совокупности структурная и функциональная части представляют собой элементарный объект. Вся модель представляет собой отдельный уникальный объект, включающий в свою структуру описанные ранее элементарные объекты и связи между ними.
В ходе анализа описания артефакта СФМ на ЯО необходимо решить две задачи: - провести преобразование описания СФМ в унифицированную форму; - провести анализ и классификацию- В процессе анализа необходимо определить структурные и функциональные особенности элементарных объектов СФМ.
Для решения этих задач необходимо описание лингвистических структурно-функциональных моделей рассматривать с двух точек зрения: языкового описания модели (при анализе рассматривается описание с точки зрения грамматики языка); структурно-функционального представления СФМ, при этом модель рассматривается как совокупность связанных, структурно-функциональных объектов.
Рассматривая модель как языковое описание, необходимо, чтобы система имела возможность анализировать представляемое описание. Если система не может распознать представленное описание, то необходимо иметь возможность настройки (обучения) системы проектирования под новое представление ЛСФМ. Для обучения системы проектирования на новое описание нужно иметь в ее составе "удобно" настраиваемый транслятор. Стандартные методы построения трансляторов не дают такой возможности, тж. внесение изменений в правила написания и составления слов требует внесения изменений в программном коде системы проектирования. Главной сложностью является хранение всех лексических и синтаксических правил в группе взаимосвязанных таблиц, что не позволяет без дополнительных инструментальных средств наглядно вносить изменения.
Как было показано в первой главе, перспективным методом анализа естественных языков являются нейронные сети, а семантические сети являются математическим аппаратом, позволяющим отражать смысловое содержание объектов предметной области. Т.к. естественные языки сложнее, чем языки описания, то можно говорить о возможности применения комплекса данных аппаратов для обработки артефактов ЛСФМ.
Нейронная сеть позволяет обрабатывать язык описания как функцию некоторой алгебры. Функции строятся из отдельных нейронов, выполняющих операции дизъюнкции, конъюнкции, отрицания и т.д. Отдельный нейрон обозначает элементарное понятие анализируемого языка. Семантическая сеть позволяет отобразить порядок и правила применения операций для определения структурно-функциональных особенностей и параметров модели из выявленных нейронной сетью конструкций языка.
Выявление зависимостей между входными ячейками и ячейками памяти и выходами
Рассмотрим процесс-разбора объекта, описанного в артефакте СФМ, на языке БОА. Описание объекта на БОА представляет следуюшую конструкцию: ENTITY NameObjeci і IDENTJ, INPUTi, IDENTJnINPUTn, IDENTO, OUTPUT,, IDENTOnOUTPUTn, IDENTj TYPEb IDENTnTYPEn, } ARCHITECTURE NamcObjcct { IDENTJ -FnflDENTJJ, IDENTj = Fn(]DENTJj), lDENT_Oh = FKflDENT,), 1DENT Om = FK(IDENT_IH), h где IDENTJ, , IDENT_In , IDENTO, , IDENT_On, IDENT, , IDENTn -структурные элементы объекта (входа, выхода, ячейки памяти), Fn, FK -функции прямой и косвенной зависимости переменных,
В конструкции языка ENTITY объявляются структурные элементы описанного объекта проектирования. К таким структурным элементам относятся входы, выходы и ячейки памяти, участвующие в преобразовании выходов в зависимости от входов. При анализе данной конструкции языка происходит выявление описанных выше структур и для каждой из них создается новый элемент в так называемой "активной" цепочке.
Активная цепочка в данном преобразовании служит для записи зависимостей, выявленных в ходе анализа описания объекта Конструкция ARCHITECTURE служит для анализа входных сигналов и формирования выходных. Описание производится с помощью стандартных конструкций языка: условий, циклов, математических операции.
В ходе анализа функциональной части выявляются функции зависимости структурных элементов объекта.
Введем две функции зависимостей структурных переменных объектов; функция прямой (Гп) и косвенной (Q зависимости.
Определение. Функция зависимости называется прямой, если при анализе описания функциональной части объекта на входном языке возможно однозначно определить функцию преобразования одной структурной переменной от другой.
Определение. Функция Ф зависимости называется косвенной, если при анализе описания функциональной части объекта на входном языке определить функцию преобразования одной структурной переменной от другой не возможно.
Функция fK введена для того, чтобы выявить устройства следующего вида: дешифраторы, шифраторы, устройства памяти (блок микрокоманд, микроопераций), блоку управления и т.д. В данных устройствах сложно выявить прямые зависимости выходных сигналов от входных, т.к. выход может формироваться в ходе условных операций или операций, которые осуществляются после операций преобразования входов.
Введем следующие правила вычисления функций друг относительно Друга: 1) fn(ij) = fn(kj), если 3(fn(i, k), fn(k,j)); 2) fK(ij) = fu(kj)f если 3(fK(i, k), fn(kj))3(f„(i, k), fK(k, j)); 3) fK(ij) = fK(kj), если 3(fK(i,k), fK(k, j)).
При описании объектов на языке описания в одном выражении определить зависимости выходов от входов получается достаточно редко-Достаточно простые конструкции, описываемые проектировщиком в виде объекта модели, могут содержать подобное описание. Например, поступление без преобразования входных сигналов на выход с задержкой времени. Но чаще проектировщики описывают преобразование входных сигналов с заданным алгоритмом и в зависимости от результата данного преобразования формируются выходные сигналы.
Для определения преобразований введем следующие условия, 1) Если при анализе выявлены только fn, то необходимо задать направление заполнения. 2) Если при анализе не -возможно выявить ґП(ПЙЬ]Хї Пвх)? то необходимо задать правило преобразования fn(fK) такое, чтобы вычислялось (ҐЛ(ПВЬІХ, i),3 fn(j, nM))v(fn(j, ПвО.эЩТвых» і)) , где i,j - переменные участвующие в преобразовании. Вычисление fnQ, Пвк) или ,(ПВШ, і) определяется направлением заполнения. URX - переменная, отвечающая за вход, Пшх переменная, отвечающая за выход. Рассмотрим пример описания дешифратора на БОА: ENTITY Deshifrator ( Jnpm[0 4] IN, Output[0 И] OUT, Ch[0 11] BIT, } ARCHITECTURE Deshifrator { Ch=\y WHILECInpuU O) і Ch«U Input=lnput-l, _ Косвенная зависимость. Ch от Input Output=Ch after I, 5 Преобразование входа Формирование выхода Прямая зависиость
В показанном примере нет прямых зависимостей переменной выхода от переменной входа. Но есть прямая зависимость от структурной переменной Ch, которая формируется в ходе операций преобразования переменной входного сигнала. Прямой зависимость переменной Ch от входа также выявить не удается. Зависимость Ch от Input можно выявить только косвенно. Ch изменяется в ходе применения операции цикла, в условии которой содержится входная переменная Input. Следовательно выявляется косвенная зависимость структурной переменной Ch от входной переменной Input, Согласно второму правилу ( fK(Output,Input) = fK(Ch,Input), если 3( fn(Output, Ch), fK(Ch, Input)) ) существует косвенная зависимость переменной выхода Output от Input.
Таким образом, процесс анализа объектов представленных на БОА сводится к следующему: 1) Анализ блока Entity и определение входных, выходных сигналов и внутренних переменных. 2) Анализ блока Arhitecture и определение функций зависимостей выходных сигналов от входных. Преобразование языка описания СФМ в ПБОА происходит в ходе анализа грамматики языка. При этом выявляются зависимости между конструкциями (переменными) языка.
Система анализа сфм построенная на базе НСП
Система анализа СФМ, построенная на базе НСП, является надстройкой в системе моделирования SMAPU. Данная система является воплощением разработанного нейро-семантического подхода для анализа языковых описаний моделей, Анализ описания СФМ происходит в несколько этапов. Структурно САСФМ представлена на рис. 2,3. Система извлечения данных из артефактов СФМ
Данная система предназначена для анализа и классификации языкового описания структурно-функциональной модели проектного решения. Т,к-языковое описание может быть в различном виде (с различной семантикой и синтаксисом), то система должна также преобразовывать описание модели в унифицированный вид.
Система извлечения данных из артефактов СФМ состоит из трех подсистем: - подсистемы анализа языкового описания СФМ; - лексический анализатор; - синтаксический анализатор; - подсистемы преобразования описания в унифицированную форму; - система контекстного анализа; - система генерации схемного представления; - подсистемы классификации описания; Подсистема анализа языкового описания СФМ Предназначена для анализа любого языкового описания, на которое настроена подсистема и реализации возможности настройки системы на новое языковое описание. Для реализации всех заданных требований в подсистеме анализа языкового описания СФМ использован нейро-семантический подход, представленный на рис. 2.16.
Лексический анализатор представляет собой нейронную сеть, которая построена по адаптивно-резонансной теории. Нейроны делятся на 3 типа: нейроны, различающие зарезервированные слова, нейроны, различающие идентификаторы и нейроны, различающие числа.
Нейроны первого и третьего слоя имеют в программе идентичную структуру, но отличаются функцией обработки. Нейроны, различающие идентификаторы, объявлены в программе как структура и имеют следующий вид: где Input - вход нейрона. Для того чтобы нейрон сработал необходимо подать на Input цепочку символов. N - порядковый номер нейрона- Порядковый номер введен для того, чтобы пользователю легче было редактировать весовые связи у управляющего нейрона. Assoc - цепочка символов на которые должен реагировать нейро (признак ассоциации). Если нейрон распознает идентификаторы, то в данном признаке должен находится алфавит, из которого могут строится идентификаторы языка. Zamena - выходная цепочка нейрона. N_Deistrviy - номер действия нейрона. Данный параметр введен для упрощения добавления новых нейров. При работе нейронной сети существует 3 процедуры, соответствующие трем типам нейронов, и данный номер указывает, какая из процедур должна обрабатывать данные нейрона- Sviz[Max__Sviz] -количество выходных связей нейрона. Если управляющих нейронов несколько, то, устанавливая выходы в 1 или 0, можно регулировать на какие управляющие нейроны можно отправлять сигнал выхода. Str_Out - данный параметр введен для упрощения работы нейронной сети- В нем содержится оставшаяся часть от входной цепочки, на которую не было реакции нейрона. Out - сигнал срабатывания нейрона. Time - сигнал очистки (обнуление выходов), Lang -порядковый номер языка, который обрабатывает нейрон. Этот параметр введен не для лексического анализатора, а для системы преобразования унифицированного вида, хранящегося в БД проектного решения, в языковое описание, указанное пользователем. Zn_Chislo - сохраняет числовое значение, если на вход было подано число.
Управляющий нейрон организует работу нейронов предыдущего слоя: где N-порядковый номер управляющего нейрона. Input - сигнал входа о том, что сработал один из нейронов предыдущего слоя. Vesa[Max SvizUpN] — веса выходов с нейронов предыдущего слоя. Эти веса позволяют определить какой выход нейронов считать приоритетным. С помощью данных весов пользователь может настраивать анализатор под свои правила обработки описания. Out - сигнал о том, что сработал управляющий нейрон. Time - сигнал сброса управляющего нейрона нейрона. Zn_Str_Smena - строка выхода с управляющего нейрона. Zn_Chislo - значение числового выхода с управляющего нейрона, если реакция была нейрона обработки числа.
Анализ лексики происходит с преобразованием в промежуточное представление. Промежуточное представление представляет из себя замену всех зарезервированных слов, символов, идентификаторов и чисел на жестко заданные в программе символы.