>>46990> > код на си в основном написан генератором
> Расскажи подробней про всю систему целиком. Что у вас были за задачи? Что за генератор? Какая причина его появления?
задачи - ПО для бортового оборудования, наземных и береговых систем и т.п., то есть широкий спектр радиоэлектроники.
разные генераторы кода используются уже очень давно, (генераторы кода на си - как минимум с 80-х), просто потому, что писать код на си вручную - слишком error-prone (предрасполагает к ошибкам). как альтернатива, разработчик описывает желаемое поведение устройства в более высокоуровневых терминах. (в идеале, разработчик даже не является программистом, т.е. работает в какой-нибудь полностью визуальной среде). из таких систем общего назначения могу назвать simulink, знаю что он точно используется в авиации, но я с ним дела не имел.
мы писали подобного рода системы сами. не просто генератор кода, а визуальная среда программирования/моделирования + генератор кода. в определенном смысле, высокоуровневый и узкоспециализированный язык программирования.
суммируя архитектуру на наиболее высоком уровне, я бы сказал, что она двухступенчатая. программист пишет код не непосредственно для целевого устройства, которое будет стоять в самолете, а только для того, чтобы другой человек (специалист в авиации / электронике / бортовых системах) мог описать поведение этого устройства, из чего уже можно атоматически сгенерировать код. в некотором смысле, задача программиста в этом смысле ближе к написанию компилятора / среды разработки. только проще, поскольку релаьный компилятор должен работать у каждого, а наш, узкоспециализированный, только на столе у нескольких конкретных специалистов.
в общем вот такая причина появления.
если проводить аналогию построения программы и постройки здания, то программист создает не здание, а строительную машину. а уже ее затем будет использовать архитектор, который как раз принимает решения, что именно и как именно строить.
в каком-то смысле это одна из наиболее важных идей.
это общепринятый подход сегодня, но обсуждения в интернете и статей на эту тему мало - область довольно узкая и полная коммерческих и политических "секретов", будь они неладны.