УДК 519.688 + 519.683.7
ПРЕОБРАЗОВАНИЕ ДИАГРАММЫ КЛАССОВ UML В МОДЕЛЬ UFO-TOOLKIT
УКРАИНЕЦ А.Г.___________________________
Проводится стыковка уже зарекомендовавшего себя CASE-инструмента - Rational Rose и нового инструмента системологического объектно-ориентированного анализа и моделирования UFO-Toolkit. Исследуется вопрос преобразования диаграммы классов модели, созданной в Rational Rose, в модель, описанную в UFO-Toolkit.
1. Введение
В настоящее время в мире информационных технологий широко используется синтез-методология объектно-ориентированного анализа и проектирования, основанная на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Дже-кобсона. Разработанная ими универсальная нотация для моделирования объектов (UML - Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Программное средство Rational Rose использует упомянутую выше методологию и поддерживает унифицированный язык мод елиро -вания UML. Данное CASE-средство фирмы Rational Software Corporation (США) позволяет решать задачи автоматизации этапов анализа и проектирования программного обеспечения, а также генерировать коды на различных языках и формировать проектную документацию [1]. Кроме того, это программное средство используется для решения задач анализа и моделирования бизнеса. Однако объектно-ориентированный анализ и язык UML предназначены изначально для разработки программного обеспечения. Поэтому инструмент Rational Rose плохо приспособлен к решению задач анализа и моделирования бизнеса. Но такие задачи обязательно возникают, особенно при создании сложных программных систем.
В стенах научно-учебной лаборатории Приобретения знаний кафедры социальной информатики Харьковского национального университета радиоэлектроники был разработан новый оригинальный системно-объектный (системологический) подход и объектно-ориентированная системологическая методология анализа и проектирования (OMSAD), позволяющая эффективно решать задачи анализа и моделирования бизнеса. Для реализации данной методологии и автоматизации значительной части аналитической работы был создан инструмент системологического объектно-ориентированного анализа и моделирования UFO-Toolkit. Данный подход и CASE-инструмент согласуются с требованиями объектно-ориентированной технологии проектирования информационных систем и позволяют выполнять начальные технологические процессы разработки объектных приложений [2].
На сегодняшний день существует необходимость решения вопроса стыковки уже зарекомендовавшего себя CASE-инструмента — Rational Rose и нового инструмента системологического объектноориентированного анализа и моделирования UFO-Toolkit. Данная необходимость вызвана тем, что более эффективное моделирование бизнес-процессов можно осуществлять в UFO-Toolkit, а дальнейшие этапы разработки сложных программных приложений лучше выполнять в Rational Rose. Кроме того, существует необходимость более эффективного описания моделей бизнес-процессов, созданных с помощью Rational Rose, что можно реализовать в программном инструменте UFO-Toolkit.
Наиболее известной средой описания и анализа бизнес-процессов из аналогов является ARIS. Она включает в себя методологическую основу и ее программную реализацию в виде семейства продуктов ARIS. В настоящее время имеются интерфейсы для ARIS к другим CASE-средствам (более подробную информацию о среде ARIS можно получить по адресу: http://www.vest-meta.ru/ default.asp). Таким образом, можно утверждать, что вопросы стыковки программных инструментов, поддерживающих моделирование бизнес-процессов, с другими CASE-средствами возникают и требуют решения.
Результаты решения задачи стыковки Rational Rose и UFO-Toolkit могут способствовать более эффективному выполнению начальных технологических процессов разработки сложных программных систем.
2. Постановка задачи
Целью данной работы является решение вопроса преобразования диаграммы классов модели, созданной в Rational Rose, в модель, представленную в инструменте системологического объектно-ориентированного анализа и моделирования UFO-Toolkit.
Для выполнения данной работы необходимо было решить следующие задачи:
— провести научно-исследовательскую работу по выявлению соотношения моделей, созданных в нотации унифицированного языка моделирования UML, и моделей, созданных в рамках нового оригинального системно-объектного (системологического) подхода;
— реализовать программу, осуществляющую преобразование модели, описанной в Rational Rose, в модель в формате UFO-Toolkit.
Для выполнения первой из перечисленных задач необходимо было выяснить следующее:
— какие данные нам необходимо получать из диаграммы классов модели, описанной в нотации унифицированного языка моделирования UML, для создания модели в рамках системно-объектного подхода;
— каким структурным элементам модели системнообъектного подхода соответствуют базовые строительные блоки UML и правила их сочетания.
106
РИ, 2004, № 2
Для выполнения второй задачи необходимо было сделать следующее:
— выявить особенности получения данных из моделей, созданных при помощи программного инструмента Rational Rose;
— построить дерево объектов на основе анализа диаграммы классов модели в формате Rational Rose;
— преобразовать дерево объектов в модель формата UFO-Toolkit.
Входными данными для программы является модель, описанная в нотации унифицированного языка моделирования UML, разработанная на программном инструменте Rational Rose и представленная в формате файла данного программного средства. Эта модель должна содержать диаграмму классов.
Выходными данными для программы является модель, представленная в инструменте системологического объектно-ориентированного анализа и моделирования UFO-Toolkit.
В рамках данной работы на разрабатываемую сис -тему были наложены следующие ограничения:
— организующие части модели на языке UML (пакеты), т.е. блоки, на которые можно разложить модель, не должны присутствовать на диаграмме классов. Таким образом, кооперации классов и интерфейсов должны находиться в корне диаграммы классов;
— не будут обрабатываться принятые механизмы расширения и дополнения UML (нестандартные стереотипы, помеченные значения, ограничения), присутствующие на диаграмме классов.
3. Реализация
На первом этапе выполнения данной работы исследовался вопрос выявления соотношения моделей, созданных в нотации UML, и моделей, созданных в рамках нового оригинального системно-объектного (системологического) подхода. В частности, рассматривалась возможность преобразования модели UML в модель системно-объектного подхода.
Исходные данные модели, представленной в нотации UML, были изначально ограничены в рамках этой работы диаграммой классов — одной из основных частей модели UML. Данная диаграмма была выбрана потому, что при моделировании объектно-ориентированных систем она встречается чаще других. На такой диаграмме показывается множество классов, интерфейсов, коопераций и отношений между ними (зависимости, обобщения, реализации и различные виды ассоциаций). Она используются для моделирования статического вида системы с точки зрения проектирования. Сюда по большей части относится моделирование словаря системы, коопераций и схем. На диаграмме классов могут присутствовать пакеты или подсистемы, применяемые для группирования элементов модели в более крупные блоки. Но в данной работе они
рассматриваться не будут. Иногда на диаграмму классов помещают экземпляры, особенно если требуется визуализировать их тип (возможно, динамический) . Диаграмма классов важна не только для визуализации, специфицирования и документирования структурных моделей, но также для прямого и обратного проектирования исполняемых систем. Диаграмму классов изображают в виде множества вершин и дуг [2].
Модель системно-объектного подхода представляет любую систему в виде трехэлементной конструкции, т.е. в виде «узла», «функции» и «объекта» (УФО-элемента). Основной особенностью объектно-ориентированной системологической методологии является использование при анализе и проектировании систем формально-семантического адаптивного алфавита УФО-элементов. Алфавит представляет собой набор узлов (перекрестков системных связей), набор функций, балансирующих эти узлы, и набор объектов, реализующих эти функции. При этом для набора узлов используется фасетная классификация, определяемая таксономической классификацией видов системных связей [3].
Классификация связей обеспечивает параметрич-ность классификации узлов и конструктивное определение семантики символов этих узлов. Естественно, классификации связей и узлов (функций и объектов) могут быть специализированы с любой степенью точности для любой конкретной предметной области. Использование классификаций для формирования алфавитного набора УФО-эле-ментов и возможность их специализации превращают этот набор в формально-семантический адаптивный алфавит. В качестве алфавитных элементов могут рассматриваться любые узлы, получаемые путем комбинирования связей из классификации
[3].
Данный подход позволил разработать метод моделирования и анализа бизнес-систем (УФО-анализ), который дает возможность адаптировать свои средства к конкретной предметной области, т.е. учесть ее семантику.
Кратко процедуры УФО-анализа можно представить следующими основными шагами:
— выявление узлов связей в структуре моделируемой (проектируемой) системы на основании ее функциональных связей в целом, определяемых заказчиком или решаемой проблемой;
— выявление функциональности, поддерживающей (обеспечивающей, балансирующей) обнаруженные узлы;
— определение объектов, соответствующих выявленной функциональности, т.е. ее реализующих.
На основании описанной выше информации появляется необходимость проводить преобразование модели UML в модель системно-объектного подхода следующим образом:
РИ, 2004, № 2
107
— определить, какие структурные элементы диаграммы классов UML соответствуют узлам и системным связям в структуре моделируемой (проектируемой) системы в рамках системно-объектного подхода;
— определить нотацию, описание, входные и выходные параметры выявленных узлов;
— провести классификацию полученных узлов и связей на основании базовой таксономической классификации системных связей;
— выявить, какую функциональность поддерживают обнаруженные узлы, путем анализа диаграммы классов UML;
как описывает реализацию данного интерфейса (рис. 3);
ЗаписьКадровогоУчета
%>taxlD
^employmenyHi story ^bsatary
-о
ISccurelnformation
ij-tfjf Библиотеки Компания
□ 3 ISecurelnformation
f(n] ЗаписьКадровогоУчета
— определить, какие структурные элементы диаграммы классов UML соответствуют объектам, реализующим выявленную функциональность.
В ходе анализа диаграммы классов модели UML и модели системно-объектного подхода были выявлены следующие закономерности:
— множество классов диаграммы классов UML может быть представлено в виде перекрестков связей с другими структурными элементами. Кроме того, классы обладают функциональностью, так как в них описывается реализация операций. Поэтому класс диаграммы классов UML соответствует узлу и функции этого узла в модели системнообъектного подхода. Нотации узла и имени функции соответствует имя класса, а описанию узла -описание соответствующего класса (рис. 1);
Рис. 1. Преобразование класса
— множество интерфейсов диаграммы классов UML соответствует узлам в модели системно -объектного подхода, так как интерфейсы могут быть так же, как и классы, представлены в виде перекрестка связей с другими структурными элементами. Соответственно нотация узла и его описание соответствует имени интерфейса и его описанию;
—экземпляры класса диаграммы классов UML реализуют функциональность класса и таким образом соответствуют объектам функции соответствующего узла в модели системно-объектного подхода (рис. 2);
current: Trans action
$--Щ Библиотеки I Й-Щ Банкомат | ЁьВ Transaction
І □ f(x) Transaction
І *.gJ current
Рис. 3. Преобразование конструкции «класс реализует интерфейс»
— атрибуты классов и интерфейсов диаграммы классов UML с уровнем видимости public являются входными и выходными системными связями соответствующих узлов модели системно-объектного подхода, так как они доступны пользователю классов и интерфейсов как для задания, так и для извлечения. Аналогично преобразуются и параметры операций классов и интерфейсов диаграммы классов UML с уровнем видимости public. Здесь параметры, передаваемые операции, являются входными системными связями соответствующего узла, а возвращаемое значение операции — выходной связью узла. Полученные входные и выходные системные связи естественно отображаются и в иерархию системных связей (рис. 4);
Person <>name : Name ^employeelD : Integer Otitle : String
Name 1 4 Name
Д Photo Photo
^setPhoto(p : Photo) ^getSoundBiteQ ^g etc о nta ctl nf о rm ati о n () ^getPersonalRecords() ^getPhotoQ / * —и String Person > String
Рис. 4. Получение входов и выходов узла
— все входные и выходные системные связи соответствуют информационным связям базовой таксономической классификации системных связей, а именно данным. Это объясняется тем, что все программные системы ведут обработку информации, в качестве которой выступают данные. Таким образом, все полученные узлы модели системнообъектного подхода относятся к классу узлов, у которых входными и выходными параметрами являются данные.
Рис. 2. Преобразование экземпляра класса
— из всех видов отношений между строительными блоками диаграммы классов UML целесообразно рассматривать только отношение реализации классом интерфейса. В этой ситуации интерфейс отождествляется с узлом, а класс — с его функцией, так
Второй этап этого исследования заключался в разработке программы, непосредственно осуществляющей преобразование диаграммы классов модели, описанной в Rational Rose, в модель в формате UFO-Toolkit.
108
РИ, 2004, № 2
Программа разработана таким образом, что она сначала извлекает данные из диаграммы классов модели, созданной в Rational Rose, и строит на их основе дерево объектов, а в дальнейшем на основании полученного дерева объектов создает модель в формате UFO-Toolkit.
В качестве среды разработки программы была выбрана Java 2 SDK 1.4.0., поддерживающая язык программирования Java. Выбор данной среды программирования обусловлен наличием при разработке программной системы ряда неосновных библиотек Java, позволяющих работать с документами формата Rational Rose. Данные библиотеки дают возможность создания, разбора и модификации файла формата Rational Rose. Эти библиотеки и их описание, а также документацию по формату файла Rational Rose можно получить на Internet-ресурсе http:// crazybeans.sourceforge.net/. Следует сказать, что основные библиотеки для Java не предоставляют средств для работы с указанным документом. Кроме того, Java 2 SDK 1.4.0. обладает набором библиотек для работы с .XML (этот вид имеет внутреннее представление файла формата UFO-Toolkit).
4. Выводы
В данной работе был исследован вопрос преобразования диаграммы классов модели, созданной в Rational Rose, в модель, описанную в инструменте системологического объектно-ориентированного анализа и моделирования UFO-Toolkit.
Результаты данной работы могут способствовать более эффективному выполнению начальных технологических процессов разработки сложных программных систем.
На основе проведенных исследований по выявлению соотношения моделей, созданных в нотации
унифицированного языка моделирования UML, и моделей, созданных в рамках нового оригинального системно-объектного подхода, была реализована программа, осуществляющая преобразование диаграммы классов модели, описанной в Rational Rose, в модель в формате UFO-Toolkit.
Полученная модель содержит:
— иерархию связей;
— набор узлов, проклассифицированных на основе базовой таксономической классификации;
— нотации, описания, входные и выходные параметры узлов;
—функции узлов и объекты, их реализующие (если таковые были выявлены на диаграмме классов UML).
Программа, явившаяся результатом данной работы, может служить основой для стыковки Rational Rose и UFO-Toolkit. В дальнейшем программа может расширяться за счет дополнения ее модулями для преобразования других видов диаграмм унифицированного языка моделирования UML (например, диаграммы прецедентов).
Литература: 1. Трофимов С.А. Case-технологии: работа в Rational Rose. М.: Бином, 2001. 272с. 2.Буч Г., Рамбо Д, Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. М.: ДМК, 2000. 432с. 3. Маторин С.И Анализ и моделирование бизнес-систем (системологическая объектно-ориентированная технология) X.: ХНУРЭ, 2002. 322с.
Поступила в редколлегию 05.02.2004
Рецензент: д-р техн. наук, проф. Шабанов-Кушнаренко С.Ю.
Украинец Алексей Геннадьевич, студент ф-та КН ХНУРЭ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. (057) 70-21-591, E-mail: [email protected].
УДК 621.391
АНАЛИЗ ЧИСЛОВЫХ ХАРАКТЕРИСТИК ЛОГАРИФМА ОТНОШЕНИЯ ПРАВДОПОДОБИЯ МАР ДЕКОДЕРА
ПРИХОДЬКО С.И., ЖУЧЕНКО А.С, ПАРХОМЕНКО Д.А._______________________
Проводится анализ числовых характеристик логарифма отношения правдоподобия МАР декодера для случаев, когда дисперсия шума известна и когда неизвестна.
Постановка проблемы
Существует анализ [1, 2] числовых характеристик логарифма отношения правдоподобия МАР (maximum a posteriori probability) декодера для известной дисперсии шума. Знание особенностей числовых характеристик логарифма отношения правдо-
подобия, когда дисперсия шума неизвестна, позволяет сделать дополнительные выводы о возможности применения МАР алгоритма в этом случае.
Анализ литературы. Модификации МАР алгоритма, уменьшающие вычислительную сложность, предложены в [3—5]. В [1, 2] проведен анализ числовых характеристик логарифма отношения правдоподобия — среднего значения и дисперсии в целях выявления зависимостей между ними, когда дисперсия шума известна.
Цель исследования. Провести анализ числовых характеристик логарифма отношения правдоподобия для известной и неизвестной дисперсии шума, определить их связь между собой и с дисперсией шума на входе МАР декодера.
Алгоритм декодирования и условия моделирования
При исследовании числовых характеристик логарифма отношения правдоподобия использовался алгоритм, предложенный в [5]. Было проведено
РИ, 2004, № 2
109