Способ предоставления информационной поддержки разработчика программного обеспечения для микроконтроллеров и реализующая его система

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

Реферат

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

Известен способ и система для создания поискового индекса сложного документа и осуществления по нему поиска (Method and apparatus for creating a search index for a composite document and searching same, WO 2013002940 A2, G0617/30, 01.03.2013). Недостатки данный способ и система не предусматривают автоматического выделения структуры документа и его реструктуризации в соответствии с концепциями предметной области, также данный способ и система не предусматривают хранения индекса на удаленном компьютере (сервере индексации), не предусматривается также разбор группы документов, сгруппированных по определенному признаку предметной области. Для решения вышеописанных проблем предлагается производить предварительный разбор (парсинг) PDF-документов и реструктурировать их в соответствии с предметной областью (областью мироконтроллерных систем) за счет:

1) добавления новых группирующих разделов в техническое описание;

2) выделения таких элементов структуры документа, как названий рисунков, таблиц и элементов оглавления;

3) отделения текстовой части (индекса) от структуры документа.

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

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

При предоставлении информационной поддержки важным фактором становится предоставление поиска по сторонним RSS- и веб-ресурсам.

Известен способ интеграции персонализированных порталов с системами синдикации веб-содержимого (WO 2005089336 А2, G06F 17/30864, д.п. 09.09.05). В рамках данного способа интеграции предлагается осуществлять поиск, в результате которого формируется таблица совпадений по поиску со ссылками на соответствующие веб-сайты и для каждого такого сайта производится попытка найти RSS-ресурсы, подписаться на ленту которых предлагается пользователю.

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

Наиболее близким по структуре и назначению к настоящему изобретению является «Система справочно-информационной поддержки пользователя ЭВМ, способ ее формирования и применения» (RU 2303809, G06F 9/44, 27.07.07), содержащая компьютер с модулем управления, подключенные к нему устройство ввода и устройство отображения. Данное изобретение предусматривает предоставление справки по функциям разрабатываемого программного обеспечения, которую необходимо составлять самому разработчику, при этом не предусматривается предоставления общей справки по среде разработки, контекстной и процедурной видов справки, справки предметной области по техническим описаниям компонентов аппаратуры (микроконтроллерам) и возможности осуществления поиска по ним, справки с использованием сторонних веб-ресурсов (серверов RSS, веб-серверов).

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

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

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

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

Структурная схема системы представлена на чертеже (тонкие соединительные связи - связи управления, толстые соединительные связи - информационные). Система содержит компьютер 101, подключенное к нему устройство ввода информации 102, устройство отображения информации 103, сервер базы данных 104, сервер индексации 105, сеть серверов RSS 106, сеть веб-серверов 107, файловый сервер 108. Компьютер 101 содержит следующие модули: модуль управления 11, модуль парсинга и реструктурирования PDF 12, модуль формирования базы данных 13, модуль формирования индекса 14, модуль формирования запросов к системе управления базой данных 15, модуль формирования запросов к индексатору 16, модуль взаимодействия с серверами RSS 17, модуль взаимодействия с веб-серверами 18; компьютер 101 подключен управляющими выходами к устройству отображения информации 103, серверу базы данных 104, серверу индексации 105, сети серверов RSS 106, сети веб-серверов 107, файловому серверу 108; компьютер 101 подключен информационными выходами к устройству отображения информации 103, к серверу базы данных 104, к серверу индексации 105, файловому серверу 108; устройство ввода информации 102 подключено управляющим и информационным выходами к модулю управления 11; сеть серверов RSS 106 подключена информационным выходом к модулю взаимодействия с RSS-серверами 17; сеть веб-серверов 107 подключена информационным выходом к модулю взаимодействия с веб-серверами 18; файловый сервер 108 подключен информационным выходом к модулю управления 11; сервер базы данных 104 подключен информационным выходом к модулю формирования запросов к системе управления базой данных 15, сервер индексации 105 подключен информационным выходом к модулю формирования запросов к индексатору 16; модуль управления 11 подключен управляющими выходами к устройству отображения информации 103, модулю взаимодействия с серверами RSS 17, модулю взаимодействия с веб-серверами 18, модулю формирования запросов к системе управления базой данных 15, модулю формирования запросов к индексатору 16, модулю парсинга и реструктурирования PDF 12, файловому серверу 108; модуль управления 11 подключен информационными выходами к устройству отображения информации 103, модулю парсинга и реструктурирования PDF 12; модуль парсинга и реструктурирования PDF 12 подключен информационным и управляющим выходами к модулю формирования индекса 14, файловому серверу 108, модулю формирования базы данных 13; модуль формирования индекса 14 подключен управляющим и информационным выходами к серверу индексации 105; модуль формирования базы данных 13 подключен управляющим и информационным выходами к модулю формирования запросов к системе управления базой данных 15; модуль формирования запросов к системе управления базой данных 15 подключен управляющим и информационным выходами к серверу базы данных 104; модуль взаимодействия с серверами RSS 18 подключен управляющим выходом к сети серверов RSS 106 и информационным выходом к модулю управления 11, модуль взаимодействия с веб-серверами 18 подключен управляющим выходом к сети веб-серверов 107 и информационным выходом к модулю управления 11.

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

