автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.16, диссертация на тему:Разработка распределенной объектно-ориентированной графической системы для автоматизации исследования в среде QNX
Автореферат диссертации по теме "Разработка распределенной объектно-ориентированной графической системы для автоматизации исследования в среде QNX"
РГ6 од 1 1 НОВ 193В
На правах рукописи
кондратюк алексей ананьевич
разработка распределенной объектно-ориентированной графической системы для автоматизации
исследования в среде <зю:
Специальность 05.13.16 - Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях
автореферат
диссертации на соискание ученой степени кандидата технических наук
Санкт-Петербург 1996
Работа выполнена в Санкт-Петербургском институте информатики и автоматизации РАН
Научный руководитель Официальные оппоненты:
Ведущая организация:
- доктор технических наук АЛЕКСАНДРОВ В.В.
- доктор технических наук СМИРНОВ А.А.
- доктор технических наук СОТНИКОВ В.В.
- АООТ «ИНТЕЛТЕХ»
Защита состоится " 1996 г. в 10_ часов на заседа-
нии диссертационного совета Д 003 62 01 при Санкт-Петербургском институте информатики и автоматизации РАН по адресу:
199178, Санкт-Петербург 14 линия, д. 39.
С диссертацией можно ознакомиться в библиотеке диссертационного совета Д 003 62 01.
Автореферат разослан " " 1996 г.
Ученый секретарь диссертационного совета
КОПЫЛЬЦОВ А.В.
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность проблемы. Современный этап экономического развития общества выдвигает на первый план ряд важных задач по повышению эффективности научных исследований для автоматизации производства. К числу наиболее актуальных относится задача по созданию средств для разработки систем автоматизации исследования (САИ) при проектировании и управлении технологическими процессами .
Среди требований, которые предъявляются к приложениям при пректировании и управлении технологическими процессами для технического применения, специфичными являются следующие:
- структура системы должна быть построена как группа взаимодействующих между собой процессов, функционирующих в реальном времени;
- повышенная модульность;
- использование средств распределенной обработки данных;
- удобная для восприятия форма представления информации;
Реализация всех этих требований в САИ при проектировании и
управлении возможна лишь на основе комплексного подхода, заключающего в себе объединение в одной системе и объектной ориентацию, и ее распределененость, и графическое представление информации.
Имеющиеся к настоящему времени работы по данной тематике, как правило, связаны либо с теоретическим исследованием отдельных компонентов проектирования и управления технологическими процессами, либо с разработкой программного обеспечения для автоматизации конкретной производственной системы. В то же время существует необходимость в комплексном подходе к автоматизации исследований при проектировании и управлении производством и его научному обоснованию. Такой подхрд позволяет.рассматривать стадии проектирования и управления производством как единое целое, максимально приближает реально существующие объекты производства к их формальным моделям, позволяет эффективно вести дальнейшие проекты.
Целью диссертационной работы является разработка концепции построения системы, теоретических подходов, алгоритмов и программного обеспечения для создания распределенной обьектно-ориентированной графической системы автоматизации исследования при проектировании и управлении, обеспечивающей повышение производительности труда.
Для достижения поставленной цели в диссертационной работе были решены следующие задачи:
- исследованы и предложены основы формального описания объекта в системе проектирования и управления технологическими про-
цессами с учетом его графического представления и хранения в базе данных;
- разработаны методы последовательного взаимодействия объектов в сети, включая параллельную обработку данных и распределенность прохождения графической информации, учитывая специфику технологических процессов
- выполнена алгоритмическая разработка предложенных методов, программно реализована система проектирования и упраления технологическими процессами ЯТ'МК в среде сетевой операционной системы реального времени
Методы исследования основаны на использовании элементов вычислительной геометрии, теории кривых и поверхностей, теории параллельного программирования, элементов нечеткой логики, методов объектно-ориентированного проектирования. При этом важное значение придается единству формальных и содержательных подходов в процессе проведения исследований.
Научная новизна диссертационной работы заключается в следующем:
1. Разработан метод построения выпуклой оболочки в трехмерном пространстве, позволяющий описывать более широкий класс выпуклых политопов, чем существующие методы.
2. Оптимизирована модель представления структуры трехмерной поверхности в пространстве с учетом ее разбиения на гиперграни, позволяющая получать реалистическое представление объекта.
3. Разработана модель параллельного взаимодедействия объектов в сети, позволяющая оптимальным образом конфигурировать систему и минимизировать работу системы по временным критериям.
4. Разработан метод интерактивной генерации объектов системы и их взаимодействия друг с другом, позволяющий использовать систему автоматизации исследований для различных областей знания, а не для конкретной области.
5. Выполнена алгоритмическая разработка предложенных методов, программная реализация и ввод в эксплуатацию системы ЯТХУШ.
Практическая значимость работы состоит:
• в разработке программной системы автоматизации исследования ЯТХУШ для проектирования и управления технологическими процессами, в которой были реализованы теоретические методы и модели, изложенные в диссертационной работе. Система реализована в операционной среде <ЗЫХ и работает в сети персональных компьютеров. На практике решены задачи интерактивной генерации системы, как на стадии проектирования, так и на стадии управления; оптимизирована и формализована структура потоков данных на объекте исследования;
• во внедрении разработанной программной системы в практику реального автоматизированного проектирования и управления. Экс-
плуатация системы показала их высокую эффективность и устойчивость в оптимизации создания конкретных участков автоматизированного производства и значительном сокращении времени моделирования проектируемых объектов.
В основу диссертационной работы положены результаты, полученные автором в ходе исследований, проводимых по планам научно-исследовательских работ Санкт-Петербургского института информатики и автоматизации РАН.
Внедрение результатов работы. Результаты работы и проведенных исследований нашли практическое внедрение в разработках, выполненных система проектирования и упраления технологическими процессами RTWIN в Главном Информационном Вычислительном Центре нефтегазовой промышленнсти, Волжском автомобильном заводе, Магнитогорском металлургическом комбинате.
Апробация работы. Результаты работы докладывались на Всероссийской конференции " Пользователи QNX 94", на рабочих семинарах выставок CeBit( 1994, 1995 ) и Индустриальной выставки в Ганновере ( 1994).
Публикации. По теме диссертационной работы опубликовано шесть печатных трудов.
Объем работы. Работа состоит из введения, четырех глав, заключения, списка литературы. Диссертация изложена на 105 страницах основного текста. Список литературы включает 30 наименований.
содержание работы
Первая глава
В первой главе дается общая содержательная постановка и анализ задачи построения системы проектирования и упраления технологическими процессами, дается обзор работ и обсуждаются основные направления научных исследований в рассматриваемой предметной области, вводится концептуальная модель проектирования такого рода систем.
При общей постановке и анализе задачи построения системы рассматриваются следующие вопросы: формализованная модель представления системы автоматизации исследования при проектировании и управлении, качественные недостатки существующих систем, возможность использования объектно-ориентированного подхода на стадиях моделирования и эксплуатации, анализ и выбор графической модель представления системы, распределенность системы как совокуп-
ности параллельно существующих объектов, взаимодействие компонентов системы, выбор операционной среды программирования.
Рассматривая формальную модель представления системы делается попытка обобщения существующих систем для различных областей знания, таких, к примеру, как проектирование производства и управление им, контроль и мониторинг технологических процессов, организация и планирование материальных потоков на предприятии. Приводится краткий анализ данных систем с точки зрения их структурной организации. Определяются компоненты систем, играющие основную роль в практическом применении.
На основе анализа существующих систем, делается теоретическая предпосылка создания унифицированной системы, позволяющей осуществлять последовательные развивающиеся проекты в различных отраслях производства, имеющей в своей основе базовую иерархическую структуру. Рассмотрение структуры и потоков данных в существующих системах не позоляют создать новую концепцию, поскольку, в большинстве случаев, базовая модель вышеупомянутых систем пригодна лишь для реализации в узко-специализированной области применения. Примером может служить практическая невозможность интеграции системы проектирования в систему управления производством. Несмотря на кажущуюся разнородность систем проектирования и управления технологичкескими процессами, существуют общие принципы которые позволяют использовать одну базовую модель для различных приложений. Данными принципы, по мнению автора, являются: объектно-ориентированный подход, графическое представление информации, распределенная модель построения и функционирования системы.
Исходя из выбранных принципов построения системы управления и проектирования технологических процессов, дается общее аргументированное обоснование того, почему именно данные принципы должны стать основой для базовой модели создаваемой системы.
Далее приводится общее представление объекта в системе, с учетом оптимального его хранения в базе данных, генерации статического и динамического графического представления. Из теоретических работ по данной области, приводятся возможные структуры данных объекта, из которых анализируются лишь некоторые, среди которых реляционная и сетевая модель представления. К данным работам относятся труды К. Фути, Н. Судзуки, Г. Буча. Приводится замечание как по поводу оптимальности данной структуры для системы в целом, так и для дальнейшего представления информации пользователю системы. При анализе графического представления объекта дается оценка как каркасной, поверхностной модели , так и модели сплошного тела. Наиболее полное представление о существующих моделях приводится
в работе Д. Фоли и С. Файнера. Делается вывод во-первых, о целесообразности совместного использования трех моделей в одной системе, во-вторых - о необходимости обеспечить последовательную генерацию графического объекта.
Проанализировав структурную и графическую формальную модель объекта в системе, предлагается рассмотреть возможный способ взаимодействия объектов друг с другом. Делается краткий обзор литературы по данному направлению. Анализируются теоретические работы, связанные с реализацией предложенных принципов в программной среде, среди которых труды Э.Хоара и Н.Гехани. Общая тенденция - параллельное взаимодействие компонентов в системе, как альтернатива единой последовательной среде. Далее обосновывается, что именно такой способ взаимодействия и обеспечивает функционирование распределенной развивающейся системы автоматизации исследования при проектировании и управлении технологическими процессами производства в реальном времени. Кратко рассматривается принцип параллельного взаимодейстействия компонентов конкретно для разрабатываемой в рамках диссертационной работы системы.
Рассмотрев теоретические методы и модели построения системы, ставится вопрос о необходимости выбора той программной операционной среды, в которой возможна реализация вышеуказанных концепций. Производится оценка операционных систем с точки зрения производительности и распределенности. Делается вывод о том, что единственным операционным окружением может стать только та система, в которой реализованы на нижнем программном уровне функции, среди которых являются основными: многозадачность, поддержка многих пользователей, возможность синхронных и асинхронных посылок сообщений между задачами, поддержка защищенного режима работы процессора, сетевая концепция построения среды.
Таким образом анализ предметной области позволил дать содержательную постановку центральных задач исследования диссертационной работы.
Вторая глава
С целью более эффективного использования предложенных выше концепций разработан метод построения выпуклой оболочки в трехмерном пространстве, позволяющий описывать более широкий класс выпуклых политопов, чем существующие методы, а также оптимизированная модель представления структуры трехмерной поверхности в пространстве с учетом ее разбиения на гиперграни, позволяющая получать реалистическое представление объекта.
Задачу построения выпуклой оболочки в трехмерном пространстве можно сформулировать следующим образом: в пространстве Е за-
дано некоторое множество Б, содержащее N точек; требуется построить их выпуклую оболочку. Дейкстра отметил, что алгоритм реализации данной задачи в трехмерном пространстве является сложной задачей и предоложил свой алгоритм постро ения выпуклой оболочки, который к сожалению работает лишь при значительных ограничениях на расположение точек в прстранстве. Шеймос отметил, что на сегодняшний день не существует разумно эффективного алгоритма построения выпуклой оболочки в пространстве больше двух и наиболее эффективным из существующих является алгоритм "заворачивания подарка", предложенный Чандом и Капуром в 1970 году.
Основная идея алгоритма заключается в обходе всех гиперграней результирующего политопа, с учетом такого выбора точек из общей совокупности, который приводил бы при завершении алгоритма к получению выпуклого политопа. Необходимо также подчеркнуть, что рассматриваются только симплициальные политопы, для которых характерным является то, что для каждого симплициального (1-политопа его каждая гипергрань является (сЫ) симплексом и определяется в пространстве в точности с! вершинами. Принципиальный случай с сим-плициальными политопами можно легко обобщить и на политопы, гиперграни которых не являютя симплексами.
Приведем пример работы алгоритма "заворачивания подарка" в случае трехмерного пространства( рис. 1).
Рк V
Пусть дано Б = { р1, р2, .... рп } - конечное множество точек в пространстве Е. Требуется построить их выпуклую оболочку. Под ребром е будем понимать ребро (в случае трехмерного пространства ) гиперграни, которое является пересечением двух смежных гиперграней. Предположим, что первая гипергрань уже выбрана, исходя из начальных условий задачи. Механизм выбора очередной гиперграни И', ко-
Рис.1
торая является смежной по ребру е к гиперграни Р, состоит в выборе из множества точек Б, точки р', которая образует такую гиперплоскость аП"(е и р'), которая образует наибольший выпуклый угол ( < я) с гипергранью аЩ Б ). Алгоритм "заворачивания подарка" в окончатиельном виде имеет ряд недостатков, которые не позволяют говорить о данном алгоритме, как о универсальном аппарате позволяющем генерировать выпуклую оболочку любых полиэдральных фигур. Основным ограничением, накладываемым на алгоритм является то, что никакие четыре точки не могут лежать на одной плоскости. И в таком варианте данный алгоритм практически невозможно использовать для генерации графических объектоз в системе.
Приведем базовые концепции нового алгоритма "заворачивания подарка" и краткое пояснение к нему.
Шаг 1. Формирование файла базы данных для вершин, кандидатов на "заворачивание подарка", данного объекта.
Шаг 2. Построение первой гиперграни на базе вершин, полученных из файла базы данных, сформированного на первом шаге.
Шаг 3. Формирование файлов базы данных для вершин, ребер и граней для данного объекта
Шаг 4. Выбор точки для построения следующей гиперграни данного объекта и занесение соответствующих данных в файлы, сформированные на третьем шаге.
Шаг 5. Повторение четвертого шага до тех пор, пока не останется ни одной вершины-кандидата на "заворачивание подарка".
Шаг 6. Построение выпуклой оболочки, установление связей между вершинами и завершение алгоритма.
Теперь кратко рассмотрим каждый шаг модифицированного алгоритма в трехмерном случае:
На первом шаге происходит формирование файла базы данных для исходных точек (вершин объекта), поступающих на вход алгоритма. После получения вершин объекта, имея в распоряжении базу данных с реляционной структурой данных, составляется обобщенная схема заполнения базы данных вершин, где номерами записей являются количество вершин в объекте, а полями декартовые координаты вершин политопа. Формат каждого поля в базе данных может быть как целым, а в случае работы с вещественными координатами, так и числом с плавающей точкой. Необходимо отметить, что структура заполнения базы данных соответствует каркасной модели представления графического объекта.
На втором шаге происходит формирование первой гиперграни политопа. Как уже указывалось, рассматриваются симплициальные политопы, поэтому необходимо определить из файла вершин, сформированного на первом шаге алгоритма, три вершины, котороые и будут определять начальную гипергрань результирующего политопа. С од-
ной стороны искомые три вершины можно определтить усеченным методом "заворачивания подарка". Суть его хорошо описана в работе Шеймоса и Препараты и заключается в сортировке всех вершин кандидатов на " заворачивание подарка" по одной из координатных осей в определенной системе координат.
Полученные на предыдущем шаге три вершины, три ребра и одну грань, необходимо занести в базу данных политопа (третий шаг). Как уже было указано, имея в распоряжении простейшую реляционную базу данных, можно создать три файла баз данных. Первый файл должен относится к вершинам, второй - к ребрам, третий к граням. Причем для дальнейшей работы метода важен порядок заполнения файла вершин. Итак, формирование файлов базы данных для вершин, ребер, граней происходит следующим образом:
- формат файла базы данных для вершин совпадает с форматом, представленным на первом шаге. Следует еще раз отметить, что наиболее важным моментом в данном формате являются номера записей в базе данных, которые будут использоваться в качестве параметров при заполнении баз данных ребер и граней.
- формат файла базы данных ребер представляет из себя реляционную структуру, где имеющиеся два поля в записи представляют из себя ребро политопа, при этом каждое поле в отдельностизаполняется значениями номеров записей базы данных вершин, что позволяет уникально идентифицировать каждое ребро объекта. Следует отметить, что формат полей является целым числом.
- по структурной компоновке, формат файла базы данных для граней практически совпадает со структурой файла ребер, за тем исключением, что в данной таблице содержаться три поля, указывающие на номера записей в файле вершин.
На четвертом шаге алгоритма осуществляется выбор точки для построения следующей гиперграни данного объекта и занесение соответствующих данных в файлы базы данных. Выбор ребра, для которого будет строится аффинная оболочка аЩ с и р') и определяться сле-дующаяопорная вершина в данном алгоритме, является произвольным. Иначе, под первым ребром можно рассматривать ребро, находящееся в базе данных с номером записи равным 1. Теоретически задача нахождения вершины V гиперграни И' на опорном ребре Е сводится к определению вершины, на базе которой можно было бы построить наибольший выпуклый угол к исходной гиперграни Р на опорном ребре Е (рис. 1). Один из возможных способов вычисления выпуколго угла, базирующейся на простых законах аналитической геометрии, состоит в следующем:
- рассчитываем коэффициенты линейного уравнения плоскости для первой опорной гиперграни Р по формуле
А1 =у 1 -{г2-73)+у2{г3-г1 )+уЗ(г1 -г2)
В1 =г1 (х2-х3)+г2(х3-х1)+73(х1-х2)
С1 =х1 (у2-уЗ)+х2(уЗ-у 1)+хЗ(у1 -у2),
где (А1 В1 С1) - коэффициенты линейного уравнения плоскости (Ах+Ву+Сг+0=0 ), а (х1,у1,г1) (x2.y2.z2) (хЗ,уЗ,гЗ)- декартовые координаты вершин опорной гиперграни И.
- аналогичным образом рассчитываем коэффициенты (А2 В2 С2) (АЗ ВЗ СЗ)... (Ап Вп Сп) линейных уравнений плоскостей, образованных опорным ребром Е и вершинами-кандидатами на "заворачивание подарка".
- получив на предыдущих шагах линейные уравнения плоскостей, переходим к вычислению угла между ними . Угол пересечения двух плоскостей равен углу между векторами нормалей N1 и N2 к соответствующим плоскостям:
сое = N1 -N2/1 N11 ■ I N21
Теперь представим нормали к плоскостям в векторной форме:
N1 =(А1 В1 С1) и т=(Л2 В2 С2), тогда
№•N2 =А1А2 +В1В2 +С1С2 и
| N11 • I N21 = VA1 -А1 +В1 В1 +С1 С1 + V А2-А2 +В2В2 +С2-С2
Правило по которому теперь можно определить, какую из вершин выбрать, следует сформулировать следующим образом: из совокупности вершин-кандидатов на "заворачивание подарка", выбирается та вершина, для которой косинус угла между опорной гипергранью и гипергранью, которая содержит данную вершину и опорное ребро, наименьший.
Используя алгоритм определения следующей вершины, входящей в политоп, на пятом шаге осуществляется сортировка всех остальных вершин, являющихся кандидатами на "заворачивание подарка". На данном этапе метода необходимо правильным образом осуществлять переход от одной гиперграни политопа к другой. Это позволяет описывать более широкий класс выпуклых политопов, за счет исходного предположения о том, что на одной может находиться не три точки, а более.
Дальнейшую последовательность функционирования метода можно представить следующей цепочкой действий:
1 этап. Начало глобального цикла по номерам записей файла гиперграней. Переменной I присвоить значение равное 0;
2 этап. Начало локального цикла по номерам записей файла ребер, соответствующих гиперграни полученной на этапе 1;
3 этап. Вычисление вершины, которая в совокупности с опорным ребром, полученным на этапе 2 образует новую симплициальную гипергрань. Если угол между опорной гипергранью и только полученной гипергранью составляет 180°(т.е.со5=-1), то переменную I увеличить на I. Алгоритм определения угла между гипергранями в точночти соответствует поэтапному вычислению на четвертом шаге;
4 этап. Конец локального цикла по номерам записей в файле ребер, соответствующих гиперграни, полученной на этапе 1.
5 этап. Если переменная \ 0, то полученная на этапе 3 гипергрань, для которой I # 0, "всавляется" в файл гиперграней в то место, которое будет рассматриваться первым при цикле этапа 1. После этого перейти к этапу 1, если еще существуют точки (вершины) - кандидаты на " заворачивание подарка". Если значение переменной 1=0, если еще не существуют вершины-кандидаты на "заворачивание подарка".
6 этап. Конец глобального цикла по номерам записей файла гиперграней;
Предложенный в диссертации метод позволяет строить выпуклые оболочки для более широкого класса политопов, чем существующие методы.
Полученная в результате метода "заворачивания подарка" каркасная структура данных была оптимизирована, поскольку данная структура не позволяет получать трехмерное реалистическое представление объекта.
Каждая гипергрань объекта параметризуется, с тем чтобы в дальнейшем получить списки вершин, ребер, граней и контуров с учетом топологического расположения объекта в пространстве. Для параметризации объекта в работе был использован метод разбиения Кунса.
Поверхность замкнута четырьмя кривыми, как показано на рис.2. Пусть ииш два параметра используемые для вычисления данного участка поверхности; значения их варьируются внутри интервала 0<и и
Пусть С>(0,0), <3(0,1), (2(1,0) и СЮ,1) граничные точки вектора в четырех углах, также обозначим <3(и,0), <3(и,1), <3(0, \у) и <3(1,«О как четыре граничные кривые.
\у=1
и=1
лу=0
<5(0,1)
0(0,«)
<Ко,о)
О(М)
О(М)
0(4,0)
оа,у)
О(1,о)
Рис.2
Формула для участка поверхности Кунса выглядит следующим образом:
Р(и,\у) = со,о(и)д(о,п0+со,1(и)0(1,\у) +со,о(п)д(и,о)+со,1(«)д(и,1) -со,о(и)со,о(™)д(о,о)-со,о(и)со,1(»)<2(о,1) - со,1 (и)со,о(«)д(1 ,о)-со,1 (и)Со,1 (п)д(1,1).
Представим формулу в матричном виде:
Р(и^) = - [-1 С0,0(и) С0,1(и)]
о о(и,о) д(и,1) -1 д(Олу) о(о,о) О(о,1) со,о(«)
0(1,«О <}(1,0) 0(1,1) С0,1(лу)
Разложим матрицу на сумму трех компонентов:
Р(и,\у) =[С0,0(и) С0,1(и)] -[С0,0(ц) С0,1(и)]
0(0, «О 0(1,«О
+[ О(и,0)О(ц,1)]
С0,0(») С0,1(\У)
0(0,0)0(0,1) 0(1,0) 0(1,1)
С0,0(уу) С0,1(№)
где СО,0 и СО, 1 - непрерывные монотонные сглаживающие функции внутри интервала, ограниченного участком поверхности. Таким образом, кусок поверхности Р(и,\\') вычисляется посредством четырех граничных кривых и двух скалярных функций СО,0 и СО, 1.
После параметризации каждой из гиперграней генерируется оптимизированная структура данных, позволяющая учитывать реальное положение объекта в пространстве. Структура объекта, генерируемая для системы ИТЛУШ представляет из себя четыре реляционных таблицы, соответственно для вершин, ребер, контуров и поверхностей. При генерации структуры объекта были решены следующие локальные задачи: определение внутренних и внешних сторон объекта и обеспечение быстрого поиска примыкающих вершин, ребер и контуров.
Третья глава
Полученная во второй главе структура объекта, отражает лишь графическую часть представления информации в системе ЯТ\УШ. Так как объекты должны выполнять также свои вычислительные функции, структура объекта должна быть расширена с учетом возможности объекта производить определенные действия над параметрами приходящими из входных каналов и передавать значения на выходные каналы. В третьей главе приводится процесс генерации окончательной структуры данных объекта в системе ЛТШМ.
Каждый сгенерированный объект в системе И.Т'\УШ реализован как самостоятельный процесс ( задача ) в операционном окружении. Взаимодействие с другими процессами-объектами возможно как в синхронном, так и в асинхронном режимах. Для осуществления параллельного взаимодействия процессов в сети был создан язык сообщений между объектами. Связи между объектами в системе осуществляются посредством каналов.
Язык сообщений использует тот же набор символов, что и язык С. Это обусловлено прежде всего тем, что исходные тексты системы были написаны именно на этом языке, а также тем, чтобы конечный пользователь получил возможность работать с привычной ему средой. Поскольку предназначении языка является лишь описание взаимодействия объектов друг с другом, поэтому набор ключевых слов ограничивается шестью необходимыми. Этот набор позволяет осуществлять как операции выбора последовательности действий, в случае прихода сообщения к объекту по соответствующему каналу, так и осуществлять асинхронные или синхронные посылки сообщений между объектами. С тем, чтобы наиболее гибко реализовать языковой интерфейс с системой, были введены специальные идентификаторы, которые могут использоваться как имена каналов или имена функций. Поскольку язык является интерактивным, данные идентификаторы можно выбирать из меню и присваивать им соответствующие имена и аттрибуты. Выбор идентификаторов возможен для входных I выходных каналов связи с драйвером устройства связи с объектом ( аналогово-цифровыми преобразователями, контроллерами, телекоммуникационными устройствами и т.д. ), для асинхронных / синхронных каналов связи с администратором аварий, для каналов распределенного архивирования информации в базе данных, а также для каналов связи с графическим окружением. Фактически язык сообщений поддерживает тип переменных данных языка С. При определении нового входного или выходного канала объекта генерируется первичный шаблон структуры данных по каналу. После этого пользователь имеет возможность редактировать его и добавлять новые типы данных. Также автоматически инициализируются имена процесса, канала и номер канала. При параллельном обмене сообщениями по каналам между объектами существенным является значение состояния канала. При написании имени канала идет обращение к численной части состояния канала ( кроме случая присвоения символьной константы ). Язык сообщений поддерживает три типа констант: целые, с плавающей точкой, строковые. Целые константы представляют собой целые знаковые числа. Константы с плавающей точкой - знаковые числа с дробной частью, отделенной точкой. Строковые константы представляют собой группу символов заключенных в двойные кавычки. Вложенные строки не допускаются.
Начало функционирования системы в целом определяется посылкой либо одного, либо группы сообщений по одному из каналов. В зависимости от разработанной схемы существующие объекты по цепи распределенно осуществляют посылки между собой. Механизм распределения происходит в зависимости от способа программирования объекта. Для этого в языке посредством интерактивных правил вводится принцип функционирования объекта.
При интерактивном редактировании объекта в системе используются операторы. Так оператор блока введен в язык сообщений для возможности использования совокупности операторов. Также допускается использование вложенных блоков. Значения данных, приходящие по входным каналам к объекту, должны обработаны самим объектом и переданы по выходным каналам другим объектам. Для этого в языке введен оператор-выражение, назначение которого обработка данных поступающих к объекту, вклюая присвоение, интерактивное сложение , произведение, подключение математиченских функции и т.д Как только объект получает по каналам совокупность данных для обработки, появляется необходимость выбора последовательности дальнейших действий. Оператор условия позволяет изменять процесс обработки данных внутри объекта, а также выбирать требуемый выходной канал для посылки значений. Примером может служить изменение посылки данных от какого-либо объекта по графическому каналу, вызванное изменением состояния данных на канале связи с реальным ус-тойством или на канале администрирования базы данных. Как и в языке С последовательность действий определяется значением контрольного выражения внутри оператора. Поскольку существует возможность циклической обработки поступающих данных в объекте, в языке сообщений системы введен оператор цикла. Вышеупомянутый оператор может быть также интерактивно выбран и поставлен в программу функционирования объекта. Тело цикла будет повторяться до тех пор, пока контрольное выражение не будет равно нулю. Если контрольное выражение будет равно нулю при первом вхождении в цикл, то тело цикла не будет выполняться вообще.
В разрабатываемой системе ЯТУЛЫ фундаментальной формой взаимодействия между объектами в системе являются сообщения. Посредством сообщений осуществляется синхронная коммуникация между взаимодействующими объектами, когда объекту посылающему сообщение требуется подтверждение и ответ от принимающего сообщение объекта. В системе ЛТ^УШ сообщение представляет из себя набор байт, которые синхронно передаются от объекта к объекту, при этом сама система не знает о содержании сообщения. Для данной формы коммуникации язык связей использует три оператора.
Модель синхронного взаимодействия объектов друг с другом посредством обмена сообщений позволило системе ЯТ\У1Ы стать рас-
пределенной, функционирующей в реальном времени системой предно-значенной для проектирования и управления технологическими процессами производства. Следет отметить что данные функции были реализованы таким образом, что посылки сообщений могут производиться как на одном компьютере, так и в локальной сети. В том случае, если объект не может продолжать выполнение своих функций, к примеру ожидать завершения протокола сообщений, тогда объект находится в заблокированном состоянии.
Таким образом используемый язык сообщений позволил создать распределенную среду обмена сообщениями между объектами, позволил оптимальным образом конфигурировать систему, а также минимизировать работу системы по временным критериям.
Четвертая глава
Проведенные исследования и разработанные алгоритмы позволяют предложить концепцию, объектно-ориентированную на распределенность и реальное время работы.
Благодаря своей концепции построения, ИТ\*/Ш предоставляет новые эффективные преимущества при разработке приложений для проектирования и управления технологическими процессами. Вместе с методами и алгоритмами предоставляемыми другими близкими по применению программными системами, Н.Т\\^1Ы предоставляет значительный спектр новых программных решений, позволяющих адаптировать систему для перспективных исследований в промышленности. К числу преимуществ программной реализации системы относятся:
- повышенная устойчивость и надежность работы
- распределенность контроллируемых процессов
- радикальное сокращение времени разработки приложений
Н.Т\УШ позволяет вести быструю интерактивную разработку
многообразных приложений, которые создаются в критических точках производства, практически независимо от того в какой конкретно отрасли промышленности применяется система. Областями применения системы могут быть: визуализация технологических процес-
сов, разработка схемы технологических потоков, робототехника, дизайн изделия включающий анимацию, эмуляция физических, химических или биологических процессов, программное подключение к компьютеру широкого спектра устройств ввода/вывода.
ИТ\\ТЫ ускоряет разработку приложений реального времени, для которых исходя из принципа обработки информации ориентированного на события, предоставляется в распоряжение модель, благодаря которой каждое конкретное приложение может одновременно доступать к графическим объектам, таймеру и драйверам устройств ввода/вывода( многопортовые карты, аналого-цифровые преобразователи, промышленные контроллеры и т.д.). Каждое приложение рабо-
тает с определенным количеством объектов и логических каналов, которые напрямую связывают между собой объекты посредством специального протокола сообщений, который объекты могут как принимать, так и посылать. Благодаря гаким каналам, могут прямо регулироваться моментально возникающие новые параметры или состояния объекта, в то время как сама система берет на себя функцию обработки информации, поступающей по соответствующему каналу к объекту. Кроме того, при такой эффективной модели возможна одновременная обработка многих каналов ввода/вывода и представление всех полученных параметров и собственно объектов в графическом виде в реальном времени.
В случае проектирования и управления технологическими процессами производства, каждое приложение должно визуализировать реальные объекты технологического процесса, а также их состояния. Для этого в систему включены разнообразные графические примитивы, при помощи которых оператор может как контролировать, так и управлять технологическим процессом. Основная идея состоит в том, что бы предоставить оператору графические символы, с которыми он првык работать и которые ему понятны на интуитивном уровне. Создание и анимация этой специальной графики является первым шагом для разработки нового приложения. С этой целью в системе был разработан универсальный интерактивный CAD редактор, где в двумерном и трехмерном виде могут быть сгенерированы объекты. Данным объектам присваиваются имя и соответствующие аттрибуты. Они могут состоять из вложенных друг в друга групп графических элементов, которые также содержат свое имя и аттрибуты. Таким образом сгенерированное графическое представление технологического процесса сохраняются в специфическом для системы формате данных.
На следующем шаге при создании приложения используется модуль редактирования связей между объектами. При помощи этого модуля определяется структура размещения окон в приложении, а также генерируются параметры объектов и каналов. В случае задания графических каналов также специфицируется то, с каким графическим элементом связывать канал.
После определения статической структуры приложения, можно добавлять динамические свойства графическим объектам. Для этого в редакторе задаются правила, которые определяют, как состояния объектов и каналов в приложении зависят от воздействий других объектов или устройств ввода/вывода информации. Правило, к примеру, может быть сформулировано следующим образом: Изменение значения температуры, которое было получено по каналу, имеет следствием то, что по графическому каналу указатель измерительного инструмента на дисплее должен повернуться на определенный угол. Правила, подроб-
но описанные в третьей главе диссертации, также как и статическая часть приложения сохраняются в специальном для системы формате.
В дополнении к специфицированному таким образои приложению, позволяет автоматически генерировать полный исходный текст на языке С. После стадий компиляции и редактирования связей приложение готово полностью к запуску.
При помощи библиотеки интерфейса с пользователем за минимально короткое время можно разработать протоколы драйверов для управления и контроля функционирования специальных устройств ввода/вывода.
основные результаты работы
В диссертационной работе была разработана структурная модель системы для автоматизации исследования при проектировании и управлении, проведено исследование и модификация алгоритмов существующих моделей, реализовано программное обеспечение, реализующее на практике полученные теоретические и практические результаты:
- разработан метод построения выпуклой оболочки в трехмерном пространстве, позволяющий описывать более широкий класс выпуклых политопов, чем существующие методы;
- оптимизирована модель представления структуры трехмерной поверхности в пространстве с учетом ее разбиения на гиперграни, позволяющая получать реалистическое представление объекта;
- разработана модель параллельного взаимодедействия объектов в сети, позволяющая оптимальным образом конфигурировать систему и минимизировать работу системы по временным критериям;
- разработан метод интерактивной генерации объектов системы и их взаимодействия друг с другом, позволяющий использовать систему автоматизации исследований для различных областей знания, а не для конкретной области;
- разработана программная система автоматизации исследования
для проектирования и управления технологическими процессами, в которой были реализованы теоретические методы и модели, изложенные в диссертационной работе. Система реализована в операционной среде (^ЫХ и работает в сети персональных компьютеров. На практике решены задачи интерактивной генерации системы, как на стадии проектирования, так и на стадии управления; оптимизирована и формализована структура потоков данных на объекте исследования;
- внедрена в практику разработанная программная система Н.Т\\та в практику реального автоматизированного проектирования и управления. Эксплуатация системы показала их высокую эффективность и устойчивость в оптимизации создания конкретных участков
автоматизированного производства и значительном сокращении времени моделирования проектируемых объектов.
Основные результаты работы отражены в следующих публикациях:
1. Кондратюк A.A. К проблеме эффективной компьютерной реализации построения выпуклой оболочки в трехмерном пространстве. // Интеллектуализация проектирования, Сборник трудов СПИИ РАН. Под редакцией проф. Александрова В.В. - Санкт-Петербург, 1994.
2. Макарьев К.А., Кондратюк A.A. Современные средства разработки систем контроля, управления и визуализации. // Интеллектуализация проектирования, Сборник трудов СПИИ РАН. Под редакцией проф. Александрова В.В. - Санкт-Петербург, 1994.
3. Кондратюк A.A. Структура и основные особенности системы геометрического моделирования трехмерных объектов SWD-CAD. // Структуры данных, алгоритмы и программы обработки сложных изображений. Под редакцией проф. Александрова В.В. - Санкт-Петербург, 1992.
4. Кондратюк A.A., Ющенко C.B., Агафонов Л.В. Операционная система QNX. // Монитор - Москва 1994.
5. Макарьев К.А., Кондратюк A.A. Знакомство с WATCOM С для QNX. // Монитор - Москва 1994.
6. Кондратюк A.A. Руководство по программированию в среде RTWIN. // SWDatentechnik Gmbh - Quickborn 1994.
Подписано в печать -/V. /О.
Формат 60x90 1/ 16. Печл. /¡¿7. Тираж УОО экз. Заказ ИПК СПбГИЭА. 191002, Санкт-Петербург, ул.Марата.31
-
Похожие работы
- Автоматизация системы контроля процесса стендовых испытаний газотурбинных двигателей серийного производства
- Методы и алгоритмы информационной поддержки управления газотранспортной системой
- Логическое управление робототехническими системами на основе конечных автоматов
- Разработка и исследование многоцелевого моделирующего стенда для систем автоматического управления малоразмерных газотурбинных двигателей
- Разработка автоматизированной системы построения информационных моделей процессов управления пневмосистемами на базе объектно-ориентированного подхода
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность