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

кандидата технических наук
Фадеев, Валерий Васильевич
город
Новосибирск
год
1995
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Средства проектирования программ бортового комплекса управления на базе гипертекста»

Автореферат диссертации по теме "Средства проектирования программ бортового комплекса управления на базе гипертекста"

РОССИЙСКАЯ АКАДЕМИЯ НАУК Сибирское отделение Институт систем информатики

\

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

Фадеев Валерий Валерьевич

Средства проектирования программ бортового комплекса управления на базе гипертекста

Специальность 05.13.11 - математическое и программное, обеспечение вычислительных машин, комплексов, систем и

сетей

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

Новосибирск 1995

Работа выполнена в НПО "Прикладная механика" Красноярск-26.

доктор физико-математических наук Поттосин И. В.

доктор физико-математических наук Бёжанова М.М.

доктор технических наук Минин Г.Д.

Санкт-Петербургский государственный университет

Защита состоится " декабря 1995 г. в 14 час. 30 мин. на заседании диссертационного совета К0003.93.01 в Институте систем информатики Сибирского отделения РАН по адресу:

630090, Новосибирск, пр. ак. Лаврентьева, :6.

С диссертацией можно ознакомиться в читальном зале библиотеки ВЦ СО РАН (пр. ак. Лаврентьева, 6).

Автореферат разослан " го» 5/Ь<? 1995 г.

Научный руководитель:

Официальные оппоненты:

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

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

к. ф. -м. н. ^М. А. Бульонков

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

Цель работы.

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

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

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

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

Разработан специализированный язык традиционной технологии проектирования программ ПО БКУ, его организация на базе гипертекста, методика использования гипертекстового представления проекта программы и специализированного языка для реализации объектно-орентированного подхода в проектировании программ рассматриваемого класса.

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

/

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

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

Результаты работы докладывались на международной научно-технической конференции "QAM" (Quality Assuranse in Machine-Building - Проблемы обеспечения качества изделий в машиностроении), семинаре Института систем информатики СО РАН, семинаре Красноярского ВЦ СО РАН. использовались в эскизном проекте, технических и научно-технических отчетах, научно-техническом совете предприятия. По теме диссертации опубликовано 7 научных работ, выпускалась программная документация по разработанным системам.

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

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

СОДЕРЖАНИЕ РАБОТЫ

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

Глава 1.

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

Приводится классификация CASE систем, в качестве критериев и направлений классификации рассматриваются следующие:

- по мощности (по степени поддержки жизненного цикла программы (ЖЦП) отдельный этап -> весь ЗЩП),

- по области действия в пределах ЖЦП,

- по функциональным возможностям,

- по области применения,

- в рамках эволюции CASE-средств.

На основании перечисленных классификаций разрабатываемая система средств определяется как CASE-система второго поколения или мета-CASE. предназначенная для обеспечения разработки системного и управляющего ПО, объединяющая инструменты по типу Workbench. Система проектирования -это ToolKlt, интегрируемая в общую систему.

В силу особенностей ЖЦП CASE-система для программ рассматриваемого класса это middle система, реализующая и часть low функций - детальное проектирование, документирование и т.п.

Делается вывод, что в рассматриваемых условиях наиболее приемлемым является постепенное развитие системы с целью создания мета-объединения. В данной работе рассмотрены две системы, первая из них является CASE-I, следующая развивается до уровня CASE-II и мета.

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

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

Далее в 1 главе рассматриваются составляющие САБЕ-систем, главными среди которкх (на этапе проектирования) являются средства построения и анализа моделей разрабатываемого ПО и репозитории.

Рассматриваются модели представления разрабатываемого ПО на этапе проектирования.

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

Глава 2.

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

В начале главы приводятся основные понятия гипертекста, затем рассматривается роль гипертекста в САйЬ-иислеме. Эта роль двояка: во-первых, г/т выбрзн как основ? для создания

средств поддержки процесса проектирования. ■ во-вторых - как средство для создания репозитория и интеграции инструментов САБЕ-системы.

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

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

Текст программы - структурированный текст, представимый в виде иерархии компонент программы. Хорошо структурированную программу легко представить в виде гипертекста, основанного на ее логической структуре, где сегменты г/т представляют собой описание логической структуры той или иной компоненты, а порции, несущие ссылки на сегменты. являются именами или комментариями этих компонент и т.о. полностью выстроенный г/т - это полный текст программы.

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

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

Суть метода заключается в следующем:

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

- этот сегмент хранит имя представляемого им файла и образ файла в текстовом виде,

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

Затем в главе 2 рассматривается объединение инструментов в процессе разработки программы.

Помимо возможности представления разнородных компонент в виде г/т для построения на его основе мета-CASE системы необходима организация взаимодействия с

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

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

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

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

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

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

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

Главные предпосылки создания языка, это - специфика процесса проектирования (наличие детальных исходных данных), близость языков проектантов и

программистов, наличие основания для языка в виде устоявшихся и закрепленных терминов и обозначений,' усиление требований к закреплению терминов, вызванное специальными требованиями к ПО бортового комплекса управления (ПО БКУ).

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

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

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

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

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

процесса разработки как к единому распределенному объекту. Главными составляющими такого объекта являются списание программы и текст программы.

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

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

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

Глава 3.

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

Эти особенности рассматриваются по следующим основным направлениям:

- организация внутренней структуры гипертекста.

- визуализация и навигация,

- преобразования.

- хранение г/т в виде файлов.

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

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

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

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

Важным признаком CASE-II является взаимосвязь между проектированием и кодированием на языке, поэтому в данной главе отдельно рассмотрены преобразования: Спецификация-) Схема-> Текст нз языке программирования.

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

Глава 4.