1) Разбор технических описаний микроконтроллеров в формате PDF (команды №№1-9 системы);

2) Отображение структуры технического описания заданного микроконтроллера (команды №№10-13);

3) Осуществление поиска по содержимому технических описаний (команды №№14-17);

4) Отображение технического описания (команды №№18-20);

5) Осуществление поиска по RSS (команды №№21-24);

6) Расширение области поиска RSS (команды №№25-26);

7) Осуществление поиска с использованием веб-серверов (команды №№27-30);

8) Предоставление поддержки по среде разработки (команды №№31, 32, 20);

9) Предоставление контекстной поддержки (команды №№33, 34, 20);

10) Предоставление процедурной поддержки (команды №№35-39).

Система информационной поддержки реализует данные функции следующим образом. Для разбора технических описаний микроконтроллеров в формате PDF оператор указывает документ технического описания с помощью устройства ввода данных (управляющая команда №1 на чертеже, команды выделены курсивом). Модуль управления 11 запускает процесс парсинга документа модулем парсинга и реструктурирования PDF 12 за счет вызова команды №2. Модуль парсинга и реструктурирования PDF 12 вызывает команду №3 и передает в модуль формирования базы данных 13 информацию о структуре документа. Модуль формирования базы данных 13 формирует запрос и обращается к модулю формирования запросов к системе управления базой данных 15 за счет использования команды №4. Модуль формирования запросов к системе управления базой данных 15 доставляет запрос до системы управления базой данных, находящейся на сервере базы данных 104, через команду №5. Далее (или параллельно команде №3) модуль парсинга и реструктурирования PDF 12 передает модулю формирования индекса 14 текстовое содержание документа, используя команду №6. Модуль формирования индекса 14 доставляет данные до сервера индексации 104 при использовании команды №7. Далее (или параллельно командам №№3, 6) модуль парсинга и реструктурирования PDF передает разбираемый файл файловому серверу 108 при помощи команды №8. После этого модуль управления 11 выводит в устройство отображения 103 при помощи команды №9 сообщение об успешности завершения операции разбора технического описания микроконтроллера.

Отображение структуры технического описания заданного микроконтроллера происходит следующим образом. Оператор с помощью устройства ввода 102 указывает модулю управления 11 модель микроконтроллера, для которой необходимо получить техническое описание (команда №10). Модуль управления 11 обращается к модулю формирования запросов к базе данных 15 (команда №11) с целью получения структуры заданного технического описания. Модуль формирования запросов к базе данных 15 формирует запрос на получение структуры заданного документа (команда №12) и получает от сервера базы данных 104 ответ, который возвращает модулю управления 11 и затем выводится на устройство отображения информации 103 (команда №13).

Поиск по содержимому технических описаний осуществляется следующим образом. Оператор с помощью устройства ввода 102 указывает модулю управления 11 область поиска (команда №14). Модуль управления 11 перенаправляет данную информацию к модулю формирования запросов к индексатору 16 (команда №15), который с помощью команды №16 осуществляет запрос к серверу индексации 105 и полученный ответ возвращает модулю управления. Модуль управления 11 обрабатывает результаты поиска и выводит их на устройство отображения информации 103 с помощью команды №17.

Отображение технического описания происходит следующим образом. Оператор с помощью устройства ввода 102 указывает модулю управления 11 название микроконтроллера, техническое описание которого хочет получить (команда №18). Далее модуль управления 11 производит запрос файловому серверу 108 на получение технического описания (команда №19) и выводит с помощью команды №20 результат на устройство отображения информации 103.

Поиск по RSS осуществляется следующим образом. Оператор с помощью устройства ввода 102 передает команду модулю управления 11 для поиска по RSS (команда №21). Модуль управления 11 перенаправляет данный запрос модулю взаимодействия с серверами RSS (команда №22), который в свою очередь с помощью команды №23 производит широковещательный запрос в сеть серверов RSS 106 и, суммируя полученные ответы, возвращает данные модулю управления. После чего с помощью команды №24 модуль управления выводит данные на устройство отображения информации 103.

Расширение области поиска RSS производится следующим образом. Оператор с помощью устройства ввода 102 передает команду модулю управления 11 для добавления в область поиска нового сервера, указывая его адрес (команда №25). Модуль управления 11 перенаправляет данный запрос модулю взаимодействия с серверами RSS (команда №26).

