Помощь в написании студенческих работ
Антистрессовый сервис

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

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Апробация работы. Основные результаты работы докладывались: на 8-ой международной научно-технической конференции «Радиоэлектроника, электротехника и энергетика» (г. Москва, 2002) — на международных конференциях «Информационные средства и технологии» (г.Москва, 2001, 2002) — на семинарах в Управлении программных разработок компании R-Style Softlabна семинарах кафедры ПМ МЭИ (ТУ). Программный… Читать ещё >

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

Содержание

  • Глава 1. Анализ развития промышленных программных систем
    • 1. 1. Гибкость и расширяемость программного обеспечения
      • 1. 1. 1. Программные комплексы, создаваемые на заказ
      • 1. 1. 2. Тиражные программные комплексы
    • 1. 2. Подсистемы программирования
      • 1. 2. 1. Этапы развития
      • 1. 2. 2. Недостатки первых подсистем программирования
      • 1. 2. 3. Механизмы взаимодействия
  • приложений в операционных средах Microsoft Windows
    • 1. 2. 4. Интеграция с компонентной архитектурой Microsoft ActiveX
    • 1. 3. Параллельные и распределенные вычисления
    • 1. 4. Выводы по главе 1
  • Глава 2. Технология построения контейнеров управляющих элементов ActiveX
    • 2. 1. Общие принципы создания ActiveX-контейнеров
    • 2. 2. Архитектурные решения
      • 2. 2. 1. Устройство объекта контейнера
        • 2. 2. 1. 1. Класс CAxContLight
        • 2. 2. 1. 2. Класс CAxContBase
        • 2. 2. 1. 3. Класс CAxFormBase
        • 2. 2. 1. 4. Класс CForm
      • 2. 2. 2. Устройство объекта связи с управляющим элементом
        • 2. 2. 2. 1. Классы CChildAx и CChildAxCreator
        • 2. 2. 2. 2. Класс CAxSiteBase
        • 2. 2. 2. 3. Класс CAxFormSiteBase
        • 2. 2. 2. 4. Класс CSite
      • 2. 2. 3. Устройство объекта расширенного управляющего элемента
        • 2. 2. 3. 1. Класс CAxItemBase
        • 2. 2. 3. 2. Класс CItem
      • 2. 2. 4. Подходы к использованию библиотеки
    • 2. 3. Автоматизация процесса разработки ActiveX-контейнера
    • 2. 4. Выводы по главе 2
  • Глава 3. Методы обнаружения исключительных ситуаций
    • 3. 1. СП-метод
      • 3. 1. 1. Пример использования
    • 3. 2. АС-метод
      • 3. 2. 1. Пример использования
    • 3. 3. Сравнительный анализ представленных методов
    • 3. 4. Метод обнаружения исключительных ситуаций в Ут32-приложениях
      • 3. 4. 1. Теоретическое обоснование
        • 3. 4. 1. 1. Операционная семантика функции CreateThread
        • 3. 4. 1. 2. Операционная семантика критических секций
        • 3. 4. 1. 3. Операционная семантика функции WaitForSingleObject
        • 3. 4. 1. 4. Операционная семантика функции WaitForMultipleObjects
        • 3. 4. 1. 5. Операционная семантика семафоров
        • 3. 4. 1. 6. Операционная семантика событий
        • 3. 4. 1. 7. Операционная семантика мьютексов
      • 3. 4. 2. Пример работы
    • 3. 5. Выводы по главе 3
  • Глава 4. Инструментальный комплекс RS-Forms
    • 4. 1. Архитектура
  • приложений RS-Forms
    • 4. 2. Структура RS-Forms
    • 4. 3. Средства разработки RS-Forms
      • 4. 3. 1. Особенности Дизайнера RS-Forms
      • 4. 3. 2. Генератор кода
      • 4. 3. 3. Редактор исходного кода
      • 4. 3. 4. Особенности экранных форм
      • 4. 3. 5. Механизм вывода информации на печать
      • 4. 3. 6. Компонентный подход
      • 4. 3. 7. Настраиваемые элементы управления
      • 4. 3. 8. Окна в RS-Forms
      • 4. 3. 9. Особенности меню в RS-Forms
      • 4. 3. 10. Связь форм с данными
      • 4. 3. 11. Редактор списков иконок. it 4.4. Компоненты RS-Forms, созданные на основе предложенной технологии построения ActiveX-контейнеров
      • 4. 4. 1. Контейнер — оконная оболочка для одного ActiveX-элемента
      • 4. 4. 2. Управляющий элемент «форма»
      • 4. 4. 3. Управляющий элемент «печатная страница»
      • 4. 4. 4. Управляющий элемент «табулятор»
      • 4. 4. 5. Объект «меню»
      • 4. 4. 6. Представление форм в виде самостоятельных управляющих элементов ActiveX
    • 4. 5. Выводы по главе 4

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

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

