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

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

Автореферат диссертации по теме "Разработка методов логического проектирования программного обеспечения систем управления динамическими объектами на базе встраиваемых ЭВМ"

МОСКОВСКИЙ ордена ЛЕНИНА и ордена ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

МЯКИПЕВ Дмитрий Владимирович

Разработка методов логического проектирования программного обеспечения систем управления динаническимк объектами на базе встраиваемых ЭВМ

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

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

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

Москва 1991

Работа выполнена в Пензенском научно-исследовательском институте математических машин.

Д.033.16.09 в Московском энергетическом институте по адресу: 105835, ГСП. Москва, Е-250, Красноказарменная, 14.

Отзывы в двух экземплярах, заверенные печатьв,просим присылать по адресу: 105835, ГСП, Москва, Е-250, Красноказарменная ул, , д. 14, Ученый Совет МЭИ.

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

Автореферат разослан "3"ОиЫЛ^й-991 г.

Ученый секретарь специализированного Сов—

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

-доктор технических наук, доцент Рякин 0. М.. -доктор технических наук, профессор Герасименко В. А. , кандидат технических наук, доцент Еремеев А.П. -указана в решении специализированного Совета.

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

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

Д. 053.16.09 Д. т.н.

Рякин О.М.

-3-

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

Актуальность тепы. Общеизвестным радикальным путем повышения эффективности процессов управления в сложных технических системах является полная или частичная их автоматизация' за счет включения ЭВМ в контур управления . Использование ЭВМ позволяет реализовать сложные многокритериальные алгоритмы управления, обеспечить требуемую степень реактивности системы. К числу систем управления, применение ЭВМ в которых не только целесообразно, но и необходимо, относятся системы управления динамическими объектами, находящимися в состоянии непрерывного движения Сизменения) под воздействием различных внешних и внутренних факторов. Характерной особенностью систем такого рода является необходимость постоянного отслеживания состояния объектов управления, причем период измерения параметров объекта нередко соизмерим с периодом их изменения. Результаты отдельных измерений обобщается и хранятся в памяти ЭВМ в форме динамической модели объекта, которая отображает изменение его состояния адекватно целям эффективного управления. Управляющие ЭВМ в таких системах функционируют в режиме реального времени, при котором темп работы ЭВМ по вводу, обработке и выводу данных жестко задается скоростью происходящих в объекте управления переходных процессов.

Типичным примером систем управления динамическими объектами служат автоматизированные системы управления воздушным движением С АС УВД 3. Объектом управления АС УВД является воздушная обстановка С ВО ) в контролируемом районе, состояние которой изменяется во времени непрерывно со скоростью составляющих ее элементов - летательных аппаратов С ЛА ).

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

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

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

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

Установлено, что наиболее существенное влияние на уровень трудозатрат оказывают процессы проектирования на р а л и и х этапах жизненного цикла ПО-на участке от определения требований С выдачи технического задания 3 до непосредственно программирования С кодирования С одной стороны, принятые на ранних этапах проектные решения являются основополагающими и во многом определяют качество и надежность создаваемого программного продукта, и в конечном итоге - эффективность всей системы управления в целом; с другой стороны, как показано в ряде исследований, именно на ранних этапах проектирования разработчиками совершается больная часть всех ошибок С до 65/£ Основной объем этих ошибок выявляется и устраняется на этапах тестирования, испытаний и сопровождения, при этом трудозатраты на их обнаружение и ликвидацию возрастают в десятки и даже сотни раз по сравнению с трудозатратами на ранних этапах.

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

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

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

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

Поставленная цель требует решения следующих задач:

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

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

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

4) построения на основе созданной методики технологического процесса проектирования и его внедрение.

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

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

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

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

лять структурные ошибки в проектных реиениях непосредственно в ходе проектирования на ранних этапах;

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

Практическая значимость и внедрение результатов работы.

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

Применение разработанных методов в форме методики логического проектирования при этом позволило на 30-35/^ сократить трудозатраты за счет: , •

1) использования типовых проектных решений определенных базовой структурой;

23 рационализации структуры ПО в ходе ее построения, исключения избыточных элементов;