Поиск с использованием веб-серверов осуществляется следующим образом. Оператор с помощью устройства ввода 102 передает команду модулю управления 11 для поиска среди веб-серверов (команда №27). Модуль управления 11 перенаправляет данный запрос модулю взаимодействия с веб-серверами (команда №28), который в свою очередь с помощью команды №29 производит широковещательный запрос в сеть веб-серверов 107 и, суммируя полученные ответы, возвращает данные модулю управления. После чего с помощью команды №30 модуль управления выводит данные на устройство отображения информации 103.

Предоставление общей поддержки по среде разработки осуществляется следующим образом. Оператор с помощью устройства ввода 102 запрашивает у модуля управления 11 общую поддержку с помощью команды №31. Далее модуль управления 11 производит запрос файловому серверу 108 на получение данных, предоставляемых в случае общей поддержки (команда №32), и выводит с помощью команды №20 результат на устройство отображения информации 103.

Предоставление контекстной поддержки производится следующим образом. Оператор с помощью устройства ввода 102 передает в модуль управления 11 контекст, для которого необходимо получить поддержку (команда №33). Далее модуль управления 11 производит запрос файловому серверу 108 на получение данных, предоставляемых в случае контекстной поддержки по даному контексту (команда №34), и выводит с помощью команды №20 результат на устройство отображения информации 103.

Предоставление процедурной поддержки производится следующим образом. Оператор с помощью устройства ввода 102 передает в модуль управления 11 запрос для получения определенной процедурной поддержки (команда №35). Далее модуль управления 11 производит запрос файловому серверу 108 на получение данных, предоставляемых в случае данного вида процедурной поддержки (команда №36), и обрабатывает полученные данные для оказания процедурной поддержки, после чего выводит приглашение оператору на выполнение действия на устройство отображения информации 103 (команда №37). Далее оператор производит предлагаемый шаг и с помощью устройства ввода 102 сообщает модулю управления 11 о произведенном действии (команда №38) или же выдает команду №39 об отказе в продолжении процедурной поддержки.

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

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

3. Система информационной поддержки разработчика программного обеспечения для микроконтроллеров, содержащая компьютер с модулем управления, подключенное к нему устройство ввода информации, устройство отображения информации, отличающаяся тем, что в состав системы введен сервер базы данных, сервер индексации, файловый сервер, сеть серверов RSS, сеть веб-серверов, модуль парсинга и реструктурирования PDF, модуль формирования базы данных, модуль формирования индекса, модуль формирования запросов к системе управления базой данных, модуль формирования запросов к индексатору, модуль взаимодействия с серверами RSS, модуль взаимодействия с веб-серверами; сеть серверов RSS подключена информационным выходом к модулю взаимодействия с серверами RSS; сеть веб-серверов подключена информационным выходом к модулю взаимодействия с веб-серверами; файловый сервер подключен информационным выходом к модулю управления; сервер базы данных подключен информационным выходом к модулю формирования запросов к системе управления базой данных, сервер индексации подключен информационным выходом к модулю формирования запросов к индексатору; модуль управления подключен управляющими выходами к модулю взаимодействия с серверами RSS, модулю взаимодействия с веб-серверами, модулю формирования запросов к системе управления базой данных, модулю формирования запросов к индексатору, модулю парсинга и реструктурирования PDF, файловому серверу; модуль управления подключен информационными выходами к модулю парсинга и реструктурирования PDF; модуль парсинга и реструктурирования PDF подключен информационным и управляющим выходами к модулю формирования индекса, файловому серверу, модулю формирования базы данных; модуль формирования индекса подключен управляющим и информационным выходами к серверу индексации; модуль формирования базы данных подключен управляющим и информационным выходами к модулю формирования запросов к системе управления базой данных; модуль формирования запросов к системе управления базой данных подключен управляющим и информационным выходами к серверу базы данных; модуль взаимодействия с серверами RSS подключен управляющим выходом к сети серверов RSS и информационным выходом к модулю управления, модуль взаимодействия с веб-серверами подключен управляющим выходом к сети веб-серверов и информационным выходом к модулю управления; при этом модуль управления компьютера содержит сопоставление между каждой моделью микроконтроллера и названием соответствующего ему технического описания, файл которого содержится на файловом сервере, название элементов структуры технического описания микроконтроллера содержится на сервере базы данных, индекс текстового содержимого технического описания микроконтроллера - на сервере индексации; при этом модуль управления компьютером содержит сопоставление между типами областей поиска и типами элементов структуры технических описаний микроконтроллеров; при этом модуль управления содержит сопоставление между типами процедурной справки и файлами, содержащимися на файловом сервере; при этом модуль взаимодействия с серверами RSS содержит адреса серверов RSS, находящихся в сети серверов RSS; при этом модуль взаимодействия с веб-серверами содержит адреса веб-серверов, находящихся в сети веб-серверов.