Научная статья на тему 'Анализ диаграмматических моделей в процессе проектирования автоматизированных систем'

Анализ диаграмматических моделей в процессе проектирования автоматизированных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
323
118
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
UML-ДИАГРАММЫ / СЕМАНТИЧЕСКИЙ КОНТРОЛЬ / АВТОМАТНЫЕ ГРАФИЧЕСКИЕ ГРАММАТИКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Афанасьев А. Н., Войт Н. Н., Воеводин Е. Ю., Гайнуллин Р. Ф.

Одной из основных проблем в проектировании автоматизированных систем (АС) является успешность, под которой понимают достижение заданной функциональности при временных и финансовых ограничениях. Несмотря на успехи в программной инженерии, в настоящее время только 35-40% разработок заканчиваются успехом. Системное использование диаграмматических моделей в артефактах визуальных языков (UML, IDEF, eEPC, ER, DFD, BPMN и др.) способствует повышению успешности, так как является формальным инструментом производственного процесса проектирования и служит для увеличения взаимопонимания разработчиков, средством документирования и источником автоматической генерации программного кода. Анализ и контроль топологии (синтаксиса) диаграмм в инструментальных комплексах технологий проектирования (например, RUP и ARIS) реализован достаточно хорошо, хотя требует, как правило, нескольких проходов, при которых реализуются определенные правила контроля, в ряде случаев не определяются ошибки, связанные со сложными структурами ветвления-распараллеливания-соединения. А вот проблема семантического контроля, связанная с анализом текстовой атрибутики, которая присутствует в любой диаграмматической модели, не решена. Целью данной работы является разработка метода анализа и контроля семантики диаграмм. Отличительной особенностью метода является его автоматная интерпретация, основанная на применении авторских графических грамматик. Предложен метод анализа и контроля ошибок диаграмматических UML-моделей в составе комплексной диаграммы, созданной в процессе коллективного проектирования, на основе автоматных графических RVM-грамматик. RVM-грамматики позволяют обнаруживать 4 дополнительных типа ошибок, что составляет 20 % от общего числа ошибок. Разработаны инструментальные средства анализа и контроля диаграмматических моделей.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Афанасьев А. Н., Войт Н. Н., Воеводин Е. Ю., Гайнуллин Р. Ф.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ диаграмматических моделей в процессе проектирования автоматизированных систем»

9. Губанов Д.А., Д.А. Новиков, Чхаришвили А.Г. Социальные сети: модели информационного

влияния, управления и противоборства / Под ред. Корр. РАН Д.А. Новиков. - М. Издательство физико-математической литературы, 2010 - 228 с. (ISBN 9785-94052-194-5)

10. Пёрл Дж. Вероятностные рассуждения в интеллектуальных системах. Нью-Йорк: Морган Кауфманн, 1988. 552 с.

11. Koller Д., Фридман Н. Вероятностные графические модели. Принципы и методы. Кэмбридж, Массачусетс, МТИ Пресс, 2009.

УДК 681.31

АНАЛИЗ ДИАГРАММАТИЧЕСКИХ МОДЕЛЕЙ В ПРОЦЕССЕ ПРОЕКТИРОВАНИЯ

АВТОМАТИЗИРОВАННЫХ СИСТЕМ12

Афанасьев Александр Николаевич, д.т.н., профессор, проректор по дистанционному и дополнительному образованию, Ульяновский государственный технический университет, Россия,

Ульяновск, [email protected]

Войт Николай Николаевич, заместитель директора по научно-исследовательской работе института дистанционного и дополнительного образования УлГТУ. Россия, Ульяновск, [email protected] Воеводин Евгений Юрьевич, заведующий лабораторией «Развитие инновационных образовательных технологий, Ульяновский государственный технический университет, Россия,

Ульяновск, [email protected]

Гайнуллин Ринат Фаязович, ведущий специалист, ООО «Эквид», Россия, г.Ульяновск,

[email protected]

Введение

