От беспилотных летательных аппаратов до автомобилей – генерация кода для встроенных приложений, критичных с точки зрения безопасности

От беспилотных летательных аппаратов до автомобилей – генерация кода для встроенных приложений, критичных с точки зрения безопасности

Разработка проектов из сферы интернета вещей (IoT – Internet of Things) является сложной задачей, идёт ли речь об автомобиле с автопилотом, интерфейсе пользователя для мультимедийной системы автомобиля или о целом предприятии, подключенном к интернету. Программное обеспечение всех этих объектов содержит тысячи (если не миллионы) строк кода. При этом многие проекты касаются задач, критичных с точки зрения нормальной работы объекта или с точки зрения безопасности. Ввиду этого разработчики должны быть на 100% уверены, что программное обеспечение, управляющее этими объектами, будет работать как положено.

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

Большинство разработчиков программного обеспечения, критичного с точки зрения безопасности, с которыми я общался, решают возникающие сложности с помощью модельно-ориентированного метода разработки программного обеспечения (MBD – model-based design).  Ключевым аспектом данного метода является взаимодействие разработчика с моделями встроенного приложения и всей системы, представленными в наглядной графической форме. Недавно я провёл вебинар на эту тему, материалы вебинара доступны по этой ссылке.
Использование модели при разработке приложения позволяет лучше понять особенности работы, решить задачи системного моделирования и повысить характеристики разрабатываемого объекта. Кроме того, работу объекта можно увязать со специфическими требованиями, выдвинутыми заказчиками. Наконец, использование модели позволяет автоматически сгенерировать код встраиваемого приложения без необходимости ручного написания кода.


Печать   Электронная почта