Научная статья на тему 'Модельный подход к конструированию учебно-исследовательских обучающих систем'

Модельный подход к конструированию учебно-исследовательских обучающих систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
204
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УЧЕБНО-ИССЛЕДОВАТЕЛЬСКАЯ ОБУЧАЮЩАЯ СИСТЕМА / ДВОИЧНОЕ ДЕРЕВО ПОИСКА / ИНФОРМАЦИОННО-АЛГОРИТМИЧЕСКАЯ МОДЕЛЬ / РОЛЕВАЯ ДИАГРАММА / СЕТЕВАЯ ДИАГРАММА / РЕКУРСИВНЫЙ АВТОМАТ / EDUCATION AND RESEARCH TRAINING SYSTEM / BINARY SEARCH TREE / INFORMATION-ALGORITHMIC MODEL / ROLE CHART / NETWORK DIAGRAM / RECURSIVE AUTOMATON

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кузин Станислав Григорьевич, Макаров Никита Львович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MODEL APPROACH TO THE DESIGN OF EDUCATION AND RESEARCH TRAINING SYSTEMS

An original technology to design software of education and research systems for distance learning is presented by the example of the development of a specific education and research system.

Текст научной работы на тему «Модельный подход к конструированию учебно-исследовательских обучающих систем»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 004.4'2

МОДЕЛЬНЫЙ ПОДХОД К КОНСТРУИРОВАНИЮ УЧЕБНО-ИССЛЕДОВАТЕЛЬСКИХ ОБУЧАЮЩИХ СИСТЕМ

© 2011 г. С.Г. Кузин, Н.Л. Макаров

Нижегородский госуниверситет им. Н.И. Лобачевского

kuzins@mail.ru

Поступила в редакцию 01.08.2011

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

Ключевые слова: учебно-исследовательская обучающая система, двоичное дерево поиска, информационно-алгоритмическая модель, ролевая диаграмма, сетевая диаграмма, рекурсивный автомат.

Важную роль в повышении эффективности образовательного процесса играют новые познавательные средства, имитирующие объекты изучения на ЭВМ на основе математических описаний этих объектов (математических моделей). Машинные средства визуализации позволяют создавать наглядные образы объектов и явлений, которые сами по себе не являются наглядными [1].

В предметной области алгоритмизации, в рамках новых информационных технологий обучения, особую актуальность имеют учебноисследовательские программные системы (УИС), построенные по принципу «управляемых мультфильмов» (компьютерных игр) [2]. Работая с такой УИС, ученик в режиме реального времени может просматривать по шагам процесс выполнения алгоритма при различных исходных данных. Подобная технология обучения основам алгоритмизации коренным образом отличается от традиционной, когда, изучая императив вычислительного процесса - статический текст программы (статическую блок-схему), ученик пытается представить динамику вычислительного процесса, который реализуется компьютером - интерпретатором этого императива.

Программа УИС должна не только являться средством решения проблемной задачи из класса Т, но также давать советы пользователю по организации вычислительного процесса и давать объяснения по поводу совершаемых программой действий. Другими словами, УИС должна быть симбиозом диалоговой вычислительной системы и экспертной системы в пре-

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

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

- заказчику УИС.

В данной статье предлагается технология проектирования УИС, основанная на применении двух графовых моделей: модели функционального процессора и модели вычислительного процесса. Технология проектирования излагается на примере конкретной УИС - «Двоичное дерево поиска».

Независимая от проблемной ориентации архитектура УИС [3] представлена на рис.1.

Конструирование программного обеспечения УИС ведется на основании графовых моделей [4, 5].

Интерфейс конкретной УИС схематически изображен на рис. 2. В полосе 1 расположены кнопки меню диалога, которые служат для управления работой программной системы. В полосе 2 располагаются окна-табло для ввода информации, необходимой для работы системы. В окне визуализации демонстрируются графика двоичного дерева и процессы его исследования:

Рис. 1

Полоса 1. Кнопки управления системой

Полоса 2. Табло ввода информации, запрашиваемой системой

Окно визуализации объектов и процессов

Полоса 3. Подсказки и протокол работы системы

Рис. 2

создание дерева, поиск вершины по заданному ключу, процедуры обхода вершин дерева и т.д. В полосе 3 выводится содержательная текстовая информация, которая отражает этапы работы системы и «толкование» этих этапов.

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

