автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Граф-модели и средства решения геоинформационных задач при проектировании магистральных газопроводов

кандидата технических наук
Прахов, Илья Андреевич
город
Нижний Новгород
год
2009
специальность ВАК РФ
05.13.12
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Граф-модели и средства решения геоинформационных задач при проектировании магистральных газопроводов»

Автореферат диссертации по теме "Граф-модели и средства решения геоинформационных задач при проектировании магистральных газопроводов"

ии^

На правах рукописи

г

--У/рау,

Прахов Илья Андреевич

ГРАФ-МОДЕЛИ И СРЕДСТВА РЕШЕНИЯ ГЕОИНФОРМАЦИОННЫХ ЗАДАЧ ПРИ ПРОЕКТИРОВАНИИ МАГИСТРАЛЬНЫХ ГАЗОПРОВОДОВ

Специальность 05.13.12 — Системы автоматизации проектирования (промышленность)

Автореферат диссертации на соискание ученой степени кандидата технических наук

о 9 АПР ш

Владимир - 2009

003466374

Диссертация выполнена на кафедре физики и методики обучения физике ГОУ ВПО «Шуйский государственный педагогический университет»

Защита диссертации состоится « 13 » мая 2009 г. в 16 часов на заседании диссертационного совета Д.212.025.01 Владимирского государственного университета по адресу: 600000, г. Владимир, ул. Горького, д. 87.

С диссертацией можно ознакомиться в научной библиотеке Владимирского государственного университета по адресу: Россия, 600000, г. Владимир, ул. Горького, 87.

Автореферат разослан «_»_200_г.

Ученый секретарь диссертационного совета

Научный руководитель: Бабанов Николай Юрьевич, к.т.н.

Официальные оппоненты: Жигалов Илья Евгеньевич, д.т.н.,

профессор;

Решетников Игорь Станиславович, к.т.н.

Ведущая организация

ООО «Газавтоматика» ОАО «Газпром» (г. Москва)

доктор технических наук, профессор

Актуальность проблемы.

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

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

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

Вопросам создания таких технологий посвящено большое количество работ зарубежных и отечественных авторов, среди которых можно выделить публикации И. В. Вельбицкого, А. М. Вендерова, С. Д. Кузнецова, А. А. Шалыто, П. П. Чена, Бахмана, Буча Г., С. Меллора, R. Barker, В. W. Boehm, G. Tillmann, J. A. Whittaker и др.

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

Цели и задачи исследования.

Цель работы заключается в создании технологии конструирования систем инженерных расчетов для решения геоинформационных задач при проектировании магистральных газопроводов на основании граф-моделей. Цель работы достигается путем решения следующих задач:

• анализ существующих методологий и технологий автоматизации проектирования прикладных программных комплексов;

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

• разработка алгоритмов компьютерной реализации программного комплекса на основании его граф-моделей;

• разработка методики автоматизации конструирования программных комплексов из имеющейся базы функциональных модулей (номенклатура модельного и алгоритмического обеспечения, состав инструментальных средств и дисциплина конструирования);

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

Методы исследования.

В работе применялись как теоретические, так и экспериментальные методы исследования.

Теоретические исследования основаны на основных положениях теории графов, теории формальных языков и теории конечных автоматов. Кроме этого в работе применялись некоторые методы и основные положения теории множеств.

В экспериментальных исследованиях созданных моделей и алгоритмов использовались методы представления знаний в экспертных системах и базах знаний.

При проектировании структур хранения данных в разрабатываемых программных системах применялась теория ролевых графов (Я-графов).

На защиту выносятся.

На защиту выносятся следующие основные научные результаты:

• информационно-алгоритмическая граф-модель служащая для описания функционального процессора системы инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов;

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

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

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

• результаты использования разработанной методики и системы проектирования граф-моделей («Система Поддержки Граф-Моделей») и системы конструирования программных комплексов на базе граф-моделей («Конструктор Прикладных Программ»), внедренные в процесс проектирования магистральных газопроводов.

Научная новизна.

Автором самостоятельно разрешены следующие научные вопросы:

• предложена алгебра вычислительных процессов, позволяющая сконструировать модель вычислительного процесса для решения каждой конкретной геоинформационной задачи в проектировании магистральных газопроводов в виде алгебраического выражения;

• предложена граф-модель функционального процессора системы инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов, представляющая собой ориентированный граф с двумя типами вершин (данные и команды преобразования данных). Предложена процедура трансформации алгебраического выражения в графовую структуру. Показано, что она может рассматриваться в качестве сетевой модели вычислительного процесса и являться моделью управления вычислительным процессом;

Практическая ценность работы.

Постановка задачи отвечает актуальным потребностям информационной индустрии в области разработки расчетных программных комплексов для обеспечения решения прикладных задач в САПР и промышленных геоинформационных системах, так как решает проблему быстрого конструирования таких программных комплексов для нужд проектирования объектов газотранспортной системы.

Практическая значимость результатов обусловлена тем, что предложена и реализована технология автоматизированного конструирования программных комплексов автоматизации инженерных расчетов для САПР и ГИС, включающая в себя:

• методику автоматизированного конструирования системы инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов;

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

• программную инструментальную систему поддержки визуального проектирования граф-моделей различной проблемной ориентации («Система Поддержки Граф-Моделей») и программную инструментальную систему визуального моделирования и реализации программных комплексов, на основании граф-моделей («Конструктор Прикладных Программ»);

• Спроектирована и реализована структура хранения данных граф-модели и шаблона, которая представляет собой расширение языка С++ для работы с граф-моделями и шаблонами граф-моделей. Используя созданное расширение языка С++ для работы с граф-моделями и шаблонами граф-моделей, выделена СУБД доступа к файлам граф-моделей и файлам шаблонов которая может использоваться и в других работах, применяющих графовые структуры.

Реализация и внедрение результатов исследования.

Предложенные алгоритмы, связанные с обработкой граф-моделей, реализованы автором в виде программного продукта: «Система Поддержки Граф-Моделей» и ее приложения - «Конструктор Прикладных Программ». Эти инструментальные средства позволяют создавать экземпляры произвольных граф-моделей (в том числе и используемых в технологии), а также собирать на их основе программные комплексы.

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

Данные программные продукты, являясь средством поддержки технологии конструирования программных комплексов, использованы при построении ряда программных систем, что подтверждают соответствующие акты о внедрении. Все работы по реализации и внедрению технологии и программных систем производились при косвенном или непосредственном участии автора как консультанта или ответственного исполнителя. В частности, имеются акты внедрения и отзывы по следующим работам:

1. Создание программного комплекса «Система автоматизированного вычисления характеристик местности прохождения трассы магистральных газопроводов по данным электронной карты», включающий «Систему Поддержки Граф-Моделей» и ее приложение

- «Конструктор Прикладных Программ». Программный комплекс внедрен в промышленную эксплуатацию в ОАО «Гипрогазцентр».