Одной из основных проблем в проектировании автоматизированных систем (АС) является успешность, под которой понимают достижение заданной функциональности при временных и финансовых ограничениях. Несмотря на успехи в программной инженерии, в настоящее время только 35-40% разработок заканчиваются успехом. Системное использование диаграмматических моделей в артефактах визуальных языков (UML, IDEF, eEPC, ER, DFD, BPMN и др.) способствует повышению успешности, так как является формальным инструментом производственного процесса проектирования и служит для увеличения взаимопонимания разработчиков, средством документирования и источником автоматической генерации программного кода.

Анализ и контроль топологии (синтаксиса) диаграмм в инструментальных комплексах технологий проектирования (например, RUP и ARIS) реализован достаточно хорошо, хотя требует, как правило, нескольких проходов, при которых реализуются определенные правила контроля, в ряде случаев не определяются ошибки, связанные со сложными структурами ветвления-распараллеливания-соединения. А вот проблема семантического контроля, связанная с анализом текстовой атрибутики, которая присутствует в любой диаграмматической модели, не решена.

Целью данной работы является разработка метода анализа и контроля семантики диаграмм. Отличительной особенностью метода является его автоматная интерпретация, основанная на применении авторских графических грамматик.

В качестве примера рассматриваются UML-диаграммы.

1. Многоуровневые RV-грамматики

Основой предлагаемого метода является семейство автоматных графических RV-грамматик [1 - 3].

12 Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 15-07-08268 а.

124

При коллективном проектировании модели имеют сложную иерархическую структуру (комплексные UML-диаграммы), количество термов в них увеличивается многократно. Классическая RV-грамматика становится громоздкой, ее разработка усложняется, не обеспечивается контроль взаимосвязанных вершин и диаграмм комплексных моделей. Для устранения этих недостатков предлагаются многоуровневые RVM-грамматики.

Многоуровневой RVM-грамматикой является кортеж вида:

RVM =< n, Еп, RVn, r0 >,

где п - индекс грамматики;

Еп - алфавит n-й грамматики;

RVn - множество продукций n-й грамматики;

r0 - аксиома грамматики верхнего уровня.

Грамматика RV содержит в качестве одного из состояний грамматику RV}. Грамматика RV} также может быть составной.

RVn - грамматикой языка L(G) является упорядоченная пятерка непустых множеств G = (V,Е,Е,R,ro), где

V = {Vl,l = 1,L} - алфавит операций над внутренней памятью;

Е = {at, t = ЦТ} - терминальный алфавит графического языка (множество примитивов графического языка);

~ = {~t,t = 1,Т} - квазитерминальный алфавит, являющийся расширением терминального алфавита. Алфавит включает:

• квазитермы графических объектов, не являющихся продолжателями анализа,

• квазитермы графических объектов, имеющих более одного входа,

• квазитермы связей - меток с определенными для них семантическими различиями,

• квазитерм для завершения анализа;

R = {rt,i = 1,1} - схема грамматики G (множество имен комплексов продукций, причем каждый комплекс ri состоит из подмножества Pj продукций ri = {Pj, j = 1,j});

r0 e R аксиома RV-грамматики (имя начального комплекса продукций), rk е R -

заключительный комплекс продукций. Продукция Pij е ri имеет вид:

У *

£„(„1,-,„n)

■> r

где yn) - n-арное отношение, определяющее вид операции над внутренней

памятью в зависимости от у е {0, 1, 2, 3};

rm е R - имя комплекса продукции - преемника.

В структуру внутренней памяти входят стеки для обработки графических объектов, имеющих более одного выхода, и эластичные ленты для обработки графических объектов, имеющих более одного входа.

Система RVM получает с входной ленты символы терминального алфавита и передает их на соответствующий уровень. Элементы, которые переводят грамматику на другой уровень, назовем «сабтермами». Тогда описание RVn- грамматики примет вид:

G = (V, Е, Е, Е, R, ro),

где Е - множество сабтермов, т. е. элементов грамматики, переводящих автомат на следующий более низкий уровень.

Продукция, содержащая сабтерм, имеет вид:

125

- W („ )

at £ £ n > > C,

n+1

n+1

где r0 - комплекс-преемник - начальный комплекс грамматики следующего уровня,

rm - комплекс-преемник, к которому производится переход при достижении rk В таблице 1 приведена грамматик диаграммы активности UML.

