В настоящее время весьма острой является проблема обеспечения качества производимой продукции вообще и электронных систем в частности [1]. Если раньше разработка новых электронных приборов и систем была ориентирована на 10–15-летний срок эксплуатации и диагностические тесты формировались специализированными подразделениями разработчиков аппаратуры, то теперь моральное старение изделий электронной техники происходит гораздо быстрее, объемы производства стали меньше, поэтому все этапы от разработки до изготовления продукция часто проходит непосредственно на предприятии-изготовителе. Вместе с тем в условиях жесткой конкуренции предприятие не может позволить себе снижать качество продукции. Наилучшим выходом из данной ситуации является создание автоматизированной обучающей системы (АОС), предназначенной для повышения квалификации обслуживающего персонала без отрыва от производства и представляющей собой систему интеллектуальной поддержки процессов обучения и переподготовки кадров [2].
Разработанная АОС в области технической диагностики состоит из нескольких взаимодействующих между собой функциональных блоков (рис. 1).
Схема алгоритма работы системы, отображающая взаимодействие перечисленных блоков, показана на рисунке 2. Блок, содержащий теоретические сведения, активизируется в самом начале процесса обучения. Он включает теоретические основы предметной области – описание методов и средств технической диагностики. Модель области знаний, необходимая для функционирования контента АОС, обеспечивает учет степени компетентности по обеспечивающим дисциплинам, автоматизацию генерации заданий, автоматический решатель задач, использование трех технологий обучения (индуктивный, дедуктивный и абдуктивный), развитие и корректировку структуры и контента системы в процессе эксплуатации.
Генератор заданий работает по квазислучайному принципу. Несмотря на то, что схемы генерируются случайным образом, они состоят из ограниченного количества заранее определенных вентилей.
Автоматический решатель построен на основе тех алгоритмов, по которым обучаемым должна решаться задача. Его функционирование возможно в двух режимах – обычном и пошаговом. Обычный режим используется при необходимости получить и проконтролировать конечный результат. Пошаговый режим включается для контроля процесса решения задачи.
Контрольные задания для АОС представляют собой диагностируемый объект среднего уровня сложности, на который подаются входные воздействия, при этом требуется определить поведение объекта. После этого в предлагаемый объект вводится неисправность, а обучаемый должен определить поведение объекта в контрольных точках и выделить неисправный элемент или подозреваемую область неисправности. Если обучаемый справился с этой задачей, генерируется более сложный объект, если нет – менее сложный. По результатам выполнения контрольной задачи делается вывод о степени готовности специалиста к выполнению данной работы.
Для автоматической генерации схемы возможны следующие подходы: генерация древовидной структуры, послойная генерация схемы. Генерация древовидной структуры может быть реализована средствами процедурного и объектно-ориентированного программирования.
Процедурный подход предполагает построение динамического дерева, узел которого, описывающий вентиль, состоит из следующих полей:
struct node
{
int sign; //признак того, сколько входов имеет вентиль
int *fn_done(int I1, int I2, int I3); // указатель на функцию, реализующую работу вентиля
void *fn_visual(int I1, int I2, int I3); // указатель на функцию визуализации
node *left; //указатель на левую ветвь дерева
node *right; //указатель на правую ветвь дерева
node *middle; //указатель на среднюю ветвь дерева
node *reverse; //указатель на предыдущий узел
};
Указатель на функцию, реализующую работу вентиля, нужен потому, что при автоматической генерации схемы невозможно заранее предусмотреть, какая из них окажется в данном узле. Существование указателя на предыдущий узел обусловлено тем, что древовидная структура в ее стандартом представлении – это направленная от корневого узла динамическая структура. Но рассмотрение схемы имеет противоположное направление – от входов к выходу. Указатель reverse делает дерево двунаправленным, что дает возможность обрабатывать его так же, как обрабатывается прохождение сигналов по схеме. Указатель на функцию визуализации используется, так как неизвестно, какой вентиль будет изображен в данном месте.
При объектно-ориентированном подходе создается базовый класс, который описывает узел дерева и содержит чисто виртуальные функции.
Использование таких функций позволяет создать древовидную иерархию классов; в каждом производном классе данные функции переопределяются таким образом, чтобы реализовать один из возможных вариантов вентилей.
В процессе работы программы на каждом шаге возможна случайная генерация одного вентиля, а использование технологии RTTI (Runtime Type Information) позволяет определить, какой именно вентиль используется. В остальном объектно-ориентированный подход для данной задачи аналогичен процедурному подходу.
Послойная генерация схемы – это другой подход, имеющий алгоритмическую основу, отличную от древовидной структуры. Случайным образом задается количество входов в первом слое схемы, далее генерируются вентили из заранее определенного набора. Входы каждого из вентилей занимают входы первого слоя схемы, который генерируется до тех пор, пока входов останется меньше, чем в очередном сгенерированном вентиле. После этого возможны два варианта действий.
1. Генерировать вентили до тех пор, пока количество входов вентиля не превысит количество свободных входов слоя. В этом случае первый слой считается сгенерированным, а потому переходят к генерации второго слоя, входами для которого служат выходы первого слоя.
2. Переводить оставшиеся свободными выходы первого слоя в качестве входов во второй слой. Эти действия выполняются до тех пор, пока не будет сформирован последний слой, содержащий один вентиль с одним выходом.
Если схема последовательностная, то выходы имеющихся в ней триггеров соединяются с их соответствующими входами.
Основной задачей, связанной с предметной областью, является обучение сотрудников построению тестовых последовательностей для схем. Для этого в процессе работы программы нужно иметь возможность случайным образом вносить неисправность в сгенерированную схему. Эти действия производит функция-эмулятор ошибки, которая в зависимости от выбранного случайным образом параметра type_error (0/1) будет создавать одну из ошибок – «константный 0» или «константная 1» на выбранном вентиле. После того как ошибка эмулирована, обучаемому предлагается снова определить значение на выходе схемы (в том числе и в пошаговом режиме). Если он справился с этой задачей, можно переходить к формированию им тестовой последовательности.
Блок подготовки специалистов реализует алгоритм настройки на компетентностные возможности обучаемого [3]. Режим тренинга предполагает наличие нескольких задач разной сложности и возможность досрочного выхода из этого режима, если обучаемый считает, что уровень его подготовки позволяет ему перейти к выполнению контрольного задания. При желании обучаемый может перейти к выполнению контрольного задания, минуя режим тренинга.
Если обучаемый после изучения теоретической части не в состоянии решить даже самую простую задачу в режиме тренинга или получает неудовлетворительную оценку при выполнении контрольного задания, ему предлагается повторно изучить теоретический блок, но уже в изложении по индуктивной технологии. Таким образом, происходит настройка блока подготовки специалистов на индивидуальные особенности обучаемого и уровень его подготовки.
Результаты экспериментальных исследований использования АОС показали, что интенсивность сдачи контрольных мероприятий увеличилась на 15 %, успеваемость повысилась на 12 %. Применяемая технология e-learning предполагает сдачу контрольных мероприятий без личного присутствия обучаемого – выполненное задание отправляется на электронный адрес преподавателя.
Литература
1. Варакута С.А. Управление качеством продукции: учеб. пособие. М.: ИНФРА-М, 2001. 207 с.
2. Игнатова И.Г., Соколова Н.Ю. Информационные и коммуникционные технологии в образовании // Информатика и образование. 2003. № 3. С. 52–61.
3. Баин А.М. К вопросу организации модели предметной области автоматизированной обучающей системы // Актуальные проблемы современной науки. 2009. № 4. С. 317.