автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Технология автоматизации создания приложений баз данных с ГИС-функциональностью на основе их декларативных спецификаций
Автореферат диссертации по теме "Технология автоматизации создания приложений баз данных с ГИС-функциональностью на основе их декларативных спецификаций"
На правах рукописи
ФЕРЕФЕРОВ ЕВГЕНИЙ СЕРГЕЕВИЧ
ТЕХНОЛОГИЯ АВТОМАТИЗАЦИИ СОЗДАНИЯ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ С ГИС-ФУНКЦИОНАЛЬНОСТЫО НА ОСНОВЕ ИХ ДЕКЛАРАТИВНЫХ СПЕЦИФИКАЦИЙ
Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
Иркутск-2014
2 7 НОЯ 2014
005556059
Работа выполнена в Федеральном государственном бюджетном учреждени науки Институте динамики систем и теории управления Сибирского отделени Российской академии наук (ИДСТУ СО РАН).
Научный руководитель: академик, доктор технических наук
Бычков Игорь Вячеславович, ИДСТУ СО РАН, директор
Официальные оппоненты: член-корреспондент РАН, доктор физико-
математических наук Федотов Анатолий Михайлович, ИВТ СО РАН, главный научный сотрудник
кандидат физико-математических наук
Якубайлик Олег Эдуардович,
ИВМ СО РАН, старший научный сотрудник
Ведущая организация: Вычислительный центр ДВО РАН
(г. Хабаровск)
Защита состоится 23 декабря 2014 г. в 13:30 на заседании диссертационного совета Д 003.021.01 в ИДСТУ СО РАН по адресу: 664033, г. Иркутск, ул. Лермонтова, 134, зал заседаний Ученого совета, ком. 407.
С диссертационной работой можно ознакомиться в библиотеке и на официальном сайте www.idstu.irk.ru ИДСТУ СО РАН.
Автореферат разослан 20 ноября 2014 г.
Ученый секретарь диссертационного совета к.ф.-м.н.
Т.В. Груздева
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Диссертация посвящена разработке технологии автоматизации создания прикладных программных систем, обеспечивающих взаимодействие пользователе г реляционными базами данных и пространственно-распределенными объектами, также реализации этой технологии в форме инструментального средства.
Актуальность темы. Современные прикладные программные системы (1ЫС) ориентированы на решение вычислительных задач или задач обработки данных. L обоих случаях, как правило, осуществляется работа с большими объемами информации сложной структуры, что обуславливает необходимость использования баз данных (БД) и реализации специализированных функций для решения задач конкретной предметной области. В их числе сбор, хранение, и преобразование информации, выполнение вычислений над полем данных, а также агрегация, анализ и предоставление данных пользователям. Создание эффективных процедур для работы с БД является важной задачей при проектировании и реализации ППС. Необходимость обработки и визуализации разнообразных форм информации (текстовой, числовой, графической) требует при реализации ППС разработк. качественных человеко-машинных интерфейсов и привлечения в ряде случаи, специализированных технологий (например, геоинформационных технологий дл; обработки данных, обладающих пространственной привязкой).
Программное обеспечение, реализующее интерфейс для взаимодействк-пользователей с предметными БД, будем называть приложением баз данных (ПБД). Основные задачи ПБД: обеспечение выполнения стандартных операций создания, чтения, модификации и удаления записей таблиц БД, а также ряда дополнительных: поиска, фильтрации данных, формирования отчетов и других операций. ПБД могут быть как частью (подсистемой) ППС (например, частью биллинговой системы), так i' самостоятельными ППС (например, городской реестр адресов, реестр объектов недвижимости). Кроме того, ПБД могут входить в состав вычислительных систем, например, в качестве подсистемы для регистрации пользователей.
Современные технологии разработки ПБД, основанные на императивном программировании и использовании развитых библиотек визуальных компонентов (например, Visual Component Library или Microsoft Foundation Classes, Framework Class Library), предоставляют общецелевые инструментальные средства. В их составе имеются компоненты, реализующие как части визуального интерфейса, так и бизнес-логики для доступа и модификации БД. При разработке ПБД, как правило, сначала создается структура (схема) БД, а затем ПБД (иногда эти процессы могут происходить одновременно). При этом доступ к каждой индивидуальной таблиц-реализуется при помощи одних и тех же (или сходных по функциям) подпрограмм. При изменении структуры БД, например, добавлении новых таблиц или поле;';, необходимо вносить изменения в программный код ПБД, заново реализуя функции для доступа к новым элементам БД. Невысокий уровень автоматизации реализации
однотипных функций для работы с таблицами БД приводит к большим временным трудовым затратам при создании (модернизации) ПБД.
Существующие подходы в области объектно-реляционного отображени (например, Hibemate/NHibernate или Entity Framework) позволяют ускорит разработку ПБД за счет автоматизации построения объектной модели обеспечивающей взаимодействие с сущностями реляционной БД и являющейс описанием структуры БД для приложения. При этом часть программного код-генерируется автоматически, в частности классы, соответствующие сущностям БД i обеспечивающие преобразование объектных запросов в SQL-запросы. Изменени структуры БД приводит к необходимости перегенерации классов, которая н является сложным процессом, но требует аккуратного программирования при и доработке с целью исключения смешивания автоматически сгенерированного \ созданного вручную кодов. Дальнейшая реализация системы (программировали пользовательского интерфейса, операций поиска и других функциональны возможностей) уже выполняется вручную, отдельно для каждой сущности путем определения свойств и методов классов, что снова приводит к созданию больши. объемов однотипного кода.
В настоящее время активно ведутся исследования в области автоматизации разработки как пользовательских интерфейсов (например, Model-Based User Interface Development), так и ППС в целом (например, Model Driven Architecture, порождающее программирование), позволяющих повысить эффективность процесса создания приложений. Основной тенденцией в этих исследованиях является разработка современных методов структурирования метаданных (данных о структуре) о ППС в виде моделей системы (иногда только пользовательского интерфейса) различными средствами (например, надстройки над моделями классов UML или построения онтологий предметной области). Формализация знаний о структуре ППС в модели позволяет выделять схожие структуры данных и присущие им бизнес-процессы в отдельные компоненты; генерировать соответствующие им сценарии создания структур в системах управления базами данных (СУБД), алгоритмы обработки бизнес-процессов, экранные формы; распространять их на все подобные компоненты. Как показывает практика, сгенерированный код практически всегда требуется дорабатывать программисту, при этом полученные изменения не отражаются в исходных абстрактных моделях системы.
Для решения задач обработки, представления и анализа пространственных данных (ПД) современные ППС должны включать соответствующие функциональные возможности геоинформационных систем (ГИС). Современные ГИС предоставляют разработчикам API (Application Programming Interface) для реализации ГИС-функциональности, Несмотря на развитость этих API, реализация таких функций - сложная и трудоемкая задача, требующая знаний в области геоинформационных технологий. Реализация ГИС-функциональности существующими методами часто приводит к дублированию функций целевой ГИС в
разрабатываемой системе. Модернизация существующих ППС, направленная на интеграцию с функциями обработки ПД, как правило, требует наличия исходны." кодов этих ППС у разработчика, а в случае их отсутствия приводит к необходимост:. повторной разработки системы.
Анализ существующих подходов к созданию ПБД показывает невысокий уровень автоматизации, а реализация существующих технологий не может исключить этап доработки программного кода непосредственно разработчиками Это обосновывает актуальность задачи разработки концептуально новых технологий и инструментальных средств, автоматизирующих процесс создания ПБД, которые позволят сократить сроки и, как следствие, затраты на создание (модернизацию) ПБД, а также позволят решать более широкий круг комплексных научно-исследовательских задач за счет встроенной ГИС-функциональности. В качестве способа представления и хранения модели приложений БД в работе предложено использовать декларативные спецификации - детальные описания в текстовом виде структур приложений, требований к функциональности, правил представления и обработки данных и механизмов взаимодействия с внешними ППС. Декларативные спецификации отличаются своей компактностью по сравнению с программами на императивных языках, обладают предметной ориентированностью выразительностью, а также возможностью интерпретации различными трансформационными и другими процедурами.
Цель и задачи исследования. Целью диссертационной работы является разработка языка и инструментального средства формирования декларативных спецификаций ПБД, а также технологии применения этих спецификаций для автоматизации процесса создания и модернизации ПБД, обладающих ГИС-функциоиальностыо.
Основные задачи исследования.
1. Провести анализ существующих подходов к автоматизации создания ППС.
2. Разработать технологию автоматизации создания ПБД, обладающих ГИС-функциональностью, на основе их декларативных спецификаций.
3. Построить концептуальную модель ПБД, описывающую структуру БД, правила отображения схемы БД в пользовательский интерфейс и механизм взаимодействия ПБД с внешними ППС, в том числе с ГИС.
4. Создать декларативный язык спецификации ПБД.
5. Реализовать инструментальное средство для автоматизации создания ПБД, обладающих ГИС-функциональностью, на основе их декларативных спецификаций.
6. В качестве апробации результатов диссертационного исследования применить разработанную технологию для решения ряда практических задач. Объектом исследования являются технологии автоматизации создания ПБД. Предметом исследования являются декларативные спецификации и их
использование для автоматизации создания ПБД с ГИС-функциональностью.
Методы исследования. Для решения поставленных задач использовань методы объектно-ориентированного, модульного и сборочного программирования построения интерпретаторов, баз данных, разработки предметно-ориентированны языков, спецификаций программ и автоматизации создания ППС,
Научная новизна работы заключается в следующем.
Предложена технология автоматизации создания ПБД, отличием которой о известных является выделение информации о структуре ПБД и формировани спецификаций в виде формализованных знаний. Это позволяет абстрагироваться о структуры БД и типа используемой СУБД, использовать универсальные алгоритмы для доступа и модификации таблиц БД, динамического создания пользовательского интерфейса, а также взаимодействия с внешними ППС, в том числе с ГИС.
Создана оригинальная концептуальная модель ПБД, особенность которой заключается в том, что информация о структуре БД расширена знаниями о способах представления данных пользователю и механизме взаимодействия с внешними ППС, что позволяет создавать универсальные алгоритмы для взаимодействия с таблицами БД, динамического формирования пользовательского интерфейса и взаимодействия с внешними системами, в том числе с ГИС.
Разработан новый предметно-ориентированный декларативный язык спецификаций ПБД, включающий конструкции для описания не только структур таблиц и связей между ними, но и правил формирования пользовательского интерфейса для взаимодействия с этими таблицами, взаимосвязи информации из БД с пространственными данными, а также механизма взаимодействия с внешними ППС, решающими специфические задачи.
Впервые разработано инструментальное средство, позволяющее интерактивно создавать спецификации ПБД, а также настраиваться при помощи спецификаций на работу с предметной БД.
В целом в диссертации предложена новая технология создания ПБД, обладающих ГИС-функционалыюстью, позволяющая значительно сократить сроки и стоимость разработки, а также снизить требования к квалификации разработчика в части знания языков программирования за счет применения интерактивного инструментального средства для создания спецификаций ПБД.
Научная и практическая значимость результатов. Основные научные результаты по теме диссертации получены в рамках следующих программ и проектов: программы фундаментальных исследований СО РАН (проект 1У.31.2.4. «Методы и технологии разработки программного обеспечения для анализа, обработки и хранения разноформатных междисциплинарных данных и знаний, основанные на применении декларативных спецификаций форматов представления информации и моделей программных систем», 2010-2012 гг.); программы фундаментальных исследований Отделения нанотехнологий и информационных технологий РАН (проект №3, 2009-2011 гг., №4.1, 2012-2014 гг.); междисциплинарной программы 4.5.2. СО РАН (проект 4.5.2.1. «Интеллектные
методы и инструментальные средства создания и анализа интегрированных распределенных информационно-аналитических и вычислительных систем для междисциплинарных исследований с применением ГИС, GRID- и Веб- технологий» 2007-2009 гг.); междисциплинарного интеграционного проекта СО РАН (проект № 121) и проектов РФФИ (08-07-00163-а, 09-07-12017-офи_м, 11-07-00426-а, 11-07-92204-Монг_а).
Разработанные в рамках диссертационной работы технология и инструментальное средство позволяют значительно повысить эффективность, снизить трудозатраты и сократить сроки создания ПБД, обладающих ГИС-функциональностью. Созданное программное обеспечение зарегистрировано в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам [15-17]. Практическая значимость результатов определяется их использованием при создании интегрированных прикладных программных систем: «Муниципальная ГИС г. Иркутска», «Муниципальная информационная система градостроительной деятельности г. Иркутска», АИС «Управление многоквартирными домами», АИС «Отдел жилищного хозяйства», АИС «Топонимика г.Иркутска», АИС «Реестр геодезических съемок», ЛИС «Единый общегородской регистр адресов объектов недвижимости».
Соответствие специальности. В соответствии с формулой специальности 05.13.11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей» диссертационная работа охватывает решение задач создания и сопровождения программных средств различного назначения и включает исследование моделей, методов и алгоритмов проектирования программ и программных систем, языков и программных инструментов для организации взаимодействия программ и программных систем, систем управления базами данных, человеко-машинных интерфейсов.
Научное и народнохозяйственное значение диссертации заключается в повышении эффективности процессов обработки данных в вычислительных машинах, комплексах и компьютерных сетях, а также в сокращении сроков их создания.
Отраженные в диссертации положения соответствуют пунктам 3 и 7 области исследования специальности 05.13.11.
Апробация работы. Основные результаты диссертационной работы, ее отдельные положения, а также результаты конкретных прикладных исследований и разработок обсуждались на научных семинарах ИДСТУ СО РАН, на международных, региональных научных и научно-практических конференциях и совещаниях, на научных координационных советах СО РАН и на региональных совещаниях, посвященных методам и технологиям информатики, развитию информационно-телекоммуникационной инфраструктуры и внедрению геоинформационных систем в управление территориальным развитием.
Результаты диссертационной работы докладывались и обсуждались к следующих научных конференциях: VI, VIII, IX Байкальских школах-семинарах «Математическое моделирование и информационные технологии» (г. Иркутск, 2005, 2006, 2007 гг.); X, XII, XIV, XVII, XVIII Байкальских Всероссийских конференциях «Информационные и математические технологии в науке и управлении» (г. Иркутск 2005, 2007, 2009, 2012, 2013 гг.); II, III Международных конференциях «Инфокоммуникационные и вычислительные технологии и системы» (г. Улан-Удэ -о. Байкал. 2006, 2010 гг.); «Ляпуновские чтения» (г. Иркутск. 2006-2013 гг.); Школа-семинар молодых ученых «Информационные технологии и моделирование социальных эколого-жономичсских систем» (Россия, г. Иркутск - Монголия, п. Ханх, 2008, 2013 гг.); 3-я Всероссийская конференция «Винеровские чтения» (г.Иркутск, 2009г.); Сибирский научно-практический семинар «Информационные технологии регионального и муниципального управления» (г. Барнаул, 2009 г.); Всероссийская конференция «Математическое моделирование и вычислительно-информационные технологии в междисциплинарных научных исследованиях» (г.Иркутск, 2011г.); Международная конференция «Математические и информационные технологии. МИ Г 2011» (Сербия, г. Врнячка Баня, Черногория, г. Будва. 2011 г.); 17-я международная научная конференция «Системный анализ, управление и навигация» (г. Евпатория, 2012 г.).
Публикации. По теме диссертации опубликованы II статей в рецензируемых журналах из перечня ВАК, 3 в специальных выпусках периодических журналов, I монография, а также получены 3 свидетельства об официальной регистрации программ для ЭВМ Федеральной службы по интеллектуальной собственности, патентам и товарным знакам.
Личный вклад автора. Все выносимые на защиту научные положения получены соискателем лично. В основных научных работах по теме диссертации, опубликованных в соавторстве, лично соискателем разработаны: в [1-3, 10-12] -технология создания ПБД, обладающих ГИС-функциопальностыо на основе спецификаций, [9, 10] - концептуальная модель ПБД, 11,101 - язык спецификаций ПБД, [4, 5, 7, 11-14] - инструментальное средство создания ПБД на основе декларативных спецификаций. [1,6,-8] - программная реализация картографического модуля, [8] библиотека для создания отчетов, [I] - прикладная ЛИС «Управление многоквартирными домами г. Иркутска», реализованная в рамках предложенной технологии.
Разработка алгоритмов обработки данных и программная реализация модуля для работы с БД получены в неделимом соавторстве с к.т.н. А.!:. Хмельновым и к.т.н. А.С. Гаченко. Программная реализация всех упомянутых в диссертации библиотек, модулей и систем выполнена в рамках обозначенных ранее научно-исследовательских работ в отделе «Комплексных информационных систем» ИДСТУ СО РАН при непосредственном участии автора.
Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы, включающего 92 наименования, и двух приложений. Объем составляет 152 страницы, включая 117 страниц основного текста, 43 рисунка, 10 таблиц, список сокращений и условных обозначений, словарь терминов и понятий.
КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность темы исследования, его цель и задачи, показана научная новизна и практическая ценность полученных результатов, изложена структура работы.
Первая глава посвящена вопросам разработки ППС. Проведен анализ существующих технологий с точки зрения их применения для решения поставленной в рамках диссертационной работы задачи. Рассмотрены современные технологии автоматизации разработки ППС, такие как сборочное, порождающее программирование, объектно-реляционное отображение, применение онтологии. Изучены работы ряда ученых в данной области, таких как Э.Х Тыугу, Г.А. Опарин,
A.M. Федотов, Л.Ф. Ноженкойа, В.И. Курганский, JI.B. Массель, А.С. Клещев,
B.В. Грибова, М. Fowler, Paulo Pinheiro da Silva, Grady Booch. Выделены сильные к слабые стороны применения инструментальных средств, таких как Embarcadero Delphi, Microsoft Access, Oracle ADF при разработке ПБД.
Кроме того, в первой главе рассмотрены вопросы развития возможностей ППС за счет ГИС-функциональности. Современные подходы для решения данной задачи предлагают либо разработку специализированных приложений, работающих под управлением соответствующих ГИС, что приводит к необходимости изучения встроенных языков программирования этих ГИС, либо модернизации существующих ППС в части взаимодействия с ГИС, которая требует от разработчиков ППС освоения геоинформационных технологий, а также обязательного наличия исходных кодов. Оба подхода связаны с большими временными и трудовыми затратами.
Проведенный анализ определил подходы, позволяющие автоматизировать процесс разработки ПБД: выделение информации о предметной области в виде модели; разделение информации о структуре БД и функциональной части ПБД, отвечающей за работу с таблицами БД; уменьшение объема кодирования программистом за счет применения технологий визуального программирования, механизмов интерактивного настраивания параметров систем и динамического создания интерфейса; наличие интерфейсов для взаимодействия с внешними ППС, в том числе ГИС.
Вторая глава посвящена описанию предлагаемой технологии автоматизации создания ПБД на основе их спецификаций. В предлагаемом подходе спецификация является средством представления и хранения модели ПБД, которая в декларативном виде содержит информацию о предметной области в виде соответствующих знаний о структуре БД, правилах отображения схемы БД в элементы пользовательского
интерфейса, бизнес-логике приложения и способах взаимодействия с внешними приложениями, в том числе с ГИС.
В первом разделе главы описывается предлагаемый автором работы подход к процессу разработки ПБД, в котором выделяются следующие этапы (рисунок 1):
1. структурный анализ предметной области;
2. проектирование БД;
3. создание модели ПБД при помощи инструментального средства «ГеоАРМ»;
4. автоматическое создание ПБД на основе спецификации инструментальной системой «ГеоАРМ».
На первом этапе проводится структурный анализ предметной области, в результате которого выявляются сущности, формулируются требования к структуре, описываются бизнес-процессы, выявляются функциональные зависимости. Далее следует этап проектирования БД, результатом которого является схема БД для разрабатываемой системы, реализованная в определенной СУБД (например, СУБД MS SQL Server, Oracle).
На третьем этапе строится модель ПБД с помощью инструментальной системы «ГеоАРМ». При этом в качестве входных данных используются хранящиеся в СУБД метаданные о структуре БД (схема БД). Схема данных содержит структурированные знания о сущностях и связях между ними, но их недостаточно для создания полноценного ПБД. Структурную информацию БД необходимо расширить знаниями о бизнес-процессах и способах представления информации пользователю разрабатываемой информационной системы.
В процессе создания модели ПБД разработчику необходимо сформировать ; следующие объекты: «Таблицы», «Представления», «Правила», «Надстройки». «Таблицы» содержат структурную информацию, обеспечивающую взаимодействие (выполнение CRUD-опсраций) с соответствующими объектами (таблицами) БД, а именно, информацию о полях таблиц с их типами данных атрибутов и связях с другими таблицами БД. «Представления» - это объекты модели ПБД, отвечающие за формирование наборов данных для последующего отображения. «Представления» необходимы для формирования пользовательского интерфейса, поскольку только структурной информации о таблицах БД для этого недостаточно. Объекты «Надстройки» необходимы для поддержки взаимодействия с внешними модулями,
Этапы Результаты
С 1[>ук"ту|1Ш||Г1
oG;L-ni
Рисунок 1. Этапы технологии разработки приложения БД
отвечающими за решение незаложенных в ПБД задач (например, выполнения сложных вычислений или построение графиков). «Правила» отвечают за реализацию специфических бизнес-функций между различными объектами модели ПБД. В их числе установка режимов модификации данных, проверка на уникальность, взаимодействие с ПД. Правила могут влиять как на работу с конкретными таблицами БД, так и на формирование пользовательского интерфейса и взаимодействия с внешними ППС. Созданные модели ПБД инструментальная система позволяет сохранять в виде декларативных спецификаций.
На четвертом этапе инструментальная система автоматически настраивается при помощи спецификации, становясь предметным ПБД, обеспечивающим поддержку всех функций работы с базой данных и возможность взаимодействия с внешними ППС, в том числе с ГИС. Весь пользовательский интерфейс ПБД формируется динамически при интерпретации спецификации системой «ГеоАРМ».
Во втором разделе главы предложена модель ПБД, обеспечивающая отображение схемы БД в пользовательский интерфейс. Модель приложения ПБД имеет следующий вид: M=<Schema, Display, Rules, Plugins>. Ниже перечислены основные структуры модели ПБД:
Schema - структура, описывающая схему БД (таблицы), которая расширена информацией о видах связей между таблицами, способах организации данных для пользователя (представления) и связях с пространственными данными. В Schema определены связи трех видов: rfe{LR,PR,DR}, LR - ссылка из поля FK, PR - ссылка из поля PK, DR - связь типа детали. Такое определение связей позволяет различными способами реализовывать взаимодействие пользователя со связанными наборами данных - представлениями.
Display - структура, описывающая правила отображения данных пользователю, формирования пользовательского интерфейса.
Rules - структура для описания специфических бизнес-правил приложения.
Plugins - структура для описания взаимодействия с внешними подключаемыми ПГ1С, решающими задачи, которые не заложены в базовый функционал.
Третий раздел главы посвящен разработанному автором язык)' спецификаций ПБД - ЯПБД (Язык представлений баз данных). Грамматики данного языка принадлежат к классу LL(l)1. Конструкции языка позволяют в декларативном виде описывать элементы предложенной модели ПБД, а также некоторые общие настройки системы (например, способ подключения к БД). Созданные на ЯПБД спецификации удовлетворяют требованиям точности, понятности и полноты2, т.е. в спецификациях на ЯПБД содержится вся необходимая (в рамках предложенной
1 Hopcroft. John Е.; Motwani, Rajeev; Ullman, Jeffrey D. Introduction to Automata Theory, Languages, and Computation (3rd
ed.). Addison-Wesley, 2006. 750 P. " Агафонов В Н. Спецификация программ: понятийные средства и их организация. Новосибирск: Наука, 1987. 240 с.
технологии) информация для решения задачи автоматического создания ПБД. вс< объекты модели хорошо формализованы, при этом спецификации достаточнг компактны и в то же время понятны (читабельны).
Предложения, описывающие таблицы и представления (рисунок 2), сочетают е себе информацию о всех уровнях модели приложения М. Выразительные средства языка обеспечивают возможность настройки большого перечня параметров приложения. С одной стороны, конструкции языка позволяют достаточно детальнс| описать структуру БД (уровень Schema), с другой - позволяют представить 3Tjj информацию с точки зрения работы приложения в том виде, в котором информация| из таблиц БД будет представлена пользователю (уровень Display). Кроме того,, конструкции ЯПБД позволяют поддержать модульное программирование, т.е. при| разработке спецификации ПБД можно ссылаться на готовые спецификации других ПБД. Такая возможность позволяет создавать ППС, интегрирующие данные из нескольких предметных ППС, и ускорять процесс разработки ППС в целом.
Имя представления
VIEW vSP ADR
Поля, содержащие адрес объекта цифровой карты
ADDRS='U;DOM'
На какой таблице базируется
........... "V"
for А DK Р.
Поле связи с объектами цифровой карты
MAPFLD=Kcib DOM G
Отображаемое имя представления
'Все адреса'
■ Список полей NF
'............г -.....'
NAMES-'U,DOM'
Таблица связи с цифровой картой
MAPLNKTBb-MAP LNK
Номер цифровой карты
ПЕЫ>3( К00_С0М_6= АЭ 'Код ДОМ».',
, Поле базовой таблицы, е котором содержится связь
3 ' у' [СВ= 'Адрес' ^ - _____.—---Поле целевой таблицы
К=КОО^№1.КА1ЙГ АЭ Район/ М=К0и_МК_СМ.МК_6М Аг Микрорайон,
т-коо_ит.,.тгр_иь лг тип, U-KODJ.IL.UL АЭ Улица,
'"DOM- as Дом ]"i-................
ч [DGB='Здания по адресу'-tj "FRTM' as Примечание ) ;
Поля ! подстановки,
значения которых : i получаются по ссылкам
--■■--- Признак отображения таблицы деталей «Здания по адресу»
— Признак объединения полей в группу
Рисунок 2. Пример описания представления на ЯПБД
Третья глава посвящена описанию инструментальной системы создания ПБД. Сформулированы требования к функциональному обеспечению и архитектуре инструментальной системы. На основе требований автором предложена архитектура инструментальной системы (рисунок 3), включающая подсистемы «Ядро», «Управление спецификациями», «Редактор БД», «Построитель пользовательских запросов» и модуль «Программный интерфейс».
Общая схема разработки и исполнения ПБД в инструментальной системе «ГеоАРМ» выглядит следующим образом. С помощью подсистемы управления спецификациями создается (модифицируется) спецификация ПБД. Далее спецификация загружается в ядро системы. В результате этих действий
инструментальная система становится предметной III 1С, получает возможность работать с БД через подсистемы «Редактор БД» и «Построитель пользовательских запросов»; решать специфические задачи с помощью внешних III 1С, подключаемых через встроенный программный интерфейс; взаимодействовать с ПД при помощи внешней ПС «Карта».
Рисунок 3. Архитектура инструментальной системы создания П1>Д
Ядро системы отвечает за взаимодействие всех подсистем приложения с СУКД. обеспечивая интерпретацию спецификации ПБД и преобразование команд подсистем ПБД в команды интерфейсов для взаимодействия с СУБД. Для представления в памяти определенных в спецификации объектов модели ПБД в коде ядра включены соответствующие структуры данных.
Подсистема управления спецификациями ПБД является визуальным пользовательским интерфейсом, позволяющим решать задачи создания и модернизации спецификаций ПБД. Подсистема «Редактор БД» (рисунок 4) реализует уровень Display модели ПБД и представляет собой динамический интерфейс для работы с таблицами БД. настраиваемый при помощи спецификации. Редактор БД (рисунок 4) содержит главное меню, дерево сущностей, область задач и область данных. Главное меню содержит все функции ПБД для быстрого доступа. В дереве сущностей отображаются описанные в спецификации имена таблиц и представлений ПБД, объединенные в смысловые группы, исходя из их назначения или функций.
В области данных отображаются элементы управления для работы с таблицами и представлениями. Работа с данными осуществляется в двух режимах: в режиме таблицы для просмотра набора записей или в режиме формы для работы с конкретной записью. Состав элементов управления для каждой таблицы или представления генерируется автоматически на основе информации из спецификации. За оптимальную с точки зрения удобства работы пользователя расстановку в области задач элементов управления отвечает менеджер компоновки.
' АИС nfJC'ßbwBepj sa
Дерево сущностей
Состоя»« Помощь
В ■ ' Алресньн
-ЦУ/ши»
|у] Старые названия Адреса й Аас^оньЛ п/юн Р Уоицы Строения
И Снесенные ма™я с! [. *-■ Статистика
О Улицы не привязаннс ,Тд| Адреса не привяэанш В f s Карта ' И У/сда Г"1 Адреса
Рисунок 4. ПС Редактор БД
Построитель пользовательских запросов является универсальной формой, которая настраивается на работу с конкретной таблицей или представлением при помощи спецификаций. Построитель может работать как в обычном, так и в расширенном режиме. В упрощенном режиме пользователь видит таблицу с именами полей, в которой он может задать ограничения на значения некоторых из них, при этом конъюнкция условий образует условие запроса. При необходимости задать более сложное условие можно перейти в расширенный режим, в котором можно редактировать выражения в виде горизонтально ориентированного дерева (рисунок 5). Также в расширенном режиме поддерживается формирование условий на записи подчиненных таблиц. При формировании таких условий построитель запросов вызывается рекурсивно. В каждом из режимов способ редактирования условий на значения поля определяется информацией о виде поля таблицы или представления из спецификации ПБД.
Программный интерфейс предназначен для взаимодействия с внешними программными модулями — надстройками {Plugin), позволяющими решать специфические, не заложенные в архитектуру «ГеоАРМ» задачи. Надстройки реализуются в виде динамически подключаемых библиотек и позволяют расширить возможности системы.
Значение
|"Академическая',Тео логов'.'Лер.--ю«-ова'
i г Нсмер дома мачинвегся с ": i ^Нсвьй(мзБТИ)
j OK ] X Отрока I X Очистить все |
Рисунок 5. Построитель пользовательских запросов
Подсистема «Карта» реализована при помощи разработанного автором инструментального средства для обеспечения взаимодействия с пространственными данными - «Интерфейса АП» [16]. Данное средство разработано с использование"* пакета GIS ToolKit ГИС «Панорама» и представляет собой СОМ-сервер, вызов методов которого позволяет создать окно для взаимодействия с цифровыми картами (ЦК) и обеспечивает выполнение функций обработки ПД. Использование «Интерфейса All» при разработке или модернизации существующих ПГ1С позволяет избежать реализации функций работы с цифровой картой. Кроме того, данное приложение может использоваться независимо от каких-либо ППС как средство работы с цифровыми картами.
Привязка БД к карте может быть осуществлена двумя способами: через геокодирование, т.е. по полям, содержащим адреса объектов, или привязкой к произвольным объектам карты через таблицу связей.
Четвертая глава посвящена описанию применений разработанной технологии и инструментального средства для создания ряда ППС.
Для лучшего понимания эффективности предложенной в работе технологии рассмотрено ее применение на модельном примере разработки ПБД для БД «Pubs», входящей в качестве примера в состав MS SQL Server. Данная БД имитирует хранилище издательской компании и состоит из 11 таблиц: authors (авторы), discounts (скидки), employee (служащие), jobs (должности), pub_info (информация об издательствах), publishers (издательства), roysched (авторские гонорары), sales (продажи), stores (магазины), titleauthor (название-автор), titles (названия). Метаинформация о структуре таблиц и простых связях получена автоматически из СУБД. Между таблицами существуют различные виды связей: как простые ссылки на справочники (Foreign Key), так и связи типа Master-Detail (например, для книги список авторов), связи по первичным ключам (например, таблицы publishers и pubjnfo). На основе метаинформации о таблицах были построены 5 представлений:
«Служащие», «Издательства», «Авторы книг», «Книги», «Продажи». Отметим, чт таблица titleauthor реализует связь «многие ко многим» и содержит только ключ таблиц titles и authors. Поэтому для пользователей было создано представлени «Авторы книг», которое является деталями (списком авторов) для представлени «Книги». Настройка системы заняла 1 час, объем спецификации системы состави. 20 предложений на языке ЯПБД, 160 строк.
Для сравнения эффективности применения разработанного инструментально средства для той же БД «Pubs» было построено ПБД средствами MS Access, ч затребовало 7 часов. Несмотря на наличие в MS Access развитых средств настроим связей и генерации форм в процессе разработки ПБД потребовалось написание отладка программного кода. В сравнении с разработкой ПБД в ГеоАРМ в MS Accès, наибольших усилий и времени потребовал этап разработки пользовательских форм что в ГеоАРМ реализуется полностью автоматически.
В рамках муниципальных контрактов № 010-64-717/6, 010-64-1740/7, 010-64 000939/10, 010-64-001340/11 при помощи разработанной инструментальной системь автором были созданы ряд информационных систем: «Единый общегородской реест адресов объектов недвижимости г. Иркутска» (АИС ЕОРАН), «Управление многоквартирными домами» (АИС УМД), «Отдел жилищного хозяйства» АИС ОЖХ, «Геодезические и исполнительные съемки» (АИС «Геосъемки»). Задачами АИС ЕОРАН являются ведение реестра законодательно присваиваемых адресов объектов недвижимости на территории г. Иркутска, формирование и ведение Адресного плана. Поскольку в задачах ведения городского хозяйства адрес является основным идентификатором объекта хозяйственной деятельности, АИС ЕОРАН является базовой составляющей всех информационных систем, обеспечивающих управление г. Иркутском. Включение ссылки на спецификацию АИС ЕОРАН при разработке других АИС позволяет автоматически поддержать взаимодействие с цифровой топоосновой г. Иркутска.
АИС УМД - система, призванная повысить эффективность подготовки и обоснованность принятия управленческих решений администрации г. Иркутска по вопросам управления жилищно-коммунальным хозяйством в рамках Жилищного кодекса РФ, в частности, управления многоквартирными домами. Система обеспечивает информационно-аналитическую поддержку процессов выбора способа управления многоквартирными домами, проведения муниципальных конкурсов по отбору организаций, управляющих многоквартирными домами г. Иркутска, доведение принятых решений администрации г. Иркутска до исполнителей и контроль за их выполнением. АИС УМД содержит элементы системы документооборота. Например, наличие в таблице «Собрания» ссылки на PK таблицы «Договоры» позволяет создавать запись с информацией о договоре автоматически.
В заключении перечислены основные результаты, полученные в ходе выполнения диссертационной работы, приводится ряд возможных направлений дальнейших исследований.
В приложении приведены описание языка спецификаций ПБД, спецификации фрагментов созданных ППС, акты внедрения, подтверждающие практическое применение полученных результатов.
РЕЗУЛЬТАТЫ, ВЫНОСИМЫЕ НА ЗАЩИТУ
1. Разработана технология автоматизации создания ПБД, отличием которой от известных является выделение информации о структуре ПБД, механизм* взаимодействия с внешними ППС, а также с ГИС и формирование спецификаций ь виде формализованных знаний.
2. Создана оригинальная концептуальная модель ПБД, особенность которой заключается в том, что информация о структуре БД расширена знаниями о способах представления данных пользователю, а также механизме взаимодействия с внешними ППС и с ГИС.
3. Создан новый декларативный язык спецификаций ПБД, включающий конструкции для описания не только структур таблиц и связей между ними, но ;; правил формирования пользовательского интерфейса для взаимодействия с этим., таблицами, взаимосвязи информации из БД с пространственными данными, а такж*. механизма взаимодействия с внешними ППС, решающими специфические задачи.
4. Создано инструментальное средство, позволяющее интерактивно разрабатывать спецификации ПБД, обладающих ГИС-функциональностью и возможностью взаимодействия с внешними ППС, а также настраиваться при помощи спецификаций на работу с предметной БД.
ОСНОВНЫЕ ПУБЛИКАЦИИ АВТОРА ПО ТЕМЕ ДИССЕРТАЦИИ
Монографии
1. Бычков И.В., Гаченко A.C., Ружников Г.М., Фереферов Е.С., Хмельнов А.Е., Федоров Р.К. Интеграция информационно-аналитических ресурсов и обработка пространственных данных в задачах управления территориальным развитием. Новосибирск: Изд-во СО РАН, 2012. 369 с.
Статьи в журналах из перечня ВАК Министерства образования РФ
2. Фереферов Е.С., Бычков И.В., Хмельнов А.Е. Технология создания автоматизированных рабочих мест с возможностью обработки пространственных данных на основе мстаописаний структур баз данных // Вестник ИрГТУ. 2006. Т. 3, № 2(26). С. 52-59.
3. Фереферов Е.С., Бычков И.В., Хмельнов А.Е. Метаописание баз данных как основа интеграции информационно-справочных систем и ГИС // Вычислительные технологии. 2007. Т. 12, № 5. С. 41-51.
4. Бычков И.В., Гаченко A.C., Ружников Г.М., Маджара Т.И., Фереферов Е.С.. Хмельнов А.Е. Внедрение современных информационных технологий г региональных проектах // Вестник НГУ. 2008. Т. 6, № 1. С. 15-24.
5. Гаченко A.C., Ружников Г.М., Фереферов Е.С., Хмельнов А.Е. Разработк информационной системы обеспечения градостроительной деятельности муниципальных образованиях // Вестник НГУ. 2008. Т. б, № 3. С. 72-79.
6. Федоров Р.К., Бычков И.В., Хмельнов А.Е., Новицкий Ю.А., Ружников Г.М. Гаченко A.C., Фереферов Е.С., Шигаров А.О., Парамонов В.В., Попова А.К Разработка геоинформационной системы «Адресный план» г. Иркутска / Современные технологии. Системный анализ. Моделирование. 2009. № 3 (23) С. 14-19.
7. Фереферов Е.С., Бычков И.В., Новицкий Ю.А., Ружников Г.М., Хмельнов А.Е. Организация работы с электронными картами исключающая утечку векторной информации // Горный информационно-аналитический бюллетень (науч.-техн. журн.). 2009. № OB 18. С. 220-224.
8. Фереферов Е.С., Бычков И.В., Ружников Г.М., Хмельнов А.Е. Инструментальное средство автоматизации создания приложений баз данных на основе декларативных спецификаций // Вестник Бурятского гос. ун-та. 2011. №9. С. 118-122.
9. Фереферов Е.С., Новицкий Ю.А., Ружников Г.М., Хмельнов А.Е. Технология интеграции геоинформационных функций в информационные системы // Вестник Бурятского гос. ун-та. 2012. № 9. С. 59-63.
10. Фереферов Е.С., Хмельнов А.Е. Автоматизация создания пользовательского интерфейса на основе модели приложения баз данных // Вестник Бурятского гос. ун-та. 2013. №9. С. 100-118.
11. Фереферов Е.С., Бычков И.В., Хмельнов А.Е. Технология разработки приложений баз данных на основе декларативных спецификаций // Вычислительные технологии. 2014. Т. 19, № 5. С. 85-100.
Другие работы по теме диссертации
12. Фереферов Е.С., Бычков И.В., Гаченко A.C., Попова А.К., Ружников Г.М., Хмельнов А.Е. Применение ГИС- и Веб- технологий для создания интегрированных информационно-аналитических систем // Вычислительные технологии. 2007. Т. 12, спец. вып. 3. С. 5-18.
13. Фереферов Е. С., Гаченко А. С., Ружников Г. М., Хмельнов А. Е. Муниципальная информационная система обеспечения градостроительной деятельности // Вычислительные технологии. 2008. Т. 13, спец. вып. 1. С. 11-16.
14. Бычков И.В., Гаченко A.C., Хмельнов А.Е., Фереферов Е.С. Система создания автоматизированных рабочих мест с возможностью взаимодействия с пространственными данными на основе метаописаний структур баз данных // Современные технологии. Системный анализ. Моделирование. 2008. Спец. вып. С. 12-17.
Свидетельства о государственной регистрации программ для ЭВМ
15. Бычков И.В., Гаченко A.C.,Фереферов Е.С., Хмельнов А.Е., Программный комплекс для создания АРМ с картографической привязкой с использованием
метаописаний структуры баз данных (ГеоАРМ): Свидетельство о государственной регистрации программ для ЭВМ №2007613643 от 27.08.2007. М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2007.
16. Бычков И.В., Ружников Г.М., Хмельнов А.Е., Фереферов Е.С. Программный модуль, реализующий интерфейс пользователя ГИС Адресный план: Свидетельство о государственной регистрации программ для ЭВМ №2010612640 от 16.04.2010. М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2010.
17. Бычков И.В., Ружников Г.М., Хмельнов А.Е., Фереферов Е.С. Библиотека для создания отчетов с использованием метаописаний структур БД и шаблонов, содержащих метки форматирования данных: Свидетельство о государственной регистрации программ для ЭВМ №2011618280 от 20.10.2011. М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2011.
Редакщгонно-издательский отдел Федерального государственного бюджетного учреждения науки Института динамики систем и теории управления СО РАН 664033, Иркутск, ул. Лермонтова, д. 134 e-mail: rio@icc.ru
Подписано к печати 13.10.2014 г. Формат бумаги 60x84 1/16, объем 1,2 п л. Заказ 7. Тираж 150 экз.
Отпечатано в ИДСТУ СО РАН
-
Похожие работы
- Технология создания инфраструктуры пространственных ресурсов и информационных систем регионального управления
- Применение метода эллиптических оценок при построении географических информационных систем экологического назначения
- Автоматическая генерация и исполнение программ по спецификациям на языке SDL
- Алгоритмическое и программное обеспечение геоинформационной системы для анализа двумерных геополей
- Разработка методики проектирования программного ядра специализированной ГИС для геоэкологической оценки территорий
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность