«««Назад | Оглавление | Каталог библиотеки | Далее»»»
Прочитано: 90% |
В разделе "Программное обеспечение" решаются задачи перевода понятных для людей признаков угрозы (например, старта МБР, разведения боеголовок и т.д.) в условные символы, понятные теперь и электронной машине. Поскольку эти данные изначально поставляет в Командный центр аппаратура системы "глаз и ушей", то особые требования выдвигаются и к программам ее БЦВМ. Однако до сих пор требования программного обеспечения бортовых компьютеров по распознаванию реального и ложного стартов МБР, и, особенно, реальных боеголовок среди сопровождающих их ложных целей не решены. Согласно этим требованиям, как они формулируются в настоящее время, для решения данной задачи необходима машинная программа, состоящая из 10 млн строк информации и не содержащая ни одной ошибки. Современный же уровень развития техники в области программного обеспечения соответствует двум-трем ошибкам на 1000 строк информации. Однако и описанное - всего лишь мизерная часть всей совокупности действий в системе ПРО, которыми должны безошибочно руководить суперкомпьютеры Командного центра.
В последнее время озабоченность надежностью создания математического обеспечения системы боевого управления не только обсуждается в публикациях западной печати, но и стала предметом слушаний в подкомитете по стратегическим и тактическим ядерным силам сената США. В американской печати упоминались самые различные оценки объема программного обеспечения работы СОИ - от нескольких миллионов до десятков миллионов строк. Известно, что даже небольшие программы для ЭВМ редко пишутся без ошибок и, как правило, требуют значительного времени на отладку. Приводились самые разнообразные оценки числа возможных ошибок на 1000 строк программы - от 300 (составителей таких "надежных" программ нужно гнать в шею, так как в этом случае ЭВМ просто незачем использовать - она будет "перебирать" варианты решения самих ошибок) до 0,1 (фантастический, идеальный уровень, далеко не характерный для живых людей, озабоченных проблемами современного бытия)... ошибок.
Много это или мало? На этот вопрос на конкретном примере ответили ведущие советские ученые. И вот что получилось. По некоторым оценкам, каждая БКС системы ПРО должна быть рассчитана на перехват примерно 1000 целей на расстоянии около 400 км. При этом для перехвата необходимо точное знание постоянно изменяющихся координат целей и расстояний до них. Эти данные вырабатывают БЦВМ спутника системы наблюдения (здесь намеренно для упрощения восприятия упущены две главные задачи бортовых компьютеров селекции и согласования полученных данных с моделью стратегической ситуации). Понятно, что на каждом экране (введем это знакомое нам понятие, обозначающее в данном случае поле обзора БКС) желательно иметь как можно меньше целей. Исходя из предположения, что на БКС имеется достаточное число экранов и на каждом из них появляется не более 20 целей, определяют число входных параметров программы. При этом следует учитывать, что для определения природы космического объекта необходимо измерять множество параметров, таких, как скорость, наклонную дальность до цели, азимут цели, угол места цели, эффект ивную отражающую поверхность (опять же, для упрощения, пусть их будет всего пять), каждый из которых регистрируется "своей" обособленной группой датчиков. Для их определения необходимо провести ряд замеров (чем больше замеров, тем точнее значение параметра). Пусть число замеров ограничится небольшим числом 30. Непосредственно на плоском экране можно измерить только две координаты (по осям абсцисс и ординат) для каждого из 20 объектов. Тогда число входных параметров программы БЦВМ составит L= 20 х 5 х 30 х 2 = 6000.
В результате работы БЦВМ по соответствующим программам вычисляются основные параметры целей - это координаты целей (х и у) и расстояния до них: m = 3 х 20 = 60.
Таким образом, общее число параметров в программе S = 6000 + 60 = 6060.
Отсюда по сложным формулам, применяемым математиками в процессе программирования, определяют общую длину программы решения (т.е. общее число символов в программе или, как говорят программисты, словарь программы). В нашем случае она составит 2Ех108 - это ни много ни мало, а 10 млн строк, считая в среднем по 20 символов в строке. (Для сравнения - объем программы бортовых вычислительных машин МТКК "Спейс Шаттл" составляет около 5 млн строк).
Просчитано, что для составления программы в 10 млн строк необходимо 1012 человеко-часов (т.е. 1 трлн человеко-часов), что вообще не укладывается в воображении. При этом число ошибок в программе, строго рассчитанное по принятым для этого случая формулам, составит 5х105 (т.е. 500 тыс.). Устранение такого числа ошибок, по мнению ученых, потребует времени, намного превосходящего время написания самой программы. А между тем даже одна ошибка в программе может свести на нет эффективность действия отдельных БКС и, следовательно, всей системы СОИ в целом.
Если же считать, что программа для БЦВМ боевой космической станции составляется для решения всех ситуаций, возникающих в период боевых действий, и не привязана к проблемам только что рассмотренных пяти групп датчиков (как это, конечно, и должно быть), то число входных и выходных параметров программы будет S =303.000, а длина программы составит 8,4х1011. Это немыслимая для реализации программа длиной более чем 40 млрд строк может составляться только множественным разбиением на программные блоки.
Теория известного математика Холстеда показывает, что относительное число ошибок зависит от длины программы. И если при длине программы в 10 млн строк относительное число ошибок составит в среднем 60 на каждые 1000 строк программы, то что же в этом плане даст программа из 40 млрд строк? Разбиение (распараллеливание) программы на модули небольшой длины (не более 260 символов) гарантирует безошибочность алгоритма. Однако и это не решает всей проблемы, так как в программах длиной 108 символов число таких модулей составит примерно 106, и объединение их (а разбиение на модули автоматически приводит к появлению новых входных и выходных параметров) может стать такой же трудной задачей, как и сплошное написание всей программы.
Помимо программных ошибок, существуют ошибки, которые появляются и при работе самих электронных схем, поэтому проблемы надежности срабатывания полупроводниковых триггеров (переключателей) стоят особенно остро. Успехи, достигнутые в деле борьбы со сбоями в электронных переключающих устройствах, наглядно продемонстрированы созданием сверхбыстродействующих ЭВМ типа "Крей". (Кстати, не так давно Гидрометеоцентр России приобрел такой компьютер). Поэтому основная проблема в создании системы боевого управления ПРО состоит не в надежности материальной части компьютеров (хотя это тоже очень важно), а именно в надежности математического обеспечения, т.е. в отсутствии в программах алгоритмических ошибок. И вся сложность заключается в том, что средства исключения таких ошибок в настоящее время неизвестны, так как составление программ связано с индивидуальной творческой деятельностью математика высшей квалификации - программиста. А человек, как известно, не защищен от плохого настроения, подвержен стрессам и вообще "система" практически непредсказуемая.
«««Назад | Оглавление | Каталог библиотеки | Далее»»»
| ||||||||