Электронные и компьютерные системы с каждым годом становятся сложнее; они могут содержать несколько гетерогенных процессоров или многоядерные процессоры, на которых запускаются различные программные стеки и операционные системы. В дополнение к этому, эти системы могут являться частью других, ещё более сложных систем, которые соединены друг с другом через локальную шину, сеть или Интернет. Из-за возросшего уровня сложности самих систем и их соединений, традиционные инструменты разработки, отладки, интеграции, тестирования и поддержки становятся всё менее эффективными. Wind River Simics позволяет девелоперам радикально улучшить процесс разработки, отладки и тестирования электронных систем, значительно улучшая такие бизнес-показатели, как время выхода на рынок, стоимость и качество продукта.
Wind River Simics – это симулятор, который моделирует полноценную компьютерную систему для разработки программного продукта. Он позволяет изменить традиционный подход к разработке программного продукта, улучшая технологии отладки, а также ускоряя тестирование и интеграцию. Разработчики используют Simics для моделирования компьютерных платформ, от модели процессора до больших, сложных и взаимосвязанных компьютерных систем. Симулятор Simics может запускать на модели немодифицированный код на различных уровнях, например, boot loaders, BIOS, firmware, RTOS, BSP, middleware, приложения.
Ускорение разработки
Wind River Simics позволяет разработчикам осуществлять более эффективное взаимодействие друг с другом, предоставляя доступ к виртуальной системе целиком и к полному ее состоянию, включая историю исполнения кода.
Simics также значительно улучшает процесс разработки, ускоряя время выхода продукта на рынок. Например, такие виды работ, как системная интеграция и тестирование системы могут начинаться еще до того, как доступна сама физическая платформа. В дополнение, Simics предлагает уникальные возможности по ускорению процесса разработки, включая системную интеграцию на ранних стадиях, ускорение прототипирования путём использования виртуальных прототипов вместо физических и архитектурный анализ с использованием what-if сценариев и проверкой разнообразных альтернатив (как программных, так и платформенных) до того, как выбрана одна оптимальная.
Оптимизация
Сложные и взаимодействующие системы с трудом поддаются отладке и управлению. Традиционные инструменты для разработки позволяют отслеживать ошибки, относящиеся только к одной платформе, поэтому поиск ошибок в системе, состоящей из множества платформ, становится сложной задачей. Например, если вы останавливаете исполнение кода с помощью традиционного отладчика на одной платформе, другие платформы в системе будут продолжать исполнять код, делая изоляцию и поиск ошибки практически невозможным.
Wind River Simics обеспечивает удобное управление всеми платформами в системе. В нем отладка на один шаг вперед или даже назад осуществляется для всей системы в целом, а не только её части. Более того, запись контрольного состояния (или checkpoint) может быть сделана для всей системы и затем предоставлена в электронном виде другому разработчику, который получит такой же доступ к полной системе(компьютерной архитектуре и программному обеспечению), и продолжит исполнение кода так, как будто бы он не прерывался. Simics может симулировать системы, содержащие сотни платформ и процессоров с таким уровнем производительности, который позволяет загружать реальный программный стек.
Виртуальную платформу Simics легче конфигурировать и управлять, чем физическую платформу; части виртуальной системы также могут быть с лёгкостью реплицированы для тестирования. В дополнение, уникальные возможности Simics, такие как управляемое добавление ошибок в программы и платформу, управление виртуальным системным временем, доступ ко всем регистрам платформы обеспечивают удобное управление процессом разработки и тестирования программного обеспечения.
Управление средами разработки.
Одним из больших препятствий в разработке, отладке, интеграции и тестировании электронных систем является то, что физическая платформа не всегда доступна или работоспособна. Вследствие этого, продуктовые команды вынуждены работать с неидеальными заменителями, такими как платформы- прототипы. С Wind River Simics не существует ограничений по доступности физических платформ. Более того, виртуальная платформа – это не просто небольшая часть системы, она сама может быть сложной системой. Это даёт продуктовым командам возможность работы в контексте целой системы, а не её отдельной части. Для тех девелоперов, кто поддерживает различные конфигурации платформы, виртуальная платформа от Simics делает более лёгким управление многочисленными конфигурациями и компонентами, что является полезным для тестирования совместимости компонент специфичных сценариев пользователя.
Поддержка в течение всего цикла разработки
Wind River Simics может использоваться в течение всего периода существования продукта – от дизайна до стадии поддержки продукта после выхода его на рынок.
Дизайн:
· Исследование и выбор дизайна системы до того, как дизайн физический платформы будет финализирован.
· Исследование различных поколений продукта, эксперименты с различными комбинациями программ и физических платформ, анализ взаимодействия.
Разработка:
· Разработка, отладка и тестирование низкоуровневого программного стека, BSPs и конфигураций операционных систем без использования физических платформ.
· Параллелизация разработки программ и физических платформ.
· Обеспечение всех разработчиков приложений виртуальной платформой, исключающей интеграционные риски/проблемы в дальнейшем.
· Продвинутыевозможностидляотладки, такиекак: check-pointing, bug transportation, reverse debugging, breakpoints, and watch points.
Интегрирование и тестирование:
· Построение виртуальной системы для раннего и agile интегрирования и расширения до физической платформы, когда она становится доступной.
· Использование управляемого добавления ошибок и тестирования редких случаев для любых ошибок физической платформы или ошибок ввода-вывода.
· Автоматизация и параллелизация тестов и тестовых конфигураций с использованием скриптовых возможностей Simics.
Выход на рынок:
· Доступность целой системы и её частей для всех партнеров и экосистем.
· Предоставление узкоспециализированных конфигураций путём изменения любого набора компонентов системы Simics.
Поддержка:
· Помощь пользователям путём создания виртуальных лабораторий в различных странах, что предоставляет распределённым командам разработчиков виртуальный эквивалент конечного продукта.
· Поддержка ранее вышедших продуктов, несмотря на недоступность физических платформ в связи с окончанием их выпуска.
Поддерживаемые компьютерные архитектуры:
· Power
· Intel
· MIPS
· ARM
· M68K
· SPARC
· другие
Основные характеристики Wind River Simics:
· Быстрый запуск симуляции популярных компьютерных архитектур, используя Quick Start Platform, которая поставляется вместе с Simics
· Запуск любого программного продукта, который запускается на физической компьютерной архитектуре
· Управление доступом к виртуальной системе – внутри команды, между командами, партнерам и в экосистеме, в том числе удаленно
· Анализ полной системы, а не её части
· Эффективная отладка, возможность запуска симуляции вперёд или назад по шкале времени
· Возможность останавливать симуляцию и возвращаться к точке останова
· Сохранение и удобство использования состояний системы, истории исполнения и виртуальных установок
· Возможность вносить искусственные ошибки для тестирования устойчивости системы
· Автоматизация рутинных и часто повторяющихся задачи с помощью скриптов
· Использование встроенного в Simics Eclipse-based, C/C++ source code debugger, либо использование стандартного набора инструментов
· Интеграция с существующим оборудованием
· Симуляция полной системы, включая процессоры, устройства, платы и системы
· Использование готовых виртуальных платформ от Wind River, а также платформ от Wind River на заказ
Использованы материалы windriver.com.