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

доктора технических наук
Шабалин, Александр Николаевич
город
Москва
год
1996
специальность ВАК РФ
05.13.16
Автореферат по информатике, вычислительной технике и управлению на тему «Математические методы и информационные технологии для исследования динамики встроенной надежности вычислительных систем»

Автореферат диссертации по теме "Математические методы и информационные технологии для исследования динамики встроенной надежности вычислительных систем"

I I и

1 ? ОПТ ¡338

РОССИЙСКАЯ АКАДЕМИЯ НАУК

ИНСТИТУТ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

ШАБАЛИН Александр Николаевич

Математические методы и информационные технологии для исследования динамики встроенной надежности вычислительных систем

05.13.16.- применение вычислительной техники, математического моделирования и математических методов в научных исследованиях

АВТОРЕФЕРАТ

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

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

Москва -1996

Работа выполнена в Институте высокопроизводительных вычислительных систем (ИВВС) РАН

Научный консультант доктор технических наук, профессор Северцев H.A.

ОФИЦИАЛЬНЫЕ ОППОНЕНТЫ:

доктор технических наук, профессор Н.С.Данил1ш;

доктор физико-математических наук, профессор А.Н.Сотннков;

доктор технических наук, профессор В.Ф.Воскобоев.

ВЕДУЩАЯ ОРГАНИЗАЦИЯ: Институт системного

программирования РАН

Защита состоится " " 1996 г. в часов на заседании

диссертационного Совета Д 200.45.01 при ИВВС РАН по адресу: 117312, Москва, ул. Вавилова, д. 37.

С диссертацией можно ознакомиться в библиотеке ИВВС РАН.

Отзывы на автореферат, заверенные печатью, просим направлять в адрес Совета.

Автореферат разослан "_"_1996 г.

Ученый секретарь диссертационного Совета кандидат физико-математических наук

М.В.МИХАИЛ

Общая характеристика работы

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

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

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

• С момента возникновения вычислительных систем сохраняется тенденция роста абсолютных и относительных затрат на устранение и предотвращение ошибок, внесенных в компоненты вычислительных систем; создателей и пользователей "терроризируют" последствия проявления внесенных ошибок (ущерб может достигать десятков миллионов долларов); затраты на устранение ошибок программирования и проектирование составляют 10-20% всех затрат жизненного цикла для аппаратных средств и более 60% для программных средств; остаточные ошибки инструментальных средств влияют на надежность вновь создаваемых систем.

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

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

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

• Требуются меры защиты от внесения и проявления ошибок проектирования и программирования, что особенно важно для приложений с повышенными требованиями к надежности; Ы-вариантное программирование и гарантоспособные вычисления требуют определения условий своего возможного применения.

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

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

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

II. создание математических основ для исследования внесения, проявления и устранения причин отказов:

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

B. построение моделей структурной сложности для исследования процесса внесения первичных ошибок программирования и методов их идентификации;

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

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

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

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

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

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

Методы анализа и синтеза надежности сложных систем разрабатывались в нашей стране Коваленко И.Н., Северцевым H.A., Судаковым P.C., Карташевым Г.Д., Тескиным О.И., Королевым В.Ю., Каштановым В.А., Ильичевым A.B., а также зарубежными учеными Шуманом М., Холсте-дом М.Х., Мусой Д.Д., Лигтлвудом В., Трайведи К.С., Липовым М., Ла-при Ж.-К. Наибольшее влияние на формирование методологии данного диссертационного исследования оказали научные идеи Северцева H.A. и Судакова P.C.

