Смекни!
smekni.com

Проблемы создания информационно-обучающей среды (стр. 2 из 2)

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

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

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

Конечные автоматы являются моделью для многих компонентов аппаратного и программного обеспечения [Хопкрофт Дж. и др., 2002]. В связи с этим разрабатываемая программа может найти применение при проектировании и реализации разнообразных вычислительных систем, таких как:

программное обеспечение, используемое для разработки и проверки цифровых схем;

лексический анализатор стандартного компилятора;

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

программное обеспечение для проверки различного рода систем, которые могут находиться в конечном числе различных состояний;

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

Логическая структура программы включает три основных модуля:

модуль описания интерфейсных классов, отвечающих за взаимодействие программы с пользователем;

модуль описания методов представления регулярного языка, представляющий из себя базу знаний;

модуль определений и конструкций, реализующий машину вывода.

ИОС позволяет проверить факты, которые должны быть усвоены студентами в виде следующих алгоритмов [Ахо А. и др., 1978]:

алгоритм преобразования недетерминированного конечного автомата (НКА) и недетерминированного конечного автомата с e- переходами eНКА в детерминированный конечный автомат (ДКА);

алгоритм преобразования конечного автомата в регулярное выражение;

алгоритм построения eНКА по регулярному выражению;

алгоритм минимизации ДКА;

алгоритм построения по праволинейной грамматике автоматной грамматики;

алгоритм построения eНКА по автоматной грамматике;

алгоритм построения автоматной грамматики по КА;

алгоритм имитации распознавания НКА (eНКА).

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

Обучаемому предлагается для выбора следующее меню:

Рис 1. Главное Меню.

Для каждой версии регулярного языка (РЯ) программа может находиться в одном из двух режимов.

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

Переход в режим работы осуществляется операцией"Создать" .

Режим работы. Для КА этот режим называется "Режим распознавания", для Грамматики - "Режим порождения". В данном режиме редактирование текущей версии РЯ запрещено. Все операции с РЯ осуществляются в этом режиме, такие как: проверка цепочки на принадлежность (порождение цепочки), перевод в другой тип РЯ , сохранение в файл и т.п.

Программа выдает сообщения об ошибках:

ошибки при создании КА;

ошибки при создании грамматики;

ошибки при переводе из регулярного выражения (РВ);

ошибки при сохранении (открытии) в (из) файл(а);

ошибки при переводе из РВ в ЕНКА;

ошибки при распознавании (порождении).

Анализ и оценка разработки ИОС "Regular Language"

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

Информационно- образовательная среда обеспечивает контроль правильности решения следующих задач:

дает возможность построить разные виды моделей регулярных языков: ДКА, НКА, ЕНКА, регулярных выражений (РВ), праволинейной грамматики (ПГ), автоматной грамматики (АГ);

позволяет проводить имитацию работы конечного автомата всех видов (ДКА, НКА, ЕНКА);

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

позволяет осуществлять минимизацию конечного автомата (в том числе по шагам).

С точки зрения преподавателя использование ИОС позволяет:

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

многократно повысить эффективность решения задач, так как студенты могут осуществлять проверку правильности построения модели сами и не ждать проверки ее преподавателем;

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

С точки зрения студентов использование ИОС позволяет:

проверить правильность своего решения, не дожидаясь преподавателя и перейти к решению других, более сложных задач;

в справке системы есть тесты для проверки моделей и алгоритмы решения, с которыми студенты могут оперативно познакомиться;

с помощью среды можно отработать механизм решения, многократно решая задачи одного типа.

Заключение

Подобная среда может найти применение не только при обучении дисциплине "Теория формальных языков". ИОС можно использовать для задания любого регулярного языка при помощи удобной модели: грамматики или регулярного выражения. Затем среда сама преобразует эту модель в конечный автомат, после чего можно легко перейти к программированию задачи.

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

Список литературы

[Зайцева Е. Н, 2003] Зайцева Е. Н., Информационно - обучающая среда: проблемы формирования и организации учебного процесса - Education Technology&Society 6(2). 2003.

[Григорьев В. К., 2003] Григорьев В. К. Подсистема обучения - обязательная компонента информационно-управляющей системы (принципы разработки, методы проектирования и реализации) - Education Technology&Society 6(2). 2003, pp. 139-153.

[Гаврилова Т. А., Хорошевский В. Ф., 2002] Гаврилова Т. А., Хорошевский В. Ф., Базы знаний интеллектуальных систем - Санкт-Петербург, Питер, 2002.

[Chandrasekaran B. идр., 1998] Chandrasekaran B., Josephson J. R., Richard Benjamins V. Ontology of task and methods - Banff knowledge acquisition workshop, 1998.

[Хопкрофт Дж. и др., 2002] Дж. Хопкрофт, Р.Мотвани, Дж.Ульман. Введение в теорию автоматов, языков и вычислений.,Вильямс,2002.

[Ахо А. и др., 1978] А.Ахо, Дж.Ульман. Теория синтаксического анализа, перевода и компиляции. Т.1, Синтаксический анализ., Мир, 1978.