




Честно говоря, я никогда не использовал SCADE, но знаю людей, использующих его для создания управляющего программного обеспечения, отвечающего требованиям безопасности. Отрывок из https://dl.acm.org/doi/10.1145/3427763.3432350 говорится
ANSYS® SCADE Suite® — это среда разработки встроенного программного обеспечения, критически важного для безопасности, которое уже более двадцати лет используется в различных областях применения, таких как авионика, атомные электростанции, транспорт и автомобилестроение. Его генератор кода сертифицирован по нескольким промышленным стандартам (DO-178C, IEC 61508, EN 50128, IEC 60880 и ISO 26262), которые могут использоваться при разработке наиболее важных систем безопасности.
Это в значительной степени мое понимание SCADE, но воспринимайте это с недоверием. Итак, основная цель — сгенерировать код, а моделирование — для проверки того, что код работает должным образом.
Modelica — это язык, предназначенный для моделирования мультифизических систем. Цель состоит в том, чтобы скрыть сложность и дать пользователю возможность создавать сложные системы путем составления фундаментальных компонентов. Моделирование обычно проводится в автономном режиме (не в реальном времени) для исследования довольно подробных физических взаимосвязей.
Существует несколько инструментов, основанных на языке Modelica. Некоторые из них — Dymola, OpenModelica, SimulationX, MapleSim и т. д. Другие инструменты мультифизического моделирования — Mathworks Simulink (на самом деле скорее SimScape), Ansys Simplorer, Siemens Amesim, Synopsys Sabre и многие другие (не стесняйтесь расширять список).
У меня нет полного обзора, но по моему опыту Mathworks Simulink — это наиболее распространенный инструмент для генерации кода на основе графических моделей. Основное отличие от SCADE заключается в том, что сгенерированный код не разрешается использовать в приложениях, критически важных для безопасности. Сравнительно новый проект Ассоциации Modelica — встроенный FMI (https://www.efmi-standard.org/), цель которого — генерировать код, например, для контроллеры, спроектированные на основе физических моделей.
Кажется, что SCADE является причинно-следственной связью от входных данных к выходным, Modelica является объектно-ориентированной на основе уравнений. Вы можете повторно использовать модели в разных контекстах в зависимости от того, какие входные данные вы предоставляете. Подробнее читайте в руководствах по Modelica и SCADE.