УСТРОЙСТВО УНИФИКАЦИИ ФОРМАТОВ ПРЕДСТАВЛЕНИЯ ОТЛАДОЧНОЙ ИНФОРМАЦИИ

Полезная модель относится к области информационных технологий, а именно к обработке информации с помощью вычислительных устройств, в частности к системам автоматического анализа структурированных данных и их преобразования между несовместимыми системами хранения и обработки информации, а также к области инструментальных средств отладки программного обеспечения ракетно-космической тематики (РКТ).
Смысл подобных моделей заключается в извлечении отладочной информации из объектных двоичных файлов, сформированных различными инструментальными системами трансляции и компиляции исходных программных текстов; обработку и анализ отладочной информации; последующее представление отладочной информации в унифицированном формализованном формате, пригодном для дальнейшего использования в процессе отладки программного обеспечения систем управления РКТ.
Существуют различные технические решения в области извлечения отладочной информации, в частности в [1] приведено решение по извлечению отладочной информации формата DWARF(debug with arbitrary record format), являющееся наиболее близким аналогом заявленной полезной модели и выбранное в качестве прототипа.
Недостатками известного прототипа является: его узкая специализация на формате DWARF; результатом работы прототипа является отладочная информация на уровне информационных структур формата DWARF, не пригодном, для использования инструментальными средствами в процессе отладки программного обеспечения. Таким образом, указанный прототип ориентирован на решение узко поставленной задачи и не соответствует требованиям по применению в составе интегрированных инструментальных средств разработки программного обеспечения.
Задача полезной модели заключается в создании единого механизма извлечения и унификации отладочной информации, размещение ее в структурированной базе данных, в виде пригодном для последующего использования в составе интегрированных инструментальных средств разработки программного обеспечения.
Технический результат, который обеспечивается полезной моделью, заключается в формировании структурированной базы данных отладочной информации в открытом формате, пригодном для последующего использования в составе интегрированных инструментальных средств разработки программного обеспечения, в том числе в составе интегрированных инструментальных средств разработки программного обеспечения ракетно-космической тематики.
Поставленная задача решается тем, что устройство унификации форматов отладочной информации содержит соединенные с центральным процессором интерфейс ввода исходных данных, запоминающее устройство, базу данных форматов отладочной информации, базу данных информации отладки, блок формализации.
На фигуре 1 изображена функциональная схема взаимодействия полезной модели с внешней средой разработки и отладки программного обеспечения.
Блок 110 - внешняя среда разработки и отладки программного обеспечения.
Блок 111 - пользовательский интерфейс внешней среды разработки и отладки программного обеспечения.
Блок 112 - средства компиляции и линковки внешней среда разработки и отладки программного обеспечения.
Блок 113 - отладчик внешней среды разработки и отладки программного обеспечения.
Блок 101 - устройство унификации форматов представления отладочной информации.
При этом приведенная фигура является иллюстративной и показывает возможную схему взаимодействия полезной модели с внешней средой разработки и отладки программного обеспечения.
На фигуре 2 изображена структурная схема устройства унификации форматов представления отладочной информации.
Блок 201 - интерфейс ввода исходных данных, выполнен с возможностью ввода исходных объектных файлов. Ввод в условиях поставленной задачи осуществляется из внешней среды разработки и отладки программно-математического обеспечения и представляет собой: ОЗУ, устройство считывания ГМД, оптических дисков, либо любой другой носитель или устройство считывания информации.
Блок 202 - блок идентификации, выполнен с возможностью идентификации формата представления отладочной информации в исходных объектных файлах, а также с возможностью считывания соответствующих идентифицированному формату правил синтаксического анализа из базы данных форматов отладочной информации 210, с последующей записью в запоминающее устройство 208.
Блок 203 - блок чтения таблицы секций, выполнен с возможностью распознавания: заголовков секций исходных объектных файлов; размеров секций, соответствующих заголовкам; адресации внутри объектного файла. Также блок чтения таблицы секций отвечает за выделение памяти для секций файла в запоминающем устройстве 208.
Блок 204 - блок чтения секций, выполнен с возможностью считывания секций, в соответствии с их заголовками в таблице секций, в области памяти, ранее инициализированные блоком чтения таблицы секций 203.
Блок 205 - синтаксический анализатор, выполнен с возможностью выделения значимых единиц отладочной информации из различных секций исходного объектного файла; распознавания полезной информации конкретной значимой единицы отладки; представления данной значимой единицы в виде последовательности байт, однозначно определяющей все параметры необходимые для отладки.
Блок 206 - блок формализации, выполнен с возможностью записи полезной отладочной информации в набор строго формализованных структур данных, соответствующих унифицированному формату представления отладочной информации, а также ее сортировку, избавление от избыточности и запись в базу данных информации отладки 207.
Блок 207 - база данных информации отладки, представляет собой набор формализованных единиц полезной отладочной информации, хранящейся в постоянном запоминающем устройстве.
Блок 208 - база данных форматов отладочной информации, представляет собой набор информации, хранящейся в постоянном запоминающем устройстве, и определяющей правила синтаксического анализа различных форматов представления отладочной информации.
Блок 209 - запоминающее устройство, представляет собой стандартный накопитель на магнитных дисках или энергозависимую полупроводниковую память.
Блок 210 - центральный вычислительный процессор представляет собой устройство, отвечающее за порядок и выполнения переноса информации из интерфейса ввода 201 в базу данных информации отладки 207 через используемые блоки устройства.
Устройство унификации форматов представления отладочной информации работает следующим образом:
Через интерфейс ввода исходных данных 201 осуществляется ввод объектного файла, содержащего отладочную информацию в одном из форматов, представленных в базе данных форматов отладочной информации 208. Центральный вычислительный процессор 210 обеспечивает поступление введенной информации на вход блока идентификации 202. Блок идентификации осуществляет определение формата представления отладочной информации в исходной последовательности байт, путем анализа заголовка объектного файла. Из базы данных форматов представления отладочной информации 208 происходит чтение набора правил синтаксического анализа секций, в запоминающее устройство 209, которыми в дальнейшем руководствуется устройство считывания отладочной информации 200. По окончанию чтения набора правил синтаксического анализа секции, центральный процессор 210 обеспечивает поступление объектного файла на вход блока чтения заголовков секций 203, в котором производится распознавание набора секций, присутствующих в данном объектном файле, а также считывание параметров секций и выделение под секции адресного пространства в запоминающем устройстве 209. Далее центральный вычислительный процессор обеспечивает подачу объектного файла на вход блока чтения секции 204, в котором происходит считывание секций из объектного файла в ранее подготовленное блоком 203 адресное пространство. Центральный вычислительный процессор 210 обеспечивает поступление информации, каждой из секций в синтаксический анализатор 205, который руководствуясь правилами синтаксического анализа, определенными в блоке идентификации 202, и ранее записанными в запоминающее устройство 209, производит выделение полезной информации отладки и ее анализ. Результатом анализа каждой секции, в отдельности и всех секций в совокупности является массив наборов байт. Каждый набор байт соответствует одной из единиц отладочной информации. Центральный вычислительный процессор 210 обеспечивает передачу данного массива в блок формализации 206, в котором происходит представление полезной информации отладки в виде строго-формализованных структур данных, типизация, сортировка и удаление избыточной информации. Таким образом, на выходе блока 206 будет получена отладочная информация в унифицированном формате, требуемом для внешней среды разработки и отладки программного обеспечения виде. Далее центральный процессор 210, осуществляет запись полученной отладочной информации на базу данных информации отладки 207.
Покажем возможность реализации данной полезной модели, т.е. возможность ее промышленного применения. Все блоки на фигуре 2, входящие в состав заявленной полезной модели относятся к классам, для которых известны методы и правила их получения по предъявленным к ним требованиям, а именно:
- блок 201 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [2];
- блок 202 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [3];
- блок 203 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [3];
- блок 204 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [4];
- блок 205 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [5];
- блок 206 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [6];
- блок 207 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [7];
- блок 208 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [7];
- блок 209 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [8];
- блок 210 может быть получен по предъявленным к нему требованиям по известным методам и правилам, описанным в [9];
Литература
1. Интернет-ресурс: https://bitbucket.org/eliben/pyelftools/
2. В.Авдеев «Периферийные устройства: интерфейсы, схемотехника, программирование». Издательство: «ДМК Пресс» 2009 г., 848 стр.
3. Tool Interface Standard (TIS) Committee, «Executable and Linking Format (ELF) Specification Version 1.2.», 1995 г.
4. Silicon Graphics, Inc., «MIPS Assembly Language Programmer's Guide Specification Version 3.10.», 1992 г.
5. Tool Interface Standards (TIS) Committee, «Portable Formats Specification, Version 1.1», 1993 г.
6. Интернет-ресурс: http://www.json.org/
7. Э.Фуфаев «Базы данных». Издательство «Академия» 2007 г., 336 стр.
8. Л.Крайзмер «Запоминающие устройства. Массовая библиотека, выпуск 571». Издательство: «Энергия» 1965 г., 112 стр.
9. Р.Токхайм «Микропроцессоры. Курс и упражнения». Издательство: «Энергоатомиздат» 1988 г., 336 стр.