2. Создание компьютерной обучающей системы «Практическая работа студентов по изучению заболеваний связанных с нарушением обмена веществ». Система внедрена в учебный процесс в Нижегородском Медицинском Базовом Колледже.

Апробация работы.

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

- «Вычислительная математика и кибернетика 2000» (Нижний Новгород 2000).

- 11-й международной конференции по компьютерной графике и машинному зрению «ГрафиКон'2001» (Нижний Новгород 2001).

- VI всероссийской с участием стран СНГ конференции «Методы и средства обработки сложной графической информации» (Нижний Новгород 2001).

- «Математика и кибернетика 2002» (Нижний Новгород 2002).

- II Межрегиональная конференция "Новейшие информационные технологии - инструмент повышения эффективности управления" (Нижний Новгород, 2002).

- Международная конференция «Теоретические и прикладные аспекты построения программных систем». (Украина, Киев, 2004).

- Pattern Recognition and Image Analysis: New Information Technologies (PRIA-8-2007). 8th international conference. (Yoshkar-Ola, 2007).

- 7-ая международная научно-техническая конференция «Перспективные технологии в средствах передачи информации» (Владимир, 2007).

Публикации.

По материалам диссертации опубликовано 16 работ, из них 9 статей и 7 тезисных публикаций. Среди статей имеется 2 публикации в изданиях из перечня ВАК. Работа над диссертацией проводилась в плане решения задач согласно проекту № 96-5-97220 РФФИ и в соответствии с проектом К 0392 ФЦП "Интеграция".

Структура и объем работы.

Диссертационная работа состоит из 155 страниц машинописного текста, иллюстрирована 72 рисунками, 2 таблицами, 15 формулами и содержит описание 1 алгоритма. Работа состоит из введения, 4 глав, заключения, списка литературы из 60 наименований.

Содержание работы

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

Первая глава посвящена анализу существующих методов проектирования программных комплексов, применительно к задаче автоматизации инженерных расчетов в геоинформационных системах проектирования магистральных газопроводов, в том числе и двух компонентов САПР, таких как: программное обеспечение САПР и программные компоненты САПР. Так же приводится обзор современных инструментальных средств и САБЕ-технологий, реализующих эти методы.

Основными особенностями задачи автоматизации решения геоинформационных задач при проектировании магистральных газопроводов в части автоматизации конструирования систем инженерных расчетов в геоинформационных системах являются:

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

• процесс конструирования зачастую выполняется инженером-проектировщиком (специалистом предметной области) не являющимся специалистом в области программирования.

Основными достоинствами использования формальных методов проектирования являются:

- Быстрая сборка и модификация управляющего и интерфейсного скелета сложного программного комплекса.

- Облегчение, и частичая автоматизация процесса документирования программного комплекса

- Облегчение реинженеринга программного комплекса, построенного на базе формальных моделей

Одним из базовых понятий методологии проектирования программных комплексов является понятие жизненного цикла программного комплекса (ЖЦ ПК). ЖЦ ПК - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.

К настоящему времени наибольшее распространение получили следующие две основные модели ЖЦ, которые и рассматриваются в данной главе:

• каскадная модель;

• спиральная модель.

В основной части главы рассматриваются существующие технологии обработки данных, которые предлагается разделить на три основных группы:

• Алгоритмические вычисления

• Информационный поиск в дискретной статической системе

• Имитация (аналоговое моделирование) дискретной динамической системы.

