МАТЕМАТИЧНЕ ТА КОМП'ЮТЕРНЕ МОДЕЛЮВАННЯ
МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
MATHEMATICAL AND COMPUTER MODELLING
УДК 681.324
А. А. Баркалов, И. Я. Зеленева, А. А. Гриценко
АДАПТАЦИЯ МОА ДЛЯ МОДЕЛИРОВАНИЯ УПРАВЛЯЮЩИХ АВТОМАТОВ В СТАНДАРТАХ УМЬ
Предложен подход к адаптации технологии МВА для моделирования цифровых систем, в частности управляющих автоматов, и разработана методика применения иМЬ в качестве языка описания системы.
ВВЕДЕНИЕ
Управляющий автомат (УА) является неотъемлемой частью любой цифровой системы, т. к. определяет алгоритм ее функционирования согласно принципу микропрограммного управления [1]. Современный уровень разработки цифровых систем (ЦС) характеризуется ростом сложности этих систем, требований к постоянному расширению и поддержке существующих и разрабатываемых систем, высококачественному документированию, снижению стоимости отдельных единиц продукции, сокращению цикла разработки и постоянному обновлению версий. В связи с этим наблюдается тенденция к более тесной корреляции с процессами разработки программных систем. Современный уровень развития аппаратных средств позволяет использо-
© Баркалов А. А., Зеленева И. Я., Гриценко А. А., 2006
вать для решения аппаратных задач методы и технологии, изначально спроектированные для программных областей. Предпосылками для этого стало появление высокопродуктивных аппаратных платформ, в частности, речь идет о современных FPGA (Field Programmable Gate Array), которые на данный момент располагают миллионами логических вентилей на кристалле, и средств описания аппаратных систем. После возникновения UML (Unified Modeling Language) и MDA (Model-Driven Architecture) технологий возник вопрос о возможности их использования для проектирования цифровых систем [2, 4, 7, 8]. Постановка вопроса состоялась в 2002 году [9], результатом чего стала организация отдельной секции DATE (Design, Automation and Test in Europe), предназначенной для обсуждения проблем описания аппаратных систем с использованием унифицированного языка моделирования и применения управляемой моделями архитектуры для разработки таких систем.
Рисунок 1 - Модель взаимодействия МВЛ ориентированных средств и современных средств проектирования цифровых систем
Важным фактором развития цифровых систем стало появление средств верификации и их интеграция в средства проектирования и имплементации (рис. 1). Средства верификации позволяют осуществлять полноценный автоматизированный контроль качества и правильности функционирования всего проекта: от его начала и до момента реализации. В связи с этим все более актуальной становится задача разработки средств проектирования нового поколения для цифровых систем. Одной из наиболее перспективных технологий в данном направлении является управляемая моделями архитектура (МБЛ).
На данный момент существует достаточно много сред, поддерживающих управляемую моделями архитектуру, которые ориентированы на моделирование программного обеспечения [8]. В данной статье рассматривается спектр вопросов, связанных с использованием МБЛ технологий для моделирования цифровых систем, в частности, управляющих автоматов, и предлагаются алгоритмы для построения таких моделей.
ПОСТАНОВКА ЗАДАЧИ
Процесс формирования подхода к адаптации МБЛ технологии для проектирования и реализации управляющих автоматов включает решение следующих задач:
- адаптация МБЛ модели для решения аппаратных задач: анализ существующей МБЛ модели и ее составляющих, разработка подхода для использования данной модели в области синтеза логических схем УА;
- разработка методик профилирования и адаптации унифицированного языка моделирования для управляющих автоматов, проведение анализа возможности использования иМЬ для моделирования схем УА и разработка соответствующего алгоритма, анализ структуры среды моделирования.
ПРИМЕНЕНИЕ УПРАВЛЯЕМОЙ
МОДЕЛЯМИ АРХИТЕКТУРЫ ДЛЯ МОДЕЛИРОВАНИЯ ЦИФРОВЫХ СИСТЕМ
Управляемая моделями архитектура (MDA) была предложена группой OMG (Object Management Group) в 2000 году [6, 7]. Основной идеей управляемой моделями архитектуры в приложении к программным продуктам было описание сложных систем в виде набора моделей, стоящих на различных уровнях абстракции относительно друг друга, и возможность трансформации моделей, т. е. преобразование моделей одного уровня в модели другого уровня [5, 6]. Результатом таких трансформаций в приложении к цифровым системам является получение имплементации независимой от платформы (т. е. от элементного базиса) модели. Полученную таким образом модель можно впоследствии использовать для различных платформ.
MDA модели классифицируются по типам и уровням [5, 6]. Для цифровых систем (ЦС), в частности, для управляющих автоматов, типы моделей предлагается определять как:
- независимая от вычислений модель (Computation Independent Model, CIM) - вычислительная метамо-дель, описывающая требования к системе (управляющему автомату) и ее окружению;
- независимая от платформы модель (Platform Independent Model, PIM) - проект системы, основанный на наборе UML представлений, позволяющий получить модель работы системы (в частности, УА) достаточного уровня точности;
- ориентированная на платформу модель (Platform Specific Model, PSM) - описание системы, основанной на одном из языков описания аппаратуры.
Классификация уровней моделей для цифровых систем представлена на рис. 2.
В предложенной иерархии CIM соответствует уровень М1, PSM - уровень М2, PIM - уровень М3.
Уровень построения метамодели цифровых систем -механизм профилирования моделей, используемый для построения метамодели, которая расширяет существующую UML семантику для применения в области ЦС. На данный момент OMG не предлагает стандар-
IJML Профиль для решения
Описание метамодели
•vl J ' т"'!.......■ - - ■■—- аппаратных задач
_ _ _ аппаратных залач _ _ ___, _ _ _
^ Моделирование решения UML модели описания аппаратной аппаратной задачи _"_ _ _ _задачи_ _ _ _ _ _ _ _ _
, Описание семантики
X VI[ описание модели
HDL описание модели
модели с использованием XMI стандарта
Имплементация модели с использованием одного из HDL
Рисунок 2 - Адаптация уровней моделей МВЛ при проектировании цифровых систем
тов аппаратных профилей UML (по состоянию на февраль 2006, [7]). Например, данный уровень может являться базовым при описании управляющих автоматов и должен определять всю доступную область, задающую CIM. Данная метамодель может включать профиль для верификации аппаратных систем. Включение профиля верификации дает возможность интегрировать процесс моделирования аппаратной системы и построения тестов для нее.
Уровень моделирования цифровых систем - описание модели конкретной системы, по сути, есть моделирование поведения этой системы и ее взаимодействия с аппаратным окружением. Для управляющих автоматов - это взаимодействие с операционной частью и внешними устройствами. Данный уровень соответствует PIM. Моделирование конкретного управляющего автомата производится на базе его метамоде-ли. Моделирование УА может включать также и моделирование верификационных тестов для него.
Уровень моделируемой системы, описание аппаратной системы с использованием языков описания аппаратуры - уровень, который описывает моделируемую аппаратную задачу с использованием одного из HDL (Hardware Description Language), определяя PSM. Данный уровень определяет результат моделирования - моделируемую систему, которая представляет собой имплементацию управляющего автомата и набора тестов для нее на одном из языков верификации.
Промежуточный уровень описания семантики моделей - данный уровень вводится для увеличения гибкости системы. Описание XMI (XML Metadata Interchange) полностью передает семантику UML моделей (согласно стандартам [5]). Этот уровень определяет интерфейс между моделями разных типов, что дает возможность использовать независимые средства для моделирования УА и трансформации моделей. Кроме того, введение этого уровня решает вопросы переносимости между различными MDA ориентированными средствами.
Одним, из наиболее важных процессов является трансформация моделей [6]. Трансформация моделей - преобразование модели из одного типа в другой с полным сохранением семантической информации. Согласно [6] и спецификации MDA, приоритетным является PIM-to-PSM трансформация, которая определяется как преобразование независимой от платформы модели в соответствии с требованиями целевой платформы, на которой она будет реализована (рис. 3). Это свойство может быть широко использовано при проектировании и оптимизации логических схем управляющих автоматов для заданного элементного базиса (платформы).
Предлагается общий алгоритм использования MDA архитектуры для разработки HDL систем, который описывает порядок этой разработки (рис. 4). Ступени
Рисунок 3 — Связь моделей различных уровней при описании управляющих автоматов
Рисунок 4 - Алгоритм МВА проектирования, моделирования и реализации управляющего автомата
алгоритма соответствуют порядку следования уровней MDA, но расширяются в соответствии с современными требованиями к разработке сложных систем [2, 3, 8].
Уровню метамодели системы соответствует сбор информации о системе и анализ полученных данных. Результатом данного уровня является получение CIM системы.
Уровню моделирования соответствует дизайн и проектирование системы [4]. Результатом данного уровня является получение PIM системы (управляющего автомата) и соответствующего набора тестов. Результаты выполнения алгоритмов данного уровня преобразуются в XMI формат.
Уровню моделируемой системы соответствует разбор XMI описания и генерация HDL кода, а также верификационных тестов системы, что определяет PSM системы, в частности, УА. Полученная система готова к имплементации и тестированию. Имплементация и тестирование полученных систем (схем УА) может производиться с использованием широкого спектра существующих средств.
МЕТОДИКА ИСПОЛЬЗОВАНИЯ УНИФИЦИРОВАННОГО ЯЗЫКА МОДЕЛИРОВАНИЯ ДЛЯ УПРАВЛЯЮЩИХ АВТОМАТОВ
Возможность описания моделей с использованием иМЬ основана на использовании семантической информации, предоставляемой различными представлениями иМЬ [2]. Данная семантическая информация может использоваться для преобразования независимой от платформы модели в модель, ориентированную на заданную платформу. Для управляющих автоматов это означает возможность получения моделируемой системы, ориентированной на заданный элементный базис без изменения самой модели УА.
При описании УА как аппаратных систем, структурное описание определяет декомпозицию УА и составление базовых интерфейсов с двойной формой контроля, называемых в дальнейшем контрактами, в виде определения системы запросов (моделирования сигналов). Динамическое описание определяет работу управляющего автомата - взаимодействие с аппаратным окружением, взаимодействие отдельных компонент системы и их поведение. Физическое описание определяет ограничения на работу УА как части цифровой системы. Описание управления моделью определяет пакеты компонент и группирует аппаратные компоненты системы.
Важным аспектом является использование физической области. Определение параметров развертывания является описанием набора ограничений, которым должна удовлетворять модель управляющего автомата, т. к. по своей сути это есть модель аппаратной системы. Большинство аппаратных систем характеризуется
некоторым набором физических ограничений. Параметры развертывания являются артефактом, присущим в большей степени аппаратным, а не программным системам. Наличие этого артефакта в первую очередь обусловлено тем, что в любой момент времени аппаратура обладает набором физических ограничений, которые определяются на стадии анализа требований к системе и влияют на ее дальнейшее построение.
Физическое описание дает независимую от остальных описаний семантическую информацию, т. е. оно не может влиять на независимую от элементного базиса модель УА, но используется при трансформации моделей.
Для описания HDL-систем управляющих автоматов предлагается использовать следующий набор представлений (на основе [2]):
1. Моделирование прецедентов (Use Cases diagram) -данное описание используется для определения интерфейса моделируемого УА с внешними системами, т. е. определение внешних контрактов.
2. Статическое моделирование (Class diagram) - моделирует все контракты (внешние и внутренние интерфейсы) УА путем моделирования его сигналов.
3. Моделирование компонент (Component diagram) -моделирует структурную декомпозицию УА.
4. Моделирование взаимодействия (Collaboration diagram, Sequence diagram) - моделирует контракты взаимодействия между компонентами УА, т. е. его структурное описание.
5. Моделирование поведения компонент (State chart diagram) - моделирует поведенческое описание отдельных аппаратных компонент УА, а также определяет архитектуру компонента.
Рисунок 5 - Использование МВЛ ориентированной среды на базе иМЬ для моделирования управляющих автоматов
Рисунок 6 — Алгоритм моделирования управляющего автомата с использованием МВА технологии
ложенного подхода рассмотрен круг задач, позволяющий в определенной степени осветить все аспекты предлагаемого решения. Предложены и рассмотрены алгоритмы проектирования и моделирования управляющих автоматов с использованием современной МБА-технологии.
Дальнейшие направления работы лежат в нескольких областях:
- рассмотрение вопросов построения аппаратного и верификационного профилей иМЬ на основе анализа решений, предложенных в [5] для других областей;
- разработка полнофункциональной системы лекси-ко-синтаксического анализа ХМ1 описания модели и ее трансформации в описание схемы управляющего автомата с использованием какого-либо из имеющихся средств моделирования.
Предложенный подход и алгоритмы предназначаются для использования при разработке модельно-ори-ентированных САПР УА и предусматривают как расширение возможностей среды моделирования, так и построение эффективных конструкторов и сред оптимизации логических схем управляющих автоматов.
6. Развертывание модели (Deployment diagram) -моделирует аппаратные ограничения схемы УА. Специфицирует аппаратные требования к модели, в том числе требования к оптимизации схемы.
Набор связанных представлений (рис. 5) использует не все доступные представления UML, а только необходимые описания управляющих автоматов (что согласуется с [7]). Все модели имеют интерфейсы между собой, исключая независимое моделирование развертывания.
Дополнительно используются представление профилирования и представление управления моделью УА. Представление профилирования в полной мере относится к метамодели и используется на CIM уровне. Представление управления моделью используется для формирования пакетов.
Согласно рассмотренным представлениям, предлагается соответствующий алгоритм (рис. 6) разработки модели управляющего автомата. Предлагаемый подход минимизирует интерфейсы, которые связывают отдельные компоненты, что облегчает управление моделью, контроль правильности модели и поддержку различных парадигм разработки систем.
ВЫВОДЫ И ПЕРСПЕКТИВНЫЕ НАПРАВЛЕНИЯ РАБОТЫ
В данной работе предлагается концепция применения MDA для построения моделей цифровых систем и управляющих автоматов в частности. В рамках пред-
ПЕРЕЧЕНЬ ССЫЛОК
1. Баркалов О. О. Синтез пристрснв керування на про-грамованих лопчних пристроях. - Донецьк: РВА Дон-НТУ, 2002. - 262 с.
2. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2-е изд. / Пер. с англ.; под общей редакцией проф. С. Орлова. - СПб.: Питер, 2006 - 736 с.: ил.
3. Coyle P. F, Thornton A. M. From UML to HDL: a Model Driven Architectural Approach to Hardware-Software Co-Design. - Dallas, Southern Methodist University, 2005. -6 p.
4. Fowler M. UML Distilled, 3d ed. - A Brief Guide to the Standard Object Modeling Language - Boston, MA: Addi-son-Wesley, 2003. - 220 p.
5. MDA Guide Version 1.0.1 [Электронный ресурс] / Editors Miller J., Mukerji J. - Элетрон. дан. - OMG, 2003.-Режим доступа: http://www. omg. org/docs/omg/03-06-01.pdf, свободный. - Загл. с экррана. - Англ.
6. Pierantonio A. Formal Model Transformations in Model Driven Architecture - L'Aquilla, Universita degli Studi dell'Aquilla, 2004. - 32 p.
7. Tabeling P. Model-Based Development - Beyond Model Transformation. - Hasso-Plattner-Institute for Software Systems Engineering, Potsdam, Germany, 2004 - 2 p.
8. Tariq N. A., Akhter N. Comparison of Model Driven Architecture (MDA) based tools. - Department of Computer and Systems Sciences, Royal institute of Technology (KTH), Stockholm, Sweden, 2005. - 74 p.
9. Design, Automation and Test in Europe [Электронный ресурс]. - Электрон. дан. - DATE. 2006. - Режим доступа: http://www. date-conference. com/, свободный. - Загл. с экрана. - Англ.
Надшшла 6.02.06
Запропоновано nidxid щодо адаптацИ технологи MDA
для моделювання цифрових систем, зокрема, керуючих
автоматiв, та розроблено методику застосування UML
в якостi мови опису системи.
The approach to MDA technologies adaptation for digital systems, particularly control unit modeling is proposed. The methods of UML using for system description are developed.