УДК 004.4'2 Дата подачи статьи: 25.12.15
DOI: 10.15827/0236-235X. 113.056-059
ОСОБЕННОСТИ ПРИМЕНЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ ВСТРОЕННЫХ СИСТЕМ ЖЕСТКОГО РЕАЛЬНОГО ВРЕМЕНИ
В.И. Аржаев, к.т.н., зав. отделением, [email protected]; А.В. Скворцов, к.т.н., зав. отделом, [email protected] (НИИ «Центрпрограммсистем», просп.. 50 лет Октября, 3а, г. Тверь, 170024, Россия)
Рассмотрены проблемы, возникающие в процессе объектно-ориентированной разработки функционального ПО встроенных систем реального времени. Сформулированы типы задач, которые требуют реализации на языках программирования и языках описания аппаратуры. Процессорные элементы гетерогенных вычислительных платформ характеризуются значительными объемами основной и внешней памяти, гибкостью реализуемых алгоритмов управления и форматов данных, в то время как элементы ядер, реализованные на языках описания аппаратуры, обеспечивают существенно большее быстродействие.
Предложены принципы декомпозиции функционального ПО для реализации на гетерогенной вычислительной платформе, заключающиеся в объединении в подсистемы объектов, имеющих близкие требования к времени реакции на события, соответствующие элементу аппаратной платформы. Описан пример их применения, в качестве которого рассмотрен процесс проектирования элемента системы управления технологическим процессом в реальном времени, имеющим ограничения в виде двух временных шкал. Описаны подсистема, работающая в миллисекундном цикле и программно реализованная в среде операционной системы реального времени, и подсистема микросекундного цикла, реализованная в программируемых логических блоках. Приведены диаграммы декомпозиции и состояний, а также временная диаграмма, описывающая загрузку основных ресурсов аппаратуры. Кроме этого, определены временные ограничения, которым должна удовлетворять программная подсистема. Применение описанных принципов декомпозиции на практике показало, что использование данного подхода позволяет обеспечить рациональное распределение нагрузки на элементы аппаратной платформы и обеспечить выполнение ограничений в работе программно-аппаратной системы, накладываемых требованием обеспечения режима работы жесткого реального времени.
Ключевые слова: распределенные встроенные системы реального времени, проектирование и разработка ПО, унифицированный язык визуального моделирования, UML, распределенная система управления, РСУ.
Постоянный рост требований к быстродействию управляющих воздействий в сложных многофункциональных системах вызывает необходимость применения в процессе разработки функционального ПО (ФПО) для встроенных систем на кристалле (ВСнК) гибридных методов объектно-ориентированного проектирования (ООП) и языков реализации этих систем, ориентированных на поддержку исполняемых моделей в нотации UML [1-4].
Одним из важнейших этапов ООП ФПО, обеспечивающего функционирование ВСнК в режиме реального времени (РВ), является оптимальная по определенным критериям декомпозиция предметной модели системы на взаимодействующие подсистемы [1, 5, 6]. В существующих методологиях в качестве критерия выделения подсистемы используется пространственная обособленность некоторого множества объектов от остальной части проектируемой системы [2, 3]. В настоящее время при создании ВСнК РВ все большее применение находят решения на основе гетерогенных вычислительных платформ, включающих процессорный компонент с различной архитектурой набора команд, с поддержкой вычислений с фиксированной или плавающей запятой и беспроцессорный компонент интеллектуальных функциональных ядер перепрограммируемой логики.
Процессорные элементы гетерогенных вычислительных платформ характеризуются значитель-
ными объемами основной и внешней памяти, гибкостью реализуемых алгоритмов управления и форматов данных. Элементы ядер обеспечивают существенно большее быстродействие, разно -образные внешние интерфейсы, обладают сопоставимыми с программируемыми процессорами возможностями адаптации алгоритмов работы к изменяющимся требованиям в процессе функционирования.
В связи с этим при проектировании ФПО РВ актуальность решения задачи декомпозиции на подсистемы, реализуемые программно на процессорных компонентах и на конфигурируемых аппаратных ядрах, очевидна.
Следует учитывать, что подсистемы, реализуемые на языках описания аппаратных средств (HDL), характеризуются низким и практически постоянным временем отклика. В то же время они имеют ограниченные ресурсы по реализации сложных аналитических алгоритмов обработки данных (см., например, [7, 8]).
Таким образом, сильно связанные объекты, выполняющие задачи принятия решения и управления, потребляющие большие объемы оперативной памяти с требуемым временем реакции, достижимым под управлением ОС РВ, целесообразно выделять в программную подсистему в кодах на языках высокого и низкоуровневого программирования, имплементация которой возлагается на процессор, а объекты, решающие критичные по времени вы-
числительно сложные задачи (например, цифровая обработка сигналов), выделять в «аппаратную» подсистему, реализуемую на языках HDL в логических блоках ВСнК.
При использовании гетерогенной вычислительной платформы в качестве критериев декомпозиции ФПО на программную и аппаратную подсистемы в процессе ООП следует выбрать требуемое время реакции подсистемы на события, а также требуемую скорость и точность вычислений.
Рассмотрим вариант применения критериев декомпозиции при проектировании распределенной системы управления технологическим процессом (ТП) РВ, представленной на рисунке 1.
Подсистема формирования задач управления (ПФЗУ) периодически формирует блоки данных заданий для подсистемы формирования сигналов управления (ПФСУ), являющейся объектом проектирования. При этом ПФЗУ использует модели функционирования объекта управления, которым является ТП РВ, а формируемые задачи сформулированы в параметрах и величинах предметной области. Во временной области функциональные задачи привязаны к единому времени, которое отсчи-тывается по двум синхронизированным шкалам: Т с периодом порядка единиц миллисекунд (формирование заданий управления) и Б с периодом порядка единиц микросекунд (формирование управляющих сигналов для ТП РВ).
ПФСУ является встроенной вычислительной системой, пространственно отдаленной от ПФЗУ и ТП РВ. Аппаратные средства ВСнК включают в себя универсальные 32-разрядные целочисленные ККС-процессоры средней мощности и блоки программируемой логики.
Поступающие в соответствии с синхронизирующими импульсами шкалы Т задания управления подвергаются дополнительной обработке, заключающейся в формировании последовательностей управляющих сигналов на основе параметров задания. Данный этап
должен быть завершен до поступления следующего импульса шкалы времени T. Поскольку время обработки одного задания на имеющихся аппаратных средствах сопоставимо с длительностью периода синхросигнала шкалы T, время реакции на поступление задания от ПФЗУ должно быть на порядок меньше этого периода и составлять сотни микросекунд. Последовательности управляющих сигналов выдаются ТП РВ в соответствии с импульсами синхросигнала шкалы D. Таким образом, время реакции ПФСУ на импульсы синхронизации D должно быть на порядок меньше периода данной шкалы, то есть составлять не более сотен наносекунд.
В качестве критерия декомпозиции проектируемого элемента на программную и аппаратную подсистемы используется требуемое время реакции на события, которыми являются фронты синхросигналов временных шкал T и D.
Подсистема элемента ПФСУ, реализуемая как программа для процессорного ядра, функционирует под управлением ОС РВ на основе Linux; задачи, использующие дисциплину планирования FIFO, под ее управлением обладают временем отклика от нескольких десятков до нескольких сотен микросекунд. Таким образом, программный компонент использует только синхросигналы шкалы T. Результат выполнения декомпозиции ПФСУ на компоненты формирования управляющих последовательностей (ФУП) и выдачи управляющих последовательностей (ВУП) приведен на рисунке 2.
Компонент ФУП включает в себя активный объект «Формирователь», который исполняется как задача с низким приоритетом и осуществляет формирование массивов управляющих сигналов, соответствующих поступающим от ПФЗУ заданиям. Активный объект «Планировщик», в свою
Рис. 2. Диаграмма ПФСУ
Fig. 2. A control signal generation subsystem diagram
Рис. 1. Система управления ТП РВ Fig. 1. Control system for a real-time technological processes
очередь, исполняется как задача с высоким приоритетом и осуществляет передачу аппаратным средствам массивов управляющих сигналов в течение периода синхросигнала шкалы Т, предшествующего периоду исполнения управления.
Компонент ВУП состоит из двойного буфера, каждая часть которого хранит массив управляющих сигналов на один период шкалы Т, и активного объекта «Автомат выдачи», представляющего собой конечный автомат, диаграмма состояний которого приведена на рисунке 3.
T[B1 пуст]
T [B1 не пуст]
С
W1
D / Выдача сигнала управления
I
С
T [B2 пуст]
W2
S2
T [B2 не пуст]
D / Выдача сигнала управления
T [B2 не пуст]
V2
хи
С
Рис. 3. Диаграмма состояний автомата выдачи управляющих сигналов
Fig. 3. The diagram of control signals dispenser states
Событиями, вызывающими изменения состояния автомата, являются синхросигналы шкал Т и Б, а дополнительными условиями - состояния частей двойного буфера.
Обобщенные состояния 51 и £2 связаны с использованием в работе соответственно первой и второй половин двойного буфера управляющих сигналов. Состояния и Ш2 связаны с ожиданием поступления данных от компонента ФУП, а
состояния V1 и V2 - с последовательной выдачей управляющих сигналов ТП РВ под управлением синхронизирующих импульсов шкалы D.
На рисунке 4 изображена временная диаграмма функционирования ПФСУ. Параллельное выполнение активных объектов подсистемы обеспечивает совмещение по времени различных стадий обработки поступающих задач управления и режим работы подсистемы, аналогичный вычислительному конвейеру.
Интервал шкалы T от импульса 2 до 3 характеризуется максимальным использованием ресурсов встроенной вычислительной системы. В течение этого периода высокоприоритетный «Планировщик» инициирует передачу аппаратным средствам массива управляющих сигналов З2, сформированного в предыдущем периоде. При этом фактическую запись управляющих последовательностей в свободную часть двойного буфера компонента ВУП производит контроллер прямого доступа к памяти (DMA), что освобождает процессор для работы низкоприоритетного «Формирователя» на большую часть периода. Одновременно автомат выдачи компонента ВУП осуществляет исполнение управляющей последовательности 3i, сформированной в течение периода 0 и записанной в соответствующую часть буфера в течение периода 1. При планировании задач формирователя и планировщика в ОС РВ с использованием алгоритма монотонных частот условие выполнения временных ограничений системой определяется теоремой о верхней границе использования процессора [9, 10]:
s+С < 2 f 212 -1)
Т Т \ !
< 2 ^2/2 -1| =0,828, где Сф - время выполнения одного цикла задачи формирователя (обработки одного задания); Сп - время выполнения одного цикла задачи планировщика (выдачи аппаратным средствам одной управляющей последовательности); Т - период синхросигнала шкалы Т.
Предлагаемый метод декомпозиции ФПО ВСнК позволяет успешно реализовать требования режима реального времени при управлении многофункциональными системами.
T
T
Литература
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/view-doc/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/f7/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.
DOI: 10.15827/0236-235X. 113.056-059 Received 25.12.15
APPLICATION FEATURES OF OBJECT-ORIENTED DESIGN FOR HARD REAL TIME EMBEDDED SYSTEMS Arzhaev V.I., Ph.D. (Engineering), Branch Manager, [email protected];
Skvortsov A. V., Ph.D. (Engineering), Head of Department, [email protected] (R&D Institute Centerprogramsystem, 50 let Oktyabrya Ave. 3a, Tver, 170024, Russian Federation)
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 heterogeneous 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.
Keywords: distributed real-time embedded systems, software design and programming, unified modeling language, UML, distributed control system, DCS.
References
1. Skvortsov A.V., Arzhaev V.I. Programmnyeprodukty, sistemy ialgoritmy [Software, Systems and Algorithms]. 2014, no. 1. Available at: http://swsys-web.ru/model-driven-development-of-applications-for-distributed-systems.html (accessed December 20, 2015) (in Russ.).
2. Gomaa H. Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley, Boston, 2000.
3. Douglas B.P. Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison Wesley Publ., 2002, 528 p.
4. Gomaa H. Designing Real-Time applications with the COMET/UML method. Available at: http://citese-erx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.6953&rep=rep1&type=pdf (accessed December 20, 2015).
5. Gamma E., Helm R., Johnson R., Vlissides J., Booch G. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Prof. Publ., 1994, 395 p. (Russ. ed.: St. Petersburg, Piter Publ., 2012).
6. Selic B., Gullekson G., Ward P. Real-Time Object-Oriented Modelling. New_York, John Wiley & Sons Publ., 1994, 525 p.
7. Yang J., Ma L. Early stage real-time SoC power estimation using RTL instrumentation. IEEE Design Automation Conference (ASP-DAC). 2015.
8. Balandin N., Krapivny A. Using RMS planning algorithm in microcontrollers. Sovremennaya elektronika [Modern Electronics]. Moscow, STA-PRESS, 2011, no. 1. Available at: http://www.soel.ru/cms/f/?/436780.pdf (accessed December 20, 2015) (in Russ.).
9. Sha L., Goodenough J.B. "Real-Time Scheduling Theory and Ada " CMU/SEI-89-TR-14. Software Engineering Institute, Pittsburgh, Pa. Available at: http://www.sei.cmu.edu/reports/88tr033.pdf (accessed December 20, 2015).
10. van Tilborg A.M., Koob G.M. Foundations of Real-Time Computing: Scheduling and Resource Management. Springer Publ., 1991.