Новые технологии реализации алгоритма элементаризациии структуры управляющих (конечных) автоматов.
Бережок А.Ю., Зеленева И.Я.
Донецкий национальный технический университет
Стадии разработки любого проекта сводятся к следующему: анализ требований и имеющейся информации, технический дизайн, разработка программы и тестирование. Суть технического дизайна заключается в написании поясняющего текста и кода, на основе собранных сведений и требований по техническому заданию. На стадии написания кода система реализуется для целевой программно-аппаратной платформы в соответствии с техническим заданием. Тестирование должно подтверждать соответствие реализации проекта требованиям.
Семантический разрыв передачи знаний между стадиями технического дизайна и написания кода заключается в том, что разработчик реализует систему в соответствии со своим пониманием технического задания [1].
UML ( Unified Modeling Language ) – предлагает различные средства для уменьшения этого «разрыва». Но описание только статической части программы с помощью диаграмм классов, не в полной мере, а зачастую, фактически, не решает сложившуюся проблему.
В последнее время сформировалась и развивается идея «запускаемого» UML , что привело к появлению такого направления в программной инженерии как «проектирование на базе моделей» (Model-Driven Design) . Основной идеей такого подхода является независимое рассмотрение моделей, создаваемых при проектировании системы, от деталей их реализации на конкретной программно-аппаратной платформе. Проектирование на базе моделей должно привести к появлению универсальных графических языков п рограммирования [1] .
Одной из таких разработок является исполняемый графический язык на основе SWITCH -технологий и UML -нотации – UniMod , который описывает поведение объекта с помощью графов переходов структурных автоматов с нотацией, а графы переходов строятся с помощью нотации диаграммы состояний UML .
Инструмент для создания указанных диаграмм является встраиваемым модулем ( plug-in ) для платформы Eclipse . Данный язык рассматривается как пример для решения задачи по реализации запускаемого UML и является указателем платформы, на которой можно реализовать проект. Этой платформой является Eclipse . Также этой теме посвящена еще одна существующая разработка – UMLet – также реализованная на платформе Eclipse .
Почему именно Eclipse ?
Платформа Eclipse представляет собой фундамент для построения и запуска интегрированных инструментов разработки сквозного программного обеспечения [2].
Основные преимущества Eclipse в сравнении с другими платформами для разработки программных модулей:
Eclipse предоставляет согласованный набор функций на большинстве платформ.
Eclipse предоставляет открытый исходный код и представляет собой бесплатный продукт, к тому же с полной поддержкой.
Он полностью расширяемый и настраиваемый.
Полностью подходит для работы на предприятиях .
Принципиальная роль Платформы Eclipse состоит в обеспечении поставщиков инструментов механизмами и правилами, использование которых и следование которым приведет к так называемой «бесшовной» интеграции инструментов. Эти механизмы представляются через четко определенные интерфейсы, классы и методы в API. Платформа также обеспечивает полезные встроенные блоки и каркасы, которые облегчают разработку новых инструментов [3].
Рисунок 1 показывает главные компоненты и API Платформы Eclipse.
Рисунок 1 . Компоненты платформы Eclipse .
Подключение (plug-in) - наименьшая единица функциональности Платформы Eclipse, которая может быть разработана и поставлена отдельно. Обычно небольшой инструмент пишется как одно подключение, тогда как функциональность сложного инструмента разносится по нескольким подключениям. За исключением небольшого ядра, называемого Средой Выполнения Платформы (Platform Runtime Environment), вся функциональность Платформы Eclipse находится в подключениях.
Standard Widget Toolkit (SWT) обеспечивает общий, независимый от ОС API для элементов и графики, реализованный таким образом, что он допускает тесную интеграцию с оконной системой базовой платформы. Весь UI ( User Interface ) Платформы Eclipse и инструменты, которые подключены к нему, используют SWT для представления информации пользователю.
JFace включает обычные компоненты UI реестров изображений и шрифтов, каркасы диалогов, настроек и мастеров и индикаторы хода выполнения для длинных операций. Два из его наиболее интересных свойств - действия и просмотрщики.
Следовательно, из всего рассмотренного выше, Eclipse , как среда разработки предоставляет возможность реализовать алгоритмы элементаризации структуры упрвляющих автоматов. И обеспечивает независимость приложения от аппаратуры и системы, что полностью соответствует принципу новой и развивающейся технологии «проектирование на базе моделей» (Model-Driven Design) , а запускаемая UML -диаграмма являющаяся входными данными для приложения, решает проблему «разрыва предачи данных между стадиями технического дизайна», которая в настоящее время является очень актуальной.
Литература
Гуров В.С., Мазин М.А., Нарвский А.С., Шалыто А.А. UniMod: метод и средство разработки реактивных объектно-ориентированных программ с явным выделением состояний // МЕТОДЫ И СРЕДСТВА ОБРАБОТКИ ИНФОРМАЦИИ. – Московский государственный университет им. М.В. Ломоносова, М. – 2005. – С 361-366.
Марк Эриксон, Ангус Макинтаир, «Что такое платформа Eclipse и как ее использовать?». – http://www-128.ibm.com/developerworks/ru/opensource/library
Технический обзор Платформы Eclipse . – http://khpi-iip.mipk.kharkiv.edu. |