Институт в фотографиях

Научные и прикладные результаты тем. группы 16-1

2018 г.

Математическая модель алгоритма микроконтроллерной встраиваемой системы на основе модели гиперпроцесса

2018 fig1

Рис. 1. Схема организации гиперпроцесса

 

 

2018 fig2Рис. 2. Механизм взаимодействия гиперпроцессов

 

На базе выдвинутой гипотезе о возможности адаптации технологии процесс-ориентированного программирования к задаче создания встраиваемых систем (ВС) на основе микроконтроллерных платформ с открытой архитектурой (МПОА) и сформулированных требований к математической модели алгоритма, которая должна, во-первых, базироваться на базе модели гиперпроцесса, и, во-вторых, гомогенно описывать как высокоуровневых управляющих конструкции, так и процедуры обработки прерываний, была предложена математическая модель алгоритма управления ВС МПОА.

В предложенной модели алгоритм управления представляется как множество гиперпроцессов. Отдельный гиперпроцесс (рис. 1.) определяется множеством параллельных процессов с общим источником активации и выделенным начальным процессом.

Процесс представляет собой модифицированную модель конечного автомата и задается множеством функций состояний, начальным состоянием, текущим состоянием и временем с момента последнего перехода между состояниями.

Функция состояние, в свою очередь, задается множеством событий, множеством реакций, отображением, задающим связь реакций и событий, и временем тайм аута.

Как и в исходной модели гиперпроцесса функции состояния разделяются на активные и пассивные. Процесс имеет только две пассивные функции состояния – штатный «останов» и «останов по ошибке». Событие определяется как произвольная суперпозиция фактов о внешней среде и состоянии самой системы (ее переменных).

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

Набор возможных реакций расширен операциями запуска/останова гиперпроцесса (разрешением/запретом источника активации гиперпроцесса), рис. 2. 

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

Публикации

1. Liakh T. V., Rozov A. S., Zyubin V. E. Reflex Language: a Practical Notation for Cyber-Physical Systems // System Informatics, 2018. No. 12. P. 85–104.

2. Розов А. С. Транслятор языка "IndustrialC" версии 1.0 Свидетельство о государственной регистрации программы для ЭВМ № 2018617246, 21 июня 2018 г.

 


2017

Требования к языковым средствам описания и процедуре верификации управляющих алгоритмов

Проведен анализ текущей практики создания микроконтроллерных встраиваемых систем на базе микроконтроллерных платформ с открытой архитектурой (МПОА) [1], в особенности, линейки Arduino, привлекательными сокращением сроков разработки аппаратуры и надежностью, обеспечиваемой за счет серийного изготовления и доступности, имеющимся набором периферийных устройств (shields), в том числе плат расширения для связи по Ethernet и WiFi, компактностью, широким температурным диапазоном, низким энергопотреблением и дешевизной. Последнее обуславливает существенное смещение в трудозатратах при разработках встраиваемых систем на основе МПОА (ВС МПОА) в сторону затрат на создание программного обеспечения (ПО): затраты на создание ПО могут на несколько порядков превышать стоимость аппаратной части. Поэтому вопросы снижения трудоемкости программирования ВС МПОА активно дискутируются в профессиональном сообществе.

Доминирующий подход – использование объектно-ориентированного программирования (ООП) и так называемых операционных систем реального времени (RTOS). При этом основная проблема использования RTOS – тяжеловесность, что автоматически делает подход неприменимым для ВС МПОА на базе микроконтроллеров ATmega48/88/168 в силу отсутствия требуемого объема памяти и существенно ограничивает возможность его использования на более развитых моделях микроконтроллеров. Использование RTOS и ООП также затрудняют создание устойчивого (robust) ПО: необходимость обрабатывать события, поступающие от внутренней и внешней периферии микроконтроллера, вынуждает разработчиков решать возникающую при этом проблему параллелизма средствами «сложных низкоуровневых примитивов», что, как следствие, приводит к большому количеству плохо отслеживаемых и отлаживаемых ошибок в таких программах. Сложность вызывает не только процесс тестирования встраиваемых систем, при котором трудозатраты на регрессионное тестирование в сотни раз превышают трудозатраты на локализацию ошибки и исправление кода, но и обновление исправленных версий на оборудовании, которое, как правило, территориально распределено, размещается в труднодоступных местах и предполагает прошивку программного обеспечения только на территории изготовителя (то есть конструктивно не имеет штатных интерфейсов и не сопровождается программными средствами загрузки обновленного ПО).

