УСТРОЙСТВО ПРЕОБРАЗОВАНИЯ ТЕКСТОВОГО ПРЕДСТАВЛЕНИЯ ЗАКОНОВ УПРАВЛЕНИЯ В ПРОГРАММУ, ЗАДАННУЮ В ИСПОЛНЯЕМЫХ МАШИННЫХ КОДАХ

Полезная модель относится к области обработки информации с помощью электронно-вычислительных устройств, в частности, лексическому, семантическому и синтаксическому анализу формальных языков и генерации кода, а также к области систем управления ответственных применений и специального назначения, в частности, в области ракетно-космической техники. Смысл подобных моделей заключается в реализации концепции синтаксически-ориентированной обработки предложений входного языка, близкого к пониманию человеком, и преобразования их в предложения некоторого другого, исполняемого машинного языка, предназначенного для задания программ работы цифровых систем управления.
Известны различные способы процесса преобразования формальных правил в операторы машинного языка, например: в [1] приведен способ построения компилятора для языка Оберон-0; в [2] приведен способ построения компилятора для языка Паскаль. Подобные способы предназначены для преобразования в исполняемые коды вычислительных устройств текстов записанных на языках программирования общего назначения.
Редактор языка Дракон [3] - пакет, включающий в себя также и транслятор с графического языка Дракон [4] в языки программирования общего назначения, такие как Си, Си++ и т.д., - является наиболее близким аналогом к заявленной полезной модели и выбран в качестве прототипа.
Известный прототип обеспечивает преобразование набора графических элементов, объединенных связями, в программы под ОС общего назначения, такие как Windows, Linux, на различных процедурных и объектных языках, состоящих из сложных структур данных или объектов, описывающих графические элементы языка Дракон, и функций, манипулирующих указанными структурами данных или объектами и в процессе указанного манипулирования выполняющие заданную на языке Дракон программу.
Недостатком известного прототипа является невозможность обеспечить преобразование законов управления, заданных в формализованном текстовом виде на языке ADL[5], ориентированном на представление логико-временных систем уравнений, описывающих законы функционирования систем управления ракетно-космической техники, описание алгоритмов на котором позволяет повысить надежность функционирования, разрабатываемого программного обеспечения, и снизить сроки разработки, по сравнению с использованием языков общего назначения, в процедурный язык программирования Си.
Задачей, на решение которой направлена заявленная полезная модель, является устранение указанного недостатка, за счет внедрения возможности осуществления процесса преобразования законов управления, заданных в текстовом виде на языке ADL, в текст программы, записанный на процедурном языке программирования Си, которая не имеет зависимой от операционной системы части, и может выполняться на любой целевой платформе, под которую существует компилятор языка Си.
Техническим результатом полезной модели является повышение надежности функционирования, разрабатываемого программного обеспечения для систем управления со сложным поведением, а так же снижение сроков разработки программного обеспечения, за счет добавления возможности задания алгоритмов управления в формализованном текстовом виде на языке ADL, ориентированном на представление логико-временных систем уравнений, и их преобразования в процедурный язык Си.
Для достижения указанного технического результата введены: блок компиляции текстов на языке Си в исполняемый код для цифрового вычислительного устройства (ЦВУ) системы управления (СУ), центральный процессор, интерфейс ввода формальных выражений, устройство диагностирования работы, запоминающее устройство, выходной адаптер интерфейса, цифровое вычислительное устройство системы управления. Кроме этого, для обеспечения возможности преобразования законов управления, заданных в формализованном текстовом виде на языке ADL, графический редактор схем был заменен на блоки структуризации входных данных, выделения структурно-значимых единиц текста, обработки расширений формальных правил, распознавания структуры входной цепочки языка ADL.
Сущность полезной модели заключается в решении задач преобразования законов управления, записанных в простом формализованном текстовом виде на языке ADL, ориентированном на представление логико-временных систем уравнений в виде текста программ на языке Си, и обеспечении выполнения заданного закона управления в цифровой вычислительной системе, входящей в аппаратуру системы управления. Устройство, приведенное на фигуре 1, представляет собой техническую систему, состоящую из: интерфейса ввода формальных выражений 101, описывающих закон управления, центрального процессора 112, обеспечивающего управление работой блоков устройства, блока структуризации входных данных 103, блока выделения структурно значимых единиц текста 104, блока обработки расширений формальных правил 105, блока распознавания структуры входных цепочек 106, блока контроля диапазона входных параметров 107, блока формирования структуры управляющего алгоритма 108, блока формирования текстов на языке Си 109, блока компиляции текстов на языке Си в исполняемый код для ЦВУ СУ 102, выходного адаптера интерфейса ПО, цифрового вычислительного устройства системы управления 111, запоминающего устройства 113, устройства диагностирования работы 114.
Интерфейс ввода формальных выражений 101 представляет собой стандартную клавиатуру.
Блок структуризации входных данных 103 выполнен с возможностью структуризации входного потока байт.
Блок выделения структурно-значимых единиц текста 104 выполнен с возможностью предварительной обработки входного текста и выделения в нем лексем.
Блок обработки расширений формальных правил 105 выполнен с возможностью первичной обработки входного потока информации.
Блок распознавания структуры входных цепочек 106 выполнен с возможностью определения принадлежности структуры входной цепочки множеству правил, составляющих грамматику входного языка задания алгоритма управления - языка ADL.
Блок контроля диапазона входных параметров 107 выполнен с возможностью определения принадлежности входных данных допустимым диапазонам.
Блок формирования структуры управляющего алгоритма 108 выполнен с возможностью создания в запоминающем устройстве 113 древовидной структуры данных, хранящей в себе всю необходимую информацию, полученную из формальных правил задания алгоритма управления, необходимую для формирования промежуточного представления.
Блок компиляции текстов на языке Си в исполняемый код для ЦВУ СУ 102 осуществляет управляемую центральным процессором 112 генерацию исполняемых машинных кодов для последующего их выполнения в цифровом вычислительном устройстве системы управления 111.
Выходной адаптер интерфейса ПО обеспечивает кодовый интерфейс связи с цифровым вычислительным устройством системы управления 111, функционирующим в составе аппаратуры систем управления, и обеспечивающим выполнение заданного алгоритма управления.
Цифровое вычислительное устройство системы управления 111 представляет собой специализированное цифровое вычислительное устройство, обеспечивающее выполнение алгоритма управления.
Центральный процессор 112 представляет собой устройство, отвечающее за порядок и выполнение переноса информации из интерфейса ввода формальных выражений 101 в цифровое вычислительное устройство системы управления 111 через используемые блоки устройства.
Запоминающее устройство 113 представляет собой стандартный накопитель на магнитных дисках или энергозависимую полупроводниковую память.
Устройство диагностирования работы 114 представляет собой стандартный монитор, на котором центральный вычислительный процессор отображает результаты функционирования устройства.
Устройство преобразования текстового представления законов управления в программу, заданную в исполняемых машинных кодах работает следующим образом.
Через интерфейс ввода формальных выражений 101, описывающих закон управления, оператор вводит последовательность правил функционирования алгоритма управления, согласно требованиям, предъявленным к СУ, и в соответствии со спецификацией специализированного функционально-ориентированных языка ADL, адаптированного для описания логико-временных законов управления. Центральный процессор 112 обеспечивает поступление введенной информации на вход блока структуризации входных данных 103 в виде неструктурированной последовательности байт. Блок 103 осуществляет преобразование неструктурированного потока байт в цепочку синтаксически неделимых последовательностей, поступающую на вход блока 104. В блоке 104 осуществляется выделение из входного потока структурно значимых единиц и их передача в блок 105. В блоке 105 происходит обработка расширенной спецификации формальных правил задания алгоритма управления, и приведение к последовательности, соответствующей множеству синтаксических правил, обрабатываемых блоком 106. Далее в блоке 106 происходит определение принадлежности структуры входной цепочки множеству правил, составляющих грамматику входного языка задания алгоритма управления. В случае если одна или несколько входных цепочек не соответствует ни одному из множества правил, на устройство диагностирования работы 114 выводится текстовая информация о возникшей ошибке с указанием места, в котором она возникла. В блоке 107 осуществляется контроль различных параметров на соответствие семантически допустимым значениям. Если какой-либо параметр выходит за диапазон допустимых значений, на устройство диагностирования работы 114 выводится неверный параметр и диапазон, к которому он должен принадлежать. Если ошибок не возникло, в блоке 108, по набору правил, распознанных блоком 106, осуществляется построение структуры управляющего алгоритма и ее сохранение в запоминающем устройстве 113. Далее блок 109, используя структуру данных, размещенную в запоминающем устройстве 113, формирует тексты на языке Си, описывающие введенный алгоритм управления. На заключительной стадии в блоке 102 формируются операторы целевой машины из имеющегося промежуточного представления, которые через выходной адаптер интерфейса 110 вводится в цифровое вычислительное устройство системы управления 111, в котором осуществляется непосредственное выполнение исполняемых кодов, реализующих управляющий алгоритм. Управление последовательностью операций, математическими вычислениями и передача данных осуществляется с помощью центрального процессора 112.
Практическое использование данной полезной модели заключается в осуществлении переноса формального описания алгоритма управления в текстовом виде на языке ADL в последовательность операторов целевой машины, при этом данный процесс отличается от аналогов тем, что алгоритм описывается не на языке общего назначения, таком как Дракон, на котором описание детерминированного функционально-ориентированного алгоритма является крайне трудоемкой задачей, а с помощью языка ADL, адаптированного для записи логико-временных законов управления. Такой подход позволяет снизить трудоемкость разработки, обеспечить строгое детерминированное поведение системы управления, а также обеспечить возможность автоматизированной модульной отладки и отработки, что позволит повысить надежность функционирования конечного продукта.
Покажем возможность осуществления полезной модели, т.е. возможность ее промышленного применения. Все блоки, входящие в состав заявленной полезной модели относятся к классам, для которых известны методы и правила их получения по предъявленным к ним требованиям, а именно:
- специалистам в данной области техники должно быть ясно, что интерфейс ввода формальных выражений 101, реализуется с помощью стандартной клавиатуры персональных и промышленных компьютеров, а устройство диагностирования работы 114 реализуется с помощью стандартного монитора и соответствующих видеоадаптеров, также запоминающее устройство 113 может быть реализовано в виде стандартного накопителя на жестких магнитных дисках или энергозависимой полупроводниковой памяти;
- блок компиляции текстов на языке Си в исполняемый код для ЦВУ СУ 102 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [7];
- блок структуризации входных данных 103 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.167-171;
- блок выделения структурно значимых единиц текста 104 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.167-171;
- блок обработки расширений формальных правил 105 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [7], стр.35-39;
- блок распознавания структуры входных цепочек 106 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.153-257;
- блок контроля диапазона входных параметров 107 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [7], стр.336-376;
- блок формирования структуры управляющего алгоритма 108 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [6], стр.87-132;
- блок формирования текстов на языке Си 109 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [7], стр.487-553;
- выходной адаптер интерфейса 110 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [8];
- цифровое вычислительное устройство системы управления 111 может быть получено по предъявленным к нему требованиям по известным методам и правилам, описанным в [9], стр.106-129;
- центральный процессор 112 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [9], стр.106-129;
Литература
1) Н.Вирт «Построение компиляторов» - издательство ДМК, 2010 г., 192 стр.
2) Л.Залогова «Разработка Паскаль-компилятора» - издательство «Бином. Лаборатория знаний», 2007 г., 183 стр.
3) Интернет-ресурс: .
4) Интернет-ресурс: .
5) Дудин Н.В., Каспарович Э.П., Бубенщиков А.И. Технология автоматно-ориентированного программирования//«Вестник Концерна ПВО Алмаз-Антей» вып.2, 2012 г., стр.72-75.
6) Ю.Карпов «Теория и технология программирования. Основы построения трансляторов» - Издательство «БХВ - Петербург», 2005 г., 272 стр.
7) А.Ахо, Р.Сети, Дж.Ульман «Компиляторы: принципы, технологии и инструменты». 2-е изд. Издательский дом «Вильямс», 2003 г., 768 стр.
8) ГОСТ Р 52070-2003.
9) Р.Токхайм «Микропроцессоры. Курс и упражнения». Издательство: «Энергоатомиздат» 1988 г., 336 стр.