Практическое значение полученных результатов. Представленные в диссертации методы исследования надежности систем вычислительной техники использованы для разработки программного обеспечения систем анализа и синтеза отказоустойчивых и гарантоспособных структур. Отработка информационной технологии систем исследования и обеспечения надежности, проведенная в рамках научно-исследовательского проекта "Встроенная надежность" в Институте проблем кибернетики РАН, позволяет повысить эффективность разработки соответствующих программных средств и сократить трудоемкость решения задач обеспечения надежности. Результаты работы также использованы для оценки завершенности экспериментальной отработай изделий ракетно-космической техники (ЖРД и спутников связи). Методики проектного и предпроектно-го исследования надежности и сложности программных и аппаратных средств использованы для расчета показателей отказоустойчивости изделий микроэлектронной техники в НПО' "ЭЛАС" и комплексов средств автоматизации управления воздушным движением в НИИ средств автоматизации, а также для формирования требований к показателям надежности программных средств бортового оборудования в ЦНИИ РЭС.

Апробация. Результаты, представленные в диссертации, обсуждались на научных семинарах Института высокопроизводительных вычислительных систем РАН, Института проблем кибернетики РАН, научных семинарах МГТУ им. Баумана и МГУ им. Ломоносова, на Всесоюзном научном симпозиуме "Комплексное прогнозирование развития науки и техники" (Москва, 1980 г.), на I Всесоюзной научно-техническая конференции "Проблемы создания супер-ЭВМ" (Минск, 1988 г.), на II Всесоюзной научно-технической конференции "Живучесть и реконфигурация

информационно-вычислительных и управляющих систем" (пгт Рыбачье, 1988 г.), на отраслевой научно-технической конференции "Стандартизация контроля систем качества" (Горький, 1989 г.), на II Международной конференции "Надежность и эксплуатации вычислительных систем" RelComex'89 (Польша, Валбжих, 1989 г.), на I Международной конференции SOFTTOOLS'90 (Москва, 1990 г.), на III Международной научно-технической конференции "Программное обеспечение ЭВМ" (Тверь, 1990 г.), на ежегодном Международном научном симпозиуме "Надежность и сопровождение" (Лас-Вегас, Невада, США, 1992), на Международной научно-технической конференция "Отработка и создание сложных систем", посвященной 75-летию академика В.М.Челомея (Москва 1991 г.).

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

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

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

Содержание работы

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

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

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

Эта модель сочетает подход Б.Литтлвуда (1981), в котором исследуется не сама изменяемая программа, а пространство ее входных величин, учитывает такие аспекты реальной отработки, как запаздывание влияния проведенных доработок, случайность внесения дополнительных источников отказов, случайность положительного исхода вносимых корректировок, а также производительность распределенных АПО-средств.

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

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

Предлагаемая концептуальная модель учитывает основные аспекты функционирования АПО-средств отладки или сопровождения:

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

• временные и вероятностные характеристики взаимодействия программных средств и системы, которая проводит отладку или сопровождение;

• повышение качества отрабатываемой программы и отрабатывающей системы;

• показатели временной сложности исследуемых программных средств;

• производительность аппаратных средств.

• запаздывание времени между первым проявлением причины отказов и ее устранением.

Рис. 1 Модель проявления, устранения и внесения ошибок

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

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

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

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

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

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

В динамику встроенной надежности включены следующие источники знаний:

1. модели роста надежности, методы их построения и процедуры применения:

• аналитические модели;

• стохастические сети.

2. векторные функции роста надежности и методы их построения;;

3. модели структурной сложности и методы их построения;

4. модели роста сложности;

5. объектно-ориентированные деревья.

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

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

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

•практическое применение для решения следующих задач:

1. Оценка показателей надежности.

2.0пгимизация распределения ресурсов.

З.Поддержка решений планирования и управления.

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

Модель реального мира в частности включает в себя: => параметры рабочей нагрузки на вычислительную систему; => ресурсы разработки; => модель применения АПО-средств.

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

Обобщенными показателями встроенной надежности служат:

1) Вероятность успешной работы АПО-средств в целом;

2) Векторные функции роста (снижения) вероятностей безотказной работы:

3) Математическое ожидание числа остаточных источников отказов:

4) Временные показатели проявления внесенных источников отказов:

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

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

