Проблема автоматизации разработки обучающего программного обеспечения является немаловажной при решении ряда вопросов, связанных с областью электронного обучения. Эффективное решение данной проблемы позволит получить некоторые преимущества организациям, использующим в процессе своей работы или предоставляющим электронные образовательные технологии: сокращение времени на разработку необходимого для определенного учебного курса виртуального тренажера; возможность относительно простой реализации в разрабатываемых тренажерах свойства адаптивности, что позволит сделать процесс обучения более гибким и в меньшей степени требовательным к педагогическому контролю; возможность разработки обучающих программ без привлечения сторонних специалистов в области программирования.
Автоматизация синтеза обучающих программ, обладающих свойствами интеллектуальности и адаптивности, в настоящее время является одним из наиболее перспективных направлений в области разработки образовательного программного обеспечения (включая технологии дистанционного обучения). В области дистанционного обучения эти свойства особенно важны, так как обучающиеся проходят учебный курс без непосредственного контроля преподавателя. Свойство адаптивности обеспечивает индивидуализацию образовательного процесса.
В случае разработки программной платформы для синтеза и запуска адаптивного обучающего программного обеспечения, технология моделирования изменчивости [1, с.106] может быть весьма полезной. С помощью нее возможна реализация непосредственно самого свойства адаптивности. Все поведенческие вариации конкретного синтезируемого системой программного продукта могут быть определены с помощью моделей изменчивости (статически заданных заранее или динамически генерируемых), а сам продукт в состоянии определенной поведенческой реакции может быть представлен как отдельный экземпляр линейки программных продуктов [2, с. 225]. Сама же линейка программных продуктов – это некоторое множество всех реализованных в форме конкретного состояния программного продукта поведенческих реакции.
Модель линейки программных продуктов содержит информацию об изменчивости предметной области, которая чаще всего оценивается с точки зрения некоторых характеристик, которыми обладают продукты. Данные характеристики, как правило, рассматриваются пользователями как важные в описании и различении между собой продуктов линейки. Модель характеристик определяет характеристики линейки продуктов и их допустимых комбинаций. Данная модель имеет иерархическую структуру: у каждой модели характеристик есть одна корневая характеристика, и у каждой характеристики могут быть свои подхарактеристики.
Подхарактеристики могут быть обязательными или дополнительными, могут быть в группе Или-характеристик или альтернативных характеристик. Характеристику называют составной, в случае если она имеет подхарактеристику, в противном же случае характеристика называется примитивной.
В качестве примера, иллюстрирующего описательные возможности моделей характеристик, приведем обобщенную поведенческую модель характеристик обучающего приложения, генерируемого с помощью системы синтеза адаптивных обучающих приложений (рис. 1). Как видно из рисунка, изменчивость в приложениях такого класса выражается в двух основных аспектах – геометрическом и поведенческом. В случае геометрической изменчивости речь идет о разном уровне детализации тех или иных трехмерных объектов в обучающем приложении. Примером обучающего приложения, в котором немаловажную роль может играть геометрическая изменчивость, служит виртуальный операционный стол (обучаемому на разных уровнях сложности необходимо работать с разными уровнями детализации моделей внутренних органов). Поведенческий аспект затрагивает алгоритмическую основу обучающего приложения. Например, на более высоких уровнях сложности приложение будет использовать дополнительные программные функции, отвечающие за поведение отдельных объектов в обучающем приложении. Примером использования такой изменчивости может послужить автосимулятор, в котором с возрастанием уровня сложности усложняется и делается более разнообразным поведение посторонних объектов на дороге.
Рисунок 1 - Обобщенная поведенческая и геометрическая модель характеристик обучающего приложения
Существующие типы отношений между дочерними и родительскими характеристиками представлены в табл.1.
Помимо иерархической структуры, многие нотации допускают также введение перекрестных ограничений. Перекрестное ограничение – это дополнительное ограничение (часто произвольная пропозициональная формула), накладываемое на характеристики модели. Даже если модель характеристик содержит несколько перекрестных ограничений, все они должны быть выполнены.
Модель характеристик может быть переведена в соответствующую пропозициональную формулу, которая оценивается как истинная только в том случае, если комбинация характеристик правильна. Формула, соответствующая всей модели характеристик, составляется путем объединения в единое выражение пропозициональных формул каждой конструкции в модели (см. табл. 2), перекрестных ограничений и формулы корневой характеристики. Итоговая пропозициональная формула является семантическим описанием модели характеристик, т.е. допустимых комбинаций функций.
Таблица 1 - Типы отношений между родительскими и дочерними характеристиками в модели характеристик
Таблица 2 – Соответствие типа отношений характеристик в модели характеристик пропозициональной формуле
Элемент модели характеристик | Пропозициональная формула |
Дополнительная характеристика![]() |
![]() |
Основная характеристика![]() |
![]() |
Или-группа | ![]() |
Альтернативная группа | ![]() |
Соответственно, можно сказать, что модели, изображенной на рисунке 1, соответствует следующая пропозициональная формула:
Представление структуры обучающей программы в форме пропозициональной формулы имеет некоторые преимущества. Так, в дальнейшем возможна минимизация полученной формулы и, таким образом, оптимизация самой структуры составленной пользователем программы.
Другое преимущество подобного подхода заключается в возможности организации автоматического поиска противоречий в составленной структуре программы. С этой целью возможно, например, использование алгоритмов LTMS [3, c. 150].
За счет использования технологии моделирования изменчивости при построении платформы для синтеза и запуска адаптивных обучающих систем достигается высокая модульность разрабатываемых в системе программных продуктов; обеспечивается возможность оперирования высокоуровневыми понятиями при разработке обучающего приложения; значительно снижается время, затрачиваемое на создание обучающей программы. Кроме того, рассмотренная методика при ее использовании в целях адаптации обучающего приложения к работе с конкретным пользователем позволяет обучающему приложению достаточно гибко приспосабливаться к индивидуальным особенностям каждого обучаемого.
Библиографический список
- J. Liebig, S. Apel, C. Lengauer, C. Kastner, and M. Schulze, “An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines,” in Proc. Int’l Conf. Software Engineering (ICSE). IEEE Computer Society, 2010.
- S. Apel, C. Kastner, and C. Lengauer, “FeatureHouse: Language-Independent, Automated Software Composition,” in Proc. Int’l Conf. Software Engineering (ICSE). IEEE Computer Society, 2009.
- McAllester, D.A. A three-valued truth maintenance system. MIT AI Lab. Memo 473, 1978.