Содержание к диссертации
Введение
Глава 1. Исследование принципов построения и методов проектирования структур интерактивных систем
1.1 Сущность, виды и модели систем 16
1.2 Классификация и особенности программных интерактивных систем 18
1.2.1 Методы проектирования и программирования САПР 21
1.3 Образцы программирования сложных систем 22
1.3.1 Программирование через операции и программирование через объекты 22
1.3.2 Модели, используемые для проектирования САПР. 24
1.3.3 Стили построения архитектур сложных систем, 27
1.4 Жизненный цикл программной системы 3 О
1.5 Проблематика проектирования программных систем с 34 недетерминированными алгоритмами.
1.6 Основные выводы главы 1 37
Глава 2. Разработка инструментальных средств проектирования программньк систем с недетерминированными алгоритмами 38
2.1. Постановка задачи проектирования структур ПрИС 38
2.2 Единый направленный процесс проектирования структур ПрИС недетерминированными алгоритмами. 42
2.3 Формирование модели типов данных и операций с локальными 47 алгоритмами.
2,4Тезаурус и анализ предметной области задачи. 55
2.4.1 Принципы формирования тезауруса. 55
2.4.2 Построение тезауруса. 58
2.5 Унификация объектов. 64
2.5.1 Декомпозиция модуля ПрИС на унифицированные локальные алгоритмы.. 65
2.5.2 Разработка унифицированного типа. 70
2.5.3 Полное множество неявных локальных алгоритмов. 74
2.6 Основные выводы главы 2 79
Глава 3. Разработка структур систем с недетерминированными алгоритмами на основе принципа единого направленного процесса (ЕНП).
3.1 Эффективность использования тезаурусов в системах с 82
недетерминированными алгоритмами..
3.1.1 Проектирование структур ПрИС посредством разработки тезаурусов объектов информации и внутрисистемных интерфейсов на примере проектирования структуры системы визуализации мониторинга экологической обстановки объекта ПУ-327. 82
3.1.2 Создание тезауруса объектов информации в алгоритмах пересечения 86 контуров.
3.1.3 Использование тезауруса операций в алгоритмах построения сплайновых 92 кривых.
3.1.4 Исследование влияния качества тезауруса на формирование и 97 функционирование алгоритма триангуляции произвольных полигонов.
3.2 Использование унификации типа для оптимизации структур потоковых 105 данных алгоритма фильтрации.
3.3 Унификация ячеек пространства поиска через организацию матрицы 110 полигона для построения алгоритма быстрого выделения векторных объектов.
3.4 Исследование методов визуализации 3D моделей. 116 Проектирование механизмов визуализации с применением метода ЕНП
3.5 Основные выводы главы 3 123
Глава 4. Методы и средства взаимодействия пользователя в программных интерактивных системах
4.1 Создание специализированных систем визуализации моделей сложных 125
машиностроительных объектов.
4.1.1 Построение стандарта STEP. 126
4.1.2 Анализ и принципы построения STEP-вьюера. 127
4.1.3 Описание блоков программы STEP-вьюера. 131
4.1.4 Функциональные элементы программы. 136
4.1.5 Рабочее пространство. 1 42
4.2 Комплекс программных средств по управлению испытаниями сложных объектов . 143
4.2.1 Анализ области реализации программного комплекса управления испытаниями (ПКУИ).
4.2.2 Модель объекта тестирования. 147
4.2.3 Состав комплекса. 148
4.3 Подсистема визуализации мониторинга экологической обстановки объекта 150
ПУ-327.
4.3.1 Назначение подсистемы визуализации. 150
4.3.2 Структура подсистемы визуализации. 150
4.3.3 Параметры настройки подсистемы визуализации 153
4.3.4 Управление процессом визуализации. . 154
4.3.5 Графики. 154
4.1. Основные выводы главы 4 156
Заключение 157
Литература
- Классификация и особенности программных интерактивных систем
- Единый направленный процесс проектирования структур ПрИС недетерминированными алгоритмами.
- Проектирование структур ПрИС посредством разработки тезаурусов объектов информации и внутрисистемных интерфейсов на примере проектирования структуры системы визуализации мониторинга экологической обстановки объекта ПУ-327.
- Комплекс программных средств по управлению испытаниями сложных объектов
Введение к работе
Актуальность темы
Постоянное развитие производственных процессов стимулирует появление все более совершенных интерактивных автоматизированных систем, реализующих сложные алгоритмы функционирования в реальном времени, использующих 2D и 3D геометрические модели со сложными структурами данных, поддерживающих международные стандарты по представлению информации для взаимодействия с внешними объектами и системами. К ним относятся, например, системы автоматизированного проектирования (САПР), автоматизированные системы управления производством (АСУП и АСУТП), SCADA-системы, промышленные информационные системы и т.п. В таких системах, как правило, на начальных стадиях проектирования наблюдается некоторая неопределенность в перечне операций в алгоритмах функционирования системы, в смысле окончательного формулирования, а также неопределенность характеристик операндов в алгоритмах, в частности, касающихся точностей представления, способов кодирования и форм их внешнего представления. Таким образом, можно выделить новый класс программных интерактивных систем с, так называемыми, недетерминированными алгоритмами (ПрИС).
Известны исследования зарубежных ученых: Г. Буча, М. Шоу в области моделирования архитектур программных систем, К. Кнута, Г. Берна в области анализа и обобщения структур данных, а также отечественных ученых: Кульбы В.В., Косяченко С.А., Цвиркуна А.Д. по методам проектирования сложных систем обработки данных, Артамонова Е.И. по синтезу структур специализированных программно-аппаратных средств и т.п.
Однако с увеличением сложности решаемых задач, из-за все возрастающей сложности алгоритмов функционирования систем появляется необходимость в предварительных операциях с их структурами с целью определения дополнительных характеристик, исключающих неопределенность отдельных их составляющих. Требуется развитие методов анализа и исследования принципов структурной организации систем. В связи с появлением новых международных стандартов на представление моделей объектов, требуется разработка способов проектирования сложно структурированных моделей объектов и их взаимных преобразований.
В это же самое время, независимыми производителями предлагается на рынок огромное число идентичных программных систем, имеющих, как правило, одно и тоже назначение. В своем составе они содержат функционально однотипные модули, при этом отличающиеся формой построения, способами представления и обработки данных и качественными характеристиками. Отсутствие же единой методики и единых стандартов для создания подобных сложных систем с одной стороны приводит к дублированию функций, затрудняет обмен данными между пользователями и увеличивает время создания систем с требуемыми показателями качества. С другой стороны, проблемы, которым требуется найти решение с помощью программного обеспечения, часто неизбежно содержат комплексные многосвязные элементы, а к соответствующим программам предъявляются множество различных, порой взаимоисключающих требований.
Дополнительные сложности возникают . в результате изменений требований к программной системе уже в процессе разработки. В основном требования корректируются из-за того, что само осуществление программного проекта часто изменяет проблему. Рассмотрение первых результатов, таких как схемы и прототипы, а также использование системы после того, как она разработана и установлена, заставляют пользователей лучше понять и отчетливей сформулировать то, что им действительно было нужно.
Отдельным вопросом является создание больших программных систем. Большая программная система - это крупное капиталовложение, и производитель и заказчик не может себе позволить выкидывать сделанное при каждом изменении внешних требований, хотя и здесь наблюдаются тенденции к эволюции. Сложная программная система иерархична, и уровни этой иерархии представляют различные уровни абстракции, причем один будет надстроен над другим и каждый может быть рассмотрен отдельно. Каждому уровню абстракции соответствует набор устройств, которые совместно обеспечат функции высокого и низкого уровней. Одновременно, каждый из абстрактных элементов системы несет в себе «отпечаток» хранения, доступа и передачи информации.
Говоря о передачи информации, изначально, имеют в виду характер ввода-вывода данных в собственной форме, способ их кодирования и точность представления, которые требуют специальных преобразователей, существенным образом влияющих на структуры системы [1]. При этом для повышения производительности труда, сокращения сроков и трудоемкости технологической подготовки производства используются системы автоматизированного проектирование (САПР).
В свое время образовался такой класс автоматизированных систем как интерактивные системы, в которых за счёт развитых средств взаимодействия, особенно графических, и повышенного быстродействия технических средств происходит общение пользователей с системой в реальном масштабе времени. Стали актуальными проблемы исследования принципов структурной организации таких систем, реализованных в виде технических и программных средств, разработки методов синтеза, анализа и моделирования структур таких систем, пользовательских структур данных, а также способов согласования с внешними устройствами и средств межструктурного взаимодействия.
При создании таких систем большое внимание уделяется разработке стандартов по методологии организации систем, стандартов на неизменные части систем и на структуру данных для обмена с прикладными частями. Таким образом разработан международный стандарт по CALS-технологиям. При проектировании программного обеспечения получила распространение CASE-технология (Computer- Aided Software Engineering), техника и средства структурного анализа SADT (Structured Analyzes and Design Technique), включающего метод интегрального описания, интегральной спецификации IDEF (Integrated Computer Aided DEFinition method), стандарт для описания данных об изделии (STEP), стандарты представления текстовой информации (SGML ) и графики и т.п.
Опыт, накопленный по проектированию и созданию специализированных систем, позволяет перейти к решению проблемы теоретического обоснования принципов построения систем, выявлению общих закономерностей в структурной организации как технических, так и программных средств таких систем, обоснованию и выбору структур данных, способов согласования отдельных подсистем. Важным вопросом является автоматизированное проектирование интерактивных систем.
При рассмотрении вопросов проектирования (и программирования) сложных многоуровневых прикладных систем имеет место проблема расширения горизонтов рассмотрения собственно задачи в аспектах, во-первых, реального жизненного цикла программного продукта, включающего в себя и процесс разработки и процесс тестирования результата и сопровождение [2]; во-вторых, осознание проблемы в категориях пространства и времени разработки, надежности продукта и его стоимости, переносимости кода и предсказуемости, производительности и т.д.; в-третьих, философского видения задачи, как элемента реального мира, внутри которого существуют определенные законы развития, связывания, познания, - здесь всегда полезно обращать внимание на возможность формулирования того или иного задания в рамках иной "системы отчета", и даже, зачастую, в ирреальных границах, - с тем, чтобы получить иной угол зрения, открывающий следующие уровни (или степени) поляризации проблемы.
В настоящей работе рассматриваются методы исследования и решения задач анализа и синтеза структур сложных программных систем к интерактивным системам для решения задач автоматизации на различных этапах жизненного цикла. Многообразие условий функционирования таких систем и уникальность каждой системы, создает много трудностей по их проектированию, тиражированию, наладке, адаптации к изменяющимся условиям и требует больших материальных затрат. Поэтому создание отдельной эффективной программной интерактивной системы (ПрИС) не приводит к значительному прогрессу в рассматриваемой области науки и техники. Более важным и перспективным можно считать технологию разработки инструментальных средств, позволяющих оперативно формировать структуру ПрИС, наилучшим образом отвечающей конкретным приложениям и условиям.
Таким образом, выбор архитектуры, алгоритмического и программного обеспечения ПрИС требует развития теоретических и методологических основ моделирования, инструментальных средств для автоматизированного проектирования, что определяет актуальность выполненных в работе исследований. А использование средств автоматизированного проектирования и современных CASE - технологий позволит, с одной стороны, существенно снизить трудоемкость разработки функционального, программного и информационного обеспечения новых систем для задач автоматизации, а с другой, - провести экспертизу и модификацию существующих комплексов, значительно повысив при этом их качественные характеристики.
Цель и задачи исследования
Целью диссертационной работы является разработка математических моделей, методов синтеза структур, проектирования структур алгоритмов и программного обеспечения интерактивных систем с недетерминированными алгоритмами (ПрИС), а также использование разработанных моделей и методов на примерах создания программного обеспечения систем проектирования и управления различного назначения.
В пределах поставленной цели, в диссертационной работе обращается внимание на следующие основные задачи: - Исследование и проектирование алгоритмов функционирования, операций по формированию структур алгоритмов и уточнению их характеристик.
Анализ и разработка методов структурной организации и математических моделей ПрИС.
Анализ и разработка технологий представления и преобразования структур данных 2D и 3D геометрических моделей.
Разработка алгоритмов и программного обеспечения промышленных систем проектирования и управления.
Методы исследования
Методы исследования базируются на математической логике, теории множеств, теории графов, теории объектно-ориентированного проектирования и программирования, а также на математическом аппарате компьютерной графики, аналитической и вычислительной геометрии и линейной алгебры.
Научная новизна
Предложено развитие известных методов синтеза структур отдельных подсистем САПР, для чего введены понятия естественно-языкового тезауруса операций и операндов алгоритмов, локальных алгоритмов, унификации операций и типов локального алгоритма.
Проведена систематизация структур данных по способам кодирования и точности представления информации. Введено понятие полноты неявных алгоритмов, для чего разработаны алгоритмы и программное обеспечение взаимных преобразований наиболее распространенных в системах проектирования структур данных. На основе систематизации структур данных разработана обобщенная графовая модель структуры проектируемой подсистемы САПР.
На примере реализации недетерминированных алгоритмов пересечения сплайнов первой степени, замкнутых контуров, триангуляции 2D контуров по методу Сейделя показана результативность использования естественноязыкового тезауруса операций и операндов.
С использованием естественно-языкового тезауруса разработаны алгоритмы и программное обеспечение автоматической обработки контуров.
На примере предложенной технологии унификации типов данных разработан оригинальный алгоритм быстрой селекции векторных примитивов, позволяющий минимизировать множество структур данных, уменьшить общее количество преобразований информации, а также сократить связность между локальными алгоритмами.
Разработаны алгоритмы и создано программное обеспечение для визуализации и преобразования объемных геометрических моделей, представленных в международном стандарте STEP,
Создано программное обеспечение для визуализации процессов испытаний разгонных двигателей РКТ, мониторинга экологической обстановки при уничтожении химического оружия.
Практическая ценность работы
Исследования, выполненные в диссертации, осуществлялись в рамках следующих НИР "Разработка программного обеспечения для геометрического моделирования крупногабаритных машиностроительных конструкций" (тема 318-96/18, per. номер 01.96.0009913) по заданию РАН, "Система моделирования и проектирования крупногабаритных конструкций" (тема 465-97/18.) по заданию Миннауки РФ, "Интегрированные САПР"( 463-97/18) по заданию Миннауки РФ.
Результаты работы предназначены для формирования и решения задач анализа и синтеза структур ПрИС, а также для непосредственного использования при проектировании и программировании подсистем САПР. С использованием полученных результатов открывается возможность создания и выбора оптимальных по наперед заданным критериям алгоритмов, моделей и структур подсистем объемного геометрического моделирования в САПР.
Реализация результатов работы
Эффективность разработанных в диссертационной работе концепций, методик и моделей подтверждена положительным опытом их применения при разработке ряда САПР для функционирования на заводе им. Хруничева и в НПО «Энергия». Также, кроме указанных работ, многие разработанные блока и модули инструментальных средств внедрены в состав комплексов программных средств ГРАФИКА-81, ГРАФИКА-97 и ГРАФИКА-2000, созданных в ИПУ РАН и использованных при конструировании сложных объектов.
Апробация работы
Основные положения работы докладывались на международных конференциях CAD/CAM/PDM-2002, CAD/CAM/PDM-2003 и CAD/CAM/PDM-2004, а также на научных семинарах лаборатории Института проблем управления РАН. Публикации.
По материалам выполненных исследований опубликовано 9 печатных работ. Структура работы.
Диссертация состоит из введения, четырех глав, заключения и приложения.
В первой главе рассматриваются общие принципы построения и организации структур систем автоматизированного проектирования, а также методы анализа и синтеза моделей структур ПрИС.
Проведен анализ моделей, методов, структур и инструментальных средств программных интерактивных систем (ПрИС), в частности используемых при решении задач САПР. Осуществлена классификация ПрИС. Выделены методы проектирования и программирования эффективной и качественной САПР. Показано, что САПР должна обладать возможностями накапливать знания о проблемной области из различных источников информации, работать с этими знаниями, делать логические выводы, обеспечивать возможность эффективной работы проектировщика, воспринимать данные о среде САПР.
При проектировании ПрИС приходится учитывать следующие три обстоятельства; во-первых, к моменту начала проектирования характеристики внешних устройств уже определены, они входят в исходные данные для разработки ПрИС и, тем самым, влияют на их структуры. Во-вторых, иногда для некоторых типов ПрИС сложность преобразователей, сравнима со сложностью их процессорной части из-за сравнительной простоты алгоритмов функционирования. Поэтому при проектировании структур ПрИС приходится выбирать между множеством реализаций в виде универсальных или специализированных средств. В-третьих, на этапе разработки технического задания не удается полностью учесть отдельные операции алгоритма функционирования системы из-за сложности понимания действующих в ней процессов, а также по причине возможных постоянных изменений технических требований на систему со стороны заказчика. В частности, это касается алгоритмов обработки сложно структурированных геометрических объектов. Такого рода алгоритмы определяются как недетерминированные.
Во второй главе предложено развитие известных методов синтеза структур отдельных подсистем САПР, для чего разработана технология единого направленного процесса (ЕНП), включающая образование локальных алгоритмов, составление естественно-языкового тезауруса операций и операндов алгоритмов, унификацию типов данных и операций, а также обеспечение контроля полноты описания проекта. Проведена систематизация структур данных по способам кодирования и точности представления информации. Введено понятие полноты неявных алгоритмов, для чего разработаны алгоритмы и программное обеспечение взаимных преобразований наиболее распространенных в системах проектирования структур данных. На основе систематизации структур данных разработана обобщенная графовая модель структуры проектируемой подсистемы САПР.
Далее, во второй главе обсуждается вопрос постановки и решения задачи создания ПрИС в рамках формального и неформального подходов. Ключевыми элементами синтеза структур ПрИС являются анализ и формирование тезауруса операций и операндов, а также декомпозиция системы на локальные алгоритмы.
Основная идея технологии единого г направленного процесса проектирования (ЕНП) состоит в перенесении нагрузки процесса «уточнений» с совокупной системы на отдельные ее блоки в процессе проектирования структуры ПрИС.
Технология ЕНП разработки ПрИС включает: образование локальных алгоритмов, составление естественно-языкового тезауруса операций и операндов, унификацию типов данных и операций алгоритмов, контроль полноты описания проекта.
В третьей главе проведена детальная разработка и анализ основных алгоритмов по работе с 2D и 3D моделями объектов в САПР. На примере реализации недетерминированных алгоритмов пересечения сплайнов первой степени, замкнутых контуров, триангуляции 2D контуров по методу Сейделя показана результативность использования естественно-языкового тезауруса операций и операндов. В рамках предложенной технологии унификации типов данных разработан оригинальный алгоритм быстрой селекции векторных примитивов, позволяющий минимизировать множество структур данных, уменьшить общее количество преобразований информации, а также сократить связность между локальными алгоритмами.
В рамках использования тезауруса операций в виде создания тезауруса последовательности действий, а также диалогового тезауруса аналитических требований удалось сформировать решение для создания алгоритма построения сплайновых кривых.
Путем унификации типов данных, который позволил минимизировать множество структур данных входящих информационных потоков, что, соответственно, привело к уменьшению связности между отдельными блоками алгоритма и уменьшению общего числа преобразований в нем, реализован алгоритм фильтрации.
В рамках создания системы визуализации сложных 3D моделей, описанных в STEP формате, проведен анализ двух способов динамического отображения 3D моделей посредством DIRECT3DRM и OPENGL. Обнаружены их положительные и отрицательные стороны.
В четвертой, заключительной главе детально описаны структуры построения и функционирования сложных САПР. Разработаны алгоритмы и создано программное обеспечение для преобразования и визуализации объемных геометрических моделей, представленных в международном стандарте STEP (STEP-вьюер); комплекс программных средств по управлению испытаниями сложных объектов (ПКУИ); подсистема визуализации мониторинга экологической обстановки при уничтожении химического оружия.
При проектировании системы 3D STEP-вьюера, основная проблема заключалась в выборе «правильного» способа отображения сложных 3D объектов, для чего проведена структурная классификация STEP-моделей.
В приложенях приведены избранные тексты программной реализации STEP-вьюера и комплекса программных средств по управлению испытаниями сложных объектов (ПКУИ). Представлены изображения сложных машиностроительных объектов, визуализированных посредством STEP-вьюера. Приведены также виды рабочего состояния ПКУИ в момент слежения за потоком текущей информации.
Классификация и особенности программных интерактивных систем
При проектировании программных интерактивных систем (ПрИС) приходится учитывать следующие два обстоятельства: во-первых, к моменту проектирования структур интерактивных систем характеристики внешних устройств уже определены, они входят в исходные данные для разработки ПрИС и, тем самым, влияют на их структуры. Во-вторых, для некоторых типов интерактивных систем иногда сложность преобразователей, сравнима со сложностью их процессорной части из-за сравнительной простоты алгоритмов функционирования. Поэтому при проектировании структур интерактивных систем приходится выбирать между множеством реализаций в виде универсальных или специализированных средств. Достаточно часто оказывается, что последнее оказывается предпочтительней.
С целью уточнения предмета исследований проведем классификацию ПрИС по области применения и способам согласования с внешними устройствами.
Представитель первого класса ПрИС входную информацию получает от датчиков технологических процессов, от различных устройств ввода графической информации и средств перемещения маркера на экране графического дисплея. Выходная информация выдается на исполнительные механизмы, технологические установки, графические устройства визуализации, фотоплоттеры, координатографы, технологические автоматы и станки с ЧПУ. К этому классу ПрИС относятся системы, обеспечивающие комплексное решение задач измерения, контроля, регулирования или проектирования. Примерами таких систем являются системы автоматизированного проектирования и системы регулирования параметров технологических процессов. В последнее время быстро развивается направление систем виртуальной реальности, в которых широко используются не только внешние устройства, характерные для систем автоматизированного проектирования, но и устройства, используемые в системах управления технологическими процессами - различного рода датчики и исполнительные механизмы.
К большинству систем этого класса предъявляются достаточно жесткие требования по быстродействию, определяемые параметрами технологического процесса или необходимостью работы оператора в реальном времени.
Представителю второго класса ПрИС входная информация поступает от устройств, аналогичных первому классу. Выходная информация представляется оператору или передается через каналы связи со смежными ПрИС. К этому классу относятся системы автоматизированного контроля и последующего вычисления производных параметров различных объектов и технологических процессов. Примерами таких систем являются системы для комплексного решения задач измерения и вычисления параметров различных объектов и технологических процессов, в том числе различные SCADA-системы, интеллектуальные системы автоматизированного и автоматического ввода графических изображений.
Третий класс ПрИС характеризуется искусственно управляемой входной информацией. Данные поступают непосредственно от оператора, либо по каналам связи. Выходная информация от таких систем управляет исполнительными механизмами. К этому относятся системы программного управления, осуществляющие перемещение исполнительных органов в соответствии с заданной программой, системы автоматизированного управления. Примером такой системы является, например, программа вывода графической информации на станки с ЧПУ.
В четвертом классе ПрИС информация по входу и выходу связана с оператором. Примерами таких систем являются многоуровневые СУБД, языковые концептуальные системы проектирования программного обеспечения (ПО) и системы автоматизированного проектирования (САПР).
Для полноты характеристики ПрИС добавим, что первый класс является наиболее общим, в состав этих систем могут входить системы других классов. Системы различных классов могут быть связаны между собой и универсальными вычислительными машинами через соответствующие каналы связи.
На структуры систем в существенной степени оказывают влияние следующие факторы: алгоритмы функционирования, способы согласования с внешними устройствами и человеком - оператором, набор используемых при проектировании типовых узлов необходимых для построения системы, а также выбранные при проектировании критерии, оценивающие факторы качества функционирования ПрИС.
Единый направленный процесс проектирования структур ПрИС недетерминированными алгоритмами.
При изучении формальных способов описания процессов анализа и проектирования ПрИС [1, 22-24] было показано, что существует необходимость в формировании такой модели среды разработки, которая поддерживала бы процесс проектирования ПрИС, как процесс концептуальных уточнений местоположения частных моделей предметной области. При этом создание каждого последующего «материала» структуры ПрИС должно следовать за последним определенным к данному времени элементом. Необходимость выполнения настоящих требований предопределило разработку метода единого направленного процесса проектирования (ЕНП), включающего создание локальных алгоритмов, тезауруса и унифицированных элементов ПрИС.
Основная идея ЕНП состоит в снижении количества нагрузки при уточняемости проекта с совокупной системы на отдельные блоки. При этом локальные алгоритмы внутри блоков основной структуры проекта объявляются неуточняемыми, т.е. после первоначального проектирования и кодирования структура и код алгоритма неизменны.
Рисунок 2.5 отображает качественную сторону процесса разработки ПрИС в соответствии с порядком синтеза структур из [1]: 1. по заданному алгоритму функционирования ПрИС построить граф программы; 2. разделить граф программы на части; 3. частям алгоритма, соответствующим частям графа программы, найти варианты его реализаций; 4. подсчитать значения качественных показателей всей структуры ПрИС; 5. произвести последовательное объединение частей алгоритмов, если дальнейшее объединение невозможно, перейти к п. 6, иначе к п. 3; 6. подсчитать значения качественных показателей последнего варианта структуры ПрИС, сравнить между собой все варианты, выбрать лучший.
Целью исследования будет разработать метод единого направленного процесса (ЕНП) разработки ПрИС, включающий: нахождение локальных алгоритмов, каждый из которых должен быть максимально свободен (абстрагирован) от конкретного функционального или информационного способа описания структуры системы. изучение средств максимального описания типов данных, посредством нахождения тезауруса системы. определение возможностей для создания универсальных типов данных, посредством унификации свойств, и их роли при реализации ЕНП. поиск разрешения требований полноты описания проекта ПрИС наперед заданными условиями. Задача реализации единого направленного процесса (ЕНП) разработки ПрИС может быть поставлена исключительно в терминах декомпозиции такой системы на локальные алгоритмы, с помощью определений вычисляемых и/или измеряемых характеристик атомарных или комплексных элементов системы. В общем случае, проектирование простейшей структуры данных, используемой в единственной функции некоего программного блока, может, как потребовать «знание» функциональной цели любого иного блока, - так и определять стратегию программирования этой цели. В виду этого, следует рассматривать проблему реализации единого направленного процесса разработки ПрИС как задачу синтеза структур ПрИС, выходя за рамки простого программирования и учитывая, например, требования этапа тестирования или перекомпоновки отдельных программных модулей итогового программного продукта.
Под декомпозицией ПрИС будем понимать не просто разделение некоей конкретной задачи на произвольные составляющие, но совокупность элементов терминологического описания исходной задачи, приемов внутреннего взаимодействия, качеств категориальных сущностей. Результатом такой декомпозиции станет набор именованных локальных предикатов-структур, посредством связывания которых с помощью выбранных приемов компоновки или ассоциации, достигается генерирование обобщенной структуры ПрИС.
Тезаурус ПрИС, как набор именованных элементов (пока без определения их квалификации) должен определять: во-первых, весь словарь основных терминологических ключей; во-вторых, приоритеты этих ключей, а значит их порядок сортировки, или порядок определения и кодирования.
Первоначально, удобно представить исходную систему, как множество однородных и разнородных сущностей- условий, таких как, взаимодействие и тип данных, поток информации и поток тестирования. Тогда в предположении, что существует описание процесса разработки программного модуля в виде линейной комбинации условий, появится возможность описать режимы- этапы такого процесса разработки. Появится возможность также и декомпозировать систему на рядовые локальные части, учтя и рассчитав условия их взаимодействия.
Следовательно, необходимо выделить в сложном русле процесса разработки модуля ПрИС некие реперные точки, которые могли бы служить для образования поведенчески контролируемых участков процесса разработки ПрИС. Так, в терминах формальной логики можно записать: F= A+B+C+D; где А,В,С и D — сегменты исследования, обозначающие контролируемые участки процесса разработки ПрИС, a F - ожидаемый результат суммарной работы этого процесса разработки, т.е., в идеальном случае, готовый вариант функционирующей ПрИС.
Проектирование структур ПрИС посредством разработки тезаурусов объектов информации и внутрисистемных интерфейсов на примере проектирования структуры системы визуализации мониторинга экологической обстановки объекта ПУ-327.
Поиск оптимального решения задачи о нахождении алгоритма пересечения контуров линией имеет важное основополагающее значение для построения всех основных геометрических алгоритмов, включая алгоритмы штриховки контуров, построения эквидистантных контуров, триангуляцию полигонов, удаления невидимых линий методом трассировки лучей и других. Кроме того, настоящая задача о пересечении является наглядной иллюстрацией глобальной проблемы передачи и хранения различных данных, решение которой зависит от выбора способа кодирования и точности представления информации.
При разработке алгоритма поиска множества точек пересечения произвольного замкнутого контура, состоящего из N вершин, и бесконечной линии сперва обнаруживается простота решения. Действительно, имея параметрически заданную прямую, представляется несложным последовательное пересечение данной линии и прямых отрезков Al, A2,...AN (рис. 3.1-а). В результате такой операции накапливается числовое множество, состоящее из значений параметра. Используя соответствующую процедуру преобразования параметра на линии в точку 2D пространства, можно утверждать, что конечное множество точек найдено.
Представляя настоящую задачу, как задачу, отображающую реальное требование, когда вопрос нахождения множества качественных элементов существует в контексте более общей задачи, - оказывается очевидным, что описание требований общей задачи превосходит частные предписания внутренней задачи, как, например, здесь; нахождение множества точек пересечения. ов штриховки определяется граничными точками пересечения. Обычное алгоритмическое решение, называемое методом четных и нечетных точек, таково. Каждая нечетная точка пересечения (1-ая, 3-яя, и т. д.), - в ряду точек, упорядоченных по координате в D1-системе координат, связанной с секущей линией, - будет началом отрезка штриховки, а четная - концом. В простых случаях, показанных на рисунках 3.1-а и 3.1-6 проблемы не возникает -множество точек пересечения состоит из неповторяющихся точек.
Иной случай изображает рисунок 3.1-в. Здесь обнаруживается лишь три точки пересечения и, следовательно, по методу четных и нечетных точек, -только один результирующий отрезок, хотя верным решением задачи штриховки было бы два отрезка. Таким образом, проявляется дилемма: либо для разрешения данной задачи, в том числе - конкретного случая (рис. 3.1-в) формулировать и решать дополнительную подзадачу, исходные данные которой будут базироваться на найденном уже множестве точек и вспомогательных условиях, определяемых дополнительно. Либо рассматривать дополнительные условия в совокупности с известными прежде, усложняя постановку задачи, и планировать новое её решение. Как первый, так и второй способ действия потребует дополнительных временных и выверочных затрат.
Однако, в первом случае, производится обработка «пропущенной ситуации». При этом не существует гарантий того, что матрица состояний (случаев) исчерпана. Иначе говоря, не исключается возможность проявления новой «пропущенной ситуации», для которой потребуется новый поиск решения. Второй вариант действия кажется более универсальным и застрахованным от возникновения непредвиденных проблем. В действительности же, этот вариант действия качественно не отличается от предыдущего.
Практически ситуацию можно исправить только за счет поиска решения в русле принципов ЕНП. Производя максимальное наполнение структуры описания точки пересечения, иначе говоря - тезауруса, предполагается избавиться от проявления в процессе разработки «пропущенных ситуаций».
При этом формат общей задачи не меняется, напротив, на этапе проектирования ведется поиск максимального тезауруса. Затем, массив решений каждой подзадачи пристально изучается на предмет возможности возникновения «пропущенных ситуаций». Разумеется, требования к результатам конкретной подзадачи необходимо просматривать в максимально широкой области использования, и, ещё лучше, непрерывного автономного (касающегося локальной задачи) тестирования. Каждый найденный элемент решения описывается в терминах задачи. Тогда и только тогда возникает положение, при котором с одной стороны, контролируется текущий массив решении, непрерывно наполняемый в ходе процесса вычислений, - с другой, повышается универсальность этих решений, дающая возможность встраивания результатов подзадачи в смежную задачу или суперзадачу.
Универсальность решений для задачи нахождения множества точек пересечения линии и произвольного замкнутого контура, необходимость которой доказана выше, достигается, как также было замечено, во-первых, рассмотрением максимально широкой области использования решений этой задачи, и, во-вторых, описанием решений в терминах возможного применения.
Производя максимальное наполнение тезауруса в виде фраз, соотносимых со смысловыми описаниями точек пересечения, оказывается очевидным возможность избавиться от появления «пропущенных ситуаций» через формирование диалогового тезауруса задачи (таб. 3.2).
Комплекс программных средств по управлению испытаниями сложных объектов
Существует достаточно обширный спектр задач по оптимизации, сортировке и стандартизации потоковых данных поступающих в систему для визуализации и контроля. Одна из подобных задач рассматривалась в рамках построения ПКУИ (раздел 4,2). Данная задача была решена посредством создания структуры модуля фильтрации посредством использования принципа унификации типа потоковых данных.
Создание алгоритма фильтрации способом унификации типов данных, позволит минимизировать множество структур данных, что, соответственно, приведет к меньшей связности между отдельными блоками алгоритма и уменьшит общее количество преобразований.
Исходные требования задачи построения алгоритма фильтрации потоковых данных, сформулированные в техническом задании, опирались на два мотива: во-первых, формат поступающей информации и частоты её поступления, а также и фильтрации, во-вторых, наличие возможности изменения программного кода, в соответствии с уточненными требованиями по результатам промежуточных испытаний объекта.
Визуализирующиеся параметры были разделены на три группы по фильтру, применяемому к соответствующему параметру.
Первый фильтр основан на простом осреднении определенной последовательности входящих данных: где NV...NK - значения параметра, полученные из протокола с результатами испытания изделия; К -количество обрабатываемых значений параметра.
Второй фильтр носит название «двойного среднего». Определение «двойного среднего» значения параметра осуществляется для тех параметров, у которых необходимо в измеренном сигнале (поступающем из входного потока), содержащем обширный спектр частот, выделить низкочастотную составляющую сигнала, которая характеризует направление процесса на изделии. Параметры, требующие фильтрации с использованием второго фильтра, имеют выраженные существенные помехи при измерении, искажающие представления о направлении физического процесса, что осложняет проведение оценки их существенности и достоверности.
Вычисление «двойного среднего» значения параметра осуществляется по зависимости. где Nr...NK - значения параметра, полученные из протокола с результатами испытания изделия; К -количество обрабатываемых значений параметра.
Тезаурус фильтра, представленный в таблице 3.7, имеет минимальный размер. Далее, необходимо сформировать среду взаимодействия фильтра с прочими модулями программы, а также уточнить поведение самого модуля фильтрации.
Сортировка тезауруса на предмет нахождения общего элемента модуля — процедуры «фильтровать группу данных» - do_filtering. Эта процедура должна играть роль унифицированного элемента поэтому «вокруг» процедуры строим объект-класс. Присваиваем ему удобное для понимания имя, в дальнейшем измененное на PMSensor, Смысл процедуры do_filtering раскрывается в классе, именованном как PMSensor, т.е. фильтрация потока данных имеет отношение к источнику этих данных - сенсору. Фактически, класс PMSensor с процедурой do_fiItering нужно отождествить с первым элементом декомпозиции модуля.
Процедура фильтрации может иметь вид: inline void PMSensor:make(const char val){ filter....; } Здесь мы обозначаем выражением «filter....» действие, связанное с фильтрацией. Однако, на первом этапе разложения модуля на элементы, заметим, что элемент декомпозиции, в данном случае, - «filter....», - не конкретизируется. Многоточием обозначается, но не устанавливается фактор «потенциальной возможности» элемента filter.
Утверждая функциональную сущность элемента filter применительно к параметру val. Однако по смыслу, сенсор (PMSensor) содержит «в себе» используемый им фильтр. Это значит, что функция filter должна обладать также и свойствами параметра. Действительно, используя объекты-функции, которые имеют возможность хранить информацию внутри себя, при этом совершая определенное действие, можно достичь требуемого.
Очевидно, что, подставляя вместо filter ( val ) объект класса Filter, который, в соответствии с тезаурусом (таб. 3.7), будет иметь требуемые поля, мы подойдем вплотную к решению задачи по созданию структуры модуля.
Остается уточнить поведение объекта класса Filter для различных формул осреднения данных. Считая, что фильтр - это некий унифицированный элемент, получим такую структуру сенсора.