Первоисточник: Баркалов А.А., Зеленёва И.Я., Ковалёв С.А., Гриценко А.А. "Модельно-ориентированный подход к разработке САПР управляющих автоматов" (конференция Таганрог-2006, май)
УДК 681.324
Баркалов А.А., Зеленёва И.Я., Ковалёв С.А., Гриценко А.А.
Модельно-ориентированный подход к разработке
САПР управляющих автоматов
Введение
В
настоящее время наиболее распространенной парадигмой проектирования цифровых
систем является объектно-ориентированная парадигма, предоставляющая
разработчикам широкие возможности. В то же время намечаются пути перехода к
новой -
модельно-ориентированной - парадигме
проектирования. Объектно-ориентированный подход составляет часть этой
парадигмы, как способ реализации модельных решений.
Данная
статья рассматривает вопросы, связанные с проектированием и разработкой
специализированных модельно-ориентированных САПР. В качестве объекта
специализации выбраны управляющие автоматы.
Предлагаемая
модельно-ориентированная САПР (МО САПР) управляющих автоматов предназначена для
разработки моделей управляющих автоматов с их последующей автоматизированной имплементацией на языках описания аппаратуры и
высокоуровневых языках программирования. МО САПР использует для построения
моделей графическую нотацию, которая представляет собой подмножество UML нотации и обеспечивает возможности оптимизации моделей и их дополнительной
обработки перед имплементацией.
1. Постановка задачи
Наиболее
актуальными проблемами современного проектирования цифровых систем, и
управляющих автоматов в частности, являются
[1, 4]
- повышение уровня абстракции модели;
- отделение предметной области от области
реализации;
- документирование принятых решений.
Повышение
уровня абстракции ведет к построению более универсальных моделей. Такие модели
позволяют решать более широкий круг задач, связанных с объектом моделирования,
без изменения самой модели. Абстрактные модели легче расширять и адаптировать
для решения круга частных задач, связанных с изменением набора свойств объекта
моделирования.
Отделение
предметной области от реализации дает возможность решать поставленные задачи в
терминах той предметной области, которой данная задача принадлежит. Данный
вопрос ранее приобрел актуальность при
объектно-ориентированном подходе, а для модельно-ориентированной системы такой
подход должен быть основным.
Модельно-ориентированный
подход не отделяет процесс документирования от процесса проектирования,
предполагая их параллельное и взаимосвязанное прохождение. Проектная информация
автоматически преобразуется в документацию в соответствии с принятыми
стандартами.
Наиболее
полным и универсальным стандартом проектирования для объектно-ориентированного
подхода на данный момент является UML – унифицированный
язык моделирования. Данный язык имеет ряд преимуществ [1-3]:
-
графическая нотация
позволяет совместить графическое представление проекта и его
автоматизированную обработку;
-
поддержка профилирования позволяет специализировать
язык под определенную предметную область с минимальным отклонением от
первоначального стандарта;
-
использование большого набора диаграмм моделирования
позволяет максимально эффективно осветить все компоненты модели (статическое
моделирование) и полностью описать ее поведение (динамическое моделирование);
-
поддержка синтаксически правильных и незавершенных
моделей даёт возможность постоянного контроля за текущим состоянием модели, а также для
создания промежуточных моделей.
Таким образом, специализированная
модельно-ориентированная САПР – это
система, предназначенная для моделирования объектов некоторой предметной
области, предоставляющая возможности по построению, тестированию и контролю
моделей, получению объектно-ориентированных реализаций моделей с учетом выбора
как платформы реализации, так и ее свойств. Построение моделей представляет
собой процесс проектирования с использованием UML нотации.
2. Структура МО САПР УА
Структурно
МО САПР предлагается разбить на несколько модулей. Основным требованием такой
декомпозиции является возможность независимого использования сред оптимизации и
конструкторов модели. Пользователь выбирает требуемые ему модули, при этом МО
САПР определяет их наличие, тип и возможность работы с модулями. Базовая версия
МО САПР содержит только модуль графического интерфейса пользователя и среду
моделирования.
Структура
МО САПР приведена на рис. 1. Компоненты
МО САПР:
-
графический интерфейс пользователя
предоставляет доступ к различным средам САПР;
-
среда моделирования – основная среда МО САПР (при этом среды оптимизации
и конструкторы модели могут работать в полностью автоматическом режиме, без
предоставления интерфейса пользователя);
-
среда оптимизации – дополнительная среда САПР, которая преобразует
семантическую модель и/или параметры развертывания в соответствии с выбранным
алгоритмом оптимизации или для выбранного аппаратного базиса (целевого типа
ПЛИС);
-
конструктор модели поддерживает возможность автоматической имплементации модели для различных программных и аппаратных
платформ [2], а также обеспечивают полную инкапсуляцию процесса преобразования
семантической информации и параметров развертывания в конечный проект имплементации.
Рисунок 1. - Структура МО САПР УА (согласно стандарту UML 2.0)
3. Семантическая модель и
параметры развертывания
Семантическая модель представляет
собой описание работы отдельной компоненты автомата, которое в свою очередь
включает описание набора входных и выходных сигналов компоненты и описание
поведения компоненты в зависимости от входных сигналов. Входные сигналы делятся
на два типа – сигналы от объекта управления, которые моделируются при
описании прецедентной модели, и внутренние сигналы модели, которые
используются при взаимодействии различных компонент управляющего автомата (сигнал
синхронизации вырабатывается встроенной компонентой генератора, которая может
быть добавлена в модель при управлении проектом моделирования).
Количество
семантических моделей соответствует количеству компонент автомата. Схема
управления моделью автомата (рис. 2) показывает декомпозицию автомата на
составляющие части и определение интерфейсов между ними. Автомат считается
компонентой высшего уровня и его интерфейс представляет собой интерфейс с
объектом.
Параметры развертывания описывают
связи между семантическими моделями компонент в соответствии с результатами
моделирования взаимодействий. Параметры развертывания также включают данные,
необходимые для имплементации модели автомата
(в частности, информацию об артефактах и манифестации [1]).
Связи
между семантическими моделями строятся на базе интерфейсов, которые в общем
виде определяются при управлении проектом модели на основе статического
моделирования сигналов, а затем
конкретизируются при моделировании взаимодействия.
Рисунок 2. - Пример модели автомата МО САПР УА
Заключение
Предлагаемая
модельно-ориентированная САПР управляющих автоматов представляет собой
реализацию попытки перехода от традиционных подходов к проектированию и
конструированию к более абстрактному модельному подходу. В МО САПР реализованы также подходы, которые
были перенесены в UML из
объектно-ориентированных систем, в частности, декомпозиция систем, инкапсуляция
и т.д.
Использование модельно-ориентированной САПР экономически выгодно по следующим причинам:
-
удешевление стоимости конструирования в процессе разработки с
экономической точки зрения покупка модуля САПР для автоматизированного
конструирования стоит дешевле, чем оплата работы соответствующих специалистов;
-
ускорение разработки – автоматизация процесса конструирования позволяет
максимально сократить время конструирования;
-
повышение качества продукции – автоматизированное
конструирование позволяет избежать большого количества низкоуровневых
семантических ошибок;
-
использование знаний персонала в предметной области –
поддержка профилирования моделей дает возможность разрабатывать автоматы в
терминах предметной области, что в свою очередь позволяет повысить
эффективность инспекций проекта
экспертами в данной предметной
области.
Дальнейшее
развитие САПР предусматривает расширение возможностей среды моделирования,
построение эффективных конструкторов и сред оптимизации, а также исследование
вопросов, связанных со сложностью и эффективностью модельно-ориентированного
подхода.
1.
Буч Г., Якобсон А., Рамбо
Дж. UML. Классика CS. 2-е изд. / Пер. с англ.; Под общей редакцией проф. С.
Орлова – СПб.: Питер, 2006 – 736 с.: ил.
2.
Макконелл
С. Совершенный код. Мастер-класс / Пер. с англ. – М.: Издательско-торговый дом
"Русская Редакция"; СПб.: Питер, 2005.– 896
с.: ил.
3.
Fowler,
Martin.
2004. UML Distilled,
3d
ed.
Boston,
MA:
Addison-Wesley
4.
Баркалов
О.О. Синтез пристроїв керування
на програмованих логічних пристроях – Донецьк. РВА ДонНТУ,
2002. – 262 с.
5.
Соловьев В.В. Проектирование цифровых систем на основе
программируемых логических схем.–М.:
Горячая линия-Телеком,
2001.– 636 с.