Рис. 2. Дерево отказов АПО-средств в процессе отработки

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

ОТКАЗ АПО-СРЕДСТВ

событие (У 1Жк ) - в процессе отработки превышено вьщеленное календарное время И«;

событие (У2>Им) - в процессе отработки превышено вьщеленное на тестирование машинное время Я«;

событие (Уз>11т) - в процессе отработки превышены выделенные на доработки трудозатраты разработчиков 11т; У| (¡=1,2,3) - случайные величины соответствующих ресурсов на отработку.

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

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

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

—* лг,

>■=1

Я«М) - 9* = + 8„Я«)9

где Р1 - вероятность безотказной работы системы, достигнутая к началу / -ой стадии отработки, - вероятность проявления в 1-м испытании у-го источника отказов; ¡V,- число устранимых источников отказов в начале отработки, g^r условная вероятность устранения и-ого источника отказа непосредственно после отказа им вызванного, .у„- - условная вероятность устранения у -ого источника отказов после успешного выполнения теста, что позволяет учесть эффект запаздывания положительных результатов доработок.

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

дг1

/40) =

¿=1 к=\

(2)

dQ.it)

■ к ' сИг

= -(/и0к(ОР( 0 + /*Л0вЛ0)вк(0;

к = 1,^,,

где ц0к(1), //* (7) - интенсивности вносимых корректировок для устранения А>го источника отказов во время нормальной и аномальной работы отра-батыаемого компонента соответственно.

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

ке, когда время поиска и локализации источников отказов намного меньше среднего времени исполнения программы, и средние времена успешного

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

"i

¿40= Л„-]Г

скМь{ +1 *=i

е-о—^-т. <3>

Wi* + 1

к = l,Nl

Допустим, что для всех устранимых источников отказов для каждого момента времени Ho¿=Ho, Тогда из системы дифференциальных

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

Р(0) =РМ- NlC.

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

Функция роста надежности при to=0 для источников отказов, которые имеют одинаковые вероятностные параметры может быть представлена в виде

P(t)=<p(t)P0

где

(] -г, {Р-\)е~а1)Р (р (t) = -!-'

(1 + /7 (j3-\)e~at)

2

где параметры а, Д т];,т]2 определяются следующим образом:

П 1 = Ц 2 =

ос = ЦоР„/Ы , р=Р,УР0 У ' А'.

+ (/» - \)М ! N х '

И - Уо 1 N х

При Д)к=0, когда доработка после отказов приводит к положительным результатам с запаздыванием после проявления источника отказов и время исполнения во время отказа « времени успешного исполнения

(1+(/?-1)<г "')

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

Р е~а'

Мост (0 =-—-Г М

остХ) Р0 + (Д - Р0)е-

Модель (4) - (7) использована для оптимизации спиральной технологии. Одна из проблем создания современных программных средств заключается в рациональном распределении располагаемых ресурсов разработки по этапам жизненного цикла. Как правило, неустраненные дефекты предыдущих этапов на последующих дорабатываются с существенно большими временными и финансовыми затратами, поскольку требуют повторного перепроектирования и/или перепрограммирования. На практике наблюдается степенной закон роста затрат на устранение остаточных дефектов.

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

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

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

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

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

= &(«)>* > 1 к 1

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

л,. = е<р,(а,ю,

где функция <р{ параметра а и начального числа ошибок в программе N определяются формулой

N

Получены следующие соотношения, которым удовлетворяют максимально правдоподобные оценки:

в

/=1

да _п ».1_

(9)

(10)

=1

Построенная модель обобщает модели типа Джелински-Моранды.

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

векторная функция роста надежности (ВФРН) времени t удовлетворяет следующему дифференциальному уравнению:

7ГГ = F (Op (О, (11)

р(0) = Р 0 ,

где p(t) - векторная функция роста надежности (ВФРН), 1-я составляющая которой равна вероятности безотказной работы ¡-ой подсистемы, достигнутой ко времени t, р. - значение векторной функции в начале отработки, F(t) - квадратная матрица размером I на /, элементы которой определяют скорость роста (убывания) надежности отрабатываемых подсистем с учетом их взаимного влияния.

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

(В - Х(/ + i))(D;B + D;X(f + j))" = (В - Х(0) • (12)

•(D,B + D2X(/))"'(B - Е)-' (В - X(j))(D7B + D,X(i))-'

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

Х^О = (Е + e~iA (В - Е^Г1

(Е - е~'А (В - E)D1)~1B, . (13)

Х2(0 = (Е + (В - E)e~iAD2)-1 (Е - (В - E)e~iA D, )-1 В

где А - матрица I на /, характеризующая темпы роста. Отсюда находятся уравнения векторных функций роста

Р(0 = Х(0Х-10 )р0

о

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

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

Х(* + 5)(В - Х(Г + = Х(0(В- Х(/))"'(В - Е)Х(5)(В - Х(5))"'(14)

и ему аналогичных, которые являются частными случаями векторных функций (11) при Э1= Бг=0. В главе разработаны также алгоритмы вычисления матричных логистических функций. Кроме того, проведено исследование частных, случаев, когда эффект взаимного влияния роста существенно меньше собственных темпов и пределов роста. Показано для случая 1=2 и диагональной матрицы пределов роста, что если собственные значения 9), 02 матрицы темпов роста » внедиагональных элементов 612 и 82ь то эффект взаимного влияния может быть определен соотношениями следующего вида

РХО = я(*)Рю + <5,-^(1 - ^(/»ехрМО^о

Ь1

Р2(0 = <р2(ОР20 + й(/))ехр(-^)Р10 <15>

Ь2

где (р,(1) - стандартные логистические функции.

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

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

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

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

с (16)

N (а + у)

ь '

где а, Ъ - параметры модели; с - постоянная для данной программы, равная (а + г\ ^/И, где 7-словарь программы.

Тогда

у

М=(а + ?7)6У\ V, (17),

I (а + /)

/=1

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

1

N =(3,68 + ^)181У ---— О»)

о " ¿^ (3,68 + О1'81

¡=1

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

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

где ЕкрГ критическое величины работы программирования;

и (к) - уровень языка программы для к-го уровня детализации.

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

Определен доверительный интервал уровня языка логических ИС.

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

и (к + 1) <

(19)

N = 77(0,5772 + 1п 7) + 0,5 •

(20)

Делается допущение, что в процессе разработки программы инвариантным к уточняющим преобразованиям остается число входных и выходных параметров программы и ее потенциальный объем. К числу возрастающих показателей сложности относятся, словари операндов и операторов, длина N и объем программы V, работа программирования Е. Убывают, как правило, от одного уровня абстракции к другому более низкому значению уровень программы и уровень языка программирования . Разработка программы вдет как по горизонтали - в пределах фиксированного уровня абстракции, так и по вертикали - переходами от одного уровня абстракции к следующему. Существуют такие критические значения приращений сложности в вертикальном направлении, превышение которых делает шансы внесения ошибки в разрабатываемую программу чрезмерно высокими. Работа программирования на к-м фиксированном уровне абстракции без учета затрат на доказательство ее правильности и расширение и словарей программы, может быть найдена по формуле

* "Я * ч

V -> V

Е

(21)

1 Л "2-,

где Ек - работа программирования в смысле Холстеда; ик - уровень языка программирования для к-го уровня; Ук - потенциальный объем разрабатываемой программы, который находится по уравнению

V =(2 + /72)1О82(2 + 72)'

(22)

где г)2' - число входов/выходов разрабатываемой программной системы. Тогда вся работа программирования, совершенная за I шагов разработки, записывается в следующем виде

, V" (23)

1)

««

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

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

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

В главе 5 "Принципы создания автоматизированных средств исследования надежности" рассматривается практическое применение средств автоматизации в данной предметной области. Автоматизированные системы исследования надежности используют в своей основе следующие методы моделирования: комбинаторные методы (структурные надежностные схемы, деревья отказов), марковские или полумарковские модели (цепи и процессы), методы имитационного моделирования. Для обеспечения надежности оцениваются вероятностные и временные показатели процесса восстановления после отказа, затраты на техническое обслуживание и сопровождение, среднее время между отказами, параметры кривых роста, остаточное число ошибок.

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

Сформированы принципы построения систем информатики для исследования и обеспечения надежности: применение объектно-ориентированного- программирования; программирование, как

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

В шестой главе диссертации рассматриваются системы информатики для исследования встроенной надежности. В системе "СЛОН" разработаны следующие программы: программа имитационного моделирования процесса отладки программного обеспечение; программа оптимизации распределения машинного времени между отлаживаемыми программными модулями; программа оценки параметров модели роста надежности;-программа расчета показателей сложности программного обеспечения; программа табулирования показателей сложности программ; программа расчета параметров безопасных по критерию безошибочности траекторий роста сложности; программа расчета показателей сложности с уравнениями длины отличными от уравнения длины Холстеда; программа расчета показателей сложности интегральных схем.; программа расчета уровня языка программирования; программа статистического оценивания уровня языка программирования. Каждая га программ данного программного комплекса может быть, использована независимо от других. Входные параметры ряда программ комплекса требуют своей предварительной оценки, что реализуется с помощью других программ того же комплекса. Затем усовершенствованный вариант комплекса был переработан для IBM PC в качестве отдельной подсистемы системы ИВАН.

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

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

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

Программа оптимизации предназначена для распределения располагаемого ограниченного времени отладки между автономно отлаживаемыми программными модулями по критерию минимума интенсивности отказов конечного программного изделия. Представлены примеры решения задачи оптимизации распределения рассматриваемого однородного временного ресурса.

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

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

Реализованный в этой программе алгоритм используется также и для статистического оценивания уровня языка программирования. Оценка уровня языка программирования по выборочным данным позволяет на практике получить априорные оценки характеристик еще не разработанных программ, исходя из минимальных сведений (число входов/выходов и предполагаемый язык программирования). Реализован подход гл. 4., причем одновременно с определением числа уровней абстракции находятся траектории роста сложности. Кроме того, система позволяет проводить расчет показателей сложности для моделей сложности со следующими уравнениями: Холстеда, Шумана-Лемана и уравнения длины, предложенного автором. Программа расчета показателей сложности интегральных схем предназначена для исследования показателей сложности ИС.

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

Представление и обработка знаний о росте надежности осуществлены в системе ИВАН и включают в себя:

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

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

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

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

Уровни надежности: вероятность успеха-рабочая нагрузка-затраты

а 0,9-1 Ш 0,8-0,9 О 0,7-0,8 В 0,6-0,7

□ 0,5-0,6 ■ 0,4-0,5 П 0,3-0,4

□ 0,2-0,3 И 0,1-0,2

□ 0-0,1

Рис. 3 Уровни надежности

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

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

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

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

Основные результаты, полученные в диссертации:

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

2. введены новые понятия: опорная информация, встроенная надежность, развивающиеся сети Петри, векторные функции роста надежности;

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

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

5. построены н экспериментально проверены модели структурной сложности программных и аппаратных средств;

6. разработана модель, описывающая рост сложности разрабатываемой программы;

7. введено понятие безопасных траектории роста сложности;

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

9. разработаны алгоритмы моделирования и оценки показателей надежности;

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

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

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Северцев H.A., Судаков P.C., Шабалин А.Н. и др. Надежность и эффективность в технике. Том 6. Машиностроение, М., 1989.

2. Рембеза А.Н., Судаков P.C., Шабалин А.Н., и др. Построение автоматизированных систем управления качеством в НИИ и КБ отрасли. Кн. 17. ЦНИИМаш. Калининград, 1981.

3. Шабалин А.Н. Построение модели роста надежности отрабатываемых изделий. Надежность и контроль качества. N9,1981

4. Шабалин А.Н. Об одной математической модели процесса экспериментальной отработки технических систем. Надежность и контроль качества. № 11, 1981

5. Шабалин А.Н., Ярыгпн Г.А..Использование результатов испытаний при отработке сложных систем. Надежность и контроль качества. № 5, 1982.

6. Шабалин А.Н. Применение векторной логистической функции в прогнозировании научно-технического прогресса. Труды Всесоюзного научного симпозиума "Комплексное прогнозирование развития науки и техники". М., 1980, часть 1.

'. Шабалин А.Н., Ярыгин Г.А. Прогнозирование роста надежности отрабатываемых систем при обосновании технических решений. Надежность и контроль качества. №l 1, 1982.

I. Шабалин А.Н. К задаче построения динамических систем. МВТУ им. Баумана. Р}копись деп. ВИНИТИ 2818-79. М. 1979.

К Северцев H.A., Шабалин А.Н. Сложность интегральных схем. Электронная техника. Серия 10. Микроэлектронные устройства. № 1 (67), 1988.

0. Шабалин А.Н. Надежность программы в процессе ее отладки. Программирование. №1, 1986.

1.Шабалин А.Н., Дейков А.И. Проверка уравнения длины для Бейсик-программ. Программирование. № 2, 1988.

2.Шабалин А.Н. О росте сложности разрабатываемой программы. Программирование. № 6, 1988.

3.Severtsev N.A., Shabalin A.N. Petri Nets in Reliability Growth Models. RelComex'89, Poland, 1989.

4.Шабалин А.Н. Надежность и сложность интегральных схем. I Всесоюзная конференция "Проблемы создания супер-ЭВМ". - Минск, 1987 часть 2.

5.Северцев H.A., Шабалин А.Н. Работоспособность и живучесть вычислительных систем. Труды II Всесоюзной научно-технической конференции "Живучесть и реконфигурация информационно-вычислительных и управляющих систем". - М., 1988 часть 1.

16.Шабалин А.Н. Оценка показателей надежности гарантоспособных систем. Труды научно-техническая конференция "Стандартизация контроля систем качества". - Горький, 1989

П.Дивеев А.И., Северцев Н.А., Шабалин А.Н. Концепция встроенной надежности и современная информационная технология.Труды научно-техническая конференция "Стандартизация контроля систем качества". - Горький, 1989

18.Шабалин А.Н. Разработка методов исследования встроенной надежности. Вопросы кибернетики.-М., ИПК АН СССР, 1990.

19. Шабалин А.Н. Развивающиеся сети Петри для анализа надежности программ. Труды II Международной научно-технической конференции "Программное обеспечение ЭВМ". - Тверь, 1990.

20.Shabalin A.N.,"Program reliability during debugging/"Programming and software, November, 1986, New York, pp. 50 - 53.

21.Shabalin A.N./'Growth of Complexity of a Developing Program" /Programming and software, September, 1989, New York, pp. 269 - 273

22.Shabalin A.N. Generation of Models for Reliability Growth Process, 1992 Proceedings Annual Reliability and Maintainbility Symposium. Las Vegas, Nevada USA ,pp. 299-302.

23. Северцев H.A., Шабалин А.Н. Применение сетей Петри в моделя? надежности. В книге "Кибернетика и вычислительная техника" /Под ред. В.А.Мельникова/ Вып.5.: -М.: Наука, 1990.

25. Северцев Н.А., Шабалин А.Н. Применение векторной функции логи стического роста в задачах искусственного интеллекта , 1992.

26.Дивеев А.И., Лебедев Ю.В.,Шабалин А.Н. АРМ для оперативное оценки надежности сложных систем. I Всесоюзная конференции "Проблемы создания супер-ЭВМ". - Минск, 1987 часть2