Переменные УИС «Двоичное дерево поиска»: регистр N - имя дерева; регистр K - ключ вершины; S - списковая структура хранения двоичного дерева поиска; GOOD - двоичный индикатор выполнения тестовой функции (значение: {false, true}); R - одномерный массив, представляющий последовательность вершин дерева по направлению обхода; WR - окно визуализации R, WT - окно визуализации дерева поиска.

Функциональный процессор реализует проблемно-ориентированную направленность УИС: создание и коррекцию двоичного дерева поиска, поиск вершины двоичного дерева по заданному ключу, обходы двоичного дерева поиска.

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

- входящие стрелки и выходные переменные -исходящие стрелки.

При проектировании УИС в качестве модели вычислительного процесса используется ролевая диаграмма, трансформируемая затем в ре-

курсивную сетевую диаграмму. Ролевая диаграмма рассматривается как понятийная модель вычислительного процесса, который должна реализовать УИС.

По сути ролевая диаграмма являет собой графическую запись выражения многоосновной алгебры вычислительных процессов. Сложный вычислительный процесс <2> определяется (де-финируется) формулами трех типов:

< 2 >= X ... X X ... х Л2п , (1)

< 2 >= Л V ... V Л^ V ... V А, (2)

< 2 >= А }. (3)

Интерпретация мультипликативной формулы (1): родительский процесс <2> определяется как последовательное выполнение сыновних процессов А2, г = 1^п. Операция х - мультипликация процессов.

Интерпретация альтернативной формулы (2): родительский процесс <2> определяется как альтернативное выполнение любого из сыновних процессов Л2, г = 1^п. Операция V - альтернация процессов.

Интерпретация итеративной формулы (3): родительский процесс <2> определяется как многократное выполнение (в том числе ни одного раза) единственного сыновнего процесса Л2!. Операция {}* - итерация единственного процесса.

Примечание. Приведенная выше тройка операций в теории абстрактных автоматов интерпретируется как сигнатура операций алгебры событий [6].

Сыновний процесс определяется следующим образом:

Л^ = К • / у, /) (4)

Здесь К2г - естественно языковой термин, объясняющий роль процесса /у,/ в определении процесса <2>; /у/ - либо команда функционального

Опап*е- ВВОД ОксуГ Ввод

имени в N ключа в К

сгагЬ:зались

<7head- Создание

заголовка

сггол: Вставка корня

Архив

Ово^: Вставка вершины

о^Обход 1 пт

^search-

ГІоиск

ключа

Он^гОбход 2

И: регистр имени

К: регистр ключа

Odd-

Удалить

вершину

ГГ ‘

Стек»: очистка списка 8

Ор^гОбход 3 ZZT

с?от:Внзуализация дерева

I

S: Список

GOOD

<т8:Погасить обход

i_ ЯгОбход дерева

