На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
17 Июня 2024

Особенности применения объектно-ориентированного проектирования встроенных систем жесткого реального времени

Application features of object-oriented design for hard real time embedded systems
Дата подачи статьи: 25.12.2015
УДК: 004.4’2
Статья опубликована в выпуске журнала № 1 за 2016 год. [ на стр. 56-59 ]
Аннотация:Рассмотрены проблемы, возникающие в процессе объектно-ориентированной разработки функционального ПО встроенных систем реального времени. Сформулированы типы задач, которые требуют реализации на языках программирования и языках описания аппаратуры. Процессорные элементы гетерогенных вычислительных платформ характеризуются значительными объемами основной и внешней памяти, гибкостью реализуемых алгоритмов управления и форматов данных, в то время как элементы ядер, реализованные на языках описания аппаратуры, обеспечивают существенно большее быстродействие. Предложены принципы декомпозиции функционального ПО для реализации на гетерогенной вычислительной платформе, заключающиеся в объединении в подсистемы объектов, имеющих близкие требования к времени реакции на события, соответствующие элементу аппаратной платформы. Описан пример их применения, в качестве которого рассмотрен процесс проектирования элемента системы управления технологическим процессом в реальном времени, имеющим ограничения в виде двух временных шкал. Описаны подсистема, работающая в миллисекундном цикле и программно реализованная в среде операционной системы реального времени, и подсистема микросекундного цикла, реализованная в программируемых логических блоках. Приведены диаграммы декомпозиции и состояний, а также временная диаграмма, описывающая загрузку основных ресурсов аппаратуры. Кроме этого, определены временные ограничения, которым должна удовлетворять программная подсистема. Применение описанных принципов декомпозиции на практике показало, что использование данного подхода позволяет обеспечить рациональное распределение нагрузки на элементы аппаратной платформы и обеспечить выполнение ограничений в работе программно-аппаратной системы, накладываемых требованием обеспечения режима работы жесткого реального времени.
Abstract:The article considers the problems of object-oriented software development of embedded real-time systems. It also discusses the problems that require implementation using programming languages and hardware description languages. A particular feature of processing elements of heterogeneous computing platforms is a significant volume of main and external memory, as well as flexibility of implemented control algorithms and data formats. At the same time, kernel elements implemented in hardware description languages provide greater speed. The paper suggests the principles of a functional software decomposition for the purposes of implementation on a hetero-geneous computing platform. They bring together objects with similar requirements for events response time in subsystems. The events are relevant to an element of a hardware platform. The paper describes an example of their application, which includes an element design process of a real-time technological process control system that have limitations in two time scales. The paper describes the subsystem operating in a millisecond cycle. It is implemented as the software component for a Linux-based RTOS environment. There also is a microsecond cycle subsystem implemented in FPGA. The paper presents a decomposition diagram and a diagram of conditions, as well as a timing chart describing the basic resource loading equipment. In addition, the paper defines the time limit for the software subsystem. As a result, practical application of the described RTES decomposition principles shown that this approach allows a reasonable distribution of loads on a hardware platform and enforces restrictions in hardware and software parts of the system imposed by the requirement of a hard real-time operation mode.
Авторы: Аржаев В.И. (arzhaeVI@cps.tver.ru) - НИИ «Центрпрограммсистем» (зав. отделением), Тверь, Россия, кандидат технических наук, Скворцов А.В. (skvortsovAV@cps.tver.ru) - НИИ «Центрпрограммсистем» (зав. отделом), Тверь, Россия, кандидат технических наук
Ключевые слова: рсу, распределенная система управления, uml, унифицированный язык визуального моделирования, проектирование и разработка по, распределенные встроенные системы реального времени
Keywords: dcs, distributed control system, uml, unified modeling language, software design and programming, distributed real-time embedded systems
Количество просмотров: 5738
Версия для печати
Выпуск в формате PDF (8.31Мб)
Скачать обложку в формате PDF (1.24Мб)

Размер шрифта:       Шрифт:

Постоянный рост требований к быстродействию управляющих воздействий в сложных многофункциональных системах вызывает необходимость применения в процессе разработки функционального ПО (ФПО) для встроенных систем на кристалле (ВСнК) гибридных методов объект- но-ориентированного проектирования (ООП) и языков реализации этих систем, ориентирован- ных на поддержку исполняемых моделей в нота- ции UML [1–4].