Характерные для ВС МПОА проблемы, связанные с событийной (event driven) природой алгоритмов эффективно решаются за счет создания альтернативных ООП методик и инструментария, в первую очередь основанных на модификациях конечных автоматов. Наиболее продвинутая модификация модели конечного автомата – модель гиперпроцесса и технология процесс-ориентированного программирования (созданная в рамках выполнения НИР по тематике госзаданий Института) радикально расширяет понятийный аппарат конечного автомата и позволяет описывать такие свойства алгоритмов управления, как параллелизм, событийность и синхронизм. Модель гиперпроцесса поддержана языковыми и инструментальными средствами (язык процесс ориентированного программирования Reflex и его транслятор), которые при использовании в задачах промышленной автоматизации показывают высокую эффективность при описании сложных логически параллельных алгоритмов. Программная модель предполагает обработку входных/выходных сигналов в режиме round robin, а интерфейсы к УСО (в том числе, предполагающие обработку прерываний) инкапсулируются и абстрагируются через отдельно создаваемые системные библиотеки.

Такой подход оправдан в случае крупных проектов по автоматизации, в которых вычислительная платформа, как и номенклатура используемых УСО, практически неизменны, а основные усилия разработчиков направлены на создание управляющей логики (число взаимодействующих процессов в таких системах исчисляется сотнями). В случае микроконтроллерных встраиваемых систем ситуация иная: при том, что число параллельных процессов не так велико, от проекта к проекту существенно изменяется периферийное оборудование и используемые протоколы, при реализации которых активно используется механизм прерываний.

На основе проведенного анализа была выдвинута гипотеза о возможности адаптации технологии процесс-ориентированного программирования к задаче создания ВС МПОА и сформулированы требования к математической модели алгоритма, языковым средствам описания и процедуре верификации управляющих алгоритмов, реализуемых на МПОА, основные из которых это необходимость обеспечить:

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

Для предварительной проверки выдвинутой гипотезы была проведена эмпирическая апробация элементов предполагаемого подхода [2-3].

2017 fig1

Рис. 1. Унифицированный подход к обработке источников прерываний

Публикации

1. Розов А. С., Зюбин В. Е., Нефедов Д. В. Программирование встраиваемых микроконтроллерных систем на основе гиперпроцессов // Вестн. НГУ. Серия: информационные технологии. 2017. Т. 15, № 4. С. 64–73.

2. Краснов Д. В., Нефедов Д. В., Санжиев Е. С., Лях Т. В., Розов А. С. Практическая апробация процесс-ориентированной технологии программирования на открытых микроконтроллерных платформах // Вестник ВСГУТУ. 2017. Т. 66, вып. 3. С. 85–92.

3. Розов А. С., Лях Т. В., Краснов Д. В., Санжиев Е. С. Практическая апробация языка IndustrialC на примере автоматизации установки термовакуумного напыления // Вестн. НГУ. Серия: Информационные технологии. 2017. Т. 15, № 3. С. 90–99.

 


2015 г.

Способ верификации алгоритмов управления сложными техническими системами на базе подхода Model checking

2015 fig1

Рис. 1. Общая схема автоматической верификации управляющего алгоритма методом Model Checking

Предложен способ верификации алгоритмов управления сложными техническими системами на базе подхода Model checking (рис. 1). На основании технического задания на разработку (неформальная спецификация алгоритма и требований к нему) специфицируются алгоритм (на языке Рефлекс) и список формальных требований (язык темпоральной логики).


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