Основным компонентом, обеспечивающим взаимодействие с управляющими элементами ActiveX, является контейнер управляющих элементов ActiveX.

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

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

Типичная проблема любых тупиков заключается в том, что они возникают асинхронно. Кроме того, существуют ситуации, которые похожи на тупики, но таковыми не являются. Например, поток может находиться в ожидании ресурса, требующего некоторое время для доступа. Следует также отметить, что большинство современных отладочных систем (debuggers) оказываются плохими помощниками для поиска ошибок такого рода.

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

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

Для достижения указанной цели в диссертации поставлены и решены следующие задачи:

— рассмотрены основные тенденции развития промышленных программных систем;

— проведен анализ подсистем программирования, поставляемых в составе отечественных и зарубежных информационных систем;

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

— разработан формальный метод обнаружения блокировок в Win32-приложениях;

— создана технология построения контейнеров управляющих элементов ActiveX;

— на основе предложенной технологии выполнена практическая реализация ряда основных компонент инструментального комплекса разработки приложений RS-Forms.

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

— создана новая методика построения контейнеров управляющих элементов ActiveX, позволяющая упростить и значительно ускорить процесс их разработки;

— предложена классификация контейнеров управляющих элементов ActiveX по предоставляемым функциональным возможностям;

— предложен новый, базирующийся на семантической теории языков программирования, подход к анализу Win32 С+±программ с целью обнаружения в них ситуаций, приводящих к блокировкам;

— показано, что семантическое значение Win32 С+±программы может быть представлено конечной системой рекурсивных уравнений;

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

Достоверность основных результатов подтверждается:

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

— результатами внедрения работы в технологические процессы компании R-Style Softlab.

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

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

— разработана программа автоматизации процесса создания (на основе предложенной технологии) ActiveX-контейнера посредством генерации исходного С+±кода, обеспечивающая быстрое построение остова контейнера и позволяющая на примерах познакомиться с предлагаемой технологией, испытать технологию в действии;

— разработан семантический метод, позволяющий автоматизировать процесс анализа исходного кода Win32-nporpaMM с целью обнаружения в них ситуаций, приводящих к блокировкам;

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

Реализация результатов работы. На основе разработанной технологии построения контейнеров управляющих элементов ActiveX в компании R-Style Softlab создан инструментальный комплекс разработки приложений RS-Forms.

Апробация работы. Основные результаты работы докладывались: на 8-ой международной научно-технической конференции «Радиоэлектроника, электротехника и энергетика» (г. Москва, 2002) — на международных конференциях «Информационные средства и технологии» (г.Москва, 2001, 2002) — на семинарах в Управлении программных разработок компании R-Style Softlabна семинарах кафедры ПМ МЭИ (ТУ). Программный комплекс RS-Balance компании R-Style Softlab, созданный с использованием результатов работы, был представлен на 14-ой ежегодной российской выставке информационных технологий «СОФТУЛ'2003» .

Публикации. По теме диссертации опубликовано 7 работ.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы и четырех приложений. Общий объем основного текста включает 138 стр., в том числе 35 рис. и 2 таблицы.

Список литературы

состоит из 64 наименований.

4.5. Выводы по главе 4.

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

2. Показана применимость предложенной во второй главе настоящей работы технологии построения контейнеров управляющих элементов ActiveX при реализации современного инструментального комплекса разработки приложений, в частности, для создания контейнера-представления, ориентированного на работу с одним произвольным ActiveX-объектомуправляющих элементов «форма», «печатная страница», «табулятор» — s-контейнера меню.

3. Рассмотрен подход к быстрой разработке управляющих элементов ActiveX. Показано, что в основе этого подхода лежит элемент управления «форма» .

ЗАКЛЮЧЕНИЕ

.

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

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

3. На основе предложенной технологии:

— реализована программа автоматизации процесса создания ActiveX-контейнера посредством генерации исходного С+±кода;

— в компании R-Style Softlab создан инструментальный комплекс разработки приложений — RS-Forms, в рамках которого автором реализованы:

• контейнер-представление, ориентированный на работу с одним произвольным ActiveX-объектом;

• управляющие элементы-контейнеры «форма», «печатная страница», «табулятор» ;

• s-контейнер меню;

• инструментальные средства быстрой разработки управляющих элементов ActiveX.

Показать весь текст