(TwR-'Визуализация обхода

I

.МУК: Окно обхода _\¥Т: Окно дерева

Рис. 3

Rz,[

<z>

ж

<z>

/уі/

RZJ

/у/

R\[

/уп/

Rzi|

/уі/

R

/Уу

R^|

/у»/

<z>

/у/

Мультипликативная формула -мультипликативный куст Я - диаграммы

Альтернативная формула -альтернативный куст Я - диаграммы

Рис. 4

Итеративная формула — итеративный куст Я - диаграммы

процессора а,, либо сложный процесс <у>; операция • является конкатенацией роли процесса и собственно процесса.

Ролевая диаграмма представляет конструкцию главного вычислительного процесса <<£>> и состоит из кустов трех типов (рис.4). Каждый куст - графическое изображение формулы определения родительского вычислительного процесса.

Для нашего примера ролевая диаграмма вычислительного процесса УИС «Двоичное дерево поиска» состоит из главной диаграммы, которая определяет режимы работы программной системы, и ряда подчиненных диаграмм, которые представляют вычислительные процессы, реализующие эти режимы. Подробнее о ролевых диаграммах и моделях вычислительных процессов говорится в [5].

Для примера приведем естественно-языковое описание главного вычислительного процесса УИС, которое формализуется главной диаграммой рис. 5.

Главный вычислительный процесс представляется как итерация единственного процесса: <уис> = {СЕАНС*<сеанс>}*.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Процесс <сеанс> определяется как мультипликация двух процессов:

<сеанс> = (ИНИЦИАЦИЯ ДЕРЕВА • Инициация дерева>) х (РАБОТА С ДЕРЕВОМ • <работа с деревом>).

Процесс <инициация дерева> определяется как альтернация двух процессов-признаков: <новое дерево> = (НОВОЕ ДЕРЕВО ^<новое дерево>)у(ЧТЕНИЕ ДЕРЕВА^<чтение дерева>) и т.д.

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

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

Сетевая диаграмма является модификацией расширенной рекурсивной сети переходов Вудса [7] и строится следующим образом: каждый куст ролевой диаграммы порождает элементарную сеть (рис. 6).

«уис» ДЕРЕВО ПОИСКа|

<уис> СЕАНС|*/КОНЕЦ <сеанс>

________________

ИНИЦИАЦИЯ ДЕРЕВ/

<инициация>

їаГ

ЭКСПЕРИМЕНТЫ!

<эксперименты>

НОВОЕ ДЕРЕВо| ЧТЕНИЕ ДЕРЕВа| ЭКСПЕРИМЕНТ ^ КОНЕЦ

<дерево>

/о Ьакі/

СОЗДАНИЕ ДЕРЕВА | ЗАПИСЬ ДЕРЕВа|

/сТагь/

<создание>

<эксперимент>

КОРРЕКЦИИ ДЕРЕВА

*<коррекции>

ПОИСКИ КЛЮЧЕЙ^____________

-----------------►<поиски>

ОБХОДЫ ДЕРЕВА(<обходы>

Рис. 5

Трансформация признаков-процессов куста Я - диаграммы

ягі

или

Я2і

/ст/

К*||

/уі/

Трансформация мультипликативного куста Я - диаграммы

<7>

_____¿к

К}

<7>~

Я2!

г»

Ы /у/

/у/ Ы

Трансформация альтернативного куста И - диаграммы

/у»/

<У>

ягі|

/уі/

Трансформация итеративного куста Я - диаграммы

</>

<£>

/уі/

я2.

/уУ

|КОНЕЦ

є

Рис. 6

На рис. 7 изображена система элементарных сетевых диаграмм, полученная посредством трансформации ролевой диаграммы рис. 5.

Очевидно, что число элементарных сетевых диаграмм равно числу кустов ролевой диаграммы. Каждая дуга элементарной сетевой диаграммы может быть либо ролевой, помеченной ролью вычислительного процесса; либо рекурсивной, помеченной сложным вычислительным процессом <у>; либо терминальной, помеченной командой функционального процессора. Построенное посредством трансформации ролевой диаграммы множество элементарных се-

тевых диаграмм является системой, так как для каждой рекурсивной дуги <у,> существует элементарная сетевая диаграмма, идентифицируемая как <у>.

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

ДЕРЕВО ПОИСКА

«уиО>^ <уис>---------► є

<уис>

<сеанс> ,СЕАНС

<сеанс>-

ИНИЦИАЦИЯ ДЕРЕВА ЭКСПЕРИМЕНТЫ

КОНЕЦ

<инициация>

Эксперименты

<

НОВОЕ ДЕРЕВО <дерево> ЧТЕНИЕ ДЕРЕВА

/а«*/

>

Оксперименты>

<эксперимен>

ЭКСПЕРИМЕНТ

СОЗДАНИЕ ДЕРЕВА ЗАПИСЬ ДЕРЕВА 6 <дерево> <создание> * /о^/ *Е

КОРРЕКЦИЯ ДЕРЕВА

КОНЕЦ

<эксперимент>

<коррекция> ПОИСКИ КЛЮЧЕЙ

<поиски> ОБХОДЫ ДЕРЕВА <обходы>

л

7

ВАРИАНТ ДЕРЕВА

Рис. 7 <создание дерева>

_____УТ\

ДРУГИЕ ВАРИАНТЫ |

<другие варианты>

ДРУГОЙ вариант{ *

<другой вариант>

, /К

<вариант дерева> ИМЯ ДЕРЕВА

/Оьгея/

ОЧИСТКА СПИСКА 81

/о^

СОЗДАНИЕ КОРНЯ

КЛЮЧ КОРНЯ

<создание корня>

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

г^Г-

/Ото«/

Рис. 8

т

/очп/

СОЗДАНИЕ ПОДДЕРЕВЬЕВ

ПОДДЕРЕВЬЯ

<подцеревья>

ВЕРШИНА | *

<вершина>

КЛЮЧ ВЕРШИНЫ

Г

/апате/

/<3ікхїе/ /СТ\ут/

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

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

вать «откаты» в случае ошибочных действий пользователя.

Сетевая диаграмма, построенная посредством трансформации ролевой диаграммы рис. 9, приведена на рис. 10. Ролевые и сетевые диаграммы остальных подчиненных процессов получаются аналогичным образом.

Существенно, что каждая элементарная сетевая диаграмма является двухполюсником, что позволяет вместо дуги <у> в сети <£> подста-

ДЕРЕВО

ПОИСКА

«уис»*

ф-

СЕАНС

КОНЕЦ

СОЗДАНИЕ ДЕРЕВА ЗАПИСЬ ДЕРЕВА <создание> \

ЧТЕНИЕ ДЕРЕВА_________________________

/СУгеаё/

/

ЭКСПЕРИМЕНТЫ

ЭКСПЕРИМЕНТ

КОРРЕКЦИЯ ДЕРЕВА <коррекция> ПОИСК КЛЮЧА

КОНЕЦ

<поиск> ОБХОДЫ ДЕРЕВА

<обходы>

У

<создание>

<поиск>

<корреі

<обходы> Рис. 9

Рис. 10

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

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

Сетевая модель вычислительного процесса интерпретируется управляющим процессором УИС, который, на основании этой модели, фор-

мирует поток команд функционального процессора (рис. 1).

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

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

2. Каждая автоматная сеть являет собой диаграмму переходов рекурсивного конечного автомата.

3. Каждая дуга имеет «верхнюю» метку -наследующую соответствующую роль ролевой диаграммы вычислительного процесса.

4. Некоторые дуги имеют «нижнюю» метку: имя подчиненной сети (рекурсивная дуга) или

идентификатор команды функционального процессора (терминальная дуга).

5. Каждая вершина, в совокупности с множеством выходящих из нее дуг, определяет куст сети.

6. Каждый куст автоматной сети относится к одному из двух типов:

• информационный куст имеет единственную дугу;

• альтернативный куст имеет конечное множество дуг.

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

1. Находясь в вершине информационного куста, автомат выводит в качестве сообщения метку (роль) единственной дуги куста и переходит в конечную вершину этой дуги.

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

3. Рекурсивный автомат Л(<2>), работающей с диаграммой переходов <2>, при переходе по рекурсивной дуге di с «нижней» меткой <у> вызывает рекурсивный автомат Л(<у>), который начинает работать с диаграммой переходов < у>. После завершения работы автомата Л(<у>) автомат Л (<2>) переходит в конечную вершину дуги di.

4. Рекурсивный автомат Л(<2>), работающей с диаграммой переходов <2>, при переходе по терминальной дуге с верхней меткой и «нижней» меткой - командой /аг/ направляет эту команду в функциональный процессор для выполнения.

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

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

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

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

1. Стронгин Р.Г. Программные средства для образовательных целей, основанные на имитации объектов изучения (принципы создания) // Математическое моделирование в образовании. Программные средства: Межвуз. сб. Нижний Новгород: Изд-во Нижегородского университета,1993.

2. Кузин С.Г., Куринов А.В., Костюкович Э.В. Анимация блок-схем в компьютерной технологии обучения началам алгоритмизации// Информационные технологии. 1996. № 4.

3. Заполоцкий Д.Е., Карпенко С.Н., Кузин С.Г. и др. Принципы построения и архитектура пакета прикладных программ// Управляющие системы и машины. 1978. № 1.

4. Кузин С.Г., Кошелев М.В. Модели и способы

управления вычислительным процессом// Вестник Нижегородского университета. Математическое моделирование и оптимальное управление. Нижний Новгород: Изд-во Нижегородского университе-

та,1997. № 1. С. 184-195.

5. Кузин С.Г. Конструирование унифицированных компонентов прикладной программы на основании ролевого графа// Вестник Нижегородского университета. Математическое моделирование и оптимальное управление. Нижний Новгород: Изд-во Нижегородского университета, 1999. 1(20).

6. Айзерман М.А., Гусев Л.А., Розоноэр Л.И. и др. Логика. Автоматы. Алгоритмы. М.: Физматгиз, 1963.

7. Вудс В.А. Сетевые грамматики для анализа естественных языков // Кибернетический сборник. Новая серия. Вып. 13. М.: Мир, 1976.

MODEL APPROACH TO THE DESIGN OF EDUCATION AND RESEARCH TRAINING SYSTEMS

S.G. Kuzin, N.L. Makarov

An original technology to design software of education and research systems for distance learning is presented by the example of the development of a specific education and research system.

Keywords: education and research training system, binary search tree, information-algorithmic model, role chart, network diagram, recursive automaton.

i Надоели баннеры? Вы всегда можете отключить рекламу.