n+1

№ Комплекс Квазитерм Комплекс -преемник RV - отношение

1 г0 label r3 0

2 Г1 label r3 0

3 г2 labelP r3 W2(blm )

4 labelW r3 W2(b2m)

5 labelR r3 W2(b3m)

6 labelL r3 W2(b4m )/W3(mt (2) == kt(3))

7 г3 A r1 0

8 P r1 Wl(tlm)

9 W r2 W1(1t (1), t2m )/W2(et (1))

10 W r2 W1(2t (1)) /W2(1t (1))

11 R r1 W1(t3m<kl> )/W3(k > 1)

12 L r2 W1(1t (2), kt (3), t4m )/W2(et (2))

13 L r2 W(inc(mt(2)))/W3(mt(2) <kt(3))

14 AK rk 0

2. Семантический анализ и контроль

При коллективном проектировании важным является контроль онтологической согласованности комплекса проектируемых диаграмм. Ошибки такого типа являются семантическими, для их анализа и контроля предлагается использовать многоуровневую грамматику. Верхним уровнем многоуровневой грамматики является грамматика диаграмм вариантов использования, так как разработка АС, согласно методологии RUP, начинается именно с этой диаграммы. В процессе анализа накапливается семантическая информация о предметной области в виде графа связей между семантическими понятиями (текстовой информацией), нагруженными к блокам и связям диаграмм. Каждая новая диаграмма анализируется на условия непротиворечивого расширения понятий предметной области.

При построении первых диаграмм проверяется только семантическая непротиворечивость внутри диаграммы: возможность использования понятий в

семантической паре. При добавлении новых диаграмм проверяется согласованность диаграммы обособлено и на согласованность комплексной модели проектируемой АС.

126

Для проверки комплексной модели необходимо построить граф семантических связей между элементами АС. Для решения данной задачи используется адаптированный метод лексико-синтаксических шаблонов.

Предложенный метод позволяет диагностировать следующие семантические ошибки: Большая синонимия, Антонимия объектов, Конверсивность отношений.

Разработанные методы анализа и контроля позволяют диагностировать ошибки, разделенные контекстом, а также семантические ошибки, которые не определяются в большинстве современных редакторов.

На рис. 1 приведена схема анализа UML-диаграмм.

Рис. 1 - Схема онтологического анализа UML-диаграмм

В процессе исследования были выявлены следующие классы ошибок, встречающиеся в диаграммах UML (таблица 2).

В таблице использованы следующие сокращения: ДИ - диаграмма использования, ДА -диаграмма активности, ДП - диаграмма последовательности, ДК - диаграмма классов, ДР -диаграмма развертывания.

Известные инструменты позволяют обнаруживать первые 16 из перечисленных типов ошибок. Авторский аппарат RVM-грамматик позволяет обнаруживать 4 дополнительных типа ошибок: множественная связь, кольцевые связи, синхронный вызов до получения ответа, ошибка удаленного контекста.

Ошибкой удаленного контекста называется ошибка, возникающая в парных элементах, например, условное ветвление и слияние условных ветвей, и характеризующаяся возможным присутствием неограниченного количества блоков и связей между ними. Примером такой ошибки может служить условное ветвление на диаграмме активности, которое предполагает исполнение только одной из возможных ветвей, и парное ему слияние параллельных ветвей, которое передает управление только при достижении всех входных связей. Такое сочетание элементов никогда не позволит достигнуть конца диаграммы.

3. Программные средства анализа и контроля

Разработаны программные средства анализа и контроля [4]: анализатор

диаграмматических моделей потоков бизнес-процессов вопросно-ответной системы моделирования АС, синтаксически-ориентированный анализатор UML-диаграмм для MS Visio, сетевая система анализа и контроля диаграмматических моделей, предлагающая полный набор функциональности для анализа и контроля синтаксических и семантических ошибок.

127

Таблица 2. Классы ошибок UML-диаграмм

№ Тип ошибки ДИ ДА ДП ДК ДР

1 Отсутствие связи + + + + +

2 Ошибка передачи управления

3 Ошибка кратности входов + +