33 снижения уровня неустраненных на ранних этапах ошибок.

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

Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на заседаниях научно-технического Совета НПО "Рубин" в 1983- 1990 гг., семинаре "Математические методы в задачах исследования сложных систем" СПенза, 1984г.3, II Научно-технической конференции "Цифро-

вое машинное моделирование вычислительных систем и сетей" СПен-за, 1985 г.), семинаре "Системные средства САПР" С Москва, 1989 г.), ;гколе- семинаре "Программирование систем реального времени на языке Модула-2" ССевастополь, 1989 г.).

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

Структура и объем работы. Работа состоит из введения, четырех глав, заключения, списка литературы из ИЗ наименований и двух приложений. Объем основной части работы - 117 страниц машинописного текста, иллюстраций - 7.

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

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

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

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

3) наличия ряда инвариантных в рамках систем данного класса соотношений между компонентами системы, что позволяет формализовать контроль структурной С конструктивной ) коррректности проектных решений.

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

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

51Г < «.и^и

где система С ПО в целом 3; Х^ ио, и , Ч0~ входы и выходы системы; модельное состояние С отображение ситуации управления в памяти ЭВМ З;1^ -.функция модификации модельного состояния; ^ : Х^, У^, ио -> Шо; функция предсказания С управления 3; ^ : У/^, -> II.

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

О : ВАХ В-> | И, Л где В^, Bj, - множества программных объектов, { И, Л | -множество 4 истина, ложь }•.

Базовыми элементами операционной структуры является "процесс" и "событие". Окончательное выражение для операционной структуры имеет вид

< Р ,Е л ,р ,г>.

где: 2 = \<г ^ - нножество предикатов " запуск процесса ", отображающих условия запуска каждого из процессов из пространства С вектора ) событий Е в множество { И ,Л ^ ; Р - множество процессов в системе,р- предикат, задавший базовое отношение "передает данные " на множестве Р X Р ',у - предикат, задающий базовое отношение " инициирует запуск ". Содержательно операционная структура представляет " систему " как множество процессов, связанных по данным, каждый из которых обрабатывает одно или группу событий.

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

< Т, Б, и, а >,

где Т - множество задач, в - множество подзадач, и - задает отношение " передает данные -" на Т X Т ; а - задает отновение "состоит из " на Т X 6.

В основе программнотехнической структуры лежит фундаментальное понятие " модуль ", которое в данной работе трактуется как " замкнутая единица, составленная из данных и процедур, доступных вне модуля только по явному запросу ". Согласно концепции модульности любой программный объект в конечном итоге не что иное как совокупность модулей, связанных между собой по управление и данным. В формальных обозначениях *а= < М. 6, ? >.

где М - множество модулейзадает отношение " передает управление - задает отношение " передает данные " на М X М.

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

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

s = < Т, Р, G, М, Е, а, п, т, X, u, ß, 6. 1. у, с, о, 9, V, у, р, п >, где кроме ранее использованных вводится ряд дополнительных обозначений для задающих базовые отношения предикатов : с -"выполняется в рамках " на G X Р; б - " состоит из " на Р X М; \ - " состоит из " на G X М; л - " состоит но " на Т X М'> ¡J -"является главным " на М X Р; v - " является главным" на М X G; р - " является главным " на М X s". о - " состоит из " на s X М.

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

Ь = < Хь. Yb. Еь> Wb, prb, $b. ab >, где b - базовый программный объект; Xb - множество входов; Yb -множество выходов; Wb - множество состояний; Еь - вектор событий; ргь - приоритет; сть - предикат " запуск объекта ";$ь- множество функций С преобразований ) со схемой '■ Xb,Wb~>Wb>Yb Во второй главе описаны разработанные методы н средства логического проектирования ПО систем управления.

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

