• Регистрация
Sancho
Sancho +99.25
н/д

Что такое модельно-ориентированное проектирование

22.05.2020

Данный обзор включает краткий ликбез по методологии разработки встраиваемых систем
под названием модельно-ориентированное проектирование. Особый акцент будет сделан на эффект, получаемый компанией, внедряющей данный подход как стандарт разработки встраиваемых систем.

Модельно-ориентированное проектирование (МОП) — это совокупность методик проектирования встраиваемого программного и аппаратного обеспечения, основанных на применении системных моделей на всех этапах жизненного цикла разработки встраиваемых систем.

МОП является ключевой технологией проектирования сложных технических изделий, в том числе работающих под управлением сложных алгоритмов. Сложность подобных изделий такова, что без технологии МОП их разработка или крайне затруднена, или весьма рискованна (авантюрна), или экономически нецелесообразна. Это связано с тем, что при проектировании встраиваемых систем для сложных изделий критически важным является:

  • Возможность проверки принимаемых частных («мягких») технических решений посредством быстрого моделирования поведения и характеристик изделия в целом;
  • Автоматизация рутинных задач проектирования, в которых часто возникают ошибки человека.

Без МОП управление проектированием сложных изделий несет в себе значительный риск, растущий быстрее сложности самого изделия. Технологии МОП позволяют выявить ошибки проектирования на начальных стадиях проекта, что приводит к существенному сокращению временных и финансовых издержек.

Возможности МОП включают в себя следующий неполный перечень:

  1. Возможность эффективной оценки технических решений.
  2. Оценка реализуемости ТЗ на системных моделях (валидация) до начала работ или подписания контракта.
  3. Математическое обоснование технического облика изделия в соответствии с ТЗ.
  4. Формирование архитектуры сложной технической системы посредством системной симуляции.
  5. Упрощение исследования случаев отказов при испытаниях и эксплуатации за счет локализации сбоев с помощью имитации на системных моделях.
  6. Ранняя верификация частных технических решений и алгоритмов встраиваемого ПО.
  7. Полунатурное тестирование и оперативное создание программно-аппаратных макетов реального времени.
  8. Быстрый переход от модели к исходным кодам посредством автоматического синтеза С/С++/VHDL/Verilog/SystemC/SystemVerilog/StructuredText/CUDA для зарубежной и отечественной ЭКБ.
  9. Автоматизированная верификация и доказательство надежности исходных и объектных кодов в соответствии со стандартами:

    а. КТ-178С «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники»;

    б. КТ-254 «Руководство по гарантии конструирования бортовой электронной аппаратуры»;

    в. Р4754 «Руководство по процессам сертификации высокоинтегрированных сложных бортовых систем воздушных судов гражданской авиации»;

    г. ГОСТ Р 51904 «Программное обеспечение встроенных систем»;

    д. ГОСТ РВ 0019-001-2006 «Программное обеспечение встроенных систем».

  10. Верификация встроенного ПО изделий формальными методами доказательства отсутствия ошибок, а не только валидация функциональных свойств.

Методология МОП в проектных работах

Термины и определения

1. Моделирование и архитектура систем — построение системных моделей гетерогенной природы с достаточным для решаемой задачи уровнем детализации, который регулируется главным конструктором.

2. Автоматическая генерация кода — технология перевода системных моделей в исходные коды С/С++/VHDL/Verilog/SystemC/SystemVerilog/StructuredText/CUDA для реализации на целевых микропроцессорах, симуляторах, контроллерах, ПЛИС и графических процессорах.

3. Верификация и валидация

  • валидация — процесс доказательства того, что мы разрабатываем изделие, выполняющее функции, которые на него возлагаются (правильное изделие);
  • верификация — процесс доказательства того, что мы разрабатываем изделие в соответствии с требованиями, которые к нему предъявляются (правильная разработка).

Моделирование и архитектура систем