Последняя четвертая глава содержит описание реализации двух САБЕ-систем и входящих в них систем проектирования, основанных на гипертексте.

Первой описана система в которой гипертекст объединяет всю текстовую, табличную и графическую информацию, составляющие программу, кроме кода.

Название системы "традиционное" - "АРМ БПО", она объединяет в своем составе средства, поддерживающие следующие этапы жизненного цикла программ ПО БКУ:

- проектирование,

- моделирование,

- документирование,

- сопровождение,

- управление.

Наиболее важной составляющей является разработанная два года назад и использующаяся в настоящее время система поддерживающая проектирование программ . на базе гипертекста. Система поддерживает разработку программы в рамках'документа "Описание программы" (отсюда и ее название - ССД - система создания документации).

Функции проектирования, реализуемые системой:

- поддержка иерархического сверху-вниз метода проектирования программ,

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

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

1. Объединение различных файлов. обрабатываемых различными инструментами в единый документ.

2. Обработка вводимых разработчиком обозначений для структур данных и участков алгоритма. Эти обозначения являются словами или словосочетаниями на естественном языке. Их обработка заключается в раскрытии новым подуровнем документа.

Объединение всех информационных составляющих проекта сделано на основе документа "Описание программы", этими составлявшими для разработки программ нашего класса в рамках рассматриваемой технологии являются:

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

- описание интерфейсов программы - структурированный текст к% слабо Формализованном русском языке - создается те к с т о е им р адаптером;

- текст программы на макроассемблере - создается и ре;;а;'тньуется специально ориентированным редактором;

- ;'н-;лрмаш:я о характеристиках программы - табличная ин*;рк*гия, получаемая специальными приложениями.

Во второй части главы описана САБЕ-система следующего поколения.

Основу разработанной в рамках построения САБЕ-системы следующего поколения гипертекстовой среды составляют конструкции: сегмент, порция, строка, ссылка.

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

- система управления архивом,

- система анализа исходных данных (САИД).

- система построения электронной документации,

- система просмотра электронной документации.

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

Основой САБЕ-системы является САИД. Эта система реализует в себе три достаточно независимые функции:

- анализ исходных данных (ИД) и построение спецификаций на программы,

- проектирование программы.

- генерация программной документации.

Для удобства обработки информации, объединения информации в процессе обработки и контроля состояния проекта используется 6 специальных форм.

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

Общий словарь языка имеет линейную структуру и состоит из сегментов двух типов: каталога словаря и элемента словаря. Словарь конкретного проекта - это сам проект, каталог словаря - структура проекта, элементы - сегменты атрибутов компонент проекта.

Элемент словаря имеет три группы атрибутов: лексические, синтаксические и семантические, в данной главе описаны виды и значения атрибутов.

Для поддержки этапа документирования в системе (!АИД используется генерация программной документации на основе информации, накопленной в процессе проектирования программы.

ОСНОВНЬЕ РЕЗУЛЬТАТЫ РАБОТЫ

1. Предложена и обоснована концепция применения гипертекста в разработке проекта программ как средства, объединяющего все информационные составляющие проекта программы и как базового средства построения CASE систем в рамках которой:

- разработана модель представления проекта программы в виде гипертекста;

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

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

- разработан способ поддержки проектирования программ на базе г/т в технологии проектирования в рамках документа.

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

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

4. Предложена объектно-ориентированная модель проектирования программ ПО БКУ и разработана концепция ее реализации на базе г/т с использованием специализированного языка.

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

Разработанные принципы и методы использованы в практической работе в рамках реализации переноса существующей технологии разработки с ЕС на РС и проекта "Сократ":

1. Гипертекстовое представление проекта программы использовано в разработке программ ПО БКУ. на его основе интегрирована вся информация о программе и этапы разработки, за исключением этапа программирования и отладки программ на Ассемблере.

2. Разработана "Система создания документации" (ССД), поддерживающая проектирование логической структуры программ ПО БКУ в рамках документа "Описание программы".

3. Разработанные принципы и средства интеграции файлов в г/т использованы в разработке нескольких средств, объединенных в CASE систему разработки программ ПО БКУ (архивная система, справочная система, базы сопровождения, система управления).

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

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

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

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

1. Колташев A.A., Фадеев В.В.. Шумаков H.H. и др. Апробация прототипов инструментальных средств и технологии построения БПО. Научно-технический отчет по НИР "Сеть",-Красноярск, 1989.

2: Колташев А.А., Фадеев В.В., Хартов В.В и др. Анализ современной технологии разработки БКУ. Разработка архитектурных принципов построения АРМ программиста БПО и проектанта БКУ на базе УВС-21. Разработка прототипов моделей БКУ и основных подсистем изделия. Научно-технический отчет по НИЭР "Салют-С".-Красноярск, 1990.

3. Фадеев В.В. Проектная спецификация средств поддержки проектирования ПО бортового комплекса управления. // Среда программирования: методы и инструменты - ИСИ СО РАН, Новосибирск, 1992. С.17-21.

4. Фадеев В.В. Проектирование программ встроенных ЭВМ на базе гипертекста // ИСИ СО РАН. Новосибирск, 1993. С. 86-106.

5. Фадеев В.В. Средства анализа исходных данных и построения спецификаций //Международная научно-техническая конференция: Проблемы обеспечения качества изделий в машиностроении "Q.AM" (duallty Assuranse m Machine-Building). Красноярск, 1994.

6. Фадеев В.В. О преимуществах применения гипертекста в разработке программ // Средства и инструменты окружений программирования - ИСИ СО РАН, Новосибирск. 1995. С. 111-118.

7. Фадеев В.В. Язык проектирования программ ПО БКУ // Средства и инструменты окружений программирования - ИСИ СО РАН. Новосибирск, 1995. С. 119-126.