Рассмотренные три суперкласса прикладных задач (алгоритмические

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

Для случая информационного поиска задается универсальный алгоритм поиска (в зависимости от класса модели описывающей систему) и проектированию подлежит лишь структура базы данных. В случае имитационного моделирования задается класс модели и алгоритм ее интерпретации, а в процессе проектирования создается конкретная модель конкретной системы. Для случая алгоритмических вычислений существует поддерживающая эту методологию технология пошагового структурного проектирования, Р-схемы, 8\У1ТСН-технология.

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

В качестве основной предпосылки для создания методики проектирования сложных программных комплексов, предлагается рассмотреть типовую архитектуру таких вычислительных комплексов (Рисунок 1). Функциональный процессор характеризуется системой команд обработки данных I и способен преобразовывать исходные данные в результирующие данные. Способ преобразования определяется управляющим процессором, который формирует последовательность команд обработки данных /ст/. Управляющий процессор формирует эту последовательность на основании модели управления и в процессе интерактивного взаимодействия с пользователем.

Рисунок 1. Архитектура вычислительного комплекса

Граф-модели

Шаблоном граф-модели называется пара Т = (TV,TA), где

Tv={tv} - непустое множество описаний типов вершин граф-модели, а Ta={U} - непустое множество описаний типов дуг граф-модели.

Описания типов вершин и дуг это, по сути дела, списки характеристик, т.е. атрибутов и их значений, которые различны для различных типов дуг и вершин (tv = {hVi, i = l...n}, a tA = {hAj, i =l...m}, где hVi=(aVi,zVi), a hA,=(aA„zAi)). Значения атрибутов в шаблоне не задаются, они определяются позднее: в каждой конкретной вершине или дуге, которая содержит копию описания.

Введем понятие граф-модели которое определим как, пару M = (Т, {G}), где Т - шаблон граф-модели, описание которого дано выше, а {G} - множество граф-схем, каждая из которых представлена специальным связным орграфом G.

Каждая граф-схема является тройкой G=(Nq, Vg, Ag), где N0 - имя граф-схемы, уникальное в пределах M, Vg - непустое множество вершин граф-схем, AG - подмножество двухэлементных упорядоченных подмножеств множества V, называемых дугами граф-схемы.

Вершиной граф-схемы является вектор v=(vG,t*v), где Vq - вершина орграфа (vGeVG), a t*v - описание типа этой вершины, которое является копией одного из описаний типа вершин tv из шаблона (tveTv). Аналогично дугой граф-схемы является вектор a=(ao,t а), где &q - дуга орграфа (асе Aq), a t А - описание типа этой дуги, которое является копией одного из описаний типа дуг tA из шаблона (îasTa).

Поскольку t*v = {hVi, i = l...n}, a t*A = {hAi, i =l...m}, где hVi=(aVj,zVj), a hA =(aA,zA), то граф-схема - это ориентированный помеченный граф со сложными метками вершин и дуг, состоящими из множеств двумерных векторов атрибутов и значений. Атрибуты могут являться как информационной составляющей граф-схемы, так и, в общем случае, ссылкой на другую граф-схему.

Введенному выше определению соответствует бесконечное множество экземпляров граф-моделей. Каждый экземпляр может отличаться от других множеством граф-схем {в}, а также списками значений атрибутов вершин и дуг у каждой граф-схемы. Однако, было бы затруднительно построить интерпретатор граф-моделей, определенных таким образом, поэтому целесообразно разбить все множество экземпляров граф-моделей на классы.

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

Множества вершин, дуг, граф-схем {й} и списки характеристик выделяют экземпляр модели из класса.

В настоящей методике построения вычислительных программных комплексов обработки данных используются два класса граф-моделей:

• Информационно-алгоритмическая модель функционального процессора программного комплекса.

• Сетевая модель вычислительного процесса решения прикладной задачи. Информационно-алгоритмическая модель, представляет собой описание

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

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

• имеется по крайней мере два основных типа вершин: вершины "модули" и вершины "данные".

• каждая вершина типа "модуль" имеет уникальную метку, соответствующую команде операционного процессора.

• каждая вершина типа "данные" имеет уникальную метку, соответствующую некоторой совокупности данных.

• имеется по крайней мере одна вершина типа "данные" в которую не входит ни одна дуга - исходные данные.

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

• имеется единственный тип дуги - "передача данных".

^1ектронная карта

о,: ВЫБОРКА

Пересекающиеся объекты

о,: ВЫБОР

о5:ТИП

Тип

о,: ВЫВОД 1 о<: ВЫВОД 2

Отчет

ВЫБОРКА - Выборка пересекающихся объею-ов

ВЫБОР - Выбор конкретного объекта из списка (пересекающихся объектов) ТИП - Определение типа объекта ВЫВОД 1 - Вывол характеристик объекта ВЫВОД 2 - Вывод информации из внешней БД

Рисунок 4. Пример информационно-алгоритмической модели для программы расчета характеристик расположения объекта электронной карты.

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

Пример информационно-алгоритмической модели для прикладной программы расчета характеристик расположения объекта электронной карты, представлен на рисунке 4.

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

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

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

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

Пусть Е={е1,е2,...,е|с} конечное множество элементарных вычислительных процессов. Элементарность процесса предполагает его определенность априори, или, говоря другими словами, существование некоторого функционального процессора, способного исполнить этот процесс. Тогда, введя ряд операций можно определить прикладную алгебру вычислительных процессов, которая является средством формального выражения конструкции главного вычислительного процесса через конечное множество элементарных

вычислительных процессов Е={е1,е2,...,ек}. При этом используются сложные (вспомогательные) вычислительные процессы У={<у1>,<у2>,...,<ур>}.

Интерпретация алгебры вычислительных процессов выглядит следующим образом. Множество Е можно рассматривать как алфавит элементарных вычислительных процессов. Очевидным образом определяется

последовательность элементарных вычислительных процессов а = еа1,еа2.....еач .

Множество всех таких последовательностей, включая бесконечные, обозначим через Е*. Любое подмножество «§»сЕ* мы называем вычислительным процессом над базисом элементарных вычислительных процессов Е. Если последовательность элементарных вычислительных процессов т = еа1,еа2,...,еач входит в множество <^>>, она называется траекторией вычислительного процесса «§».

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

Конструирование управляющего процессора ведется на основе модели вычислительного процесса. Сетевую модель вычислительного процесса мы определяем как граф-модель, обладающую следующей спецификой:

• в каждом графе модели имеется единственная начальная вершина в которую не входит ни одна дуга;

• в каждом графе имеется хотя бы одна конечная вершина из которой не выходит ни одна дуга;

• через любую вершину, кроме начальной и конечной, проходит хотя бы один путь, ведущий из начальной вершины в одну из конечных;

На рисунке 5 приведен пример сетевой модели вычислительного процесса расчета характеристик расположения объекта электронной карты.

^ ВЫБОРКА

{ ВЫБОР ^ тип п ВЫВОД 1 v

° /а,/ ^ ( Л* /ст3/ 9 у

\ \ ВЫВОД2 /

Хвыход /а¡/

ъ

Рисунок 5. Пример сетевой модели вычислительного процесса для программы расчета характеристик расположения объекта электронной карты.

Алгоритмы интерпретации граф-моделей

На основании сетевой модели можно обеспечить три способа управления порядком выполнения вычислительных модулей: автоматический, директивный и интерактивный. Во всех трех случаях управление осуществляется посредством выделения "подходящего", для конкретного набора исходных данных пути в сетевой модели.

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

Учитывая вышесказанное, актуальной задачей является разработка методов контроля корректности использования вычислительных модулей в сетевой модели.

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

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

Кроме данного алгоритма, существенной частью работы является создание алгоритма интерпретации сетевой модели вычислительного процесса, который позволяет осуществлять управление вычислительным процессом, используя унифицированный интерпретатор. Данный алгоритм имеет следующие особенности.

• Алгоритм построен на базе конечно-автоматного интерпретатора.

• Алгоритм осуществляет рекурсивный обход граф-моделей, составляющих сетевую модель вычислительного процесса, что обеспечивает возможность использования дуг - «ссылок на подграфы».

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

Третья глава посвящена информационному и алгоритмическому обеспечению разработанных инструментальных средств.

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

Рисунок 6. Информационно-алгоритмическая модель системы поддержки

граф-моделей.

Применение самой технологии при построении средств поддержки этой технологии иллюстрируется на конструировании системы поддержки граф-моделей и ее приложении - конструкторе прикладных программ. Система поддержки граф-моделей представлена в виде функционального и управляющего процессоров. Конструктор прикладных программ представлен информационно-алгоритмической моделью интерпретатора, а так же сетевой моделью вычислительного процесса интерпретации сетевых моделей вычислительного процесса, которая реализована в данном интерпретаторе.

«Экземпляр граф-модели» 1

Окземпляр граф-модели>

эаф-схсм п ь МО лон ели Размеры рисования

<Граф-схемы> <Шаблон> Размеры гра

<Граф-схема>

куеюп Имя гра

[)-схемы

<Кусты>

Имя

<КуСТ> 4 -

I/лен ТО; вершин

шкагор куста

Координат к у

и СХОДЯ 1 (ИХ дуг

Идентификатор Координаты вершины

<Дуги>

<Дуга>

Млссив точ

<Точки перелома> *

Описан типа вершин ,1 куста

<Тип вершины>

I на/следу к|<СТ

Олиса* 1е типа

Д} II

<Тип дуги>

Точка перелома

Рисунок 7. Ролевый граф экземпляра граф-модели.

Для проектирования структуры базы данных системы поддержки граф-моделей были построены классификационные графы понятия «граф-модель», на базе которых получены соответствующие ролевые графы, которые затем преобразованы в дескриптивные графы. Автоматизация проектирования структуры базы данных системы поддержки граф-моделей была достигнута за счет создания алгоритма, предложенного в работе [8].

Рисунок 8. Информационно-алгоритмическая модель модуля интерпретации конструктора прикладных программ.

Рисунок 9. Ролевая сетевая модель вычислительного процесса интерпретации.

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

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

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

В четвертой главе приводятся примеры применения разработанной технологии и инструментальных средств.

В данной главе приводится несколько основных работ, выполненных в качестве экспериментальной проверки, апробации и внедрения предлагаемой технологии конструирования программных комплексов в процесс проектирования магистральных газопроводов и промышленных объектов газотранспортной сети. Среди таких проектов можно выделить:

1. Использование граф-моделей при создании прикладных геоинформационных справочных систем поддержки процесса проектирования магистральных газопроводов.

2. Система автоматизированного вычисления характеристик размещения протяженных линейных объектов по данным электронной карты, которая непосредственно автоматизирует процесс проектирования и является программным компонентом САПР.

Использование граф-моделей при создании прикладных геоинформационных справочных систем

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

Таким образом, глобально задача стояла следующим образом. Необходимо создать программную систему, позволяющую работать с наиболее распространенными форматами пространственно-распределенных данных. Система должна отображать карту, ориентируясь на прикладные задачи и индивидуальные потребности пользователя. Кроме этого, интерфейс системы

должен настраиваться и обеспечивать набор стандартных операций, как-то: манипуляция картой (перемещение, изменение масштаба), поиск объекта по заданному признаку, получение атрибутивной информации по объекту, поиск информации в справочниках, экспорт информации по объекту в доступный формат и генерация печатного отчета.

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

Система автоматизированного вычисления характеристик размещения протяженных линейных объектов по даннъш электронной карты

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

• Функциональные модули данного программного комплекса зачастую разнородны, т.е. спроектированы и реализованы с помощью различных технологий и языков программирования соответственно.

• В процессе эксплуатации, программный комплекс подвергается интенсивной модификации.

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

В заключении приведены следующие основные научные и практические результаты:

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

2. Расширено понятие сетевой модели до понятия граф-схемы, в которой: введено понятие типа вершины и типа дуги, а также возможно использование в модели произвольного числа типов вершин и дуг, каждому из которых сопоставляется некоторое число атрибутов. Для описания класса граф-схем введено понятие шаблона. В шаблоне выделяются типы вершин и дуг, которые могут использоваться при создании граф-схем, принадлежащих классу. Расширено понятие граф-схемы до граф-модели.

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

3. Разработан алгоритм, позволяющий автоматизировать проектирование объектно-ориентированной структуры хранения данных в программных модулях на основании граф-модели в виде ролевого графа. С помощью разработанного алгоритма спроектирована и реализована структура хранения данных граф-модели и шаблона.

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

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

6. С использованием модульного подхода при построении программного комплекса «Конструктор Прикладных Программ» (ПК КПП) построена система автоматизированного вычисления характеристик местности прохождения трассы магистральных газопроводов по данным электронной карты.

7. Разработана СУБД доступа к файлам граф-моделей и файлам шаблонов с использованием созданного расширения языка С++ для работы с граф-моделями и шаблонами. Это обстоятельство позволяет реализовать доступ к данным из сторонних приложений, в т.ч. и созданных независимыми разработчиками. Одним из примеров таких приложений является программа экспорта файла модели в формат XML.

8. Разработанны и внедрены программные средства: «Система Поддержки Граф-Моделей» (СПГМ) и «Конструктор Прикладных Программ» (КПП). СПГМ служит для декларации классов граф-моделей, создания и редактирования самих граф-моделей. КПП имеет только средства редактирования граф-моделей и интерпретатор.

9. Создан алгоритм контроля совместимости данных при интерпретации модели и осуществлении вычислительного процесса.

На основе полученных научных и практических результатов создана технология конструирования систем инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов на базе граф-моделей. Технология апробирована при решении ряда задач, в том числе по двум основным задачам, приведенным в работе: использование граф-моделей при создании прикладных геоинформационных справочных систем и

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

Акты внедрения результатов работы и отзывы приведены в приложении.

Публикации

Основные положения и содержание диссертации изложены в следующих работах:

В изданиях по перечню ВАК

1. Прахов И. А. Контроль совместимости данных при использовании сетевой модели вычислительного процесса. // Вестник Нижегородского университета им. Н. И. Лобачевского: серия математическое моделирование и оптимальное управление. Нижний Новгород, Издательство Нижегородского университета им. Н. И. Лобачевского, 2004, № 1(27). С 248-257.

2. Yu. G. Vasin, I. A. Prakhov. Tools for automated design of software complexes. Pattern Recognition and Image Analysis: New Information Technologies (PRIA-8-2007). 8th international conference. Yoshkar-Ola, 2007, Vol. 2, p 203-206.

В других изданиях

3. Кузин С. Г., Прахов И. А. Технология разработки сложных прикладных программ. // Тезисы докладов конференции «Вычислительная математика и кибернетика 2000». Нижний Новгород 2000. С.48

4. Васин Ю. Г., Кузин С. Г., Прахов И. А. Автоматизация конструирования унифицированных компонент сложных программных систем на основании графовых моделей. // Труды международной конференции по компьютерной графике и машинному зрению «ГрафиКон'2001». Нижний Новгород 2001. С.252-254

5. Васин Ю. Г., Кузин С. Г., Прахов И. А. Инструментальная система поддержки графовых моделей. // Тезисы докладов VI всероссийской с участием стран СНГ конференции. Нижний Новгород 2001. С.49-50

6. Васин Ю. Г., Кузин С. Г., Прахов И. А. Конструирование сложных программ на основании граф-модели вычислительного процесса. // Тезисы докладов VI всероссийской с участием стран СНГ конференции. Нижний Новгород 2001. С.49-50

7. Прахов И. А, Прахова Г. Г. Использование графовых моделей в системах дистанционного обучения медицинского профиля. В кн. II Межрегиональная конференция "Новейшие информационные технологии - инструмент повышения эффективности управления". Н. Новгород, 2002, с. 10-15.

8. Прахов И. А. Об одном способе автоматизированного проектирования структуры хранения данных. И Материалы конференции «Математика и кибернетика 2002». Нижний Новгород 2002. С. 81-83

9. Васин Ю. Г., Кузин С. Г., Громов В. П., Васин Д. Ю., Прахов И. А. Графовые методы проектирования больших программных систем. // Математика и кибернетика 2003. Сборник научных статей юбилейной научно-технической конференции факультета ВМК ННГУ и НИИ ПМК. Нижний Новгород, 2003.

Ю.Прахов И. А. Использование графовых моделей при создании прикладных справочных ГИС. // "Газовая промышленность" №11, Ноябрь 2003

П.Иванов Ю.Р., Хохлов В.Г., Синельников В.Н., Прахов И.А. Концепция создания ГИС специального назначения. // "Газовая промышленность" №11, Ноябрь 2003

12.Хохлов В.Г., Прахов И.А. Использование Web-технологий при построении информационно-справочной системы ЕСГ. // "Газовая промышленность" №11, Ноябрь 2003

13.Кузин С. Г., Прахов И. А. Технология разработки сложных вычислительных программных комплексов на основании графовых моделей. // Тезисы докладов международной конференции «Теоретические и прикладные аспекты построения программных систем». Украина, Киев, 2004.

14.Ju. G. Vasin, S. G. Kouzin, I. A. Prakhov. Models for intellectual design of complicated computational programming systems. //VI International Congress on Mathematical Modeling. Nizhny Novgorod, 2004 C. 378

15.Бабанов Н.Ю., Ларцов C.B., Прахов И.А. Инструментальные средства создания граф-моделей и автоматизации конструирования программных комплексов. // Материалы 7-ой международной научно-техничекой конференции «Перспективные технологии в средствах передачи информации», Владимир, 2007, С.128-131

16.Хохлов В.Г., Прахов И.А. Применение данных дистанционного зондирования Земли в проектировании объектов газотранспортных систем. // «Газовая промышленность» № 10, Октябрь 2008, С. 57-59

Лицензия ИД №00683 от 05.01.2000

Сдано в набор 15.03.09 Подписано в печать 15.03.09 Формат 60x84/16 Усл.печ.л.1,5 Тираж 100 экз. Заказ 980

Издательство «Весть» ГОУ ВПО «ШГПУ». 155908. г. Шуя, ул. Кооперативная. 24 Отпечатано в редакционно-издагельском центре ГОУ ВПО «ШГПУ» 155908, г. Шуя, ул. Кооперативная, 24

Оглавление автор диссертации — кандидата технических наук Прахов, Илья Андреевич

введение.

глава 1. современные технологии автоматизации решения геоинформационные задач при проектировании магистральных газопроводов

1.1. Геоинформационные задачи, решаемые при проектировании магистральных газопроводов.

1.2. Жизненный цикл программного комплекса.

1.2.1. Каскадная модель жизненного цикла.

1.2.2. Спиральная модель жизненного цикла.

1.3. Технологии обработки данных.

1.4. Технологии автоматизации проектирования программных комплексов.

1.4.1. Информационная статическая модель объекта.

1.4.2. Аналоговая модель дискретной динамической системы.

1.4.3. Алгоритмическая модель вычислений.

1.5. Выводы.

глава 2. математическое моделирование вычислительного процесса.

2.1. Функциональное описание прикладной задачи.

2.2. Архитектура вычислительного комплекса.

2.3. Информационно-алгоритмическая модель функционального процессора.

2.4. Алгебра вычислительных процессов.

2.5. Сетевая модель вычислительного процесса как графическое изображение уравнений алгебры.

2.5.1. Алгоритмическая сетевая модель вычислительного процесса

2.5.2. Ролевая сетевая модель вычислительного процесса.

2.6. Управление как выбор пути в сетевой модели.

2.7. Способы управления, алгоритмы управления.

2.7.1. Автоматическое управление вычислительным процессом

2.7.2. Директивное управление вычислительным процессом.

2.7.3. Интерактивное управление вычислительным процессомб

2.8. Формализмы граф-моделей.

2.8.1. Формализм информационно-алгоритмической модели функционального процессора.

2.8.2. Формализм ролевой сетевой модели вычислительного процесса

2.9. KOI1тролб совместимости данных при использовании сетевой модели вычислительного процесса.

2.9.1. Контроль на этапе моделирования.

2.9.2. Контроль на этапе выполнения.

2.10.Технология автоматизированного конструирования ПК автоматизации инженерных расчетов в проектирова11ии.

2.10.1. Проектирование прикладных программных комплексов на базе граф-моделей.

2.10.2. Конструирование прикладных программных комплексов на базе граф-моделей.

2.10.3. Инструментальные средства поддержки технологии.

2.10.4. Использование инструментальных средств для создания граф-моделей и их интерпретации.

глава 3. информационное и алгоритмическое обеспечение конструктора программ.

3.1. Архитектура системы поддержки граф-моделей.

3.1.1. Информационно-алгоритмическая модель редактора шаблонов.

3.1.2. Информационно-алгоритмическая модель редактора граф-моделей.

3.2. Представление граф-моделей в базе данных системы поддержки граф-моделей.

3.2.1. Представление шаблона граф-модели в базе данных системы поддерэ/ски граф-моделей.

3.2.2. Представление экземпляра граф-модели в базе данных системы поддержки граф-моделей.

3.3. Информационно-алгоритмическая модель интерпретатора конструктора прикладных программ.

3.4. Сетевая модель вычислительного процесса интерпретации сетевых моделей вычислительного процесса.

3.5. Концепция сетевого использования конструктора прикладных программ.

3.5.1. Архитектура сетевого варианта конструктора прикладных программ.

3.5.2. Преимущества и недостатки.

3.6. Концепция использования граф-моделей для организации параллельных вычислений.

глава 4. экспериментальная проверка технологии проектирования.

4.1. Использование граф-моделей при создании прикладных геоинформационных справочных систем.

4.2. Система автоматизированного вычисления характеристик местности прохождения трассы магистральных газопроводов по ) данным электронной карты.

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Прахов, Илья Андреевич

Актуальность проблемы.

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

Примером подобной задачи является типичная геоинформационная задача: получение характеристик прохождения трассы магистрального газопровода по данным электронной карты. В зависимости от проекта, его стадии, комплекса имеющихся картографических материалов и иных пространственно-распределенных данных, перечня необходимых характеристик и других конкретных условий проектирования, зависящих от проекта, инженер-проектировщик должен иметь возможность в короткие сроки сконструировать из имеющегося набора функциональных модулей, систему автоматизации инженерных расчетов решающую данную задачу. Собранный программный комплекс позволит инженеру-проектировщику, используя различные наборы электронных карт и пространственно-распределенных данных, и соответственно программных модулей для их обработки, получать на выходе чертежи профилей и характеристик прохождения трассы, в форматах, доступных для дальнейшей обработки в САПР. В данном случае, повышение качества проектных работ обеспечивается за счет применения данных из ГИС для учета максимального количества характеристик местности, влияющих на прохождение газопровода, а автоматизация инженерных расчетов при обработке информации, получаемой из ГИС, позволяет сократить сроки проектирования.

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

Вопросам создания таких технологий посвящено большое количество работ зарубежных и отечественных авторов, среди которых можно выделить публикации И. В. Вельбицкого, А. М. Вендерова, С. Д. Кузнецова, А. А. Шалыто, П. П. Чена, Бахмана, Буча Г., С. Меллора, R. Barker, В. W. Boehm, G. Tillmann, J. A. Whittaker и др.

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

Цели и задачи исследования.

Цель работы заключается в создании технологии конструирования систем инженерных расчетов для решения геоинформационных задач при проектировании магистральных газопроводов на основании граф-моделей. Цель работы достигается путем решения следующих задач:

• анализ существующих методологий и технологий автоматизации проектирования прикладных программных комплексов;

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

• разработка алгоритмов компьютерной реализации программного комплекса на основании его граф-моделей;

• разработка методики автоматизации конструирования программных комплексов из имеющейся базы функциональных модулей (номенклатура модельного и алгоритмического обеспечения, состав инструментальных средств и дисциплина конструирования);

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

Методы исследования.

В работе применялись как теоретические, так и экспериментальные методы исследования.

Теоретические исследования основаны на основных положениях теории графов, теории формальных языков и теории конечных автоматов. Кроме этого в работе применялись некоторые методы и основные положения теории множеств.

В экспериментальных исследованиях созданных моделей и алгоритмов использовались методы представления знаний в экспертных системах и базах знаний.

При проектировании структур хранения данных в разрабатываемых программных системах применялась теория ролевых графов (Ы-графов).

На защиту выносятся.

На защиту выносятся следующие основные научные результаты:

• информационно-алгоритмическая граф-модель служащая для описания функционального процессора системы инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов;

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

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

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

• результаты использования разработанной методики и системы проектирования граф-моделей («Система Поддержки Граф-Моделей») и системы конструирования программных комплексов на базе граф-моделей («Конструктор Прикладных Программ»), внедренные в процесс проектирования магистральных газопроводов.

Научная новизна.

Автором самостоятельно разрешены следующие научные вопросы:

• предложена алгебра вычислительных процессов, позволяющая сконструировать модель вычислительного процесса для решения каждой конкретной геоинформационной задачи в проектировании магистральных газопроводов в виде алгебраического выражения;

• предложена граф-модель функционального процессора системы инженерных расчетов -решения геоинформационных задач при проектировании магистральных газопроводов, представляющая собой ориентированный граф с двумя типами вершин (данные и команды преобразования данных). Предложена процедура трансформации алгебраического выражения в графовую структуру. Показано, что она может рассматриваться в качестве сетевой модели вычислительного процесса и являться моделью управления вычислительным процессом;

Практическая ценность работы.

Постановка задачи отвечает актуальным потребностям информационной индустрии в области разработки расчетных программных комплексов для обеспечения решения прикладных задач в САПР и промышленных геоинформационных системах, так как решает проблему быстрого конструирования таких программных комплексов для нужд проектирования объектов газотранспортной системы.

Практическая значимость результатов обусловлена тем, что предложена и реализована технология автоматизированного конструирования программных комплексов автоматизации инженерных расчетов для САПР и ГИС, включающая в себя:

• методику автоматизированного конструирования системы инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов;

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

• программную инструментальную систему поддержки визуального проектирования граф-моделей различной проблемной ориентации («Система Поддержки Граф-Моделей») и программную инструментальную систему визуального моделирования и реализации программных комплексов, на основании граф-моделей («Конструктор Прикладных Программ»);

• Спроектирована и реализована структура хранения данных граф-модели и шаблона, которая представляет собой расширение языка С++ для работы с граф-моделями и шаблонами граф-моделей. Используя созданное расширение языка С++ для работы с граф-моделями и шаблонами граф-моделей, выделена СУБД доступа к файлам граф-моделей и файлам шаблонов которая может использоваться и в других работах, применяющих графовые структуры.

Реализация и внедрение результатов исследования.

Предложенные алгоритмы, связанные с обработкой граф-моделей, реализованы автором в виде программного продукта: «Система Поддержки Граф-Моделей» и ее приложения — «Конструктор Прикладных Программ». Эти инструментальные средства позволяют создавать экземпляры произвольных граф-моделей (в том числе и используемых в технологии), а также собирать на их основе программные комплексы для автоматизации инженерных расчетов в САПР и ГИС, применяющихся при проектировании магистральных газопроводов.

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

Данные программные продукты, являясь средством поддержки технологии конструирования программных комплексов, использованы при построении ряда программных систем, что подтверждают соответствующие акты о внедрении. Все работы по реализации и внедрению технологии и программных систем производились при косвенном или непосредственном участии автора как консультанта или ответственного исполнителя. В частности, имеются акты внедрения и отзывы по следующим работам:

1. Создание программного комплекса «Система автоматизированного вычисления характеристик местности прохождения трассы магистральных газопроводов по данным электронной карты». Программный комплекс внедрен в промышленную эксплуатацию в ОАО «Гипрогазцентр».

2. Создание компьютерной обучающей системы «Практическая работа студентов по изучению заболеваний связанных с нарушением обмена веществ». Система внедрена в учебный процесс в Нижегородском Медицинском Базовом Колледже.

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

• Реконструкция системы газопроводов Средняя Азия — Центр (как на территории Российской Федерации, так и на территории стран Средней Азии).

• Магистральный газопровод Починки — Грязовец.

• Реконструкция системы технологической связи вдоль системы магистральных газопроводов Уренгой - Ужгород.

• Магистральный газопровод Сахалин - Хабаровск - Владивосток.

Все работы, выполняемые при проектировании магистральных газопроводов, являлись уникальными с точки зрения использования пространственно-распределенных данных, представленных в используемых при проектировании САПР и ГИС системах. В частности в данных проектах, с помощью предлагаемой технологии были созданы программные комплексы для автоматизированного анализа и передачи структурированной комплексной оценки характеристики прохождения вариантов трасс магистральных газопроводов в САПР по следующим электронным картам.

• Карта опасных природных и техноприродных процессов (ОПТП) России масштаба 1 : 5 ООО ООО [31], оригинал которой был составлен под руководством А. Л. Рогозина (институт «Геоэкологии» РАН).

• Карта экзогенных геологических процессов России масштаба 1:2500 000 [31] (Гл. редактор А. И. Шеко, Москва, «ВСЕГИНГЕО», 2000 г).

• Карта общего сейсмического районирования России масштаба 1 : 8 000 000 [31]. Оригинал карты создан Объединенным институтом физики Земли им. О.Ю.Шмидта РАН в 1999 г. (гл. редакторы В. Н. Страхов и В. И. Уломов).

Апробация работы.

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

Вычислительная математика и кибернетика 2000» (Нижний Новгород 2000).

11-й международной конференции по компьютерной графике и машинному зрению «ГрафиКон'2001» (Нижний Новгород 2001).

VI всероссийской с участием стран СНГ конференции «Методы и средства обработки сложной графической информации» (Нижний Новгород 2001).

Математика и кибернетика 2002» (Нижний Новгород 2002).

II Межрегиональная конференция "Новейшие информационные технологии - инструмент повышения эффективности управления" (Нижний Новгород, 2002).

Международная конференция «Теоретические и прикладные аспекты построения программных систем». (Украина, Киев, 2004).

Pattern Recognition and Image Analysis: New Information Technologies (PRIA-8-2007). 8th international conference. (Yoshkar-Ola, 2007).

- 7-ая международная научно-техническая конференция «Перспективные технологии в средствах передачи информации» (Владимир, 2007).

Публикации.

По материалам диссертации опубликовано 17 работ, из них 10 статей и 7 тезисных публикаций. Среди статей имеется 7 публикаций в изданиях из перечня ВАК. Работа над диссертацией проводилась в плане решения задач согласно проекту № 96-5-97220 РФФИ и в соответствии с проектом К 0392 ФЦП "Интеграция".

Структура и объем работы.

Диссертационная работа состоит из 155 страниц машинописного текста, иллюстрирована 72 рисунками, 2 таблицами, 15 формулами и содержит описание 1 алгоритма. Работа состоит из введения, 4 глав, заключения, списка литературы из 60 наименований.

Заключение диссертация на тему "Граф-модели и средства решения геоинформационных задач при проектировании магистральных газопроводов"

Выход

О очный расчет участка?/^ )„ г ' ч—/Завершить расчеты

Работа

-Выбор следующего участка для расчета

Рисунок 50. Сетевая модель вычислительного процесса расчета профиля.

Рисунок 51. Сетевая модель вычислительного процесса построения чертежа.

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

Заключение

В ходе выполнения диссертационной работы получены 'следующие основные научные и практические результаты:

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

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

3. Расширено понятие сетевой модели до понятия граф-схемы. В предыдущих работах, выполненных М. В. Кошелевым, С. Г. Кузиным использовалось понятие сетевой модели, у которой допускалось лишь изменение количества атрибутов дуг и вершин. В настоящей работе введено понятие граф-схемы, которое расширяет прошлое понятие сетевой модели путем ряда следующих допущений. Введено понятие типа вершины и типа дуги. Стало возможно использовать в модели произвольное число типов вершин и дуг, каждому из которых сопоставляется некоторое число атрибутов. Если проводить аналогию с сетевой моделью прошлых систем, то там использовался только один тип вершины и только один тип дуги. Введенное понятие граф-схемы позволило использовать предложенные модели, не только для управления вычислительным процессом, но и для создания различных унифицированных компонент ПК, в частности это иллюстрируется на практической работе по созданию прикладных геоинформационных систем, приведенной в настоящей работе [31,48].

4. Для описания класса граф-схем введено понятие шаблона. В шаблоне выделяются типы вершин и дуг, которые могут использоваться при создании граф-схем, принадлежащих классу.

5. Расширено понятие граф-схемы до граф-модели. При этом выдвинуто допущение на использование нескольких граф-схем в пределах одной граф-модели и использование дуг специального типа в качестве рекурсивных ссылок на граф-схемы. Данное расширение позволяет создавать многоуровневые граф-модели различного прикладного назначения. В дальнейшем, с помощью данного расширения, в интерпретаторе КПП реализована возможность рекурсивного вызова подсетей.

6. Разработан алгоритм, позволяющий автоматизировать проектирование объектно-ориентированной структуры хранения данных в программных модулях на основании граф-модели в виде ролевого графа. С помощью разработанного алгоритма спроектирована и реализована структура хранения данных граф-модели и шаблона. Реализация структур данных представляет собой систему классов на языке С++, использующей библиотеку MFC и является, по сути, расширением языка С++ для работы с граф-моделями и шаблонами [50].

7. Определена Информационно-алгоритмическая модель, которая специфицирует функциональный процессор программного комплекса с точки зрения взаимосвязей модулей и потоков данных между ними [14].

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

В ходе проектирования и реализации инструментальных средств поддержки технологии, а также апробации научных результатов получены следующие основные практические результаты:

1. При построении программного комплекса «Конструктор Прикладных Программ» (ПК КПП) применен модульный подход. В предыдущих работах М. В. Кошелева, С. Г. Кузина и А. В. Кудина редактор сетевых моделей совмещался с интерпретатором и представлял собой единый программный (исполняемый) модуль. В ПК КПП модули редактирования отделены от модулей интерпретации. Это обстоятельство позволяет использовать ПК КПП в сокращенном виде для построения промышленных расчетных программных комплексов, не требующих от пользователя моделирования вычислительного процесса [25]. Одним из таких ПК является система автоматизированного вычисления характеристик местности прохождения трассы магистральных газопроводов по данным электронной карты.

2. Кроме разделения модулей редактирования и модулей интерпретации, используя созданное расширение С++ для работы с граф-моделями и шаблонами, выделена СУБД доступа к файлам граф-моделей и файлам шаблонов. Это обстоятельство позволяет реализовать доступ к данным из сторонних приложений, в т.ч. и созданных независимыми разработчиками. Одним из примеров таких приложений является программа экспорта файла модели в формат XML.

3. Разработанные программные средства разбиты на два программных комплекса: «Система Поддержки Граф-Моделей» (СПГМ) и «Конструктор Прикладных Программ» (КПП). СПГМ служит для декларации классов граф-моделей, создания и редактирования самих граф-моделей. КПП не содержит средств декларации классов графмоделей, поскольку работает только с двумя определенными классами, но имеет средства редактирования граф-моделей и интерпретатор [26].

4. Введение понятия шаблона позволило использовать в КП КПП модели двух классов: «Сетевую модель вычислительного процесса» и «Информационно-алгоритмическую модель функционального процессора».

5. Введение различных типов вершин в сетевой модели позволило объединить два способа управления вычислительным процессом в одной модели и построить соответствующий интерпретатор [26].

6. Введена возможность использования директивного управления вычислительным процессом с помощью модифицированного интерпретатора КПП. Для этого используется специальный режим запоминания пути, который формирует файл директив. Данный файл используется интерпретатором для воспроизведения пути в режиме директивного управления.

7. Определение информационно-алгоритмической модели обеспечило дальнейшее создание алгоритма контроля совместимости данных при интерпретации модели и осуществлении вычислительного процесса [14].

8. На основе полученных научных и практических результатов создана технология конструирования ПК автоматизации инженерных расчетов решения геоинформационных задач при проектировании магистральных газопроводов на базе граф-моделей [24, 36, 37]. Технология апробирована при решении ряда задач, в том числе по двум основным задачам, приведенным в работе: использование граф-моделей при создании прикладных геоинформационных справочных систем и система автоматизированного вычисления характеристик местности прохождения трассы магистральных газопроводов по данным электронной карты. Обе задачи внедрены в ОАО Гипрогазцентр и используются в промышленном проектировании магистральных газопроводов.

Библиография Прахов, Илья Андреевич, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. R. Barker. CASE Method. Tasks& AMP Deliverables.

2. Boehm B. W. A spiral Model of Software Development and Enhancement. // IEEE computer., 21(5), May 1988, p 61-72

3. Eclipse, http://www.eclipse.org/.

4. Frohlich M., Werner M. Demonstration of the Interactive Graph-Visualization System daVinchi // Lecture Notes Computer Science 1995. - Vol. 894. - P. 266-269.

5. Dr. Gad Y. Routins 4 Showing Picture Files. h tip://w w w. S uper Main .com

6. Himsolt M. GraphEd: a graphical platform for the implementation of graph algoritms // Lecture Notes Computer Science 1994. - Vol. 894. - P. 182-193.

7. Himsolt M. The Graphlet system (system demonstration) // Lecture Notes Computer Science 1996. - Vol. 1190. - P. 233-240.

8. ISO/I EC Guide 2:1996 www.iso.om/sdis

9. ISO/IEC TR 15271 Guide for ISO/IEC 12207 (Software life cycle processes) www.iso.org/sdis

10. Pamas D. L., Clements P. C. A Rational Design Process: How and why to Fake It. // IEEE Transactions on Software Engineering, SE-12(2), February 1986, p. 251-257

11. Shewhart W. Statistical Method from the Viewpoint of Quality Control, Dover, 1986 (reprint from 1939).

12. Tillmann G. Building a Logical Data Model. DBMS, June 1995

13. UniMod. Eclipse plugin. http: '/unimod.sоurceforge.net/'.

14. Vasin Ju. G., Kouzin S. G., Prakhov I. A. Models for intellectual design of complicated computational programming systems. // VI International Congress on Mathematical Modeling. Nizhny Novgorod, 2004 C. 378

15. Yu. G. Vasin, I. A. Prakhov. Tools for automated design of software complexes. Pattern Recognition and Image Analysis: New Information Technologies (PR1A-8-2007). 8,h international conference. Yoshkar-Ola, 2007, Vol. 2, p 203-206.

16. Whittaker J. A., Voas J. M. 50 Years of Software: Key Principles of Quality. IEEE IT Pro, November-December 2002. IEEE Computer Society, 2002.

17. Айзерман M. А., Гусев JI. А., Розоноэр JI. И., Смирнова И. М., Таль А. А. Логика, автоматы, алгоритмы. М., Государственное издательство физико-математической литературы, 1963

18. Баранов С. И. Синтез микропрограммных автоматов (граф-схемы и автоматы). Л.: Энергия, 1979.

19. Бахман. Программные системы. Применение. Разработка. Обоснование. М.: Мир, 1998

20. Бобровский С. Спиральная модель разработки ПО. PC Week/RE, №2,2004

21. Буч Г., Максимчук Р., Энгл М., Янг Б., Коналлен Д., Хьюстон К. Объектно-ориентированный анализ и проектирование с примерами приложений // Object-Oriented Analysis and Design with Applications. M.: Вильяме, 2008

22. Вельбицкий И. В. Технология программирования. Киев: Техника,1984.

23. Вендеров А. М. CASE-техпологии. Современные методы и средства конструирования информационных систем.

24. Глушков В. М. Синтез цифровых автоматов. М., Государственное издательство физико-математической литературы, 1962.

25. Дубовиченко С. Б. Элементарная информатика. Часть 3. Командные файлы MS DOS. Учебно-методическое пособие. Алматы: Данекер, 2002. -ISBN 9965-547-96-3

26. Иванов Ю.Р., Хохлов В.Г., Синельников В.Н., Прахов И.А. Концепция создания ГИС специального назначения. // "Газовая промышленность" №11, Ноябрь 2003

27. Касьянов В. Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. СПб.: БХВ-Петербург, 2003. - ISBN 5-94157-184-4.

28. Корячко В.П., Курейчик В.М., Норенков И.П. Теоретические основы САПР. М.: Энергоатомиздат, 1987

29. Кузин С. Г., Кошелев М. В. Модели и способы управления вычислительным процессом // Вестник Нижегородского университета: Математическое моделирование и оптимальное управление. Н.Новгород: Изд-во Нижегородского университета, 1997 с. 184-195.

30. Кузин С. Г., Прахов И. А. Технология разработки сложных прикладных программ. Тезисы докладов конференции «Вычислительная математика и кибернетика 2000». - Нижний Новгород: Издательство Нижегородского Университета им. Н. И. Лобачевского, 2000. С.4

31. Кузин С. Г. Ролевый граф в качестве модели понятия // Вестник Нижегородского университета: Математическое моделирование и оптимальное управление. Нижний Новгород: Издательство Нижегородского университета,1998, 2(19). с. 224-235.

32. Кузнецов С. Д. Концептуальное проектирование реляционных баз данных с использованием языка UML. Материалы сайта www.citlbrum.ru

33. Кузнецов С. Д. Средства и методологии проектирования и разработки информационных систем. М.: СУБД, №2, 1997.

34. Кумсков М. UML, Rose98i далее везде. - М.: PC Week/RE, №26,1999.

35. Ли К. Основы САПР (CAD/CAM/CAE). СПб.: Питер, 2004, ISBN 5947237709/00201380366

36. Ларман К., Базили В. Итеративная и инкрементальная разработка: краткая история. М.: Открытые системы, №9, 2003.

37. Лисицын И. А. Применение системы НГСЯЕЭдля визуальной обработки иерархических графовых моделей // Проблемы систем информатики и программирования. Новосибирск, 1999. - С. 64-77.

38. Лисицын И. А. Системы визуализации и редактирования графовых объектов. Новосибирск, 2000. - 40 С. - (Препринт ИСИ СО РАН, №76)

39. Меллор С., Кларк Э., Футагами Т. Разработка на базе моделей. М.: Открытые системы, №12, 2003

40. Полукеев О., Коваль Д. Моделирование бизнеса и архитектура информационной системы. — М.: СУБД, №4, 1995

41. Прахов И. А. Использование графовых моделей при создании прикладных справочных ГИС. // "Газовая промышленность" №11, Ноябрь 2003.

42. Прахов И. А. Об одном способе автоматизированного проектирования структуры хранения данных. Материалы конференции «Математика и кибернетика 2002». Нижний Новгород: Издательство Нижегородского Университета им. Н. И. Лобачевского, 2002. С. 81-83

43. Руководство FreeBSD. http:-7\v\v\v.freebsd.org-/doC'TuRU.KOI8-R book* handbook/

44. Самборский С. В. Make удобство и надежность. - М.: Открытые системы, №3, 1993, С. 56-63

45. Селич Б. Практические аспекты разработки на базе моделей. М.: Открытые системы, №12, 2003

46. Смирнов О. JT. САПР: формирование и функционирование проектных модулей. -М.: Машиностроение, 1987

47. Стулов А. Особенности построения информационных хранилищ. М.: Открытые системы, №4, 2003

48. Трофимов С. А. «CASE-технологии. Практическая работа в Rational1. Rose»

49. Хохлов В.Г., Прахов И.А. Использование Web-технологий при построении информационно-справочной системы ЕСГ. // "Газовая промышленность" №11, Ноябрь 2003

50. Хохлов В.Г., Прахов И.А. Применение данных дистанционного зондирования Земли в проектировании объектов газотранспортных систем. // «Газовая промышленность» № 10, Октябрь 2008, С. 57-59

51. Чен П. П. Модель «сущность-связь» шаг к единому представлению данных. - М.: СУБД. №3, 1995.

52. Шалыто А. А. Использование граф-схем и графов переходов при программной реализации алгоритмов логического управления. М.: «Автоматика и телемеханика», 1996. №6, С. 148-158; №7, С. 144-169.

53. Шалыто А. А., Туккель Н. И. От тьюрингова программирования к автоматному. М.: Мир ПК. 2002. №2.