Использование системного моделирования является критически важным и необходимым элементом для предсказуемой реализации проектов. Ниже приведены аспекты МОП, связанные с проектированием верхнего уровня системы.

  1. Системная модель разрабатываемого изделия строится на основании ТЗ и является «исполняемой спецификацией» на разрабатываемое изделие (другое название - «стенд главного конструктора»). С помощью такой спецификации можно, посредством моделирования, быстро выявить неточности и «белые пятна» в техническом задании, полученном от заказчика, а также понять его реализуемость. Системное моделирование позволяет точнее оценить издержки проекта, необходимые кадровые ресурсы, а также существенно снизить «авантюризм» проекта и уточнить техническое задание до ресурсоемких фаз. На ранних этапах системная модель позволит получить ответ на вопрос: «Что именно заказчик имел ввиду?».
  2. Системная модель в руках главного конструктора является стендом, где на любом этапе проекта можно запустить тестовые сценарии поведения системы, внештатные ситуации и оценить качество работы системы. Если какая-то из команд, участвующих в разработке, допустила ошибку проектирования, то на динамической системной модели, после запуска тестового сценария, это будет выявлено до создания дорогого и уникального натурного прототипа. Такой подход позволяет находить ошибки на ранних этапах проекта, осознанно подходить к созданию прототипов и минимизировать риски неудачного «первого пуска» системы.
  3. Главный конструктор имеет возможность прозрачно контролировать взаимодействие между командами разработчиков (например, теми, кто разрабатывает исполнительные механизмы, и теми, кто разрабатывает алгоритмы управления этими механизмами). В единой среде посредством динамического системного моделирования будут выявлены узкие места интеграции подсистем. В противоположность этому общение между отделами посредством только бумажных протоколов, без проверки в динамике, является фактором риска.
  4. Взаимодействие с контрагентами (поставщиками подсистем) становится прозрачным. Техническое задание на компонент/подсистему передается контрагентам в виде модели, которая уже проверена главным конструктором
    в общей системной модели изделия. Даже если контрагент не может поставить компонент с требуемыми характеристиками, то может доработать переданную ему модель и показать, что именно он сможет спроектировать. Эта доработанная модель должна быть интегрирована в общую системную модель для оценки влияния изменения характеристик компонента на изделие в целом.
  5. Системная модель является симулятором или виртуальным прототипом, который можно показать генеральному заказчику и уточнить - «Это ли ожидается по завершению работ?».
  6. Прогнозирование последствий внесения изменений в ТЗ - системная модель покажет какие подсистемы будут подвержены этим изменениям, а также будет показано изменение поведения системы.
  7. Сокращение риска появления непродуктивной работы в результате неточного или неполного ТЗ, риска переделывания проекта после уточнения ТЗ.
  8. Системная модель позволит перебрать десятки различных конструкторских решений и выбрать лучшее до реализации прототипа.
  9. На системной модели возможно решение задачи математической оптимизации - т.е. подбора оптимальных параметров алгоритмов или характеристик используемых компонентов (или элементной базы).
  10. Значительная часть задач оптимизации встроенного кода по ресурсам решается за счет системного моделирования.

Автоматизированная генерация кода

Один из ключевых моментов МОП — автоматизированная генерация исходного кода из моделей. Она применима ко всем задачам разработки алгоритмических кодов, и не применяется при написании системного ПО (например, драйверов).

Автоматизированная генерация кода позволяет:

  1. Существенно сокращать сроки разработки программных кодов.
  2. Обеспечивать гибкость и скорость переноса алгоритмов из одного проекта в другой или с одной ЭКБ на другую.
  3. Настраивать генерацию кода под целевой проект. Код может быть оптимизирован для целей читаемости, трассируемости, по используемой памяти или вычислительным ресурсам, по вносимой задержке. Возможно одновременное создание нескольких вариантов кода – для быстрого прототипирования, для верификации и тестовой обвязки, для полунатурных стендов и тренажеров.
  4. Создавать код, который соответствует (полностью или частично) стандартам кодирования, например, таким как MISRA AC AGC или CERT C.
  5. Оптимизировать код под конкретную архитектуру микропроцессора или ОСРВ (генерация не только ANSI C).
  6. Использовать методику тестирования и профилирования кода, как внутри модели, так и в режиме Процессор-в-Контуре на отладочной плате или ПЛИС-в- контуре.

Автоматизированная верификация и валидация