Одним из важнейших этапов ООП ФПО, обеспечивающего функционирование ВСнК в режиме реального времени (РВ), является оптимальная по определенным критериям декомпозиция предметной модели системы на взаимодействующие подсистемы [1, 5, 6]. В существующих методологиях в качестве критерия выделения подсистемы используется пространственная обособленность некоторого множества объектов от остальной части проектируемой системы [2, 3]. В настоящее время при создании ВСнК РВ все большее применение находят решения на основе гетерогенных вычислительных платформ, включающих процессорный компонент с различной архитектурой набора команд, с поддержкой вычислений с фиксированной или плавающей запятой и беспроцессорный компонент интеллектуальных функциональных ядер перепрограммируемой логики.

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

В связи с этим при проектировании ФПО РВ актуальность решения задачи декомпозиции на подсистемы, реализуемые программно на процессорных компонентах и на конфигурируемых аппаратных ядрах, очевидна.

Следует учитывать, что подсистемы, реализуемые на языках описания аппаратных средств (HDL), характеризуются низким и практически постоянным временем отклика. В то же время они имеют ограниченные ресурсы по реализации сложных аналитических алгоритмов обработки данных (см., например, [7, 8]).

Таким образом, сильно связанные объекты, выполняющие задачи принятия решения и управления, потребляющие большие объемы оперативной памяти с требуемым временем реакции, достижимым под управлением ОС РВ, целесообразно выделять в программную подсистему в кодах на языках высокого и низкоуровневого программирования, имплементация которой возлагается на процессор, а объекты, решающие критичные по времени вы- числительно сложные задачи (например, цифровая обработка сигналов), выделять в «аппаратную» подсистему, реализуемую на языках HDL в логических блоках ВСнК.

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

Рассмотрим вариант применения критериев декомпозиции при проектировании распределенной системы управления технологическим процессом (ТП) РВ, представленной на рисунке 1.

Подсистема формирования задач управления (ПФЗУ) периодически формирует блоки данных заданий для подсистемы формирования сигналов управления (ПФСУ), являющейся объектом проектирования. При этом ПФЗУ использует модели функционирования объекта управления, которым является ТП РВ, а формируемые задачи сформулированы в параметрах и величинах предметной области. Во временной области функциональные задачи привязаны к единому времени, которое отсчитывается по двум синхронизированным шкалам: T с периодом порядка единиц миллисекунд (формирование заданий управления) и D с периодом порядка единиц микросекунд (формирование управляющих сигналов для ТП РВ).

ПФСУ является встроенной вычислительной системой, пространственно отдаленной от ПФЗУ и ТП РВ. Аппаратные средства ВСнК включают в себя универсальные 32-разрядные целочисленные RISC-процессоры средней мощности и блоки программируемой логики.

Поступающие в соответствии с синхронизирующими импульса- ми шкалы T задания управления подвергаются дополнительной об- работке, заключающейся в формировании последовательностей управляющих сигналов на основе па- раметров задания. Данный этап должен быть завершен до поступления следую- щего импульса шкалы времени T. Поскольку время обработки одного задания на имеющихся аппаратных средствах сопоставимо с длительностью пе- риода синхросигнала шкалы T, время реакции на поступление задания от ПФЗУ должно быть на порядок меньше этого периода и составлять сотни микросекунд. Последовательности управляющих сигналов выдаются ТП РВ в соответствии с импульсами синхросигнала шкалы D. Таким образом, время реакции ПФСУ на импульсы синхронизации D должно быть на порядок меньше периода данной шкалы, то есть составлять не более сотен нано- секунд.

В качестве критерия декомпозиции проектируемого элемента на программную и аппаратную подсистемы используется требуемое время реакции на события, которыми являются фронты синхро- сигналов временных шкал T и D.

Подсистема элемента ПФСУ, реализуемая как программа для процессорного ядра, функционирует под управлением ОС РВ на основе Linux; задачи, использующие дисциплину планирования FIFO, под ее управлением обладают временем отклика от нескольких десятков до нескольких сотен микро- секунд. Таким образом, программный компонент использует только синхросигналы шкалы T. Результат выполнения декомпозиции ПФСУ на компоненты формирования управляющих последовательностей (ФУП) и выдачи управляющих последовательностей (ВУП) приведен на рисунке 2.

