ВИРТУАЛЬНЫЕ ЛАБОРАТОРНЫЕ РАБОТЫ В СРЕДЕ СИСТЕМЫ
ДИСТАНЦИОННОГО ОБУЧЕНИЯ A.A. Волкова
Научный руководитель - кандидат технических наук, доцент A.B. Лямин
Статья содержит описание метода организации виртуальных лабораторных работ, предусматривающего возможность автоматизированной проверки результата выполнения.
Введение
Основной целью работы является разработка и внедрение технологии организации доступа к лабораторной установке, создание комплекса виртуальных лабораторных работ в системе дистанционного обучения Санкт-Петербургского государственного университета информационных технологий, механики и оптики по различным дисциплинам. Выполнение лабораторной работы должно заканчиваться представлением отчета, который может быть проверен автоматически. По результатам выполнения лабораторной работы в базу данных системы ДО заносится оценка.
При изучении рынка виртуальных лабораторных работ было выявлено, что большинство предлагаемых вариантов лабораторий ориентированы на проведение эксперимента, например, лабораторная работа по полупроводникам (http://www.pilab.ru/csi/AUK/Microelectr/lab.html). Главной особенностью нашей технологии является обеспечение автоматической проверки отчетов.
Виртуальная лаборатория является модулем системы дистанционного обучения. В общем случае виртуальная лаборатория представляет собой некую информационную среду, позволяющую проводить эксперименты без непосредственного доступа к объекту исследования. При этом эксперименты могут проводиться как с использованием математических моделей, так и с использованием удаленного доступа к изучаемому объекту [1].
Виртуальная лаборатория предоставляет возможность произвольной оценки производимых учеником действий, а также построения автором собственного алгоритма анализа результатов. Результатом выполнения работы может быть любая структура (схема, программа, набор чисел), которая в виде строки передается на сервер дистанционного обучения, а затем на сервер удаленного доступа, где автор размещает свой анализатор результата. Полученный отчет проверяется в автоматическом режиме. В частном случае результатом выполнения лабораторной работы может быть формальное описание какой-либо системы, которая оценивается по реакциям на эталонные воздействия [2].
Организация доступа к удаленной лабораторной установке
Была разработана и реализована схема организации доступа к лабораторной установке, изображенная на рис. 1. Мысленно ее можно разделить на три основных части -клиентское программное обеспечение, проверяющий сервер и необходимое оборудование кафедры, а также аппаратное и программное обеспечение центра дистанционного обеспечения, обеспечивающее корректную работу и взаимосвязь первых двух компонент. К ним относятся:
• программный интерфейс лабораторной работы, выполненный в виде Jara-апплета;
• апплет-менеджер, загруженный через обозреватель на компьютер пользователя системы (обучающегося) и осуществляющий связь пользовательского интерфейса лабораторной работы с сервером дистанционного обучения;
• Web-сервер, обрабатывающий запросы пользователя на доступ к ресурсам системы;
система управления базой данных (СУБД), которая обеспечивает функционирование базы данных системы;
Луга-приложение, управляющее лабораторной установкой;
/огта-сервлет, формирующий по запросу пользователя WWW-cтpaницы на основе информации, поступающей от СУБД и Java-пpилoжeния, а также фиксирующий результаты работы пользователя с системой.
Пользовательский интерфейс лабораторной установки
Пользователь
Web-сервер
Java-сервлет
Т\
JDBC
Система управления базой данных
Оборудование ЦДО
Лабораторная установка
Оборудование кафедры
Рис. 1. Организация доступа к удаленной лабораторной установке Пакет виртуального лабораторного комплекса
Пакет виртуального лабораторного комплекса должен содержать в себе zip-архив с откомпилированными class-файлами java-апплета виртуального стенда и проверяющего сервера, а также описания сценария лабораторной работы, заданий к ней, и описания лабораторного стенда [3].
Основным форматом для представления виртуальной лаборатории является язык XML. Были разработаны правила оформления XML-файлов, которые задаются при помощи Document Type Definition или DTD-описаний. При погружении в систему информации программа-анализатор автоматически проверяет правильность вводимой информации, основываясь на DTD-описаниях. В поставляемый пакет лабораторного комплекса входят три вида XML-файлов: сценарий лабораторной работы, описание заданий лабораторной работы и описание виртуальной лабораторной установки. Иерархия отношений этих описаний представлена на рис. 2.
Сценарий лабораторной работы включает в себя ряд заданий для выполнения, шкалу для оценивания результатов, которая будет использоваться при выставлении оценки, признак режима аттестации.
Задания лабораторной работы содержат группы тест-наборов для проверки результатов с указанием входных и ожидаемых выходных данных, указатель на виртуальную лабораторную установку и адрес сервера удаленного доступа, на котором расположен интерпретатор, анализирующий результат выполнения лабораторной работы.
Описание виртуальной лабораторной установки состоит из набора атрибутов для отображения, таких как высота и ширина апплета, а так же содержит адрес архива установки.
Рис. 2. Структура лабораторной работы
Кроме того, в приведенных XML-документах автор лабораторной работы задает ряд настраиваемых параметров, которые в дальнейшем будут учитываться в учебном процессе. К ним относятся:
• правила оценивания результатов выполнения лабораторной работы;
• ограничение по времени на выполнение задания студентом;
• режим выполнения;
• группы тест-наборов для проверки результатов;
• коэффициент сложности каждого тест-набора;
• число тест-наборов из группы, используемых для проверки;
• ограничение по времени на проверку тест-набора.
Необходимо отметить, что на разных уровнях структуры лабораторной работы настраиваемые параметры могут повторяться. Для избежания конфликта были сформулированы следующие положения: для числовых значений используются величины, указанные на нижних уровнях иерархии, а ограничивающие правила имеют больший приоритет на верхних уровнях.
В состав виртуальной лаборатории могут быть включены GIF-анимации и интерактивные FLASH-анимации. Авторский стиль лабораторной работы оформляется в соответствии со стандартом CSS. Для повышения уровня интерактивности виртуальной лаборатории допускается использование скриптов, написанных на языке JavaScript.
При разработке программного инструментария автор должен руководствоваться рядом правил, которые были выбраны для организации совместимости виртуального стенда и среды дистанционного обучения. Например, математическая модель лабораторной установки выполняется на языке Java 2 в режиме апплета. Базовым для классов, определяющих специфику той или иной лабораторной работы, должен быть класс Base. Он расширяет класс Applet. В классе Base должен быть объявлен один абстрактный метод getResults(), который необходимо переопределить в каждом классе-потомке класса Base. Этот метод возвращает данные лабораторной работы в виде строки. Формат строк произвольный, выбирается автором. При обработке результата эта строка будет инкапсулирована в протокол RLCP.
Каждая виртуальная лабораторная работа представляет собой обучающий комплекс, содержащий несколько компонентов:
• краткое описание и анализ теоретических аспектов изучаемого объекта, явления или процесса;
• описание приборов и оборудования, используемых для проведения исследований, их характеристики и порядок применения;
• виртуальный лабораторный стенд, который позволяет проводить исследование изучаемого объекта, явления или процесса по индивидуальной программе, обработку результатов и представление отчета.
Все компоненты виртуальной лаборатории размещаются в рамках одной страницы. На рис. 3 изображен пример лабораторной работы. В нижней части экрана расположен так называемый апплет-менеджер. Его роль состоит в осуществлении связи пользовательского интерфейса лабораторной работы с сервером дистанционного обучения. Визуально он состоит из полосы оставшегося времени и кнопки «Ответ готов». После нажатия на эту кнопку апплет-менеджер обращается к методу getResults(), забирает ответ студента, оформленный в виде строки, и передает на дальнейшую обработку.
Рис. 3. Интерфейс лабораторной работы «Машина Поста» Протокол управления лабораторией
Протокол управления лабораторией RLCP базируется на протоколе TCP. Взаимодействие происходит по следующей схеме: сначала устанавливается TCP-соединение с сервером, потом передается запрос клиента, далее сервер проверки возвращает ответ, после чего происходит разрыв соединения.
Запрос клиента генерируется процедурой базы данных и содержит следующие компоненты:
• строка состояния,
• поля заголовка,
• пустая строка,
• тело запроса.
Строка состояния является обязательной, в ней указывается метод проверки ответа на проверяющем сервере. В системе предусмотрено два метода: вычислить и проверить.
Поля заголовка представляют собой совокупность строк, каждая из которых имеет следующий формат:
Имя поля: значение
Поля заголовка могут перечисляться в произвольном порядке, но должны использоваться не более одного раза. Названия полей заголовка не чувствительны к регистру. Имена полей приведены в табл. 1.
Название Значение
url RLCP URL проверяющего сервера
content-length Размер тела запроса в байтах
Таблица 1. Имена полей в запросе клиента
Поля заголовка content-length и url являются обязательными для запроса. Формат RLCP URL:
г\ср:11\Логин:Паролъ@\(1Р-адрес_сервера\Цоменное_имя_сервера):Порт. Пустая строка и тело запроса являются обязательными. Тело запроса оформляется в соответствии с разработанным DTD-определением и содержит тестовые наборы для проверки результата и строку ответа. Пример запроса клиента можно увидеть на рис. 4.
check
url:rlcp://vera:[email protected]:1732 content-length:537
<?xml version="1.0" encoding="Windows-1251"?>
<!DOCTYPE Request SYSTEM "http://de.ifmo.ru/--DTD/Request.dtd">
<Request>
<Conditions>
<ConditionForChecking id="1" Time="5">
<Input><! --5: 11111011 —></Input> <Output><! --Null: 111--></Output> </ConditionForChecking> </Conditions> <Instructions> <!—1 > 2 //2 A 3 //3 ! 3 //-->
</Instructions> </Request>
Рис. 4. Пример запроса клиента
Необходимо отметить, что входных и ожидаемых выходных наборов может быть несколько. Их формат задается автором. Ответ сервера состоит из:
• строки состояния,
• поля заголовка,
• пустой строки,
• тела ответа.
В строке состояния указывается трехзначный код ответа, несущий информацию об успешной обработке запроса или возникших ошибках. Примеры кода ответа приведены в табл. 2.
Код Расшифровка
100 Сервер продолжает обрабатывать запрос
200 Запрос успешно обработан, и в ответе передаются данные, указанные в запросе
300 Затребованный ресурс временно изменил свой адрес
400 Некорректный ХМЬ-файл
401 Некорректный набор входных данных
402 Несуществующая комбинация логина и пароля
403 Неподдерживаемый метод в запросе
404 Отсутствуют строка состояния или обязательные поля заголовка
405 Отсутствует значение поля заголовка
500 Затребованный ресурс временно недоступен
501 Указанный метод поддерживается протоколом, но данным сервером нет
Таблица 2. Код ответа сервера
Поля заголовка содержат информацию о размере тела ответа (в случае успешной обработки запроса) или указывают на реальное расположение поверяющего сервера для перенаправления запроса. Тело запроса оформляется в соответствии с БТБ-определением и содержит тестовые наборы, направленные на проверку результата, а также результат обработки каждого тестового набора. На основании этих данных рассчитывается оценка за выполнение в соответствии с правилами оценивания сценария, которая заносится в базу данных. Пример ответа сервера можно увидеть на рис. 5.
200
content-length:277
<?xml version="1.0" encoding="Windows-1251"?>
<!DOCTYPE Response SYSTEM "http://de.ifmo.ru/--DTD/Response.dtd">
<Response>
<CheckingResult id="1" Time="2" Result="1"> <!--111-- > </CheckingResult> </Response>
Рис. 5. Пример ответа сервера Алгоритм проверки результатов
В основе алгоритма проверки результатов лежит теория системного анализа. Схема проверки представлена на рис. 6. Здесь система 1 - эталонная система, на вход которой подаются проверяющие наборы и, а на выходе получаются всегда верные наборы у. Система 2 - программа-ответ студента. На ее вход подаются те же самые проверяющие наборы и, что и для системы 1, и выходные значения у* сравниваются с эталонными. На основании анализа отклонения результата от эталона и принятой автором системы оценивания в базе данных фиксируется полученная оценка. Такой подход позволяет использовать задания, результатом выполнения которых может быть бесконечный дискретный набор данных, например, написание программ, сборка схем.
u
У
Ф
i к
e = (y - y*)
Система 1
Система 2
Рис. 6. Схема проверки результата
Заключение
Описываемая технология построения лабораторных работ была реализована и внедрена в систему дистанционного обучения СПбГУ ИТМО. Автоматическая проверка результата позволяет значительно снизить трудозатраты на проверку отчетов о выполнении лабораторной работы, объективно оценить правильность выполнения задания, снизить уровень затрат на приобретение дорогостоящего оборудования для лабораторных установок. Технология позволяет студентам удаленно работать с лабораторной установкой или ее математической моделью как в обучающем, так и в аттестующем режиме, оперативно получать оценку за выполнение задания. Преподаватели освобождаются от длительной проверки результатов и сосредотачивают свое внимание на объяснение теоретических аспектов.
Основные положения и результаты работы использованы и прошли апробацию в учебном процессе на дисциплинах «Информатика», «Электроника и микропроцессорная техника», «Теоретическая механика». Одновременно в учебном процессе участвовало порядка двадцати человек. Эксперимент показал, что такая нагрузка не критична для системы.
Дальнейшее развитие разработки заключается в поиске новых перспективных алгоритмов проверки результатов выполнения виртуальной лабораторной работы.
1. Лямин A.B., Чежин М.С. Модульное построение электронных учебно-методических комплексов для системы дистанционного обучения. // Труды XII Всероссийской научно-методической конференции «Телематика'2005». Санкт-Петербург, 2005. Т. 2. С. 511-512.
2. Волкова A.A. Технология построения виртуальных лабораторных работ. / Сборник материалов Всероссийского конкурса инновационных проектов аспирантов и студентов по приоритетному направлению развития науки и техники «Информационно-телекоммуникационные системы» / Под. ред. А.О. Сергеева. М.: ГНИИ ИТТ «Информика», 2005. 132 с.
3. Техническое руководство по разработке учебно-методического комплекса для системы дистанционного обучения / ЦДО СПбГУ ИТМО, 2005. 135 с.
Литература