Разработчики современных промышленных систем и программного обеспечения для гражданской и оборонной отраслей должны создавать гибкие и удобные приложения. В то же время, необходимо удовлетворять задачи отраслевых стандартов и соблюдать строгие требования сертифицирующих органов. Разработчики обязаны учитывать стоимость проекта и его ключевые аспекты. Это сложная задача, требующая применения правильного инструментария.
В связи с возрастающей степенью автоматизации технологических процессов возникает необходимость в разработке сложных систем автоматического и автоматизированного управления. Сегодня одним из наиболее эффективных методов проектирования и разработки таких решений признан модельноориентированный подход. Подобная технология позволяет повысить эффективность труда разработчиков, автоматизировать ряд этапов и сократить затраты на валидацию, верификацию и сертификацию всей системы. Хорошо известно, что узкими местами традиционного подхода к проектированию систем управления является этап составления технического задания и формирования спецификаций к разрабатываемому продукту. При таком подходе классические текстовые документы неудобны и способны затруднять процесс разработки.
Многие специалисты отмечают, что натурные прототипы систем и эксперименты с ними на этапе проектирования неэффективны, неудобны, сложны и дороги. На этапе реализации ручная разработка программных средств и человеческие ошибки делают процесс ненадежным, а на этапе проверки традиционное тестирование приводит к обнаружению ошибок лишь на конечной стадии разработки программного обеспечения (ПО). Всё более жесткие требования к срокам проектирования, политические и экономические требования, возрастающая сложность проектов и необходимость совместной работы различных групп проектировщиков и инженеров, разнообразные программные инструменты, письменная документация, связь между главным исполнителем и подрядчиками, сложная цепочка поставок, миграция к COTSтехнологиям, сертификация ПО, растущая важность электроники и ПО заставляют компании внедрять современные подходы и решения.
Принципы модельноориентированного проектирования (МОП) существенно отличаются от традиционной методики проектирования. Вместо создания сложных программных кодов разработчики могут применять МОП для улучшения характеристик модели, используя стандартные функциональные блоки с непрерывным и дискретным временем. Построенные таким образом модели вместе с использованием инструментов для моделирования могут быстро привести к созданию прототипа системы управления, тестированию и верификации ПО. В некоторых случаях аппаратнопрограммное моделирование может быть использовано в качестве инструмента проектирования для более быстрого и эффективного тестирования динамических воздействий на систему.
Технология ANSYS SCADE является ярким примером применения МОП к разработке сложных систем. Суть данной технологии состоит в том, что изначально в специализированном программном пакете создается имитационная модель объекта управления. Формируемый алгоритм управления отрабатывается на проектной модели в режиме симуляции (выбирается тип регулятора, настраиваются коэффициенты и т.д.). Модель может довольно хорошо описывать динамику объекта, но может быть и приблизительной, описывающей только основные движения и характеристики объекта. В случае достижения алгоритмом поставленной задачи управления производится экспорт алгоритма управления в программный код целевой платформы.
МОП представляет собой эффективный и экономически выгодный способ разработки систем управления, систем обработки сигналов с датчиков, построения систем связи, разработок в области робототехники и создания встраиваемых (embedded) систем. Применение этого подхода в компаниях ABB, Boeing, Bell Helicopters, Toyota, Tesla, General Motors, Ford, Hitachi, Hyundai, Realtek, Yokogawa и многих других позволило увеличить качество продукции и сократить время разработки более чем в два раза.
Далее отметим, что ПО измерительноуправляющих комплексов гораздо сложнее аппаратной части и достижение необходимого уровня их надежности требует больших затрат. Значимость ПО в ответственных системах возрастает с увеличением объема реализуемых функций, сложности испытываемых объектов и требований по безопасности.
Основные промышленные стандарты по функциональной безопасности определяют все этапы разработки ответственных систем и их последовательность. Они предъявляют высокие требования к процессу производства ПО. Традиционные методы разработки (написание технического задания, описание требований, построение функциональных схем в различных графических редакторах, ручные кодирование и верификация и т.п.) являются трудоемкими и низкоэффективными, особенно с учетом необходимости выполнения всех требований стандартов и прохождения сертификации. ANSYS предоставляет решения для модельноориентированной разработки, применение которых было неоднократно проверено в производстве критичных по безопасности систем и ПО. В ходе использования данного инструментария было подтверждено снижение стоимости проектов, рисков и временных затрат на прохождение сертификации. Данные технологии ориентированы на построение эффективных процессов в соответствии с промышленными стандартами и обеспечение надежности разрабатываемых систем. Предлагаемый набор технологий охватывает весь жизненный цикл разрабатываемой системы — от проектирования и разработки компонентов до моделирования всей системы.
Разработка любой системы начинается с ряда задач, выполняемых системными инженерами. На начальном этапе, как правило, выполняются:
- операционный анализ;
- проектирование функциональной модели системы;
- проектирование архитектуры управляющего ПО;
- проектирование физической архитектуры системы;
- описание передачи данных в системе на функциональном, программном и физическом уровне;
- описание связей между различными компонентами и уровнями абстракции;
- валидация системы и требований к ней.
Очевидно, что системным инженерам приходится работать с огромными наборами взаимосвязанных данных. Допустить ошибку в таком информационном пространстве может даже очень опытный специалист. Цена такой ошибки будет возрастать с приближением проекта к завершающей стадии и даже может привести к катастрофическим последствиям. Применение специализированных средств системного проектирования позволяет практически исключить «человеческий фактор» как причину возникновения проблем. Компанией ANSYS специально для этих целей разработан инструмент SCADE Architect. Основными особенностями этой модельноориентированной среды являются:
- графическое описание архитектуры, функционала и интерфейсов будущей системы на языке SysML;
- описание распространения данных в системе и проверка целостности;
- автоматизированная генерация конфигурационных и интерфейсных документов;
- автоматизированная проверка описания системы с использованием встроенных и определяемых пользователем правил.
Инструмент предоставляет пользователям среду системного проектирования, применяемую для разработки систем с высокой степенью зависимости требований. SCADE Architect ориентирован на полную поддержку отраслевых стандартов разработки систем, например ARP4754A. Данный продукт позволяет выполнять моделирование архитектуры и функционала системы, а также верификацию в среде, основанной на SysMLстандарте. SCADE Architect предоставляет прочный фундамент для применения модельноориентированного подхода к разработке систем и освоения проверенных (рекомендованных) практик. Применение SCADE Architect в сочетании с ANSYS SCADE® Suite позволяет системным и программным инженерам работать в одной среде. Ключевой особенностью является SCADE Architect Configurator, который представляет собой надстройку над SCADE Architect и позволяет выполнять конфигурацию среды работы системных инженеров с учетом специфики каждого проекта. Наряду со SCADE Architect Configurator, компания ANSYS предлагает готовые конфигурационные решения, например системное описание протоколов передачи данных и конфигурирования операционной системы.
Преимущества ANSYS SCADE
- Улучшает коммуникацию между командами разработчиков ПО и системными инженерами, коммуникацию с клиентами, поставщиками и сертифицирующими органами;
- позволяет выполнять разработку линейки продуктов;
- обеспечивает соответствие разрабатываемого ПО требованиям безопасности и/или требованиям по качеству при минимальных затратах;
- гарантирует автоматическую генерацию читаемого, переносимого, высокопроизводительного и высококачественного кода;
- гарантирует качество и точность создаваемой документации;
- позволяет на ранних стадиях находить ошибки в дизайне;
- улучшает процесс сопровождения приложений в долгосрочной перспективе;
- позволяет сократить суммарные затраты на разработку и верификацию до 50%.
Следующим шагом, после описания функций и архитектуры будущей системы, является разработка управляющего ПО. Благодаря тому что инструменты SCADE поддерживают единый процесс разработки и тесно взаимосвязаны между собой, самый простой способ перейти от «системной» модели к процессу разработки управляющих программ — это выполнить «синхронизацию» модели SCADE Architect в SCADE Suite. В процессе данной операции происходит перенос иерархий объектов, их зависимостей, типы данных и т.д., что, в свою очередь, значительно сокращает время на разработку.
Инструмент SCADE Suite предоставляет пользователям модельноориентированную среду разработки встраиваемого критичного по безопасности ПО. В основе SCADE Suite лежит формальный язык SCADE, делающий ее единственной средой разработки для критических приложений, которая объединяет управление требованиями, модельноориентированную разработку, симуляцию, верификацию, квалифицированную/сертифицированную генерацию кода и совместимость с другими инструментами и платформами. Графическое представление блоксхем потоков данных и безопасных конечных автоматов позволяет создавать точную и однозначную спецификацию. Данный редактор удобен для пользователя и интуитивно понятен как для системных инженеров, так и для программистов. Система или ее части, описанные в среде SCADE Suite в виде графических и текстовых блоков, может быть запущена в симуляторе. Генератор кода SCADE Suite производит код на языках С и Ada.
Зачастую, параллельно с разработкой управляющей логики, происходит разработка человекомашинных интерфейсов. Для решения этой задачи компания ANSYS предлагает инструмент SCADE Display, основанный на подходе WYSIWYG («что вы видите, то вы и получаете»), с расширенной поддержкой графических возможностей OpenGL, OpenGL SC 1.02.0 (Safety Critical) и OpenGL
ES 1.12.0 (Embedded Systems), в том числе наборы интерактивных примитивов.
Как и SCADE Suite, SCADE Display предоставляет визуальную среду для проведения симуляции и отладки графической модели с возможностью отслеживания значений внутренних переменных.
Самой ресурсоемкой частью разработки является этап верификации и валидации разработанного ПО. Команды тестировщиков на основе требований создают тестовые наборы, которые призваны выявить все недостатки выходного продукта. В случае применения на этапах разработки инструментов SCADE Suite и SCADE Display, для облегчения их работы и сокращения времени на проведение верификационных и валидационных активностей, предлагается набор инструментов SCADE Test, который представляет собой интегрированное окружение для валидации требований, написания и управления тестами. Это позволяет автоматизировать процессы запуска тестов как на ПК, так и на целевой платформе, выполнять оценку полноты покрытия и управлять результатами тестирования для любых приложений, созданных в ANSYS SCADE.
Команда разработчиков ANSYS не обделила вниманием и такие важные этапы, как управление жизненным циклом приложений и подготовка отчетной документации по проделанной работе. Для решения этих задач пользователю доступны модуль SCADE LifeCycle Reporter, позволяющий автоматически генерировать отчетную документацию по проекту, и шлюз ALM Gateway, предназначенный для связи с системами конфигурационного управления и версионного контроля. SCADE LifeCycle расширяет функциональные возможности SCADE Architect, SCADE Suite, SCADE Display и SCADE Test.