Таврический научный обозреватель --^ауг^шепсе
УДК: 004.072
Исследования выполняются по 1 этапу контракта № 875АГС1/17621 в рамках программы «Старт» Фонда содействия развитию малых форм предприятий в научно-технической сфере по теме: «Разработка программного продукта по комплексной автоматизации операций распознавания рукописных символов, верификации и документооборота при решении задач проведения аттестации учащихся образовательных организаций» (шифр заявки «С1-05607»).
Бахтенко Е. А.
аспирант,
Кафедра автоматики и вычислительной техники (АВТ) Вологодский государственный университет
Баланин Е. О.
Аспирант,
кафедра Информационных систем и технологий (ИСиТ) Вологодский государственный университет
ИССЛЕДОВАНИЯ ОСОБЕННОСТЕЙ ОРГАНИЗАЦИИ МАШИННОЙ ПАМЯТИ В РАМКАХ РАЗРАБОТКИ АЛГОРИТМА ВЕРИФИКАЦИИ СИМВОЛОВ НА СТОРОНЕ
СЕРВЕРА
В работе рассмотрен способ организации машинной памяти и типовые коммуникации, приведен набор прикладных протоколов команд.
Ключевые слова: распознавание, верификация, символы, машинная память, регистры, модель.
Современная образовательная среда требует от учреждений всех уровней осуществлять рабочие операции как можно более эффективно. Одними из основных ключевых моментов, определяющих вопрос общей эффективности автоматизации работы образовательных организаций, является наличие специализированных пакетных программных решений, которые могут использоваться для решения комплексных задач. Среди таких сложных задач находится и проведение аттестации учащихся образовательных организаций. В рамках предварительных исследований проведен системный анализ и формализована структура единого информационного пространства типовой образовательной организации на всех этапах подготовки и проведения государственной итоговой аттестации (ГИА). Полученные результаты позволяют осуществить разработку комплексного решения, учитывающего особенности современной инфраструктуры, а именно: каналы связи, технические особенности используемого оборудования, используемые операционные системы, формат импортируемой и экспортируемой информации.
В соответствии с проставленной целью, работа велась в рамках следующих основных задач исследования:
- разработка подсистемы верификации рукописных символов;
- разработка протокола взаимодействия уровня хост-клиент;
- разработка протокола взаимодействия уровня клиент-хост;
- разработка способа организации машинной памяти;
- разработка прикладных протоколов набора команд;
- формализация алгоритма генерации кандидатов для коррекции написания.
В процессе работы также проводился анализ существующих методов и подходов при работе со словарями при задачах верификации.
Первым шагом на пути к созданию конечного решения является организация
Таврический научный обозреватель --^ауг^шепсе
машинной памяти, схема представлена на рисунке 1. Общая разделяемая память распределена на следующие разделы: Код распознавания, Ввод строк данных, Вывод результатов распознавания, Рабочее пространство для активных подсистем клиента [1].
Управляющие регистры
Рисунок 1 — Организация машинной памяти
Стрелки на схеме отображают привилегии чтения/записи для обработчика хоста и клиента. Разделы общей разделяемой памяти определены в соответствии с этими привилегиями.
Если какой-либо сегмент памяти требует (запрашивает) привилегии на запись для обоих обработчиков хоста и клиента, логика обрабатывает этот запрос к памяти, давая приоритет хосту.
Клиентский код загружен в общую разделяемую память хостом в процессе инициализации клиентской сессии. Хост переключает клиента из стандартного рабочего
Таврический научный обозреватель www.tavr.science
режима в режим обработки, когда производится исполнение сегмента. Клиент инициирует переменные в среду рабочего пространства и входит в рабочий цикл обработки, ожидая команд от хоста.
Рассмотрим коммуникацию типа хост-к-клиенту. Хост достигает коммуникации к клиенту путем написания команд для регистра приема данных клиента. Хост имеет доступ только на запись в данный регистр. Любой хост, пытающийся считать данные с этого регистра, получит неправильные данные при считывании.
Клиент имеет доступ только на чтение регистра приема данных клиента. Любой клиент, пытающийся записать данные в этот регистр, будет проигнорирован, а данные не занесены.
Когда хост заносит данные в этот регистр, генерирует прерывание на стороне клиента. Таким же образом, клиент, считывая данные, генерирует прерывание для хоста.
Статус регистра хоста доступен для клиента и запрашивается для определения статуса коммуникационных регистров.
Клиентский код распознавания верхнего уровня состоит из цикла обработки команд, который интерпретирует команды, записанные в клиентский регистр приема данных.
Таким образом, когда строка становится доступной для хоста со стороны обработчика ввода, она передается на сторону клиента, будучи сначала скопированной в общую разделяемую память. Затем хост выдает команду клиенту для обработки строки. Команды для инициализации и сброса параметров клиентской сессии связаны аналогичным образом.
Всякий раз, когда клиент не имеет ожидающих выполнения команд от хоста, он входит в состояние ожидания. Запись в регистр приема данных клиента переводит клиент в рабочий режим (режим обработки).
Рассмотрим коммуникацию типа клиент-к-хосту. Клиент достигает коммуникации к хосту путем написания команд для регистра приема данных хоста. Клиент имеет доступ только на запись в данный регистр. Любой клиент, пытающийся считать данные с этого регистра, получит неправильные данные при считывании.
Хост имеет доступ только на чтение регистра приема данных хоста. Любой хост, пытающийся записать данные в этот регистр, будет проигнорирован, а данные не занесены.
Когда клиент заносит данные в этот регистр, генерирует прерывание на стороне хоста. Таким же образом, хост, считывая данные, генерирует прерывание для клиента.
Статус регистра клиента доступен для хоста и запрашивается для определения статуса коммуникационных регистров клиента.
Ядро системы хоста обеспечивает связи между процессами, синхронизацию и механизмы коммуникации. Это включает в себя поддержку очереди сообщений, для которых не обязательно быть привязанными к одной задаче. Задачи могут отправлять сообщения в очередь, а также могут запросить сообщения от ядра.
Когда клиент записывает данные регистр приема данных хоста, служба обработки прерываний на хосте подает сообщение от клиента на вход подсистемы очереди сообщений.
Эта реализация обеспечивает интерфейс между API-интерфейсом, который работает на стороне обработчика хоста, и подсистем, которые в свою очередь работают на стороне клиента [2].
Прикладные протоколы команд представлены в Таблице 1. Такие команды как INIT, RESET, и GEN_RESULT не имеют параметров и адресуются напрямую к регистру входных данных по средствам API хоста. Такие команды как SET_PARMS и PROCESS_STR посылаются после того, как их параметры были записаны в секцию ввода общей разделяемой памяти. Сигнал GET_RESULT посылается после того, как произведена генерация результатов распознавания и они записаны в секцию вывода общей разделяемой памяти.
Таврический научный обозреватель www.tavг.science
Таблица 1 — Система команд для клиентской подсистемы
Наименование команды Хост — клиент Параметры Идентификатор команды Функция
INIT True Нет 00 Инициализация переменных на клиентском терминале
RESET True Нет 01 Сброс контекста для новой записи
SET_PARAMS True База данных, словарь, номер возвращенной строки 02 Задание параметров сессии
PROCESS_STR True Данные строки 03 Распознавание следующей в очереди строковой переменной
GEN_RESULT True Нет 04 Генерация результатов распознавания на основе заданных параметров
GET_RESULT False Результаты распознавания 05 Сигнал, что данные готовы к последующей обработке
Литература
1. Бахтенко Е. А., Зайцев В. Н., Измайлов И. А., Швецов А. Н. Комплексная автоматизация и управление процессами аттестации персонала промышленных предприятий на основе интеллектуального агентно-ориентированного учебного комплекса (ИАОУК) // Материалы седьмой международной научно-технической конференции «Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования» — Вологда, ВоГТУ, 2012. — С. 139-142.
2. Бахтенко Е. А., Зайцев В. Н. Инструментальная среда автоматизированной разработки веб-интерфейсов. // Материалы всероссийской научной конференции «Молодые исследователи — регионам» — Вологда: ВоГТУ, 2010. — Т. 1. — С. 29-30.
3. Бахтенко Е. А., Измайлов И. А. Проектирование базы данных системы оперативного прототипирования и обновления многокомпонентных информационных систем // Сборник статей по материалам XXXVII международной заочной научно-практической конференции «Научная дискуссия: инновации в современном мире» — М., Изд. «Интернаука», 2015. — С. 15-19.