кой - либо операционной системы С ОС. 3. Таким образом метод ориентирован на проектирование ПО встраиваемых ЭВМ, поскольку известно, что именно для них характерно отсутствие универсального системного ПО,- Наличие концептуальной основы - базовой структуры позволило значительно сократить количество итераций , характерных для нисходя ней методологии, придать им регулярный характер. Декомпозиция при этом производится в соответствии с формализованными образцами - базовыми программными объектами по четко очерченной схеме. В точках замыкания итераций С возвратов) выполняется характерная для метода процедура, названная в работе " утряска ", суть которой заключается в совместном рассмотрении проектных спецификаций программных объектов п-ного уровня абстракции в рамках объемлющего программного объекта п-1-ого С более высокого ) уровня абстракции и вынесении " за скобки" общих для них элементов Стипов данных, процедур и пр.,. Затем эти общие элементы включаются в спецификацию объемлющего программного объекта. В результате систематически проводимых " утрясок " рационализируется структура ПО, исключаются дублирующие элементы, что приводит к сокращению требуемых вычислительных ресурсов, уменьшению вероятности появления ошибок. При этом сохраняются все приемущества нисходящей методологии: постепенное, шаг-за шагом уточнение проектных решений; обозримость проекта в целом.

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

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

проектирования строго по образцам базовой структуры СИ сохраняют истинность в любой ее интерпретации - реальном проекте. Ото дает возможность осуществлять контроль конструктивной корректности проектных решений до их реализации в ходе проектирования. Очевидно, что каждый вид структурных преобразований проверяется своим набором СИ. Так результаты декомпозиции " системы " на " задачи " должны соответствовать следующим утверждениям: СИ1 : Ч е Т С X1 n Xs * 0 & ÏL л Ys ж о 3;

СИ2 : XS â uït2 ïs;

UT UT

СИЗ : С nxl 3 n xs = 0 & С ) л Ys = o, UT UT

t t ç

где X ,Y - множество входов и выходов' задачи t; _X"\Y -

множество входов и выходов системы s.

Данный набор СИ несет следущую семантическую нагрузку: СИ1 устанавливает что любая задача включает в себя по крайней мере один " системный ." вход и один выход; СИ2 определяет условие полного охвата входов и выходов систеиы всей совокупностью задач С нестрогое включение допускает наличие у задач собственных входов и выходов 3; СИЗ - условие независимости задач.

•Условия корректности декомпозиции каждой задачи на подзадачи формулируются в виде:

СИ4 : 3G| с GlC vg е с X9 л X1 - о 3 & С ^ s X1 33;

СИ5 : 3Gq с G4 Vg e Gq С n ï^ < в ) & С ^ S Y1 33 ; .

СИ6 : Vg 6 etCC geGj ■> 3g* e С G*" \ Gj 3 &7)C g, g' 33 |

Cg e Gg » эд' e С G^ \ Gq 3 & 7)C g, g' 33 |

Cg <Gl \ CG^ и Gq33>» Зд'эд'Ч GtC)}Cg.g,3&7)Cg",g3333 . где G^ - множество подзадач, входящих в состав задачи t; Sj.Gq-подмножества " входных " и " выходных " подзадач задачи t.

Структурные инварианты, по который осуществляется контроль корректности операционной структуры, имеют вид: СИ7 : ve е Е Эр в PC е « л, Э;' СИ8 : Vg s G Эр е PC iC д.р 3 & С стд •» ар 33.

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

СИ9 : 3!ms « МС-рС ms, s 33;

СИЮ: vp е р 3!mp ^ МС îK mP, р ) & <5С ms, mp 33;

СИИ: vg е G З!щ9 е МС vC mg. g 3 & зтр 6С шр, m9 33;

СК12: Vm с МС рС m,s 3 | Зщ'в МС 6С m', m 3 | fC m. m'33;

СИ13: vmC oC s, m 3 ■» С vm'« МС ¿С m, m* 3 | fC m', m 33 ♦ oC s. m'3 | С pC m, s 3 & pC m', p 333);

C!!14: vm e МС Эр s PC fi m, p 33 ♦ С vffl' « МС ¿C m, m' 3 | ÇC m',m 33 ♦ 3g « GC vC m',g 33 | oC s, m'333;

СИ15: vm Ê ИС 3t в TC rrC t, m 33 • С vffl' e МС ¿C m, m' 3 | ÇC m',m 33 * nC t, m'3 | oC s, ш'ЗЗЗ;

СИ16: vm e МС 3g s GC XC g, m 33 * С vra' « МС 6C m, m'3 | ÇC m* ,m 33 ♦ XC g, m 3 1 al e TCaCt, g3 & reCt.m'T. | 4 oC s. m' 333,

