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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 10.03.2018
Размер файла 16,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

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

Теряев Дмитрий Валерьевич,

кандидат технических наук,

старший преподаватель

Баранова Жанна Михайловна,

кандидат технических наук, доцент

Лосенков Александр Анатольевич,

адъюнкт

Военная академия войсковой

противовоздушной обороны

Вооруженных Сил Российской Федерации

им. А.М. Василевского

Работа выполнена при поддержке гранта Президента Российской Федерации МК-6544.2014.10.

программный вычислительный программирование контроль

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

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

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

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

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

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

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

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

- анализ технического задания и разработка алгоритма;

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

- трансляция текстов программ в машинные коды с контролем описаний программ и информации;

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

- динамическая отладка программ на стенде Главного конструктора;

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

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

- выпуск программной документации, а также корректировка документации в процессе разработки и модернизации системы;

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

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

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

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

Средства разработки программ варьируются как по составу, так и по их группированию в крупные компоненты-подсистемы [1, 2, 3]. Система поддержки автоматизации разработки и отладки ФПО состоит из следующих программных компонентов [1]:

- компилятора с языка программирования высокого уровня;

- ассемблер;

- дизассемблер с машинного кода;

- загрузчик;

- компоновщик;

- эмулятор СЦВМ;

- система структурного контроля программ;

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

Выбор языка программирования оказывает существенное влияние на время выполнения и эффективность программы. Компилятор с языка программирования высокого уровня контролирует входной текст на соответствие синтаксису и семантике языка программирования и преобразует его в машинные коды СЦВМ с одновременным масштабированием и присвоением адресов глобальных переменных.

Ассемблер должен обеспечивать программирование всех машинно-зависимых алгоритмов.

Модернизация существующего ФПО, разработанного в машинном коде, обеспечивается путём дизассемблирования. Дизассемблер обеспечивает частичное представление кодов операций машинных команд в символическом виде.

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

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

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

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

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

Эмулятор СЦВМ должен обеспечивать диалоговый режим отладки и выполнять следующие действия:

- отображение значения области памяти ОЗУ, как по указанным физическим адресам, так и по именам языка программирования;

- отображение значения области памяти ПЗУ, как в объектном коде, так и в символическом;

- отображение значения регистров;

- изменения значения области ОЗУ, как по физическим адресам, так и по именам языка программирования;

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

- задание точки остановки эмуляции отлаживаемой программы;

- задание пошагового выполнения эмулируемой программы с отображением состояния регистров;

- возможность прерывания эмуляции отлаживаемой программы;

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

- задание трассировки отлаживаемой программы (условные передачи управления, вызовы подпрограмм);

- измерение времени выполнения отлаживаемой программы.

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

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

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

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

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

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

Литература

1. Волосенков В. О., Морозов А.В. Способ построения средств комплексной отладки программного обеспечения специализированных ЭВМ функционирующих в режиме реального времени. Вестник Оренбургского Государственного университета. Оренбург, 2006. № 2, том 2. - с.136-140.

2. Константиновский В. М., Лопашинов П. М., Шалин С. А.. Средства разработки и отладки программного обеспечения для систем, работающих в режиме реального времени. ВСРЭ, серия РЛТ, 2000, вып. 1, с. 7-21.

3. Константиновский В. М., Лопашинов П. М., Волосенков В. О., Мурафетов А. А. Вычислительные системы зенитно-ракетных комплексов (зенитно-ракетных систем) войсковой ПВО. Учебник. ВА ВПВО ВС РФ. Смоленск, 2004. 276 с.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.