Импортозамещение ПО в авиации. Почему не взлетаем?
Продолжаем истории быдлокодера, который никак не может стать миллионером. Сейчас будет трогательная история, как мы начали импортозамещать MATLAB в авиации, когда нас об этом никто не просил, и до того, как это стало модно, и молодежно!
Как я уже рассказывал, американская коррупция превратила физика-ядерщика в былдокодера, но далеко от ядерных реакторов у меня оторваться сразу не получилось, несмотря на всю мою оторванность. Поэтому первые коммерчески успешные проекты у нашей копании были связанны технологиями «говна и пара», как на флоте называют ядерный реактор атомных подводных лодок. Не спрашивайте почему реактор ядерный, а подлодка атомная, это науке не известно. Но в итоге наше ПО начало применяться для проектирования систем управления ядерным реактором: сначала в качестве системы моделирования, потом для автоматической генерации управляющего ПО, дальше — больше, и уже наш код стоит непосредственно в системе управления.
Первый наш заход в авиацию был на заре начала нашей бурной деятельности, где-то в 2010 — 2012 годах. Хотя это был не заход, а, скорее, случайный залет в результате броуновского движения по разным конференциям. Знаете, как бывают залеты из-за беспорядочных связей. На одной из конференций на нас нарвался разработчик интерфейсов пилотных кадров для вертолета. Ему надоело рисовать пилотажные кадры в СorelDraw. Проблема была в том, что изображения в СorelDraw статичные, а на приборе во время полета пилот может выполнять переключения, и изображения постоянно меняются во время полета.
Цикл разработки тогда был следующим: разработчик, создавая ТЗ программисту, рисовал в СorelDraw то, что он хотел видеть, и описывал текстом логику переключения. Все это уезжало к производителю прибора, там происходило программирование, прибор приезжал к разработчику-заказчику и тут, как всегда, оказывалось, сделано не совсем то и немного не так. Надо переделывать. Нужно снова повторять объяснения для программистов приборов, что сильно тормозило процесс и раздражало заказчика.
Это стандартная история у всех программистов. Потому что программист техническое задание не читал, а если читал, то не понял, а если и понял, то не так.
Работа по ТЗ
И вот на одной из наших презентаций совершенно случайно разработчик полетных кадров увидел, как на расчетной теплогидравлической схеме в SimInTech выезжает окно управления задвижкой, а потом вводятся отказы. Картинка выглядела примерно так:
Теплогидравлическая модель с интерфейсом управления
Если интересно можно посмотреть как это работает в видео демонстрации по ссылке
С моей точки зрения, нужно обладать либо профессиональной деформацией и везде видеть видеокадры управления вертолетом, либо просто безгранично богатым воображением, чтобы, глядя на задвижки, представлять себе вертолеты. Но что бы там ни было, разработчик пилотажных кадров попросил нас немного доработать систему технической анимации, и мы это сделали.
После этого вместо бесконечных согласований с изготовителем аппаратуры внешнего вида и логики переключения с использованием бесконечного набора статических картинок и текста можно сразу создать работающий пилотный кадр и «вживую» проверить любую логику работы и переключения, еще до того, как всю эту красоту начнут пилить в специализированном софте на дорогих приборах.
Пилотажные кадры МФУ
В авиации традиционно используется пакет Esterel Scade для создания ПО управления и пилотажных приборов. Он весь из себя сертифицированный и квалифицированный с ног до головы, и стоит лицензия Estеrel Scade как небольшой самолет, ну, или крыло от боинга 737.
На одном предприятии мне с гордостью показывали прототип кабины самолета на обычных мониторах и компьютерах, это был стенд для отработки эргономики с видеокадрами как на рисунке 2. На вопрос, а какой софт вы использовали, мне с гордостью ответили Estеrel Scade.
— Он же стоит охулиард за лицензию!
— Ну, да дорого, зато сертифицированный продукт.
— Он же сертифицирован для генерации кода в бортовую систему управления, чтобы можно было создавать ПО для прибора, который в реальный самолет ставится. Поэтому он и дорогой такой. У вас же просто мониторы и компьютеры для оценки эргономики, зачем вам сертификация? За такие деньги вам попиксельно в 4К нарисуют порнофильм, а не только эти жалкие стрелочники и циферки. И еще останется бюджет на проведение реального кастинга с профессиональным артистками любых жанров.
Мне тогда так и не смогли объяснить, зачем платить больше, если не видно разницы.
Мы продали пару лицензий вертолётчикам и в принципе не замахивались на больше. Что было логично, ведь в то время вся авионика покупалась на западе в готовом виде, и наших предприятий, которым нужна была система для проектирования полетных кадров и ПО для авиаприборов, было не так уж чтобы сильно много. Я тогда там серьезного рынка не увидел. И мы вернулись от высокой романтики авиации обратно вниз, к трубам, реакторам и прочим скучным тяжелым железкам.
А основная история началась после того, как с использованием нашего ПО была запрограммирована система управления реакторным отделением одной из отечественных АЭС. Не знаю почему, но внедрение нашего кода для АЭС произвело на мое неокрепшее сознание разрушительно воздействие.
Главный разработчик до этого уже программировал для РБМК и он однажды даже поймал АЗ на действующей АЭС, поэтому он был спокоен, как слон. Скорее всего, его последние нервные клетки были уничтожены еще во времена наладки РБМК. Поэтому он спокойно пережёвывал пищу и успокаивал меня как мог: «Да ты успокойся, я тебе говорю, я сто раз так делал!»
Я же не мог узбогоиться и неделями не спал. Мне было страшно открывать новости. Вдруг АЭС с нашим ПО уже взорвалась (т-т-т). Я боялся смотреть на телефон, вдруг там сообщение, что АЭС остановилась по ошибке нашего ПО и мы теперь должны оплатить все время простоя. Хочу заметить, что АЭС — страшно дорогая машина для печати денег. Дело в том, что основные затраты приходятся на строительство, а когда АЭС уже запущена, начинается дикая генерация денег. Стоимость атомного топлива в цене электроэнергии АЭС вообще никакая, включил АЭС — потекли деньги. Остановил — пошли потери. Каждый день незапланированного простоя АЭС стоит сумасшедших денег.
Поскольку у меня богатое и больное воображение, то ужасы возможных проблем не давали спать. И даже ударные дозы алкоголя слабо помогали. Я уже подумывал прейти на другие вещества, несмотря на то что еще в алкоголе себя полностью не реализовал. Но тут помог случай с нелегальными и криминальным химпрепаратами. Но не так, как вы уже успели подумать.
Однажды после очередного вечера с пятницы на понедельник, я попал в криминальную историю. Это был классический развод угашенных посетителей клубов. Сначала вас у клуба подбирает такси, потом оно ломается, и водитель вызывает друга, который вас довезет под девизом «клиентоориентированность — наше все». Вы пересаживаетесь и, даже если вас провожали друзья, номер машины уже другой, а у водителя, который вас забрал, уже есть алиби. Водитель второго такси просит разрешения остановиться и купить водички. Логично, уже утро, а он всю ночь работал. Останавливается у магазина, берет себе и редбул и, по доброте душевной, берет такую же баночку энергетика для клиента. Клиенту, то есть мне, после запоя это полезно. Уровень клиентоориентированности улетает в небеса. Я выпиваю и тоже улетаю. Приземлился я на скамейке в другом районе города, слава богу, того же самого, но без денег и документов. Последнее, что я помню, несмотря на то что доза алкоголя в клубе была близка к смертельной, я все же заметил, что банка была открытой, и даже смог подумать, что это странно, но дальше думать уже не мог и уснул.
Самое замечательное в этом пробуждении было чувство, что я выспался за все недели бессонницы. Что характерно, тревожность и беспокойство как рукой сняло, я спал как младенец и утром был огурцом. Тревожность улетучилась, и я снова почувствовал себя сухо и комфортно. Обошлось мне это примерно в 3 000 — 5 000 рублей, которые у меня остались после клуба. Думаю, психолог обошёлся бы дороже.
Я слышал, что некоторые богатые бизнесмены тратят кучу денег на ретриты, ездят в специальные места заграницей, чтобы в специальных заведениях попробовать травки индийских шаманов. Ты выпиваешь специального зелья, чтобы отрубиться, потом обоссаться, обосраться и облевать матрас под присмотром специально обученного персонала, чтобы таким образом очиститься, достигнуть дзена и просветления. Я же достиг исцеления и просветления, даже не обоссавшись, всего-то за жалкие 5000 рублей, разве что паспорт до кучи пришлось новый делать. (Повторять не рекомендую!)
Достигнув нового уровня осознанности, я вдруг решил, что мы готовы к дальнейшим прорывам (в прорыве мы тоже участвуем, но это другая история). А цикл жизни нашей фирмы мне уже представился как биологическая эволюция: начали под водой, как рыбы (делали ПО для подводных лодок), потом выбрались на сушу и стали членистогими (наше ПО управляет АЭС), следующий шаг и следующая стихия — это воздух, а значит — авиация! Я был в этом уверен (осознанность она такая). Уж если я чего решил, то выпью обязательно.
После того, как я поспал на лавочке под действием криминальной химии, мое сознание очистилось, открылся третий глаз, и я решил, что мы готовы к моделированию в авиации. У нас есть полетные видеокадры и изображения приборов, есть генерация кода ПО систем управления важных для безопасности АЭС, и есть русское ПО — замена Simulink. У вас есть Sumulink? Тогда мы идем к вам. И нас не остановить!
На дворе стоял 2014 год, Крым наш, и в воздухе явно чувствовался запах санкций, импортозамещения и больших денег.
Наш главный технический специалист на мою идею покорять воздушный океан меланхолично спросил:
— А ты не будешь бояться летать, зная, что наше ПО используется в авиации?
— Нет, я не буду бояться летать, потому что в России есть развитая сеть железных дорог.
— А если мы продадим наше ПО еще и РЖД?
— Тогда у нас будет одна проблема: ламба или фера. Останется риск, что на ламбу упадет самолет. Но в ламбе я, наверное, смогу смириться с таким риском, да и кому сейчас легко?
Так мы пошли в авиацию. А что нужно, когда вы идете в новую для вас сферу науки и техники? Конечно, нужен партнёр, как учил нас Леня Голубков из рекламы МММ. Я — не халявщик, я — партнер!
Мы же специалисты по «говну и пару», а тут авиация. Значит, нам нужен специалист, который профессионально объяснит, почему самолет летает, а крыльями не машет. Конечно, у атомщиков есть опыт полета тысячетонной крышки реактора РБМК из металлоконструкции и бетона, но летала она невысоко, недалеко и недолго, и этого нам явно было недостаточно для входа в авиацию. Нужны грамотные специалисты.
Так мы выходим на научный институт, в котором есть люди, занимающиеся моделированием движения летательных аппаратов. Более того, они как раз использовали Simulink, как основу для своих разработок. Для краткости дальше будем называть эту разработку, допустим, СимФлай. Вот же оно! Перст судьбы и рука бога. Звезды сошлись. Казалось бы, что проще: меняем Simulink на наше ПО и, вуаля, зарабатываем деньги, которые гребет лопатой MATLAB.
Первая встреча с разработчиками СимФлай прошла на ура. Руководитель был настоящий авторитетный ученый, он рассказал, что его модели динамики полета ЛА (летательного аппарата) в Simulink самые динамические из полетных и самые полетные из динамических, а тулбокс SimulinkAerospace писали какие-то недоучившиеся студенты. И он, как настоящий ученый, выкинул тулбокс Simulink Aerospace и создал свою собственную отечественную библиотеку блоков.
Он рассказал потрясающую историю, как ему, великому разработчику, наглые хуцпаны из русских продавцов MATLAB пытались впендюрить Aerospace Toolbox и Aerospace Blockset.
«Представляешь, что мне, мировому авторитету в области динамики летательных аппаратов, эти наглые продавцы заявили? «Мы, — говорят, — эксклюзивные продавцы Matlab Simulink на территории РФ, и только мы принимаем решения в какой конфигурации вам продавать. Раз вы — институт, связанный с авиацией, то будьте добры, купить у нас Aerospace Toolbox и Aerospace Blockset, а и иначе не продадим вам вообще ничего.»
Я им отвечаю: «Зачем мне ваше студенческая поделка, если я сам вот этими руками свой собственный Aerospace Toolbox собрал из интеграторов и сумматоров с делителями. И самое главное, у вас оси направлены в другую сторону, у нас ваш Aerospace Toolbox вообще использовать нельзя, потому что самолеты будут втыкаться в землю!»
«Ну, и что? — отвечают — Покупайте все или ничего.» Вот уроды!
Но, как настоящий ученый, я позвонил своему другу в Англию, пожаловался на русских продавцов MATLAB их белому хозяину, и тот поставил на место этих жалких торгашей. И теперь наш институт покупает Matlab Simulink без всяких там Aerospace Toolbox, Aerospace Blockset и прочего шлака, а наш СимФлай используется во всех авиационных конструкторских бюро России, ближайших галактик и окрестностей.»
Выслушав эту историю, я расчувствовался и смахнул слезу умиления. Я впервые вживую видел человека, который делал реальное импортозамещение компонентов MATLAB. В тот момент я почувствовал себя маленьким диким Маугли, которому старый опытный Балу рассказывает секреты охоты. Передо мной стояла живая легенда, которая реально импортозамещала Simulink Aerospace и Aerospace Blockset, когда я еще пешком ходил под стол в детских трусиках и продавал французский софт. Я млел от восхищения и мне хотелось сказать: «Ты и я — одной крови, наша стая будет сражаться у глубокой воды с рыжими собаками. MATLAB не пройдет!»
Все совпало, теперь у нас есть настоящий ученый, он не любит красных собак-продавцов MATLABтакже, как и я. И главное, он обладает глубокими научными знаниям в области моделирования, и таким международным авторитетом, что даже в Британии его слушают, и по его звонку меняют условия продажи MATLAB. Вот он — настоящий партнер, с которым мы сейчас ворвемся в авиацию и всех порвем на британский флаг. У меня родился конгениальны план, который я тут же предложил: давай СимФлай перенесем на наше ПО и поделим деньги, которые уходят за MATLAB!
Расчет у меня был простой: используя методы челночной дипломатии, я получил коммерческое предложение на Matalb Simulink. Там была фантастическая сумма: 76 500 $ за одно рабочее место с компонентами Aerospace Toolbox и Aerospace Blockset.
Цена конкурента
Получалось, что, если мы вместе импортозаместитим MATLAB Simulink, мы сможем поделить 75 000$ с одного рабочего места! А это совсем не плохие деньги.
И если библиотека СимФлай, по словам разработчика, используются во всех авиационных конструкторских бюро в России и за рубежом, и даже англичане про нее знают и уважают, то деньги у нас в кармане. Мы можем сбросить цену до 50 000$. И все, абсолютно все, будут счастливы. Ведь $25 000 будет экономить конструкторское бюро, $25 000 я предложил за СимФлай, ну, и себе тоже беру $25 000. Тварь ли я дрожащая или право имею? Отличный план для добычи денег, надежный, как топор Раскольникова.
Получив такие фантастические цифры, мне стало интересно, сколько зарабатывает MATLAB и сколько можно получить на его импоротзамещении. Опять включаем челночную дипломатию и получаем такое письмо от продавцов MATLAB:
15 млн баксов в год уезжает от русских военных организаций за американский софт! Это же просто праздник какой-то! Cейчас мы все это заместим, и даже снизив цену до 10 млн. или даже до 5 млн., но это все равно миллионы долларов! Ура, мы богаты!
Чтобы доказать, что мы можем заместить Simulink, мы взяли модель бокового движения ЛА от разработчиков СимФлай и аккуратно пересобрали ее в SimInTech. Конечно, все совпало до копейки — все получилось.
Модель бокового движения ЛА (летательного аппарата)
Чтобы великим ученым было удобно, мы с помощью специалистов МАИ собрали разные варианты создания моделей, как в виде системы блоков, так и на встроенном языке программирования.
Понятно, что ученые в специальном научном институте должны иметь возможность править модели, чтобы учесть все последние поправки в законах Ньютона. Поэтому для всех блоков использовался открытый интерфейс с возможностью внесения изменений. Например, на следующем рисунке изображена модель с открытым редактором языка программирования, где описан расчет ЛА в кватернионах, полностью открытый для правки специалистами.
Модель ЛА в квантерионах
В кратчайшие сроки была создана библиотека блоков, которые нужны для расчета динамики полета летательного аппарата.
Библиотека блоков, для моделирования ЛА
Я рассуждал так: если наши не очень умелые кривые руки физиков-ядерщиков, привыкшие к задвижкам и трубам АЭС, с помощью специалистов МАИ смогли собрать и запустить модель самолета, модель авиабомбы и создать движение и в кватернионах и углах Эйлера, то настоящие ученые-аэродинамики соберут вообще все, как два пальца об асфальт. Тем более они уже сделали то же самое в виде СимФлай. (Как потом мы выяснили, это не просто, а очень просто. Вот здесь статья о сравнении динамики полета в SimInTech и Simulink).
Короче, деньги были уже в кармане.
Осталась самая мелочь: пройтись по пользователям СимФлай, дать каждому скидку $25000 и поделить оставшиеся $50 000 пополам с разработчиками СимФлай. За стоимость только одной лицензии можно было три раза пересобрать все из Simulink в нашем ПО. Тем более великие специалисты по динамике полета на нашей стороне, мы в одной стае и одной крови.
Мы начали договариваться, чтобы настоящие ученые перенесли СимФлай в нашу библиотеку блоков динамики полета, и обсуждали, сколько можно за это заплатить. Пока нет реального заказчика, мы готовились вложить свои деньги. Все шло, как по маслу.
И тут еще одно волшебное совпадение. Как специально, одно из конструкторских бюро объявляет конкурс на MATLAB Simulink. Бюджет выделен, можно делить деньги. На дворе стоял, напоминаю, 2014 год, Крым наш и импортозамещение уже началось, по крайней мере в сырах и хамоне. Дальше дело техники — осталось заманить стаю красных собак к черным скалам у большой воды и порвать их на британский флаг.
Тогда я пишу официальное письмо директору КБ с примерно таким текстом: «Просим остановить процедуру закупки вражеского софта, поскольку есть исконно-посконно отечественный, который лучше и дешевле буржуйского. Ибо это противоречит политике партии, правительства и лично товарища президента. Сообщаем что наше ПО с успехом используют в атомной промышленности и, благодаря этому, наши корабли бороздят просторы океанов, а пакет зарубежных заказов Росатома составляет много миллиардов долларов, а ваши самолеты никто не покупает, ибо ПО, которое вы хотите использовать, богопротивное и некошерное. Берите наше решение, будет вам счастье с большой скидкой.
Отвечайте нам, а то,
если вы не отзоветесь
мы напишем в споротлото!»
Такое письмо оставить без ответа уже нельзя, и КБ начинает готовить обоснование, где они должны объяснить, что без американского ПО никакой самолет никуда не полетит. А куда они обращаются за обоснованием? Правильно к научному институту, где трудится наш партнер, союзник, ветеран импортозамещения и личный враг продавцов MATLAB Simulink. Этот мощный старик, гигант мысли и отец русской демократии не подведет.
Можно ставить шампанское в холодильник и делить деньги.
Каково же было мое удивление, когда через некоторое время я получил ответ от КБ. Примерно такого содержания:
«Спасибо большое, за предложение, ваше обращение очень важно для нас, но мы не можем его принять. Вот вам экспертное заключение»
И я вижу заключение от этого самого института, где черным по белому было написано следующее:
«В отличие от SimInTech, среда MATLAB/Simulink в течение многих лет применяется… В данной среде было выполнено множество проектов … Создано разнообразное программное обеспечение, которое расширяет возможность MATLAB/Simulink в области динамики полета ЛА, ускоряет и упрощает проведение исследований и расчетов…. Таким образом, в нашей стране MATLAB/Simulink является своего рода «отраслевым стандартом»…считаем невозможным отказ от MATLAB/Simulink в пользу SimInTech…»
Вместо сражения у черной скалы Табаки ушёл на север. И подмога не пришла, подкрепления не прислали…
В тот момент я четко понял, что у России в деле импортозамещения есть только два союзника: Госдеп США и лично Урслула фон дер Ляйен.
До введения санкций на программное обеспечения для проектирования оставалось еще 10 лет.