где ms, mp, m^ - главные модули объектов "система", "процесс", "подзадача" соответственно. Остальные обозначения элементов 6а- ■ оовсй структуры были введены и раскрыты ранее.

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

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

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

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

В заключении главы 2 показано, как могут быть переписаны структурные инварианты СИ1 - СИ16 с использованием синтаксических переменных ЯС. Такая форма СИ позволяет проверять корректность результатов структурных преобразований непосредственно по текстам соответствующих спецификаций. Например, выражение для СИ6 записывается следующим образом:

СИ6 : ЗагПздч е СпецЗдчСС ЗагПздч е СпецЗдч. ЗагПздчСШ * эЗагПздч'е С СпецЗдч.ЗагПздч \ СпецЗдч.ЗагПздчС1Ю)&' СЗагПздч,ОблЗнч п ЗагПздч'. ОблОпр * о J СЗагПэдч « СпецЗдч.ЗагПздчСОШЭ * эЗагПздч' « ССпецЗдч.ЗагПздч\ СпецЗдч.ЗагПздчСОиБ) & С ЗагПздч' .ОбпЗнч п ЗагПздч. ОблОпр * £03 | С ЗагПздч « ССпецЗдч. ЗагЛздчЧСпецЗдч. ЗагПздчСШ ^ СпецЗдч.ЗагПздчСОиТ))) » ЭЗагПздч', ЭЗагПздч" е СпецЗдчСС ЗагПздч'.ОблЗнч п ЗагПздч. ОблОпр*о) & СЗагПэдч.ОблЗнч п ЗагПздч".ОблОпр*в)ЭЭ), где ЗагПздч - заголовок подзадачи, СпецЗдч - спецификация задачи, ОбпЗнач - область значения, ОблОпр - область определения, IN и OUT - квалификаторы входных и выходных подзадач соответственно.

-16В третьей главе приведено описание методики логического проектирования ПО систем управления динамическими объектами на базе встраиваемых ЗБИ. Ее основу составила сетевая модель процесса проектирования, адекватно отражающая динамику совместного использования метода структурного проектирования и метода структурных инвариантов. Основным элементом этой модели является проектная процедураСППЭ. В рамках каждой ПП разработчиком ПО выполняется определенная последовательность действий; имеющая четко специфицированные вход, выход и условие выполнения. В совокупности условия выполнения процедур образуют устойчивые причинно - следственные связи между отдельными ПЛ. В соответствии с понятиями базовой структуры ПО все ПП, составляющие методику, разбиты на группы процедур проектирования системы С ПС 3, проектирования задач С ПЗ 3, проектирования процессов С ППР 3, проектирования подзадач С ППЗ ^ проектирования модулей С ПМ 3.

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

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

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

Начальные этапы данного техпроцесса построены на основе предложенной методики логического проектирования, в целом $е он разработан по ставшей классической схеме ПРОМЕТЕЙ - технологии. При этом элементы базовой структуры ПО - программные объекты участвуют в технологических операциях в роли " узлов " и " деталей " программного изделия. Приведена схема техпроцесса, краткое описание основных технологических операций, примеры использования элементов техпроцесса на практике. В заключение приведены краткие сведения о результатах проектирования в рамках данного техпроцесса ПО передвижного пункта управления С ПУЗ районной автоматизированной системы управления воздушным движением, оценена эффективность предложенных методов логического проектирования.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИОННОЙ РАБОТЫ.

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

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

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

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

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

5. Для адекватного представления проектных решений на высоком уровне языковых абстракций разработан проблемно - ориеь ' тированный язык спецификаций, базирующийся на языке МОДУЛА-2 и позвопяющий проверять конструктивную корректность проекта оценкой истинности структурных инвариантов непосредственно по текстам спецификаций.

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

7. Разработан технологический процесс проектирования ПО систем управления динамическими объектами, основанный на известных концепциях ПРОМЕТЕЙ - технологии и базовых понятиях концептуальной модели ПО, использующий на начальных этапах созданные методы логического проектирования. Данный технологический процесс внедрен в НПО "Рубин" Сг.Пенза), где был использован при проектировании.ПО подвижного ПУ РАС УВД гражданской авиации. Результаты внедрения подтверждают эффективность разработанных методов и средств логического проектирования и их практическую ценность для рассматриваемого класса задач.