Анализ и контроль динамических
распределенных потоков работ при проектировании сложных автоматизированных
систем (САС)[1]
А.Н. Афанасьев,
перв. прор.,
проректор по ДиДО, проф. каф. «Выч.
техн.», д.т.н., a.afanasev@ulstu.ru,
Н.Н. Войт,
доц. каф. «Выч. техн.», к.т.н., n.voit@ulstu.ru,
УлГТУ, г.
Ульяновск
В рамках проблемы
успешности разработки сложных автоматизированных средств предложены
концептуальная модель диаграмматических потоков работ
и временная грамматика, обеспечивающие мониторинг, анализ и контроль проектных
процессов крупного промышленного предприятия.
Within a problem of success of development of the difficult automated
means the conceptual model of diagrammatic flows of works and temporary grammar
providing monitoring, the analysis and control of design processes of the large
industrial enterprise are offered.
Проблема успешности
разработки автоматизированных систем исследуется более 25 лет и вызвана высоким
выходом разработок за рамки запланированных временных, финансовых и функциональных
параметров. Выявлены причины и выработаны рекомендации по повышению успешности
проектирования САС, однако, по данным компании Standish
Group, в настоящее время лишь 40% разработок
заканчиваются успешно.
В
достижении успешности разработки САС большую роль играют потоки работ,
представленные в диаграмматическом базисе с
использованием визуальных языков UML, IDEF, ER, DFD, eEPC,
SDL, BPMN, SharePoint и др. Использование таких
моделей повышает как эффективность процесса проектирования, так и качества
проектных решений за счет унификации средств взаимодействия заказчиков и
проектировщиков, строгого документирования проектно-архитектурных,
функциональных решений и формального контроля корректности диаграммных нотаций.
В части создания
оперативных потоков работ в настоящее время все больше доминирует парадигма,
связанная с динамическим и распределенным характером их сущности. Динамика
определяется необходимостью немедленного реагирования на возникающие
производственные запросы. Распределенность
определяется как разработка моделей не только различными удаленными группами
проектировщиков, но и часто с использованием различных диаграмматических
базисов (например, UML и IDEF).
Большое значение
эффективного использования диаграмматических моделей
потоков работ имеют задачи реинжиниринга САС, также обладающие свойствами
динамичности и распределенности.
Однако в теории и
практике коллективного применения диаграмматических
моделей потоков работ в задачах проектирования, сопровождения и реинжиниринга
САС отсутствуют эффективные в смысле полноты классов обнаруживаемых ошибок
методы и средства анализа и контроля диаграмматических
представлений проектных процессов САС, что приводит к серьезным ошибкам
проектирования. Решение этой задачи является актуальной фундаментальной научно-технической
проблемой.
В работе авторами
разработаны концептуальная модель, обеспечивающая композицию распределенных
динамических потоков работ в разных нотациях, и временная грамматика,
предназначенная для анализа и контроля потоков работ и позволяющая расширить
класс диагностируемых ошибок в задачах проектирования.
Временное изменение
состава коллектива исполнителей проектных задач, оборудования, на котором
выполняются настоящие задачи, ведет к рискам «срыва» сроков, увеличения бюджета
проекта и т.п.
Как правило, на
предприятии существует одновременно большое количество формального описания
производственных процессов, представленных в различных нотациях (UML, ARIS, BPMN
и т.д.). Особенно это проявляется в рамках крупных концернов. Наличие таких
гибридных моделей приводит к «не состыковкам» в конструкторско-технологической
документации и ведет к денежным потерям предприятия.
Чтобы минимизировать
(устранить) подобные проектные ситуации, необходимо вовремя менять проектные процессы
предприятия в автоматизированном режиме с привлечением основных участников
процессов (заказчика, главного специалиста предприятия и т.п.). Авторами
предлагается концептуальная модель, способная помочь в решении указанных
проблем.
Концептуальная
модель = {Представление, Адаптация, Проектная_ситуация},
где
Представление –
формальное описание проектного процесса,
Представление =
{(Объекты, Отношения)},
Объекты – сущности
проектного процесса,
Отношения – функции
объектов,
Адаптация – изменение
текущего проектного процесса в связи с возникшими обстоятельствами,
Адаптация =
{Выражение, Детальное_описание},
Выражение –
формальное (на определенном языке) представление операции,
Детальное_описание – подробное описание выполнения выражения,
Проектная_ситуация – набор возникших проектных событий в определенное
время.
Таким образом,
заказчик видит в концептуальной модели текущее состояние заказа, возникшие
обстоятельства и варианты решений. Использование Адаптации позволяет
согласовывать разные виды (разные нотации) представления проектных процессов.
Для этого автоматизировано строится последовательность выражений с подробным
описание конкретного техпроцесса и выявляется проблемное место в согласовании
(синтаксической и семантической) различных нотаций представления проектных
процессов и объектов с возможным вариантом его разрешения:
Базовый математический аппарат анализа и контроля диаграмм основан на
применении семейства RV-грамматик [1-4]. При коллективном и распределенном проектировании
RV-грамматики не обеспечивают семантический анализ диаграмм комплексных моделей.
Для устранения этого недостатка предлагается математический аппарат временных
грамматик:
где temporal = {UML, BPMN, ARIS, …} – множество графических
языков;
– индекс грамматики;
– алфавит n-й
грамматики;
– множество продукций n-й
грамматики;
– аксиома грамматики верхнего уровня;
концептуальная_модель – концептуальная модель.
Грамматика содержит в качестве одного из состояний грамматику . Грамматика также может быть
составной.
– грамматикой языка
L(G) является упорядоченная пятерка непустых множеств , где
– алфавит операций над
внутренней памятью;
– терминальный алфавит
графического языка (множество примитивов графического языка);
– квазитерминальный
алфавит, являющийся расширением терминального алфавита.
Алфавит включает:
– квазитермы
графических объектов, не являющихся продолжателями анализа,
– квазитермы
графических объектов, имеющих более одного входа,
– квазитермы
связей-меток с определенными для них семантическими различиями,
– квазитерм
для завершения анализа;
– схема грамматики G
(множество имен комплексов продукций, причем каждый комплекс состоит из
подмножества продукций );
– аксиома
RV-грамматики (имя начального комплекса продукций), – заключительный
комплекс продукций.
Продукция имеет вид:
,
где – n-арное отношение, определяющее вид операции над внутренней
памятью в зависимости от ;
– имя комплекса
продукции-преемника.
В структуру
внутренней памяти входят стеки для обработки графических объектов, имеющих более
одного выхода, и эластичные ленты для обработки графических объектов, имеющих
более одного входа.
Система TRV получает
с входной ленты символы терминального алфавита и передает их на соответствующий
уровень. Элементы, которые переводят грамматику на другой уровень, назовем «сабтермами». Тогда описание -грамматики примет вид:
,
где – множество сабтермов, т. е. элементов грамматики, переводящих автомат
на следующий более низкий уровень.
Продукция, содержащая
сабтерм, имеет вид:
,
где – комплекс-преемник – начальный
комплекс грамматики следующего уровня, – комплекс-преемник, к
которому производится переход при достижении .
В качестве примера в
таблице 1 приведена табличная форма грамматики диаграммы Use-case UML.
Таблица 1
Табличная
форма грамматики диаграмм Use-case UML
При коллективном
проектировании важным является контроль онтологической согласованности
комплекса проектируемых диаграмм. Ошибки такого типа являются семантическими. В
этом плане для анализа семантической корректности предложено использовать временную
грамматику. Верхним уровнем временной грамматики является грамматика диаграмм
вариантов использования, так как разработка автоматизированных систем, согласно
методологии IBM Rational Unified
Process, начинается именно с этой диаграммы. В
процессе анализа накапливается семантическая информация о предметной области в
виде графа связей между семантическими понятиями (текстовой информацией).
Каждая новая диаграмма анализируется на условия непротиворечивого расширения
понятий предметной области.
При построении первых
диаграмм проверяется только семантическая непротиворечивость внутри диаграммы:
возможность использования понятий в семантической паре. При добавлении новых
диаграмм проверяется согласованность диаграммы обособленно и на согласованность
комплексной модели проектируемой автоматизированной системы.
Для проверки
комплексной модели необходимо построить граф семантических связей между
элементами автоматизированной системы. Для решения данной задачи выбран
адаптированный метод лексико-синтаксических шаблонов.
Предложенный метод
позволяет диагностировать следующие семантические ошибки: большая синонимия,
антонимия объектов, конверсивность отношений. Один из
классов ошибок не контролируется предложенным методом – несовместимость
объектов.
Разработанные методы
анализа и контроля позволяют диагностировать ошибки, разделенные контекстом, а
также семантические ошибки, которые не определяются в большинстве современных
инструментальных средств.
В процессе
исследования были выявлены следующие классы ошибок, встречающиеся в диаграммах
UML (таблица 2).
Таблица 2
Классы ошибок UML-диаграмм
№ |
Тип ошибки |
ДИ |
ДА |
ДП |
ДК |
ДР |
1
|
Отсутствие
связи |
да |
да |
да |
да |
да |
2
|
Ошибка
передачи управления |
|
|
|
|
|
3
|
Ошибка
кратности входов |
|
да |
|
|
да |
4
|
Ошибка
кратности выходов |
|
да |
|
|
|
5
|
Недопустимая
связь |
да |
да |
да |
да |
да |
6
|
Ошибка
связи |
да |
да |
|
|
да |
7
|
Ошибка
уровня доступа |
|
|
|
да |
|
8
|
Ошибка
передачи сообщения |
|
да |
да |
|
|
9
|
Ошибка
делегирования управления |
|
|
|
да |
|
10
|
Количественная
ошибка элементов диаграммы |
|
да |
|
|
да |
11
|
Исключающие
связи неверного типа |
|
|
|
да |
|
12
|
Вызов,
направленный в линию жизни |
|
|
да |
|
|
13
|
Несвязанная
связь |
да |
да |
да |
да |
да |
14
|
Нарушение
кратности зависимостей |
да |
да |
|
|
|
15
|
Взаимоисключающие
связи |
да |
|
|
|
|
16
|
Множественная
связь |
да |
|
|
|
|
17
|
Бесконечный
цикл |
да |
|
|
|
|
18
|
Кольцевые
связи |
да |
|
|
|
|
19
|
Синхронный
вызов до получения ответа |
|
|
да |
|
|
20
|
Ошибка
удаленного контекста |
|
да |
|
|
|
В таблице
использованы следующие сокращения: ДИ – диаграмма использования, ДА – диаграмма
активности, ДП – диаграмма последовательности, ДК – диаграмма классов, ДР – диаграмма развертывания.
Исследование
современных систем создания диаграмматических нотаций
UML показало, что они позволяют обнаруживать первые 16 из перечисленных типов
ошибок. Авторский аппарат временной грамматик позволяет обнаруживать 4
дополнительных типа ошибок: множественная связь, кольцевые связи, синхронный
вызов до получения ответа, ошибка удаленного контекста.
Ошибкой удаленного
контекста называется ошибка, возникающая в парных элементах, например, условное
ветвление и слияние условных ветвей, и характеризующаяся возможным присутствием
неограниченного количества блоков и связей между ними. Примером такой ошибки
может служить условное ветвление на диаграмме активности, которое предполагает
исполнение только одной из возможных ветвей, и парное ему слияние параллельных
ветвей, которое передает управление дальше только при достижении всех входных
связей. Такое сочетание элементов никогда не позволит достигнуть конца
диаграммы.
Простой пример диаграммы
использования (Use-case) приведен на рис. 1. Актором является
Operator (проектировщик), а сущностью - DataBase (база
данных), имеются также следующие операции:
Update Record, Delete Record, Add Record, Select Record,
Run Trigger, Call Function. Авторами
разработана грамматика, описывающая Use-case диаграммы,
представленная в таблице 1, которая позволяет анализировать и контролировать синтаксические
и семантические ошибки в примере рис. 1 [5].
Рис.1. Use-case диаграмма, описывающая процесс
редактирования базы данных
Предложенные формализмы (концептуальная
модель и временные грамматики) ориентированы на анализ и контроль комплексных диаграмматических моделей, разработанных с использованием
различных визуальных языков, и обеспечивают контроль структурных
(синтаксических) особенностей диаграмм и семантическую согласованность
комплексных моделей. Временные грамматики относятся к классу автоматных
и обладают линейными временными затратами при сохранении полноты контроля.
Литература
1. Афанасьев А.Н., Войт Н.Н. Интеллектуальная агентная система анализа моделей потоков проектных работ //
Автоматизация процессов управления. – 2015. –
№ 4 (42). – С. 42-61. http://elibrary.ru/item.asp?id=25144484.
2. Афанасьев А.Н., Войт Н.Н. Разработка и исследование средств
извлечения из САПР КОМПАС-3D и представления в веб-системах конструкторского
описания, 3D-моделей промышленных деталей и сборок //Системы проектирования,
технологической подготовки производства и управления этапами жизненного цикла
промышленного продукта (СAD/CAM/PDM - 2015): труды международной конференции.
Под ред. А.В. Толока. – 2015. – С. 208-212. http://elibrary.ru/item.asp?id=25421518.
3. Афанасьев A.H., Войт Н.Н., Канев Д.С. Математическое
моделирование процесса инженерного обучения в сложных инфокоммуникационных
образовательных системах // Радиотехника. – 2014. – № 7. – С. 133-136.
4. Alexander Afanasyev, Nikolay Voit, Rinat Gainullin The analysis of diagrammatic models of workflows
in design of the complex automated systems // Proceedings of International
conference on Fuzzy Logic and Intelligent Technologies in Nuclear Science -
FLINS2106. – France, 2016. – Pp.
509-514. http://flins2016.ensait.fr
5. Свидетельство № 2016616685 Российская Федерация.
RV-анализатор диаграммного языка BPMN для MS Visio:
свидетельство о государственной регистрации программы для ЭВМ / Афанасьев А.Н.,
Войт Н.Н., Кириллов С.Ю.; заявитель и правообладатель Ульян. гос. техн. ун-т. – № 2016616685; заявл.
19.04.2016; зарегистр. 16.06.2016.