Компонент ФУП включает в себя активный объект «Формирователь», который исполняется как задача с низким приоритетом и осуществляет формирование массивов управляющих сигналов, соответствующих поступающим от ПФЗУ зада- ниям. Активный объект «Планировщик», в свою очередь, исполняется как задача с высоким прио- ритетом и осуществляет передачу аппаратным средствам массивов управляющих сигналов в течение периода синхросигнала шкалы T, предшествующего периоду исполнения управления.

Компонент ВУП состоит из двойного буфера, каждая часть которого хранит массив управляющих сигналов на один период шкалы T, и активного объекта «Автомат выдачи», представляющего собой конечный автомат, диаграмма состояний которого приведена на рисунке 3.

Событиями, вызывающими изменения состояния автомата, являются синхросигналы шкал T и D, а дополнительными условиями – состояния частей двойного буфера.

Обобщенные состояния S1 и S2 связаны с использованием в работе соответственно первой и второй половин двойного буфера управляющих сигналов. Состояния W1 и W2 связаны с ожиданием поступления данных от компонента ФУП, а состояния V1 и V2 – с последовательной выдачей управляющих сигналов ТП РВ под управлением синхронизирующих импульсов шкалы D.

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

Интервал шкалы T от импульса 2 до 3 характеризуется максимальным использованием ресурсов встроенной вычислительной системы. В течение этого периода высокоприоритетный «Планировщик» инициирует передачу аппаратным средствам массива управляющих сигналов З2, сформированного в предыдущем периоде. При этом фактическую запись управляющих последовательностей в свободную часть двойного буфера компонента ВУП производит контроллер прямого доступа к памяти (DMA), что освобождает процессор для работы низкоприоритетного «Формирователя» на большую часть периода. Одновременно автомат выдачи компонента ВУП осуществляет исполнение управляющей последовательности З1, сформированной в течение периода 0 и записанной в соответствующую часть буфера в течение периода 1. При планировании задач формирователя и планировщика в ОС РВ с использованием алгоритма монотонных частот условие выполнения временных ограничений системой определяется теоремой о верхней границе использования процессора [9, 10]: , где Сф – время выполнения одного цикла задачи формирователя (обработки одного задания); Сп – время выполнения одного цикла задачи планировщика (выдачи аппаратным средствам одной управляющей последовательности); Т – период синхросигнала шкалы Т.

Предлагаемый метод декомпозиции ФПО ВСнК позволяет успешно реализовать требования режима реального времени при управлении многофункциональными системами.

Литература

1.     Скворцов А.В., Аржаев В.И. Управляемая моделями разработка приложений для распределенных встроенных систем реального времени // Программные продукты, системы и алгоритмы. 2014. № 1. URL: http://swsys-web.ru/model-driven-development-of-applications-for-distributed-systems.html (дата обращения: 20.12.2015).

2.     Гома Х. UML. Проектирование систем реального времени, параллельных и распределенных приложений. М.: ДМК Пресс, 2011. 700 с.

3.     Douglass B.P. Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. USA, Addison Wesley, 2002, 528 p.

4.     Gomaa H. Designing Real-Time applications with the COMET/UML method. URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.6953&rep=rep1&type=pdf (дата обращения: 20.12.2015).

5.     Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб: Питер, 2001. 344 с.

6.     Selic B., Gullekson G. and Ward P.T. Real-Time Object-Oriented Modelling. NY, John Wiley & Sons, 1994, 525 p.

7.     Yang J., Ma L. Early stage real-time SoC power estimation using RTL instrumentation. IEEE Design Automation Conf. (ASP-DAC), 2015, DOI: 10.1109/ASPDAC.2015.7059105.

8.     Баландин Н., Крапивный А. Использование алгоритма планирования RMS в микроконтроллерах // Современная электроника. 2011. № 1. URL: http://www.soel.ru/cms/f/?/436780.pdf (дата обращения: 20.12.2015).

9.     Sha L., Goodenough J.B. Real-Time Scheduling Theory and Ada. URL: http://www.sei.cmu.edu/reports/88tr033.pdf (дата обращения: 20.12.2015).

10.  van Tilborg A.M., Koob G.M. Foundations of Real-Time Computing: Scheduling and Resource Management, Springer; 1991, 326 p.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=4110&lang=
Версия для печати
Выпуск в формате PDF (8.31Мб)
Скачать обложку в формате PDF (1.24Мб)
Статья опубликована в выпуске журнала № 1 за 2016 год. [ на стр. 56-59 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик: