- PVSM.RU - https://www.pvsm.ru -

Примечание переводчика: представляю вниманию почтенной публики статью Якоба Энгблома (Jakob Engblom), в которой он демонстрирует внесение «аналогового» устройства в общем-то дискретный симулятор. Сам я также использую и разрабатываю модели для Simics, но с несколько других позиций, из-за чего редко вижу конечные плоды всей деятельности. Поэтому мне было очень интересно узнать, чем занимаются мои коллеги из Wind River, а затем захотелось поделиться с вами. Тех, кому тема полноплатформенной симуляции или конкретно Simics показались интересными, рекомендую обратить внимание на свежайший выпуск Intel Technology Journal Simics Unleashed – Applications of Virtual Platforms [1]. Я также могу рассказать о Simics более детально и на Хабре в последующих своих постах. Жду ваших комментариев!
Встраиваемая вычислительная система редко работает в изоляции. Тогда как персональные компьютеры и потребительская электроника обычно могут работать самостоятельно с относительно нечастным вмешательством человека, большинство встроенных компьютеров тесно взаимдействуют с окружающим их миром. Они «чувствуют» его, исполняют управляющие алгоритмы, считывают показания датчиков, используют всевозможные актуаторы для того, чтобы изменять внешнюю среду. Они — активные участники непрерывно эволюционирующей кибер-физической реальности. Симуляция таких систем не может быть ограничена моделью изолированного цифрового компьютера — приходится вносить в неё часть физического мира. На следующем видео на Youtube демонстрируется, как это можно осуществить с помощью Wind River Simics.
Также доступны несколько роликов, опубликованных NASA (National Aero Space Agency), демонстрирующих, как Simics задействуется в истинно полно-платформенной симуляции в проекте Global Precipitation Measurement [2].
Для видео, представленного выше, был воссоздана следующая конфигурация.

Основные элементы: консоль управления, плата с установленной ОС VxWorks и управляющим приложением, нагреватель воды (чайник). Контроль осуществляется с помощью актуатора, изменяющего мощность, подводимую к нагревательному элементу в чайнике. Программой принимаются решения на основании показаний текущей температуры воды, измеряемой термометром. Термометр и нагреватель подключены к аналогово-цифровому (АЦП) и цифрово-аналоговому (ЦАП) преобразователям соответственно, которые расположены на плате встраиваемого компьютера. Детали того, как в целом происходит моделирование устройств в Simics, описаны в другом посте [3]. Управляющая программа имеет доступ только к АЦП и ЦАП, как это бывает в настоящих системах. Моделирование физических процессов делается внутри Simics; оно реализовано с помощью встроенного интерпретатора Python и Simics API.

Благодаря тому, что физическая модель внесена внутрь симуляции, становится возможным обращать время, инспектировать состояние её частей и контролировать её через графический интерфейс Simics. Дополнительная возможность, не показанная на видео, — устанавка брейкпоинтов на события в симуляции, такие как закипание воды или сгорание чайника (прошу прощения за спойлер). На практике довольно часто реализуется такая схема: физическая модель исполняется вне Simics в уже написанной сторонней программе, а затем пишется некоторый коннектор между ней и Simics, внутри которого представлена цифровая часть модели. В этом демо физическая система представлена т.н. системной панелью, расположенной рядом с дисплеем управляющего компьютера, и панелью, позволяющей искуственно инициировать ошибки (т.е. проводить fault injection).

Примечание: начиная с версии 4.8 интерфейс Simics, используемый по умолчанию, основан на Eclipse.
Часть возможностей механизма fault injection демонстрируется в видео; эта конфигурация также позволяет исследовать некоторые другие сценарии. Модель физической системы написана так, что позволяет вносить в датчик температуры шум, чтобы он сообщал искажённые значения, или даже вообще заморозить его показания. Можно изменять высоту чайника над уровнем моря, а это влияет на температуру кипения воды. Нагреватель можно зафиксировать на некоторой мощности. Всё это позволяет тестировать надёжность ПО в присутствии возможности возникновения разнообразных проблем, без необходимости поиска граничных условий аналитическими методами или модификации реального оборудования (т.е. чайника).
Пользователи Simics на практике могут поместить внутрь симуляции гигантские системы, представляющие физические, механические и управляющие алгоритмы. Эти симуляции часто также огромны, исполняются на десятках различных хозяйских систем и соединены с помощью специализированого связуещего ПО. С помощью API, предоставляемых пакетом Simics Extension Builder, становится возможно интегрировать Simics с почти любой сторонней системой.
Примечательным примером такой интеграции является работа, опубликованная NASA (NASA IV&V Success Story [4] на Youtube). В установке NASA Go-Sim (другое видео [5] на Youtube) была использована комбинация управляющего компьютера, симулируемого Simics, и собственной разработки для моделирования физических процессов. Для соединения сенсоров и актуаторов космического корабля с управляющим компьютером были использованы шины 1553 и Spacewire. При этом сообщения, проходящие по ним, могут быть перехвачены и модифицированы для того, чтобы протестировать надёжность ПО в присутствии помех (ещё одно видео [6]).
Для того, чтобы узнать больше о том, как Simics может помочь вам промоделировать вашу систему, посетите simics.com [7] или www.windriver.com/products/simics/ [8]. Другие видео, демонстрирующие работу Simics, доступны на канале Wind River на Youtube: www.youtube.com/user/windriverchannel [9].
Автор: Atakua
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/blog-kompanii-intel/51091
Ссылки в тексте:
[1] Simics Unleashed – Applications of Virtual Platforms: https://noggin.intel.com/technology-journal/2013/172/simics-unleashed-%E2%80%93-applications-virtual-platforms
[2] Global Precipitation Measurement: http://pmm.nasa.gov/
[3] другом посте: http://blogs.windriver.com/wind_river_blog/2013/11/simics-device-modeling-video-demo.html
[4] NASA IV&V Success Story: http://youtu.be/PDLSrXhu8gM
[5] другое видео: http://www.youtube.com/watch?v=ImtzXv-DahY
[6] ещё одно видео: http://www.youtube.com/watch?v=OPdwIYG7U9c
[7] simics.com: http://simics.com
[8] www.windriver.com/products/simics/: http://www.windriver.com/products/simics/
[9] www.youtube.com/user/windriverchannel: http://www.youtube.com/user/windriverchannel
[10] Источник: http://habrahabr.ru/post/205074/
Нажмите здесь для печати.