Раздел II. Алгоритмическое и программное обеспечение
УДК 681.142
В.А. Балыбердин, А.М. Белевцев, О.А. Степанов
ВОПРОСЫ ОЦЕНКИ И ОБЕСПЕЧЕНИЯ НАДЁЖНОСТИ ПРОГРАММНЫХ СРЕДСТВ АСУ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ
В современных условиях значительно возрастает актуальность практического решения вопросов оценки и обеспечения надёжности ПС систем управления, особенно - АСУ специального назначения (СН), где требования к надёжному функционированию системы особенно высоки. В статье анализируется современное состояние вопросов оценки и обеспечения надёжности программных средств (ПС) АСУ СН и акцентируется внимание на наиболее важных аспектах рассматриваемой проблемы. Основное внимание уделяется вопросам обеспечения требований к факторам завершенности и отказоустойчивости ПС, которые являются наиболее важными с точки зрения специфики функционирования АСУ СН. Определяются основные пути обеспечения высокого уровня завершенности и отказоустойчивости ПС АСУ СН. Рассматривается ряд первоочередных мероприятий, направленных на решение проблемы обеспечения надёжности ПС. Отмечается необходимость интенсификации работ в части разработки и сертификации практических методик, обеспечивающих оценку основных факторов надежности ПС на различных этапах их создания. Изложение материала построено с учётом современного состояния нормативной базы по вопросам оценки надежности ПС.
Программные средства; надёжность; оценка завершенности и отказоустойчивости ПС.
V.A. Baliberdin, A.M. Beievtsev, O.A. Stepanov
ON SPECIAL PURPOSE AUTOMATED SYSTEMS SOFTWARE RELIABILITY ESTIMATION AND MAINTENANCE
In modern times there is a pressing problem of software reliability estimation and maintenance. Especially it concerns with special purpose automated systems as a consequence of the high requirements imposed. The article is devoted to modern state of the problem analysed. Special attention is paid to the most important aspects of the problem such as maturity and fault tolerance. The basic ways of attaining the high level of software maturity and fault tolerance are analyzed. A number of urgent measures to solve the problem discussed are considered. The necessity of efforts intensification in developing practical methodology for estimation the software reliability is stressed. The paper takes into account the modern state of international standards.
Software; reliability; maturity; fault tolerance.
1. Актуальность проблемы оценки и обеспечения надежности программных средств (ПС). В современных условиях значительно возрастает актуальность практического решения вопросов оценки и обеспечения надёжности ПС систем управления, особенно - АСУ специального назначения (СН), где требования к надёжному функционированию системы особенно высоки.
С недостаточной надёжностью ПС связываются серьёзные потери экономического, политического, престижного характера. Достаточно вспомнить, например, такие факты. При запуске космического корабля «Маринер-1» к Венере в
США и «Фобос-1» к Марсу в СССР произошли потери этих объектов из-за ошибок в ПС [1]. Большую опасность представляет нарушение работы ПС в системах специального управления. Так, программная ошибка в главном компьютере североамериканской службы ПВО в 1980 г. поставила мир на грань ядерной катастрофы: служба сообщила, что на США движутся советские ракеты [1].
Таким образом, актуальность практического решения вопросов оценки и обеспечения надёжности ПС систем управления, особенно - АСУ СН, где требования к надёжному функционированию системы особенно высоки, не вызывает сомнений.
2. Общее состояние работ по оценке и обеспечению надёжности ПС.
С учетом анализа полученного опыта разработок и использования ПС больших систем управления в ведущих зарубежных странах были сделаны необходимые выводы и осуществлен комплекс исследований и разработок, позволивших заметно снизить остроту проблемы за счёт разработки и внедрения прикладных методов и средств оценки и обеспечения надежности ПС создаваемых СУАУ. В частности, значительный объем работ был выполнен в рамках международной организации по стандартизации (ISO).
С точки зрения тематики настоящей работы наибольший интерес представляют следующие группы международных стандартов [4]:
♦ ISO/IEC 9126: 1-4 - Информационная технология - Качество программных средств.
Стандарт включает следующие части: Часть 1: Модель качества. Часть 2: Внешние метрики качества. Часть 3: Внутренние метрики качества. Часть 4: Метрики качества в использовании.
♦ ISO/IEC 14598: 1-6 - Оценивание программных средств. Стандарт регламентирует методологию и процессы оценивания характеристик качества ПС;
♦ ISO/IEC 250nn: - Системная и программная инженерия. Требования и оценка качества систем и программных средств (SQuaRE). Стандарты серии ISO/IEC 250nn представляют дальнейшее развитие ISO/IEC 9126 и ISO/IEC 14598 и в последующем призваны заменить указанные стандарты.
Рассмотренные документы формируют взаимосвязанную серию стандартов, определяющих основные задачи формализации и оценивания характеристик качества в жизненном цикле сложных ПС, включая и надежность ПС, которая является одним из базовых элементов качества ПС.
В отечественной практике разработки ПС в настоящее время существует и используется ряд нормативных документов на уровне стандартов, определяющих различные положения по оценке качества (в том числе - надёжности) программных средств. Прежде всего сюда следует отнести ГОСТ 28806-90 «Качество программных средств. Термины и определения» (дата введения 01.01.92), Госстандарт СССР [6] и ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению. Госстандарт России, 1993 [7].
В этих документах программное средство (ПС) трактуется как объект, состоящий из программ, процедур, правил, а также, если предусмотрено, сопутствующих им документации и данных, относящихся к функционированию системы обработки данных. Такое определение ПС, приведённое в [6], широко используется отечественными специалистами в области информационных технологий.
В ГОСТ 28806-90 предлагается двухуровневая система показателей оценки качества ПС с выделением уровней:
♦ характеристик;
♦ подхарактеристик.
Эта система, в основном, соответствует системе показателей стандартов ISO/IEC 9126, поскольку она строилась с учетом более ранних версий ISO/IEC 9126.
Однако ГОСТ 28806-90, в полном соответствии со своим названием, содержит лишь термины и определения, процедурная часть в нём отсутствует.
ГОСТ Р ИСО/МЭК 9126-93 построен на основе применения аутентичного текста ISO/IEC 9126-91 и помимо терминологии содержит некоторые общие рекомендации по оценке качества ПО. В целом изложение положений стандарта осуществляется на качественном уровне, а в силу общности рекомендаций излишне большой объём полномочий делегируется пользователю как в вопросах выбора системы показателей оценки, так и особенно - при построении методического обеспечения оценки ПС.
Проведённый нами анализ нормативных документов в части оценки и обеспечения надёжности ПС АСУ позволяет сделать следующие основные выводы:
1) Нормативная база, определяемая международными стандартами ISO/IEC по надёжности ПС, ввиду широты её предназначения, носит достаточно общий характер в процедурной части, что затрудняет решение практических вопросов осуществления оценки надежности ПС для конкретных классов ПС. Поэтому необходимы определённые усилия по отработке и внедрению в практику разработок ПС методического аппарата решения задач по оценке и обеспечению надёжности ПС.
2) Наиболее рациональным путем приведения нормативной базы оценки надёжности ПС в соответствие с современными требованиями является использование и развитие основных положений и требований, содержащихся в международных стандартах ISO/IEC 9126, 14598 и 250пп, как в наибольшей степени отражающих последние достижения и существующие тенденции в области стандартизации на мировом уровне. При этом решение конкретных вопросов создания и применения методического обеспечения оценки надёжности ПС для АСУ СН следует решать с учётом задаваемых требований и особенностей эксплуатации ПС.
3. Оценка и обеспечение надёжности ПС. Напомним, что в соответствии с [6] надежность - это совокупность свойств, характеризующая способность программного средства сохранять заданный уровень пригодности в заданных условиях в течение заданного времени. В дальнейшем будем придерживаться терминологии [6] как наиболее отработанной и широко используемой в отечественной правтике.
В рассматриваемых стандартах принято выделять три подхарактеристики. В терминологии [6] - это завершённость, отказоустойчивость и восстанавливаемость ПС.
Третий уровень оценки ПС - метрики. Этот уровень в ГОСТ 28806-90 и ГОСТ Р ИСО/ИЕК 9126-93 не регламентирован.
Завершённость ПС характеризует частоту возможных отказов, обусловленных дефектами ПС. Иными словами, завершённость ПС определяется уровнем потенциальных программных ошибок, которые остались невыявленными в ПС.
Под отказоустойчивостью ПС понимают совокупность свойств ПС, характеризующих его способность поддерживать необходимый уровень пригодности при проявлении дефектов ПС или нарушении установленных интерфейсов [6].
Под восстанавливаемостью ПС понимается возможность осуществления, трудоёмкость и продолжительность действий по восстановлению ПС своего уровня пригодности, а также непосредственно подвергшихся воздействию данных, в случае проявления дефекта ПС [6]. При этом под дефектами понимают ошибки в ПС. Здесь важным обстоятельством является акцентирование внимания на двух моментах:
♦ восстановление связано с выходом из ситуации, обусловленной отказом ПС;
♦ результат восстановления соотносится с уровнем пригодности ПС, т.е. степенью удовлетворения потребностей пользователя.
Важным моментом является то, что в результате реализации процедуры восстановления ПС должна быть устранена обнаруженная ошибка в ПС. Здесь необходимо остановиться на специфике условий использования ПС в системах специального назначения.
Если в процессе использования АСУ СН возникла ошибка в каком-то компоненте ПС, то заниматься поиском и устранением этой ошибки персонал АСУ не имеет возможности ни в оперативном плане, ни в юридическом. В первом случае -по причине отсутствия времени для выполнения этой функции, во втором - по причине обеспечения ответственности Разработчика за ПС как программный продукт. Поэтому взаимодействие с Разработчиком может быть осуществлено в рамках выдачи соответствующих рекламаций, а собственно процесс восстановления ПС сводится к периодической поставке обновленных версий ПС.
При этом, естественно, должно быть обеспечено функционирование ПС после обнаружения дефекта за счёт средств и возможностей в рамках реализации фактора отказоустойчивости ПС (пусть и с некоторым снижением эффективности ПС).
Проведённый анализ содержательной трактовки указанных выше факторов надёжности ПС и специфики функционирования современных АСУ СН позволяет сделать некоторые предварительные выводы:
1) С точки зрения Заказчика АСУ наиболее важное значение приобретают вопросы обеспечения высоких значений показателей завершенности и отказоустойчивости ПС как факторов, непосредственно обеспечивающих бесперебойное функционирование АСУ. Это вполне ясно: чем меньше ошибок содержит ПС и более устойчиво ПС к возможным ошибкам, тем выше работоспособность АСУ.
2) Специфика использования ПС АСУ СН не позволяет устранять возникающие ошибки в ПС силами штатного персонала. Такие ошибки периодически устраняются Разработчиком ПС в рамках отработки поступающих рекламаций. Поэтому фактор восстанавливаемости ПС в большей степени касается Разработчика. Заказчик в данном случае виновен в некачественной приёмке опытного образца. В этих условиях количественная оценка восстанавливаемости ПС определяется во многом организационными аспектами взаимодействия с Разработчиком ПС и поэтому мало отражает качественные аспекты прикладного использования ПС.
В свете изложенного рассмотрим вопросы обеспечения высокого уровня завершенности и отказоустойчивости ПС АСУ СН более подробно. Обратимся вначале к вопросам оценки завершенности ПС как одного из ключевых факторов надёжности ПС.
Для проверки завершенности ПС непосредственно в процессе его создания используют процедуры верификации и тестирования ПС. При этом верификация ПС трактуется как подтверждение посредством представления объективных свидетельств того, что установленные требования к ПС выполнены. Такое подтверждение осуществляется на всех этапах создания ПС. На заключительных этапах верификация осуществляется путём прогона готовых текстов ПС на ЭВМ с использованием наборов исходных данных. Такую процедуру называют тестированием. Одним из важных элементов процедуры тестирования ПС является генерация набора исходных данных тестирования, обеспечивающего требуемый уровень надёжности ПС.
Оценка завершённости при верификации ПС осуществляется с использованием математических моделей надёжности ПС. Таких моделей к настоящему времени разработано и активно используется в практических расчётах несколько десятков [1, 5].
Оценка отказоустойчивости ПС связывается с проверкой наличия и работоспособности средств, реализующих основные функции, обеспечивающие функционирование ПС при проявлении дефектов ПС или нарушении установленных интерфейсов, т.е. средств, обеспечивающих необходимый уровень пригодности ПС.
При этом необходимый уровень пригодности ПС включает в себя способность к безопасному функционированию при внезапном нарушении условий функционирования, включая появление дефектов ПС, ошибок во входных данных и отказов оборудования, с минимизацией возможных потерь данных и исключением опасных действий [2, 4].
Иными словами, отказоустойчивое ПС должно обеспечивать необходимый уровень пригодности при проявлении различного рода дефектов ПС, при возникновении сбоев (отказов) технических средств, ошибок во входных данных и т.п. Способы обеспечения отказоустойчивости ПС могут быть достаточно разнообразными. Однако имеется нечто общее в их реализации. Этим общим является необходимость введения избыточности на различных уровнях прикладной системы. Обычно различают следующие виды избыточности [2]:
1) Временная избыточность. Заключается в использовании некоторой части производительности ЭВМ для контроля исполнения программ и восстановления вычислительного процесса после отработки нештатных ситуаций.
2) Информационная избыточность. Состоит в дублировании накопленных исходных и промежуточных данных и используется для повышения сохранности данных, в наибольшей степени влияющих на нормальное функционирование ПС и требующих значительного времени для восстановления.
3) Программная избыточность. Используется для контроля и обеспечения достоверности наиболее важных результатов обработки информации. Обычно заключается в двойной программной реализации наиболее важных процедур: по основному алгоритму и дублирующему (упрощенному).
Практическая реализация принципа избыточности может осуществляться в различных формах. В первом приближении можно выделить следующие основные действия в данном направлении:
♦ создание резервных копий наиболее проблемных компонентов ПС, выполненных по альтернативным (возможно упрощенным) алгоритмам;
♦ реализация контроля входных данных компонентов ПС, включая такие функции как анализ входных данных на возможные диапазоны изменения, непротиворечивость, достаточность и др.;
♦ создание копий состояния рабочего поля программ в определённые моменты времени информационно-вычислительного процесса, обеспечивая тем самым возможность возврата к ранее пройденному этапу ИВП при возникновении неполадок.
Таким образом, с точки зрения особенностей функционирования АСУ СН наибольший интерес в плане обеспечения надёжности ПС представляют вопросы оценки завершенности и отказоустойчивости ПС. Практическое решение этих вопросов на уровне создания и внедрения соответствующих методик и программных средств поддержки позволит обеспечить требуемый уровень надёжности ПС АСУ СН.
Выводы. Учитывая высокую актуальность практического решения проблемы оценки и обеспечения надёжности ПС систем управления, особенно АСУ СН, целесообразно определить ряд первоочередных мероприятий, направленных на решение рассматриваемой проблемы. К числу таких мероприятий следует отнести:
1) Осуществление организационных и фактических шагов для обеспечения скорейшего перевода и введения в действие современных международных стандартов, определяющих процессы оценки и обеспечения надёжности ПС.
2) Разработку и сертификацию практических методик, обеспечивающих оценку основных факторов надежности ПС на различных этапах их разработки (обращая основное внимание на оценку завершенности и отказоустойчивости ПС) с учётом современных представлений о технологии оценки и обеспечения надёжности ПС.
3) Разработку и сертификацию программных средств генерации тестовых данных, необходимых для качественной оценки надёжности ПС создаваемых АСУ СН.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Полонников Р.И., Никандров А.В. Методы оценки показателей надёжности программного обеспечения. - СПб.: Политехника, 1992. - 78 с.
2. ЛипаевВ.В. Надёжность программных средств. - М.: Синтег, 1998. - 222 с.
3. Липаев В.В. Процессы и стандарты жизненного цикла сложных программных средств. Справочник. - М.: Синтег, 2006. - 260 с.
4. Василенко Н.В., Макаров В.А. Модели оценки надёжности программного обеспечения // Вестник Новгородского государственного университета. - 2004. - № 28. - C. 126-132.
5. ГОСТ 28806-90. Качество программных средств. - М.: Госстандарт, 1991.
6. ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению. Госстандарт России, 1993.
Статью рекомендовал к опубликованию д.т.н., профессор Е.А. Башков.
Балыбердин Валерий Алексеевич - Научно-исследовательский институт Министерства обороны России; e-mail: [email protected]; 107564, г. Москва, Погонный проезд, 10; тел.: 89162386854; д.т.н.; профессор; ведущий научный сотрудник.
Степанов Олег Алексеевич - тел.: 89165095834; начальник управления; к.т.н.
Белевцев Андрей Михайлович - Научно-исследовательский институт технологий нового поколения; e-mail: [email protected]; 121522, г. Москва, ул. Оршавская, 3; тел.: 89037691788; директор; д.т.н.; профессор.
Baliberdin Valery Alecseevich - Ministry of Defence of the Russian Federation; e-mail: [email protected]; 10, Pogonny'j, Moscow, 107564, Russia; phone: +79162386854; dr. of eng. sc.; professor, a leading researcher.
Stepanov Oleg Alecseevich - phone: +79165095834; cand. of eng. sc.; head the department.
Belevtsev Andrey Michailovich - Research institute of the new generation of Technologies; e-mail: [email protected]; 3, Orshavckay street, Moscow, 121522, Russia; phone: +79037691788; director; dr. of eng. sc; professor.
УДК 681.327
А.В. Боженюк, С.Л. Беляков, И.Н. Розенберг
НАХОЖДЕНИЕ ЦЕНТРОВ НЕЧЕТКИХ ИНТЕРВАЛЬНЫХ ГРАФОВ НА ОСНОВЕ СИЛЬНОЙ СВЯЗНОСТИ*
Рассмотрена задача оптимального размещения сервисных центров по минимаксному критерию. При этом предполагается, что информация, получаемая из географической информационной системы, представляется в виде графа с нечеткими интервальными расстояниями на ориентированных или неориентированных ребрах. Для решения поставлен-
* Работа частично выполнена при финансовой поддержке РФФИ в рамках научных проектов № 13-00-13103 офи_м_РЖД и № 14-01-00032а.