4 Ошибка кратности выходов +

5 Недопустимая связь + + + + +

6 Ошибка связи + + +

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7 Ошибка уровня доступа +

8 Ошибка передачи сообщения + +

9 Ошибка делегирования управления +

10 Количественная ошибка элементов диаграммы + +

11 Исключающие связи неверного типа +

12 Вызов, направленный в линию жизни +

13 Несвязанная связь + + + + +

14 Нарушение кратности зависимостей + +

15 Взаимоисключающие связи +

16 Множественная связь +

17 Бесконечный цикл +

18 Кольцевые связи +

19 Синхронный вызов до получения ответа +

20 Ошибка удаленного контекста +

Инструментарий последней системы позволяет выполнять следующие основные функции для пользователя:

• создание диаграмм моделей бизнес-процессов с использованием различных графических языков;

• добавление новых нотаций в графические языки;

• анализ построенных диаграмм, с использованием аппарата RVM-грамматик, по предварительно загруженным в систему описаниям языка и правилам анализа;

• добавление новых алгоритмов анализа с помощью плагинов;

• добавление синтаксических и семантических правил графических языков, для использования в RVM-анализаторе;

• создание взаимосвязи между построенными проектировщиками диаграммами;

• одновременный доступ нескольких проектировщиков к базе данных построенных диаграмм.

Заключение

В статье предложен метод анализа и контроля ошибок диаграмматических UML-моделей в составе комплексной диаграммы, созданной в процессе коллективного проектирования, на основе автоматных графических RVM-грамматик. RVM-грамматики позволяют обнаруживать 4 дополнительных типа ошибок, что составляет 20% от общего числа ошибок. Разработаны инструментальные средства анализа и контроля диаграмматических моделей.

Литература

1. Шаров, О. Г. Синтаксически-ориентированная реализация графических языков на основе автоматных графических грамматик / О. Г. Шаров, А. Н. Афанасьев // Программирование. -2005. - № 6. -С. 56 -66.

128

2. Шаров, О. Г. Нейтрализация синтаксических ошибок в графических языках / О. Г. Шаров, А. Н. Афанасьев // Программирование. - 2008. - № 1. - С. 61 -66.

4. Шаров, О. Г. Методы и средства трансляции графических диаграмм / О. Г. Шаров, А. Н. Афанасьев // Программирование. - 2011. - № 3. - С. 65 - 76.

5. Афанасьев, А. Н. Программная система анализа диаграммных языков / А. Н. Афанасьев, Р. Ф. Гайнуллин, О. Г. Шаров // Программные продукты и системы. - 2012. - № 3. - С. 138 - 141.

УДК 519.688, 004.42

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ СИМУЛЯТОР МАШИНЫ ТЬЮРИНГА

Штанюк Антон Александрович, к.т.н., доцент кафедры программной инженерии Нижегородского государственного университета им. Н.И. Лобачевского, [email protected]

Введение

Цель данной работы состоит в построении программного симулятора машины Тьюринга (МТ) с использованием объектно-ориентированного языка программирования C++ [1]. Программа может быть полезной в рамках учебного процесса при изучении и программировании МТ. Цель состояла в том, чтобы создать максимально простую программную реализацию, которую легко изучать и развивать. Для упрощения программирования самой МТ команды машины были описаны в виде строк на достаточно простом языке, соответствующем классическому представлению команд [2].

1. Описание МТ

Машина Тьюринга является теоретическим компьютером и широко используется при исследовании алгоритмов, знакомстве с процессами вычислений на самом низком, «механическом» уровне.

Необходимыми компонентами такого устройства является лента с ячейками, при этом в каждой ячейке находится только один символ. Имеется указатель, «обозревающий» одну ячейку, а также устройство, позволяющее двигать указатель вдоль ленты. Впрочем, широко распространено эквивалентное представление в виде неподвижного указателя и лентопротяжного механизма (как в катушечном магнитофоне).

Указатель имеет возможность просматривать содержимое ячеек, менять свое состояние, а также перезаписывать содержимое ленты.

Математически машина полностью описывается набором следующих множеств:

129

i Надоели баннеры? Вы всегда можете отключить рекламу.