В качестве понятийного аппарата для спецификации тестов используется понятийный аппарат процесс-ориентированного программирования (модель гиперпроцесса), поддержанный как лингвистическими средствами (язык процесс-ориентированного программирования Рефлекс), так и инструментальными средствами (транслятор языка Рефлекс и IDE на основе редактора Notepad++). На тестовых задачах показано, что с помощью языка Reflex возможны кроме, собственно, спецификации алгоритмов управления, также и спецификации тестовых моделей. Штатные инструментальные средства обеспечивают автоматическое преобразование создаваемых спецификаций в исполняемый код, который в отличие от существующих методик, используемых в подходе Model checking, не требует дополнительных затрат на реализацию и отладку.

Публикации

1. Лях Т. В., Зюбин В. Е. Применение концепции виртуальных объектов управления для решения задач промышленной автоматизации // Ershov Informatics Conference: Workshop On Science Intensive Applied Software. June 24–27, 2014, St. Petersburg, Russia. Proceedings. P. 57–64.
2. Лях Т. В. Тестирование алгоритмов управления с помощью концепции ВОУ и формальных методов // Материалы 53-ой Международной научной студенческой конференции "Студент и научно-технический прогресс": Информационные технологии, Новосибирск, 11-17 апреля 2015. С. 114.

 


2016 г.

Процесс-ориентированная архитектура на базе графической оболочки LabVIEW

2016-fig1

Рис. 1. Экран оператора системы управления углоизмерительной машиной АЭ.1686

Предложена программная архитектура управляющей системы на базе графической оболочки LabVIEW, реализующей интерфейс оператора и взаимодействие с периферийными устройствами, в том числе мультимедийными, и событийно-управляемого алгоритмического блока (СУАБ), специфицируемого на процесс-ориентированном языке Рефлекс и интегрируемого как исполняемый dll-модуль штатными средствами LabVIEW. Взаимодействие модулей в системе производится через механизм сообщений, реализованный посредством очередей LabVIEW (queue). Обмен с СУАБ организован по четырем каналам: канал входных дискретных переменных, канал дискретных выходных переменных, канал входных сообщений и канал выходных сообщений. Единичное сообщение состоит из трех элементов: код сообщения, параметр сообщения и тег параметра. Дискретные входные-выходные переменные передаются как массивы. В качестве редактора используется Notepad++, расширенный конфигурационным файлом синтаксиса языка Рефлекс. Согласование констант между СУАБ и LabVIEW производится через VI-подпрограмму, разбирающую сгенерированный транслятором Рефлекс файл-описание констант. Команды оператора преобразуются в сообщения по событиям, через структуру event. Предложенный подход обеспечивает сокращение трудозатрат на реализацию сложных управляющих программ для научно-исследовательских и экспериментальных комплексов.

Произведена практическая апробация подхода на задаче создания системы управления углоизмерительной машиной АЭ.1686 (рис. 1). ПО системы управления углоизмерительной машиной АЭ.1686 архитектурно состоит из СУАБ и функционально-интерфейсного комплекса, реализуемого средствами LabVIEW. Функционально-интерфейсный комплекс включает графический интерфейс оператора, модуль взаимодействия с контроллером углоизмерительной машины (КУИМ), модуля взаимодействия с модулями сопряжения MOXA, модуля управления сервоприводами QLC и вычислительный модуль обработки результатов измерений. Для связи с имеющейся в составе USB-камерой используется библиотека OpenCV. В системе предусмотрены ведение журнала работы с возможностью просмотра, конфигурирование и калибровка, режим отладки и режим аварийного приведения машины в безопасное состояние. отладку.

Публикации

1. Лях Т. В, Зюбин В. Е. Верификация промышленных алгоритмов управления методом Model checking в сочетании с концепцией виртуальных объектов управления // Системная информатика, 2016, № 8, С. 11-20
2. Лях Т. В., Зюбин В. Е., Сизов. М. М. Опыт применения языка Reflex при автоматизации Большого солнечного вакуумного телескопа // Промышленные АСУ и контроллеры. 2016. № 7. С. 37-43.
3. Сизов. М. М., Зюбин В. Е., Лях Т. В., Медведев А. М., Семенов Ю. И. Использование языка Caph для обработки видеосигналов в системе автоматизации электронно-лучевой сварки // Промышленные АСУ и контроллеры. 2016. № 6. С. 38-43.

 


 

