УДК 004.2
DOI: 10.17586/0021-3454- 2017-60-10-993-998
ПРОЕКТИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ ПЛАТФОРМ КИБЕРФИЗИЧЕСКИХ СИСТЕМ
А. Е. Платунов1, Р. И. Яналов2
1Университет ИТМО, 197101, Санкт-Петербург, Россия 2ООО „ЛМТ", 199034, Санкт-Петербург, Россия E-mail: yanalov.roman@gmail.com
Проанализированы вопросы проектирования вычислительных платформ в составе киберфизических систем. Представлены основные прогрессивные методики системного/архитектурного проектирования специализированных средств вычислительной техники и автоматики, которые могут составить основу комплексной методологии проектирования киберфизических систем нового поколения. Даны определения понятий „вычислительная платформа", „высокоуровневое проектирование" встраиваемых систем и систем на кристалле. Рассмотрены методологии и технологии „Платформо-ориентированное проектирование", „Акторное проектирование", ESL-проектирование, высокоуровневый синтез систем на кристалле, „Контрактно-ориентированное проектирование" в контексте создания встраиваемых и киберфизических систем. Приведены положения HLD-методологии, созданной и развиваемой на кафедре вычислительной техники Университета ИТМО.
Ключевые слова: киберфизические системы, встраиваемые системы, системы на кристалле, промышленная автоматика, вычислительные платформы, методы проектирования
Автоматизированные устройства и системы продолжают стремительно усложняться. Активно используемый термин „киберфизические системы" (cyber-physical systems, КФС) [1] обозначает физический объект контроля/управления в комплексе с вычислительными и коммуникационными средствами, составляющими систему автоматики и пользовательский интерфейс. В основе киберсоставляющей КФС лежат вычислительная и коммуникационная платформы, средствами которых реализуются все необходимые для прикладной функциональности алгоритмы. Трудоемкость создания КФС силами существующих технологий неприемлемо высока, что требует радикального пересмотра подходов к проектированию.
Процесс проектирования КФС в рамках используемых индустриальных методик строго разделен на ряд этапов, которые поддерживаются существующими инструментами (САПР). Соответственно существует и узкая специализация разработчиков, которая формируется в вузе и совершенствуется в процессе практической деятельности.
На рис. 1 условно выделены три группы задач, непосредственно относящихся к созданию киберсоставляющей КФС. Это сегменты систем на кристалле (СнК, включая технологии ASIC, ASIP, FPGA), встраиваемых вычислительных систем (ВсС) и промышленной автоматики (ПА) [2, 3]. Выделены сегменты со значительным объемом проектных работ в рамках создания „среднестатистического" продукта в сфере КФС. Анализ убедительно показывает, что в пределах указанных сегментов процессы проектирования выстроены в эффективные и почти „бесшовные" маршруты проектирования, степень автоматизации которых постоянно растет „снизу вверх" по шкале уровня проектных абстракций [4]. Кроме того, в каждом сегменте существуют канонические решения (шаблоны проектирования), позволяющие с приемлемым качеством „закрывать" значительную часть сегодняшних задач.
Однако такой принцип проектирования вследствие роста сложности задач не позволяет эффективно обеспечить требуемую вычислительную мощность, снижение энергопотребления, программирование задач реального времени, информационную безопасность. Много
нерешенных вопросов остается при создании распределенных систем и сетей в сегменте систем реального времени.
СнК
ВсС
ПА
Л
КФС
Разработка прикладного ПО Разработка прикладного ПО Разработка прикладного ПО
Разработка системного ПО Разработка системного ПО Системное ПО
Интеграция устройств Интеграция устройств Интеграция устройств
Проектирование плат и устройств Проектирование плат и устройств
Проектирование микросхем
>
J
Рис. 1
Многообразие платформ, применяемых в вычислительной технике, представлено на рис. 2 [5, 6]. Под проектной платформой понимается уровень абстракции в маршруте проектирования, который скрывает несущественные на данном этапе детали множества возможных способов реализации.
КФС
Компьютерное зрение
Прикладные проекты
Модели с непрерывным временем
Модели Модели
дискретных эоь
событии
Алгоритмы библиотеки OpenCV
erilog SystemC C Soft IP-cores SystemVerilog C++ программы
Проекты на стандартных ячейках
Конфигурации ПЛИС
Исполняемые файлы
ARM-Cortex A9
ASIC
ASIP —Г
GPU \
Универсальные микропроцессоры
Микросхемы
Рис. 2
Процесс проектирования на основе платформ, называемый в литературе платформо-ориентированным проектированием (platform-based design, PBD), заключается в поэтапном
уточнении высокоуровневой начальной спецификации до готового продукта с использованием платформы на каждом этапе проектирования [7]. Это позволяет повысить эффективность проектирования за счет абстрагирования и повторного использования.
Анализ работы [5] показывает, что почти каждая абстракция (платформа), применяемая для преодоления сложности в проектировании вычислительной техники, скрывает важные для ВсС и КФС характеристики физического мира.
Таких побочных эффектов лишены языки моделирования, которые активно применяются в рамках модельно-ориентированного проектирования (model-based design, MBD), так как они изначально создавались для представления свойств объектов реального мира. Особое место среди них занимают акторно-ориентированные модели (АОМ), в которых разделяется описание акторов и способ их взаимодействия (композиции), что позволяет использовать для спецификации системы различные модели вычислений [5].
АОМ абстрагируют аспекты нижележащих платформ, большинство из которых в рамках существующих технологий проектирования привязаны к аппаратному или программному способу реализации. Исключением является набирающий популярность высокоуровневый синтез (high-level synthesis, HLS), который обычно использует в качестве исходной спецификации программу на языке высокого уровня (например, С/С++) или SystemC и генерирует из нее спецификацию аппаратного блока на RTL-языке для ПЛИС или заказной микросхемы.
Так как нефункциональные характеристики разрабатываемой системы зависят от конкретного стека платформ и средств трансляции и могут быть точно оценены только после ее реализации, поиск решения (исследование проектного пространства) сводится к перебору различных стеков платформ и вариантов отображения (mapping) спецификации системы на эти платформы. Автоматизация процесса отображения является одной из ключевых задач, на решение которых направлена современная методология сопряженного аппаратно-программного проектирования (HW/SW codesign, ESL-design) [8].
Разделение функционального описания (что система должна делать) и архитектуры (как система будет реализована) для рассматриваемых методологий удобно в контексте повторного использования, при этом основой платформы является библиотека коммуникационных и вычислительных компонентов. Помимо библиотеки компонентов платформа должна включать в себя модели компонентов, которые описывают их функциональность и характеристики, и правила, определяющие способы объединения компонентов и оценивания полученной архитектуры. Такой подход является универсальным [7] и может быть использован, в частности, для программно-аппаратного разделения функций с целью дальнейшей реализации.
На базе PBD активно развивается контрактно-ориентированное проектирование (contract-based design, CBD) как способ задания правил объединения компонентов и верификации при переходе на нижележащую платформу (рис. 3). Ключевым понятием CBD [9] является контракт — обязательства компонента (системы), выполняемые им при соблюдении требуемых условий окружения. CBD позиционируется авторами как методология, которая должна дополнять другие подходы и решать две задачи: корректную интеграцию компонентов друг с другом (горизонтальные контракты) и верификацию детализированной спецификации (вертикальные контракты).
Типичным примером использования контрактов для КФС является управление горизонтальной композицией вычислительных и физических компонентов системы для определения условий их корректного взаимодействия.
Фундаментальные идеи PBD [7], системной инженерии [10] и HW/SW codesign [8] активно использует HLD-методология проектирования ВсС (High level design methodology for embedded systems), которая предложена и активно развивается специалистами Университета ИТМО и научно-производственной фирмы „ ЛМТ" [11]. Она предназначена для автоматизированного заказного проектирования ВсС (от технического задания до спецификаций на реа-
лизацию), охватывает этапы архитектурного и микроархитектурного проектирования. Рассматривая критически важным выбор архитектуры ВсС для средних и крупных проектов [12], HLD-методология использует расширенную трактовку этого понятия. Трактовка явным образом включает рабочее окружение системы, связи с ним, принципы разработки, эксплуатации и развития системы. Основными отличительными особенностями HLD-методологии является использование:
— аспектной модели представления проекта разработчиком ВсС [13] и оригинальной системы архитектурных абстракций;
— принципа представления архитектуры ВсС посредством совокупности механизмов (абстрактных технических решений);
— принципа выполнения проекта на абстрактном уровне в течение максимального числа шагов без прямой привязки к реализации.
Поведенческий аспект
; с, .
. , Аспект реального
Аспект безопасн°сги времени
СЕ
С*
-д ! ь^^ш^пи
С1
1
Св1 А СВ2Л Сэ1 А Сэ2Л СМ
1 1 1 Детализация С1 ■ С1.1
V
Условные обозначения: С — контракт а — конъюнкция ® — композиция ■ — детализация
Рис. 3
На базе представленных выше перспективных методологий проектирования в области ВсС, СнК, ПА научным сообществом была сформулирована „киберфизическая парадигма проектирования" [6, 14]. Согласно ей традиционный „раздельный" маршрут заменяется интегрированным, кроссуровневым и параллельным (соёеБ1§п) проектированием. Такой переход базируется на ряде принципов. Предполагается в рамках единого проектного цикла охватить зону, покрываемую сегодня тремя указанными на рис. 1 сегментами ПА, ВсС и СнК, значительно расширив зону итерационных процессов проектирования. Для КФС предлагается создать новые гибридные модели, увязывающие параллельные непрерывные процессы физического мира с дискретными процессами вычислительно-коммуникационной платформы (ВКП). Это предполагает создание новых уровней абстракции в иерархии проектируемой КФС на базе соответствующих моделей вычислений и абстракций, унифицирующих механизмы и способы реализации ВКП. Реализация и контроль функциональных требований технического задания должны быть дополнены обеспечением нефункциональных требований с равным приоритетом на основе кроссуровневой аспектной модели проектного процесса и поддержаны в САПР. Степень использования традиционных шаблонов проектирования, принадлежащих соответствующим сегментам проектной деятельности, и число затрагиваемых уровней абстракции КФС должны выбираться с учетом конкретных характеристик создаваемого продукта.
Число работ по созданию уникальных КФС стремительно растет. В связи с этим усилия специалистов в области проектирования вычислительно-коммуникационной платформы направлены на развитие проблемно-ориентированных (АБГР) и реконфигурируемых [15] вычислительных архитектур, что, в свою очередь, требует включения в единый цикл проектирования все более высоких прикладных уровней общей решаемой задачи. Создание методов и инструментов индустриального проектирования КФС с использованием таких ВКП — важнейшая задача специалистов отрасли. Особо следует отметить необходимость выстраивания фактически нового учебного процесса по подготовке специалистов в области КФС в рамках всего 5—6-летнего цикла университетского образования [14].
1. Cyber-Physical Systems [Электронный ресурс]: <http://cyberphysicalsystems.org/>.
2. Платунов А. Е. Встраиваемые системы управления // Control Engineering Россия. 2013. Т. 43, № 1. C. 16—24.
3. Platunov A., Kustarev P. Problems of Abstract Representation of Embedded Systems at High-level Stages Design // Proc. of the Intern. Workshop on Networked embedded and control system technologies: European and Russian R&D cooperation. 2009. P. 100—107.
4. Platunov A., Nickolaenkov A., Penskoy A. Architectural representation of embedded systems // Mediter. Conf. on Embedded Computing (MECO). 2012. P. 80—83.
5. Lee E. A., Neuendorffer S., Wirthlin M. J. Actor-oriented design of embedded hardware and software systems // J. of Circuits, Systems and Computers. 2003. Vol. 12. P. 231—260. DOI: 10.1142/S0218126603000751.
6. Lee E. A. Cyber Physical Systems: Design Challenges // 11th IEEE Int. Symp. Object Component-Oriented RealTime Distrib. Comput. 2008. P. 363—369.
7. Sangiovanni-Vincentelli A. Quo vadis, SLD? Reasoning about the trends and challenges of system level design // Proc. IEEE. 2007. Vol. 95, N 3. P. 467—506.
8. Teich J. Hardware/software codesign: The past, the present, and predicting the future // Proc. IEEE. 2012. Vol. 100. P. 1411—1430. DOI: 10.1109/JPROC.2011.2182009.
9. Sangiovanni-Vincentelli A., Damm W., Passerone R. Taming Dr. Frankenstein: Contract-Based Design for Cyber-Physical Systems // Eur. J. Control. 2012. Vol. 18. P. 217—238.
10. ISO/IEC/IEEE 42010 Systems and software engineering — Architecture description. 2011. DOI: 10.1109/IEEESTD.2011.6129467
11. Platunov A., Kluchev A., and Penskoi A. HLD Methodology: The Role of Architectural Abstractions in Embedded Systems Design // 14th GeoConf. on Informatics, Geoinformatics and Remote Sensing. 2014. P. 209—218.
12. Пенской А. В. Архитектурное документирование встроенных систем с многоуровневой конфигурацией // Изв. вузов. Приборостроение. 2015. № 7. P. 527—532.
13. Platunov A., Nickolaenkov A. Aspects in the design of software-intensive systems // Mediter. Conf. on Embedded Computing (MECO). June 2012. P. 84—87.
14. A 21st Century Cyber-Physical Systems Education. National Academies Press, Washington, DC, 2016.
15. Платунов А. Е. Реконфигурируемые встраиваемые системы и системы на кристалле // Изв. вузов. Приборостроение. 2014. Т. 57, № 4. С. 49—52.
Ссылка для цитирования: Платунов А. Е., Яналов Р. И. Проектирование вычислительных платформ киберфизических систем // Изв. вузов. Приборостроение. 2017. Т. 60, № 10. С. 993—998.
СПИСОК ЛИТЕРАТУРЫ
Алексей Евгеньевич Платунов
Роман Игоревич Яналов
Сведения об авторах д-р техн. наук, профессор; Университет ИТМО; кафедра вычислительной техники; E-mail: platunov@cs.ifmo.ru ООО „ЛМТ"; инженер; E-mail: yanalov.roman@gmail.com
Рекомендована кафедрой вычислительной техники
Поступила в редакцию 03.07.17 г.
998
A. E. nmmynoe, P. H. Hnanoe
DESIGN OF COMPUTING PLATFORM FOR CYBER-PHYSICAL SYSTEMS
A. E. Platunov1, R. I. Yanalov 2
1ITMO University, 197101, St. Petersburg, Russia 2LMT Ltd., 199034, St. Petersburg, Russia E-mail: yanalov.roman@gmail.com
2
The problems of computational platforms design for cyber-physical systems are analyzed. The main progressive methods of system / architectural design of specialized computer facilities and automation are presented, which can form the basis of a complex methodology for designing new generation of cyber-physical systems. The definitions of the concepts "computing platform", "high-level design" of embedded systems and systems on a chip are given. The methodology and technology "Platform-oriented design", "Actor design", ESL-design, high-level synthesis of systems on a chip, "Contract-oriented design" in the context of creating embedded and cyber-physical systems are considered. The principles of the HLD methodology created and developed at the Department of Computation Technologies of ITMo University are presented.
Keywords: cyber-physical systems, embedded systems, system on chip, industrial automation, computing platforms, design methods
For citation: Platunov A. E., Yanalov R. I. Design of computing platform for cyber-physical systems. Journal of Instrument Engineering. 2017. Vol. 60, N 10. P. 993—998 (in Russian).
DOI: 10.17586/0021-3454- 2017-60-10-993-998
Alexey E. Platunov
Roman I. Yanalov
Data on authors
Dr. Sci, Professor; ITMO University, Department of Computation Technologies; E-mail: platunov@cs.ifmo.ru LMT Ltd., Engineer; E-mail: yanalov.roman@gmail.com