Недаром говорят, что французы – жлобы. Нигде не нашёл картинок мистральной БИУС SENIT-9. Придётся ставить ещё более знаменитую – американский «Иджис»
Уважаемый HMagier писал в комментарии:
«Франция – единственная страна, не пожелавшая напрямую интегрироваться в систему «Иджис», а создавшая альтернативу – SENIT-9, причём по некоторым параметрам превосходящую американский проект. Работая в паре с командной системой управления соединением SIC-21, эта система творит чудеса. Не ошибусь, если скажу, что половина цены «Мистраля» (если не 90%) – это именно эти системы».
***
Я помещаю здесь эту статью потому, что у нас с Observer'ом в комментариях к недавнему «Мистралю» возник спор, из которого я понял, что надо подробнее объяснить, чего такого ужасного я опасаюсь от мистральной электроники. И даже, кажется, пообещал.
Пояснения:
1. Первоначально вся моя серия о проблемах, которые МОЖЕТ принести с собой покупка «Мистралей», написана более трёх лет назад и помещена в бвану. Прошу иметь это в виду; это объясняет, почему там всё в сослагательном наклонении: может приключиться это, а может ещё вот это…
2. Недавно я взялся размещать её на союзном сайте. Там тоже возникла немалая и весьма напряжённая дискуссия. Она, кстати, породила и ту статью, на которую я только что сослался. Поэтому здесь будут ссылки на тот союзный сайт. И поэтому в заглавии стоит номер 8.
Видите, невольно получается копипаст своей же собственной статьи
3. Как раз эту часть, которую вы начали читать, я переделал очень капитально. Так что теперь она мало напоминает то, что было написано три года назад. Считаю, что в ней теперь несколько меньше предположений, основанных на моём опыте работы с управляющими системами. Он очень давний, и потому я счёл необходимым убрать некоторые позиции, которые, как я понимаю, имеют большую вероятность оказаться анахронизмом.
Переходим к теме. В комментарии, который я процитировал в начале, есть названия двух систем «Мистраля». SENIT-9 – боевая информационно-управляющая система (БИУС); что такое SIC-21, понятно из цитаты.
Я, кстати, согласен с тем, что эти две системы есть самое ценное в «Мистралях», особенно если формулировать в более общем виде:
1. В современном корабле самое высокотехнологичное – системы сбора данных об обстановке (РЛС и пр.), оружие и информационно-управляющие системы.
2. С оружием у нас более или менее, с РЛС тоже приемлемо. Значит, для нас самое ценное – эти самые информационно-управляющие системы.
Вот и попробую показать проблему «кастомизации» на этих системах. Поскольку доступа к их хоть сколько-нибудь информативным описаниям я не нашёл, то буду оперировать не системами, а их функциями. Погодите придираться; надеюсь, всё будет достаточно понятно.
Давайте начнём с управления соединением.
Эта тема – фактически, более подробное рассмотрение того, что обсуждалось в третьей статье серии. Там была картинка – «Атлантик», базовый патрульный самолёт многих стран НАТО? И слова о том, что линия связи с ним наверняка существенно иная, чем линия связи с нашим аналогом – Илом-38?
Вы же понимаете, что не только с Илом. Со всем чем угодно.
Отлично. Что такое линия связи? Это аппаратура и кодировка.
Аппаратура – это, в конечном итоге, амплитуды (что совсем просто), частоты (что тоже, думаю, несложно) и способы модуляции (тут могут быть закавыки). Всё это относится, грубо говоря, к аналоговому оконечному устройству. Если нельзя перенастроить французское, то делаем своё и вешаем его на интерфейс французской ЭВМ, работающей в системе связи.
А вот кодировка… Мы немножко обсуждали в комментариях (к той статье, на которую предыдущая ссылка), что такое протокол обмена. Там упоминалось семь уровней; на самом деле не важно, сколько их реально, важно, что несколько есть обязательно. А каждый уровень – это заголовок и «хвостовик» ¬– не знаю, как оно правильно теперь называется. Весь информационный массив при передаче разбивается на пакеты, величина пакета – она может не быть постоянной, но это обязательно одно из прописанных свойств протокола. Есть ещё средства восстановления информации при сбоях, есть принятый порядок назначения идентификаторов абонентов, количества слов (байтов) в пакете и массиве, способы для проверки правильности приёма пакета и всего сообщения, ещё всякая служебная информация.
Можно ли надеяться, что у них и у нас всё это одинаковое? Я считаю, нельзя.
Значит, что? Значит, нам надо перепрограммировать систему – вынуть из неё французские модули формирования сообщений и вставить наши. И это уже делается внутри ЭВМ, работающей в системе связи.
Пошли внутрь.
Вряд ли стоит сомневаться, что у нас уже есть этакие модули, написанные для наших БЦВМ.
Но, знаете, давайте тут прервёмся и обратимся ко второй системе – к БИУС. Потому что, дойдя до внутренностей БЦВМ, мы попадаем на тот уровень, который наличествует в любой цифровой системе. Надо будет приводить примеры, а у меня фантазия лучше работает на материале БИУС
Вот у нас есть ЗРАК «Кортик», и задумали мы поставить его на «Мистраль». И хотим мы, чтобы основные данные о его состоянии и работе отображались на БИУС. Мне представляется, что, если БИУС предназначена, в числе прочего, для управления оружием – а «Иджис», например, точно для этого предназначена, – то она должна хоть чем-то обмениваться с «Кортиком».
Пожалуйста, если кто знает наверняка, что «Кортик» на «Мистраль» ставить не будут, не возражайте: я взял его для примера.
А ещё есть у нас, скажем, СКР «Ярослав Мудрый», на котором тот «Кортик» стоит. И на котором есть своя БИУС, в каковой обмен с «Кортиком», естественно, реализован. Нашими, отечественными средствами.
Можем мы переставить наш модуль на французский хардвар? Если только случайно. Но вообще-то я думаю, что не можем.
Хорошо, будем писать наново. Блок-схему программы возьмём с «Ярослава», а текст станем переписывать «на французский язык». Надеюсь, систему программирования французы нам дадут. Иначе я вообще не знаю, что делать.
Для начала скажем, не вдаваясь в подробности, что уже это – немалая проблема. Потому время понадобится не только для того, чтобы собственно переписать блок-схему другим языком, но и для отработки его на моделях и стендах, на проверку в составе натурной системы, на сертификацию. Кстати, это означает, что нужны стенды с французскими процессорами и русской обвязкой, а это уже не только время, но и деньги.
Но это не всё. Легко может оказаться так, что блок-схему модуля, работающего на «Ярославе», вообще нельзя перенести на вычислительную систему «Мистраля». Потому что она как платформа в принципе не поддерживает некоторые операции, которые у нас предполагаются возможными на аппаратном уровне.
Ну, например, совсем тупо. У нас есть сопроцессор, аппаратно реализующий преобразование Фурье, а у французов нет.
Вопрос: зачем он нужен в рамках взаимодействия с «Кортиком»?
Ладно, оставим «Кортик». Возьмём задачу генерации образа обстановки. Можем мы от неё хотеть интегрированной информации? Чтобы она обрабатывала данные об одном и том же, полученные от корабельной РЛС общего обзора и от Ка-31 – вертолёта РЛ-дозора? А тогда можем предположить, что наши продвинутые алгоритмисты – а все знают, что наши алгоритмисты и в Штатах ценятся – они взяли да и применили в обработке РЛ-информации преобразование Фурье. Давно это было, но получилось так хорошо, что с тех пор эту задачу всегда так и решают, и сопроцессор в вычислительную систему ставят. Не потому, что последовательностью команд решить нельзя – теперь можно, это раньше быстродействия не хватало, чтобы во время уложиться. А потому, что – проверено, испытано, прописано в рекомендациях, а то и требованиях.
Понимаю я, что фантазирую, что опять подставляюсь под критику. И опять говорю: именно в этом задача этих статей. Не указать по пунктам, что ждёт наших спецов в процессе адаптации мистральских систем; а показать, где их могут ждать проблемы.
Так вот, у нас есть сопроцессор, и наша блок-схема просто вводит в него исходные данные и через 5 микросекунд забирает результат. А у французов нет, потому что они сроду другими методами пользовались. А если делать преобразование программными средствами с нужной точностью, то уйдёт не 5 мкс, а 135. И летит вся наша времянка… Это не сетевое взаимодействие, это одиночный программный модуль, тут времянка имеет право быть жёсткой.
Да ещё французская программа данные в другом формате потребует и выдаст, это тоже надо не забыть.
А есть ещё вещи, для практики довольно-таки фатальные. Есть правила, по которым все должны писать программы. В работе над большими программными системами участвует много народа, каждый пишет свой кусок. Если каждый будет писать так, как ему нравится, то соединить фрагменты в одно целое не удастся никогда. Вот и устанавливаются правила.
Например, как передавать переменные из одного программного модуля в другой. Составляется таблица, в которой раз и навсегда фиксируются идентификаторы параметров. Устанавливается количество байтов в каждой группе параметров, порядок следования групп и параметров внутри групп, форма представления (эти – с плавающей запятой, эти – с фиксированной, эти – длиной в байт, эти – в 2 байта). И так далее.
«Кортик» левого борта: общий идентификатор ХХ000, объём массива 512 байт, параметры: угол в горизонте, первый канал измерения ХХ001, второй канал ХХ002; угол возвышения, 1-й канал ХХ011, 2-й канал ХХ012…
«Кортик» правого борта: общий идентификатор YХ000, объём массива 512 байт, параметры… и так далее.
Артустановка АК-130 первая: АА000… Не продолжаю.
Такие вещи, кстати, в авиации гостировались (правда, рекомендательно) ещё в 1980-х годах. Может, и раньше, просто я те ГОСТы читал в 80-х.
А возможно ещё, что принято, скажем, передавать в одном сеансе обмена три последовательно снятых значения каждого параметра. И принято, скажем, сохранять данные от одного предыдущего сеанса – для системы комплексной обработки данных. Чтобы, получив некую величину, она смогла сравнить с предыдущей. И, если увидит слишком большую разницу, «не поверить» данному замеру и подождать следующего, прежде чем делать выводы.
Почему правила стали такими, а не другими, определяется миллионом причин, уходящих корнями в прошлое, иногда даже докомпьютерное. Они врастают в плоть и кровь разработчиков, и хорошо, что врастают. Будучи раз отработанными, эти правила по возможности не меняется годами, здесь консерватизм – залог минимизации ошибок.
Надо ли говорить, что наши и французские правила – разные?
У французов идентификатор ХХ001 может обозначать, например, скорость корабля от первого канала измерителя.
У французов может не быть обычая хранить данные от прошлого обмена, у них измерители и линии передачи отродясь настолько надёжны, что они не считают такие вещи необходимыми.
И тут не то что может быть, а обязательно повылезет всякая беда. Ведь мы только «Кортик» поставили вместо «Симбада», то есть внешнюю по отношению к БИУС систему. А внутренние функции – отображение, документирование, текущая аналитика остались французскими. Иначе вообще – что останется от французских технологий?
И что теперь будет, когда французская аналитика по идентификатору ХХ001 получит угол горизонтальной наводки «Кортика» вместо скорости корабля?
Это я ещё стараюсь обходить стороной вопрос о том, существует ли где-то, на самом дне операционной системы, жёсткая, раз и навсегда заданная раскладка пользовательских параметров по физическим адресам. Если существует, то совсем хана. Для «Симбада» там выделена область в 256 байт, для «Кортика» нужна 512. А за симбадной четвертью килобайта впритык следует, например, некоторые из его параметров, но переформатированные в плавающую запятую – для системы отображения тактической информации. А «Кортик» туда свои данные запишет. И что будет?
Развал системы будет. В чём дело?! Что с индикатором тактической обстановки? Начинают всё включать-выключать, гонять тесты. Бесполезно, штатные тесты индикатора такой бяки не увидят, она ж на глубоком системном уровне. Зовут специалистов… Разборки могут занять дни, а то и недели.
Этот конкретный случай я придумал, его может не быть. И вообще, привязка к физическим адресам – это моя сомнительная фантазия. Но и на полезна. Потому что я хочу показать вам категорию события, его, что ли, тип. Хотя и примера с перепуткой идентификаторов достаточно.
Кстати, даже если французские идентификаторы настолько непохожи на наши, что никак не возможно устроить описанную выше катавасию, то, значит, придётся где-то устраивать перекодировку идентификаторов. Это дело выполнимое, но, поверьте, богатый источник ошибок, которые потом придётся долго-долго искать.
Всё, уходим с «нижнего уровня». Несколько общих слов про БИУС, и заканчиваю.
Но, собака, опять не поместилось. Читайте остаток прямо сейчас.
Если вы считаете, что данный текст или изображения нарушают ваши авторские и/или смежные права,
сообщите об этом администрации сайта через Гостевую книгу или на e-mail vemsev@gmail.com для принятия мер по устранению нарушения.