В зависимости от требований проекта к системному уровню надежности (определяется принятым индустриальным стандартом) организуется применение различных комбинаций методик верификации, которые могут включать мероприятия по оценке следующих характеристик проекта:

  1. Трассируемость проекта от текстового технического задания до сгенерированного кода.
  2. Оценка покрытия системной модели требованиями - можно выявить, что уже реализовано или какой излишний функционал был реализован разработчиком.
  3. Математическое (формальное) доказательство надежности разрабатываемых алгоритмов и поиск ошибок проектирования на уровне модели.
  4. Ввод проектного стандарта моделирования и автоматические проверки на соответствие этому стандарту - гарантия читаемости и переиспользуемости наработок между различными проектными отделами (или предприятиями).
  5. Создание артефактов для удовлетворения требований стандартов по разработке систем повышенной надежности: ГОСТ Р 51904, КТ-178, КТ-254, ГОСТ РВ 0019-001-2006 и т.д.
  6. Обеспечение сквозного процесса разработки от требований до натурного прототипа с переиспользуемыми тестовыми сценариями на каждом этапе проекта (системная модель, исходный код, объектный код).
  7. Создание полунатурного прототипа изделия, работающего в реальном времени (технология Оборудование-в-контуре - HIL, известная как «полунатурное моделирование»).
  8. Применение методов формальной верификации для автоматического создания тестовых сценариев для 100% покрытия модели тестами.
  9. Применение методов формальной верификации для доказательства отсутствия ошибок времени выполнения (Run-Time) на уровне исходного кода .
  10. Гарантия соответствия исходного кода принятым стандартам кодирования на предприятии.

Эффект от внедрения МОП на предприятиях

Практика показывает, что при своевременном внедрении методов модельно- ориентированного проектирования российские предприятия достигают следующих эффектов:

  1. Объективная оценка реализуемости сложных проектов и снижение технических рисков на ранних стадиях, уже после построения базовой системной модели.
  2. Сокращение сроков выполнения работ по сложным изделиям.
  3. Возможность разработки более сложных изделий с уникальными свойствами, недостижимыми для конкурентов.
  4. Эффективная система ранней оценки частных технических решений на системных моделях типа «стенд главного конструктора».
  5. Повышение надежности и качества изделий за счет сквозной непрерывной верификации.
  6. Возможность управления себестоимостью изделий через обоснованное принятие рациональных технических решений в том числе и на базе отечественной ЭКБ, за счет системной и алгоритмической оптимизации.
  7. Управление себестоимостью за счет снижения зависимости от работ с натурными прототипами.
  8. Повышение эффективности и реализуемости проектов за счет повторного использования поддерживаемых, читаемых и портируемых моделей.
  9. Сокращение затрат на поиск и идентификацию причин эксплуатационных отказов.
  10. Автоматизированное формирование отчетной документации в соответствии с требованиями ЕСПД.
  11. Снижение рисков при научно-технической кооперации внутри предприятия или с внешними подрядчиками посредством однозначных требований в виде исполняемых моделей, дополняющих входящую и исходящую документацию.
  12. Возможность выполнения большего объема ОКР за счет ускоренной разработки.
  13. Повышение взаимозаменяемости разработчиков сложных кодов и связанных с этим рисков, за счет наличия стандартов моделирования и выстроенного процесса автоматической генерации кода из моделей.
  14. Снижение зависимости предприятий от поставщиков ЭКБ, за счет упрощенной миграции между ЭКБ, посредством автоматической трансляции моделей в код, оптимизированный под целевую ЭКБ. Возможность вариативной разработки одного устройства на базе разных наборов ЭКБ.

Методология Модельно-Ориентированного Проектирования широко применяется инженерами со всего мира с использованием инструментов MATLAB и Simulink. Ещё материалы по теме: 

Теги

    22.05.2020

    Комментарии

    • Александр Скуснов Леонидович
      Александр Скуснов Леонидович +2982.00
      25.05.2020 04:26

      Чувствую, это кто-то свою диссертацию пересказывает.

      • Sancho
        Sancho+99.25
        25.05.2020 10:40

        Изложенл довольно "сухо", зато информативно.

        Если у Вас есть собственные материалы по этой теме, то было бы очень полезно если бы поделились на площадке.