Список литературы

  1. Р. Эффективная работа с Word 7.0 для Windows 95: Пер. с англ. — СПб.: Питер, 1996. — 1104 с.
  2. Д., Уебб Д. Microsoft Visual Basic 6.0. Мастерская разработчика: Пер. с англ. М.: Русская редакция, 2001. — 720 с.
  3. БиллигВ. VBA в Office 2000. Офисное программирование: Пер. с англ. — М.: Русская редакция, 1999. — 400 с.
  4. А., Павлова О. Microsoft Office 97 — инструмент для разработчиков бизнес-приложений // PC Week/RE. 1997. — № 25. — С. 33.
  5. Кубрин С. Object RSL — объектно-ориентированная версия языка RSL // RS-Club. 1997. — № 4. — С. 63−67.
  6. С. Эволюция RSL — от простейшей генерации отчетов до объектно-ориентированного программирования // RS-Club. 2000. — № 3. — С. 75−78.
  7. Волошин В. Visual RSL: компонентный подход к созданию системы обработки и анализа информации // RS-Club. 1998. — № 2. — С. 75−77.
  8. Д., Кубрин С. Отладчик для интерпретатора Object RSL // RS-Club. 2001. — № 2. — С. 70−73.
  9. Аудит-Оптим. ascContainer средство создания динамического пользовательского интерфейса // Электронный ресурс. — 2000. — Режим доступа: http://www.optim.ru/Software/rus/ascContainer/asccontainer.asp.
  10. BCGSoft Ltd. BCG ControlBar Library // Электронный ресурс. 2001. -Режим доступа: http://www.bcgsoft.com.
  11. В. Е. Сети Петри. М.: Наука, 1984. — 160 с.
  12. В. Е., Харитонов Д. И. Применение сетей Петри при разработке графического языка программирования // Электронный ресурс. 2000. — Режим доступа: http://www.iacp.dvo.ru/labl l/pab/pub02.html.
  13. Ю. П. Семантика языков программирования. М.: Изд. МЭИ, 1992. -100 с.
  14. Ю. П. Семантика языков распределенного программирования. — М.: Изд. МЭИ, 1996. 102 с.
  15. Ю. П. Алгебраический подход к заданию семантики языков распределенного программирования // Известия академии наук. Теория и системы управления. 1995. — № 5. — С. 34−41.
  16. Ю. П. Язык асинхронных функциональных схем и его операционная семантика // Известия академии наук. Теория и системы управления. 1996. — № 5. — С. 42−53.
  17. Ю. П., Налитов С. Д., Куликова Н. JI. Распределенное программирование на языке АФС. М.: Изд. МЭИ, 1995. — 40 с.
  18. Ю. П. Семантические методы анализа распределённых систем. Дис. на соиск. уч. ст. д-ра техн. наук. М., 1994. — 272 с.
  19. Ю. П. Курс лекций по схематологии программ / М., 1999. 49 с.
  20. Ч. Взаимодействующие последовательные процессы. — М.: Мир, 1989. -264 с.
  21. Asche R. R. Detecting Deadlocks in Multithreaded Win32 Applications // Электронный ресурс. 1994. — Режим доступа: MSDN Library, Technical Articles.
  22. Asche R. R. Putting DLDETECT to Work // Электронный ресурс. 1994. -Режим доступа: MSDN Library, Technical Articles.
  23. Asche R. R. The Implementation ofDLDETECT. EXE // Электронный ресурс. 1994. — Режим доступа: MSDN Library, Technical Articles.
  24. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е изд.: Пер. с англ. — М.: Издательство Бином- СПб.: Невский диалект, 1998. — 562 с.
  25. М., Скотт К. UML в кратком изложении. Применение стандартного языка объектного моделирования: Пер. с англ. -М.: Мир, 1999. 191 с.
  26. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. М.: ДМК Пресс, 2001. — 432 с.
  27. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.: Пер. с англ. — СПб.: Питер, 2001.-368 с.
  28. А., ТроттДж. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию: Пер. с англ. — М.: Вильяме, 2002. 288 с.
  29. К. Применение UML и шаблонов проектирования: Пер. с англ. — М.: Вильяме, 2001.-496 с.
  30. Д. Технологии ActiveX и OLE: Пер. с англ. М.: Русская редакция, 1997.-320 с.
  31. Д. Основы СОМ: Пер. с англ. М.: Русская редакция, 1997. -376 с.
  32. Коберниченко A. Visual Studio 6. Искусство программирования. — М.: Нолидж, 1999. 256 с.
  33. Э. Модель СОМ и применение ATL 3.0: Пер. с англ. СПб.: BHV, 2000.-928 с.
  34. Р. Технология СОМ+. Основы и программирование: Пер. с англ. — М.: Вильяме, 2000. 480 с.
  35. Рихтер Д. Windows для профессионалов. 2-е изд.: Пер. с англ. — М.: Русская редакция, 1995. — 720 с.
  36. Рихтер Д. Windows для профессионалов. 4-е изд.: Пер. с англ. — СПб.: Питер- М.: Русская редакция, 2001. — 752 с.
  37. Д., Уингоу С., Шеферд Д. Программирование на Visual С++ 6.0 для профессионалов: Пер. с англ. — М.: Русская редакция, 2000. — 854 с.
  38. К. АррWizardry in 12 Easy Steps // Visual С++ Developer. 2000. — № 5. -C. 20−28.
  39. Крокет Ф. MFC. Мастерская разработчика: Пер. с англ. М.: Русская редакция, 1998.-400 с.
  40. Тосс В. Visual С++ 5. Энциклопедия пользователя: Пер. с англ. — Киев: ДиаСофт, 1998.-688 с.
  41. Kernighan В., Ritchie D. The С Programming Language. 2-nd. — Englewood Cliffs: Prentice-Hall PTR, 1988. — 274 c.
  42. ., Пайк P. Практика программирования: Пер. с англ. СПб.: Невский диалект, 2001. — 381 с.
  43. С. Основы программирования на С++: Пер. с англ. — М.: Вильяме, 2002.-256 с.
  44. . Язык программирования С++. 3-е изд.: Пер. с англ. — СПб.: Невский диалект- М.: Бином, 1999. — 991 с.
  45. . Дизайн и эволюция С++: Пер. с англ. М.: ДМК Пресс, 2000. -448 с.
  46. С. Эффективное использование С++. 50 рекомендаций по улучшению ваших программ и проектов: Пер. с англ. М.: ДМК, 2000. — 240 с.
  47. С. Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов: Пер. с англ. М.: ДМК Пресс, 2000.-304 с.
  48. С. Эффективное использование STL. Библиотека программиста: Пер. с англ. СПб.: Питер, 2002. — 224 с.
  49. Дж. С++: библиотека программиста: Пер. с англ. СПб.: Питер, 2000.-320 с.
  50. ФаулерМ. Рефакторинг: улучшение существующего кода: Пер. с англ. — СПб.: Символ-Плюс, 2003. 432 с.
  51. Ф. Мифический человеко-месяц или как создаются программные системы: Пер. с англ. — СПб.: Символ-Плюс, 2001. — 304 с.
  52. Д. Искусство программирования: В 3-х т: Пер. с англ. — М.: Вильяме, 2000. — Т. 1. Основные алгоритмы. 3-е изд. — 720 с.
  53. Д. Искусство программирования: В 3-х т: Пер. с англ. — М.: Вильяме, 2000. — Т.2. Получисленные алгоритмы. — 3-е изд. — 832 с.
  54. Д. Искусство программирования: В 3-х т: Пер. с англ. М.: Вильяме, 2000. Т. З. Сортировка и поиск. — 2-е изд. — 832 с.
  55. Ю. П., Костарев А. Н. Метод обнаружения исключительных ситуаций в приложениях Windows // Известия академии наук. Теория и системы управления. 2003. — № 4. — С. 124−131.
  56. А. Создание контейнеров элементов управления ActiveX // Byte. —2001. -№ 8.-С. 28−33.
  57. А., Павлов JI. RS-Forms — новый инструмент для разработки приложений // RS-Club. 2002. — № 3. — С. 18−22.
  58. А. О создании контейнеров управляющих элементов ActiveX // Доклады Международной конференции «Информационные средства и технологии». 16−18 октября 2001 г. В 3-х т. М.: Изд-во «Станкин», 2001. — Т.З. -С. 30−33.
  59. Ю. П., Костарев А. Н. Методы обнаружения исключительных ситуаций в программах // Доклады Международной конференции «Информационные средства и технологии». 16−18 октября 2001 г. В 3-х т. — М.: Изд-во «Станкин», 2001. Т.З. — С. 70−73.
  60. Ю. П., Костарев А. Н. Метод обнаружения исключительных ситуаций в Win32-пpилoжeнияx // Доклады Международной конференции «Информационные средства и технологии». 15−17 октября 2002 г. В 3-х т. — М.: Янус-К, 2002. Т.2. — С. 40−42.
  61. А. Концепция работы с клавиатурой и фокусом ввода в технологии ActiveX // Восьмая междунар. науч.-техн. конф. студентов и аспирантов: Тез. докл. В 3-х т. М. Изд-во МЭИ, 2002. — Т.1. — С. 272−273.
Заполнить форму текущей работой