2014 г.

Способ отладки алгоритмов управления на основе механизма DLL и пакета LabVIEW

fig1 sm

Рис. 1. Структурная схема программного комплекса тестирования алгоритмов управления

 

BSVT sm

Татьяна Лях рядом с подсистемой вакуумирования Большого солнечного вакуумного телескопа (пос. Листвянка, Иркутская обл.) 

Предложен способ реализации отладки алгоритмов управления на основе механизма DLL и пакета LabVIEW. Способ предполагает, что сначала виртуальный объект управления (ВОУ) и отлаживаемый событийно-управляемый алгоритмический блок (СУАБ) описываются на языке Рефлекс, затем по этим описаниям генерируются исполняемые DLL-модули и конфигурационные файлы, а при запуске на исполнение специализированной оболочки, созданной средствами LabVIEW, производится настройка внутренних межмодульных связей и интерфейса оператора (рис. 1). Конфигурационные файлы содержат информацию об используемых сообщениях, спецификацию пользовательского отладочного интерфейса и переменных (соответственно, cnfg-файлы, dbg-файлы и test-файлы). Предложенный способ обеспечивает единообразное описание алгоритмов прикладного уровня на языке Рефлекс и бесшовную интеграцию их в программный комплекс тестирования.

Подход был использован при создании алгоритмов управления подсистемой вакуумирования Большого солнечного вакуумного телескопа (пос. Листвянка, Иркутская обл.). Созданные алгоритмы прошли тестирования разработанными средствами, а затем были внедрены в систему управления (QT, Linux). Использованная методика итерационной разработки управляющих алгоритмов позволила выявить ряд критических ошибок в программном обеспечении и сократила трудоемкость работ за счет переноса существенной части отладочных работ на территорию разработчика.

Публикации

1. Лях Т. В., Зюбин В. Е. Применение концепции виртуальных объектов управления для решения задач промышленной автоматизации // Ershov Informatics Conference: Workshop On Science Intensive Applied Software. June 24–27, 2014, St. Petersburg, Russia. Proceedings. P. 57–64.
2. Лях Т. В., Зюбин В. Е. Использование языка Рефлекс в системах управления на базе QT // XV Всероссийская конференция молодых ученых по математическому моделированию и информационным технологиям / г. Тюмень, 29-31 октября 2014. C. 69–70.
3. Лях Т. В., Сизов М. М. Распределенное тестирование алгоритмов управления с использованием концепции виртуальных объектов управления // Материалы 52-й Международной научной студенческой конференции. МНСК-2014: Информационные технологии / Новосиб. гос. ун-т. Новосибирск, 2014. С. 127.
4. Сизов М. М., Лях Т. В., Розов А. С. Разработка транслятора языка Reflex в язык описания аппаратуры VHDL // Материалы 52-й Международной научной студенческой конференции. МНСК-2014: Информационные технологии / Новосиб. гос. ун-т. Новосибирск, 2014. С. 136.
5. Розов А. С., Сизов М. М. Многослойный синтаксис для проблемно-ориентированных языков программирования // Инновационные технологии: теория, инструменты, практика (Innotech 2013) Материалы V Международной конференция молодых ученых, аспирантов, студентов / Издательство Пермского национального исследовательского политехнического университета, 2014. C. 17-21.
6. Сизов М. М. Создание IDE процесс-ориентированного языка с использованием специализированных средств разработки // Инновационные технологии: теория, инструменты, практика (Innotech 2013) Материалы V Международной конференция молодых ученых, аспирантов, студентов / Издательство Пермского национального исследовательского политехнического университета, 2014. C. 246-251.
7. Розов А. С. Оценка степени безопасности программ в специализированных языках программирования // XV Всероссийская конференция молодых ученых по математическому моделированию и информационным технологиям / г. Тюмень, 29-31 октября 2014. C. 77-78.