Content uploaded by Georgi Pashev
Author content
All content in this area was uploaded by Georgi Pashev on Mar 01, 2017
Content may be subject to copyright.
ПЛОВДИВСКИУНИВЕРСИТЕТ„ПАИСИЙХИЛЕНДАРСКИ“
ФАКУЛТЕТПОМАТЕМАТИКАИИНФОРМАТИКА
КАТЕДРА„КОМПЮТЪРНАИНФОРМАТИКА“
ГЕОРГИПЕТРОВПАШЕВ
ДИНАМИЧНОГЕНЕРИРАНЕИОПТИМАЛНОУПРАВЛЕНИЕ
НAПОТОЦИОТДЕЙНОСТИИРЕСУРСИЗАПРОВЕЖДАНЕ
НАЕЛЕКТРОННОТООБУЧЕНИЕ
АВТОРЕФЕРАТ
НАДИСЕРТАЦИОНЕНТРУДЗАПРИСЪЖДАНЕ
НАОБРАЗОВАТЕЛНАИНАУЧНАСТЕПЕН„ДОКТОР“
пообластнависшеобразование
4.Природнинауки,математикаиинформатика
професионалнонаправление
4.6.Информатикаикомпютърнинауки
докторскапрограма„Информатика“
Наученръководител:
проф.д.м.н.ГеоргиАтанасовТотков
Рецензенти:
проф.д‐рКънчоЙордановИванов
проф.д‐рИванКойчев
Пловдив
2017година
2
Дисертационният труд е обсъден и насочен за защита пред научно жури,на
заседание на катедра „Компютърна информатика“ при Факултета по математика и
информатиканаПловдивскияуниверситет„ПаисийХилендарски“,на27.10.2016г.
МатериалитепозащитатасанаразположениенаинтересуващитесевДекана‐
танаФакултетапоматематикаиинформатика,НовасграданаПУ„Паисий Хилендар‐
ски“(бул.„България“№236),всекиработенденот8:30до17часа.
Защитата на дисертационния труд ще се състои 16.02.2017г.от12:30 часа в
ЗаседателнатазаланаПУ„ПаисийХилендарски“(Ректорат,ул.„ЦарАсен“№24).
Автор:ГеоргиПетровПашев
Заглавие:ДИНАМИЧНОГЕНЕРИРАНЕИОПТИМАЛНОУПРАВЛЕНИЕНA
ПОТОЦИОТДЕЙНОСТИИРЕСУРСИЗАПРОВЕЖДАНЕНА
ЕЛЕКТРОННОТООБУЧЕНИЕ
3
Abstract
GEORGIPETROVPASHEV
DYNAMICGENERATIONANDOPTIMALMANAGEMENTOFFLOWSOF
ACTIVITIESANDRECOURCESFORE‐LEARNING
Inthecontextofe‐learningthelevelofpersonalizationisameasurementforlearn‐
ingqualityandeffectiveness.Inotherwords:e‐learningpathsshouldvary,dependingon
learninggoals,knowledge,motivationandindividuallearningstyles.
Astudentcanpassthecoursethroughoneormorelearningpaths.Personalized
learningcontentismoresuitableandcomprehensibleinacontextofpersonallearning
goalsandachievements.
Supportofdifferentaspectsofpersonalizationandadaptationsoflearninginstru‐
mentsisnotintherequiredabstractionlevel:toooftendependsondistinctmethodsof
combiningLOsinordertobuildLearningPaths(LPs)for“passingthrough”ane‐courseand
achievingofLearningGoals.TheselectionofLOsquiteoftenisbuiltonrathersimplified
principles,doesn’tmeettherequirementsformodellingandfollowingmorecomplexe‐
learningstrategies.
Goalsofthedissertationresearch
Theprimarygoaloftheresearchistoresearch,proposeandtestmodels,method‐
ologiesandsoftwareinstruments,suitableforthecreationofadaptivee‐learningsystems
(Ae‐lSs)withalargesetofpossibleapplications.
Thefollowingresearchquestionsfulfilltheprimarygoal:
Question1.Researchonmethodologiesandtoolsforprovidingadaptivee‐
learning,includingcomparativeanalysisofAe‐ISs,
Question2.Creationofageneralizedmodel,architectireandaprototypeofa
softwaresystemwhichprovidesadaptivee‐learning(withinaninstitutionalinformational
infrastructure),aswellasamethodologyfortheirapplication;
Question3.IntroductionandtestingofconceptualandcomputermodelsforAs‐lS
withdifferentapplications;
Question4.Design,creationandtestingofsoftwareinstrumentsforadaptivee‐
learning.
4
СЪДЪРЖАНИЕ
ABSTRACT.........................................................................................................................3
СПИСЪКНАИЗПОЛЗВАНИТЕСЪКРАЩЕНИЯ...................................................................5
УВОД................................................................................................................................6
ГЛАВА1.ОБЗОР...............................................................................................................7
1.1.Същностнаадаптивнотое‐обучение.............................................................7
1.2.Изводи.................................................................................................................8
ГЛАВА2МОДЕЛИНАПРОЦЕСИ,МЕТОДИКИИАСЕО....................................................9
2.1.Основнипонятия................................................................................................9
2.2.Моделнаадаптивенпроцесзаобучение.......................................................11
2.3.Основнимодели................................................................................................12
2.4.МетодиказаизгражданенарамканаАСЕО.................................................15
ГЛАВА3.АРХИТЕКТУРАНАРАМКААСЕО.....................................................................16
3.1.ОбщаархитектуранарамкаАСЕО................................................................16
3.2.Техническо‐приложенизгледнаархитектурнарамканаАСЕО..................17
3.3.Модул„Обучаванвкурс“.................................................................................19
3.4.Генераторнапресонализираниучебнипътища...........................................20
3.5.Генераторнатестовиединици.....................................................................22
3.6.Рамказаработнипотоци...............................................................................23
ГЛАВА4.РЕАЛИЗАЦИЯНАРАМКААСЕО......................................................................24
4.1.Рамказаизпълнениенаработнипотоци......................................................24
4.2.Модул„Обучаванвкурс“.................................................................................29
4.3.Генераторнаперсонализираниучебнипътища...........................................30
ГЛАВА5.ИЗГРАЖДАНЕНАПРОТОТИПИВЪРХУРАБОТНАРАМКААСЕО.....................33
ЗАКЛЮЧЕНИЕ................................................................................................................34
БИБЛИОГРАФИЯ............................................................................................................38
5
Списъкнаизползванитесъкращения
XML............................................................................................ExtendableMarkupLanguage
АМП.............................................................................Аспектзамногомернопространство
АОС............................................................................Автоматизиранасистемазаобучение
АСЕО...............................................................Адаптивнасистемазаелектроннообучение
АТ...............................................................................................................Акумулативентест
АТЕ........................................................................................Акумулативнатестоваединица
ГПИ..............................................................................Графиченпотребителскиинтерфейс
ЗО.............................................................................................................Заявказаобучение
ИПО.........................................................................................Изучаванапредметнаобласт
МП.................................................................................................................МрежанаПетри
ПО..............................................................................................................Предметнаобласт
СеО....................................................................................СистемазаЕлектроннообучение
УД...................................................................................................................Учебнадейност
УО.......................................................................................................................Учеб е н о б е к т
УП...........................................................................................................................Учебенпът
УЦ...........................................................................................................................Учебнацел
SA.......................................................................................................................... Метазнание
6
Увод
Вконтекстанае‐обучението,равнищетонаперсонализацияемярказакачест‐
воиефективностзаобучението. Казано по друг начин, учебните пътища е целе‐
съобразнода серазличават единотдруг набазатана поставениучебницели,позна‐
ния,мотивация и индивидуални стилове на учене на обучаваните.Набазатанатези
персоналнихарактеристики, обучаван може да „премине“курсапоединилиповече
учебни пътища.Акоеперсонализирано, учебното съдържание е по‐подходящо и
разбираемо за обучавания в контекста на неговите лични цели и постижения.Под‐
дръжкатана различни аспекти на персонализация иадаптация на съответните инст‐
рументинеенажеланоторавнищенаабстракция–многочестозависиотконкретния
начин,покойтосепредполага,чеучебнитеобекти(УО)щесекомбиниратзапостроя‐
ванена учебен път (УП)за„преминаване“през е‐курс, или запостиганенаучебните
цели.ПодборътнаУОзавключваневУПобикновенопочиванапрекаленоопростени
принципи, не е съобразен с необходимостта от моделиране или следване на по‐
сложнистратегиизаобучение.
Целизадачи
Основнацелнадисертационното изследване е дасепредложат, изследват и
апробират модели, методи и софтуерни инструменти, подходящи за създаване на
адаптивнисистемизаелектроннообучение(АСеО)сразличнопредназначение.
Изпълнениетонапоставенатацелпредполагарешаваненачетиризадачи:
Задача1. Проучваненаконцепции исредстваза осигуряванена адаптивное‐
обучение,вкл.провежданенасравнителенанализнаконкретниАСеО;
Задача2. Създаванена общмодел,архитектураипрототипнасофтуерна сис‐
темазаосигуряваненаадаптивное‐обучение(врамкитенаинституционална инфор‐
мационнаинфраструктура),кактоинаметодиказатяхнотоприлагане;
Задача3.Въвежданеиапробираненаконцептуалниикомпютърнимоделиза
АСеОсразличнопредназначение;
Задача 4. Проектиране, реализация и тестване на софтуерни инструменти за
адаптивное‐обучение.
Структуранадисертацията
ВГлава 1.ОбзорсаразгледаниОсновнипонятия;Методики и модели свър‐
занисадаптивнотое‐обучение; Съществуващи реализации на АСЕО,на които е
приведенакласификация.Вкраянагл.1саформираницелизаАСЕО.
ВГлава2.евъведенМоделнаадаптивенпроцес,дефинирани сарелевант‐
ни модели като модели в Изучавана предметна област (ИПО),Моделнаработен
поток,инстанциянаработенпоток,съобщение;Моделнааспектипр.модели.Пред‐
ставенаеиМетодиказаизгражданенаАСЕО,базирананаМоделнаАСЕО.
В Глава3.са представени логически изгледи технически изгледнаОбща
архитектурнарамка на АСЕО.Моделираниса архитектурно и важни компоненти от
логическияизгледкатомодули„Обучаван в курс“,„Преподавател“,„Учебнидейнос‐
ти“,„Администрация“,„Администриране на курс“,„Генератор на персонализирани
оптимални учебни пътища“,„Генератор на тестови единици“,„Рамка за работни
потоци“.
ВГлава4.епредставенпрограменкодотреализациятанарамкаАСЕО.
7
В Глава 5.сепредставяселементарни примери за създаване на адаптивен
курсвърхурамкатаАСЕОоттехническагледнаточка.
Благодарности
Искреноблагодаря на моя научен ръководител–проф.д.м.н.Георги Тотков,
задовериетоинапътствиятаприпровежданенадисертационноизследваневобласт‐
та. Несъмнено,творческиятпроцесбешеползотворенидвустранен,коетопозволи
създаваненанестандартниидеи итяхнатаеволюция иприлаганевконкретнирезул‐
татинатоваизследване.
Благодаря също на колегите от Университетския информационен център за
оказанатаподкрепа, разбиране исъдействиеи възможността да участвамвсъздава‐
ненаползотворнатворческасредапризачитаненадобриидеиотвсичкиколеги.
Глава1. Обзор
1.1 Същностнаадаптивнотое‐обучение
На базата на разбирането за същността на е‐обучението, дадена в [Тотков Г.
(2016)],можедасезаключи,че:Същносттанаадаптивнотое‐обучениесезаключавав
моделиране на адаптивно обучение като информационен процес с използване на
ИКТ.
Впроцеса на адаптивно е‐обучение участват субекти,информационни ресур‐
си,дейности/подпроцеси,материалниресурси,метазнанияиресурси,управлениена
процеса,ограничения. Субектите вадаптивнотое‐обучение са: обучаван,преподава‐
тел,автор,експертвпредметнатаобласт(ПО),администраторидр.Завсекиотсубек‐
титеима определен набор отважниатрибути,които го характеризират.Информаци‐
оннитересурси в процеса на е‐обучениетомогатдабъдатнапример: бази знания за
ПО, учебни и тестови единици, е‐портфолиа на субекти, цифровизирани дейности и
др.[ТотковГ.(2016)].Дейности/подпроцесивадаптивнотое‐обучениемогатдабъдат
отразличнитипове:учебни,административни, управленски,комуникационни,други.
Като част от управленските дейности можем да посочим: Планиране, Провеждане,
Управлениенаразличниформинаобучение,Контролидр. Материални ресурси,
релевантни към процеса на адаптивно е‐обучение, са например:зали,компютърни
системи,обем/вид на зали (лабораторни,семинарни,компютърни,други).Метазна‐
ниятаиресурсите вадаптивното е‐обучениевключват:учебницели,описаниенаПО,
методики за адаптивно обучение, различни връзки между същностите в субектите,
различни атрибути на тези субекти. Метазнанието включва метаданни за субекти,
информационни ресурси, дейности и др.коитонесачастотИПО. Управлението на
процеса на адаптивното е‐обучение включва управление на гореизброените управ‐
ленческидейности. Ограниченията впроцесанаадаптивно обучение могат да бъдат
напримерсвързанисвреме,място,стойностидр.
Задачатазаобучениеможедасеформулиракатозадачазауправление[(Л.А,
1981)]. В случая Адаптивната система за обучение (АОС) изпълнява функциите на
управляващоустройство(фиг.1).Нафигуратаимаследнитеобозначения:Ψ–състоя‐
ниенавъншнатасреда;Y–състояниена ученика;IΨ,IY–съответстващи измерители;
Y’иΨ’–резултатите от измерването;X– управляващи (обучаващи и контролиращи)
въздействия;Dx–ресурси(ограничения науправлението);Z*‐целинауправлението,
необходимизапреходнаобучаванвсъстояниеY*.
8
Фигура1ОбщаструктуранаАОС
Подсистематазауправление на обучението трябва да включва пет вериги на
адаптация:
Веригана корекция на параметрите. В тази верига адаптацията се свежда
докорекцияназначениетонапараметритенамоделитенаобучавания,така
чедаседобиемаксималносъответствиенамоделитенаеволюиращияобу‐
чаван.
Вериганапараметричнатаидентификация.Можедасеокаже,чеспомощ‐
танакорекциинапараметринамоделинеможедасепридобиеприемливо
съответствиемеждумодели и обучаван.Втезислучаиецелесъобразноиз‐
ползване на процедура по параметрична идентификация на моделите.Ес‐
тествено,че допълнителните управляващи въздействия (обучаващи и конт‐
ролиращи)втакъвслучайтрябвадабъдатминимални, понеже тези въз‐
действиянарушаватпроцеса за постигане на поставените цели на управле‐
нието;
Вериганаструктурнатаидентификация. Възможна е ситуация,прикоятои
параметричнатаидентификация е недостатъчна –моделътвпреднатаситу‐
ацияне представяобучаванияадекватно. Възможнорешениее изменение‐
тонакласанафункциите,отразяващигрешкитевизменениятанавеличини‐
теΨиXинестационарнитехарактеристикинаобучавания;
Вериганакорекцияна ограниченията. Ако по‐горните вериги на корекция
не са достатъчно адекватни за моделирането на обучавания,възможное
разширяваненамножеството на допустимите управляващи въздействия да
сеокажеполезно,т.е.разширяванетонаможествата;
Верига на корекция на целите на управлението.Акопо‐горнитекорекции
се окажат недостатъчни за адекватно моделиране на обучавания, тогава
можедасепремине към корекция на компонентите на целите на управле‐
ниетоZ
*
[(КарпенкоА.П.,2011)].
1.2 Изводи
Бизнеспроцеситесаобикновеноадаптивникъмпромени. Нотацията на биз‐
нес процесите от гледна точка на експлицитната им нотация е много по‐адаптивна,
отколкотонаписанипроцедурииполитики.[(Eibenova,2015)]
9
Набазатана направенияобзор,можемда идентифицирамеследните направ‐
лениязамоделиранеисъздаванеАСЕО:
Създаваненаадекваятнимоделина:
o субекти, информационни ресурси, материални ресурси,процеси,инс‐
танциинапроцеси,съобщения,метазнание(SA);
o работна рамка АСЕО като процес на адаптивно обучениекато по‐общ
случай на процес на управление на различни субек‐
ти/процеси/инстанциинапроцеси,анесамоотгледнаточканауправ‐
лениевърхуобучавания,кактоенаправенов[(Л.А,1981)];
o всекиSAкактовиртуално,такаикатореаленобект,такаичрезГПИ.
Функционалностза:
o задаваненауправленскицели;
o описаниеисъобразяванесмоделанапредметнатаобласт;
o гъвкавостпри определяненасъответстващите измерителиIΨ,IYина‐
чинанаизмерване;
o леснаинтеграциясъссъществуващисофтуернисистеми;
o голяморазнообразиенавидоветеУД.
Обратнавръзка:
o за гъвкава корекция на параметрите на субекти и техни свойства в
АСЕО;
o адаптивна идентификация на тези параметри по време на експлоата‐
циянасистемата;
o структурнаидентификация,вт.ч. и автоматизирано събиране на мета‐
даннизаобектииподпроцесивпроцесанаадаптивное‐обучение;
o корекциянаучебнитецели.
Глава2. Моделинапроцеси,методикииАСЕО
2.1 Основнипонятия
Определение 1.Множествотое кореново дърво,(по‐нататък ще казваме
самодърво),акоепразнотомножество,илиакоедновременносаизпълнениследни‐
теусловия:
Съдържаединствен елементt,наречен корен надървото,койтощеознача‐
вамес().
Останалите елементи са (с изключение на корена) са разделени на
(≥0)непресичащи сенепразнимножестваТ,Т
,…,Т
м,всякооткоетое
дърво.
Коренитена,…,наТмще наричаме преки наследници на.Броятна
прекитенаследницинададенвръхщенаричаменеговастепен.Акостепентанавръх
е0,тойсенаричалисто.
Пътв дърво епоследователностот върхове,
,….,
безповторение,като
завсеки два последователно върха,еизпълненоточноедноотдвете:енас‐
ледникнаилиенаследникна.
Множествотоотвсички възможнипътищавдървоT,коитоводятдолиста,ще
бележимсℎ().
10
Нека е дадена функцията,коятовръщаредицаот всички
листанаT.Тогава,нейнатадефинициявпсевдокодбиизглеждалатака:
Фигура2.Псевдокоднадефинициянафункция,коятонамира
всичкилистанадърво
Наред8.нафиг.2функциятасеизвикварекурсивно,приусловие,четекущият
връхнакореновотодърво нее листо.Наред4.имаобхожданенавсичкинаследни‐
ци на T.Нека е функция, която връща стойност на листо.
ва: ℎ() ⟶ .Нека = ∪ .
Определение2.Обект‐екземплярзаобект‐клас={,
, … , }е
всяко наредено множество от двойки {<
,
>, < ,
>, … , <
,
>},закоето∈, ∈ 1, .
Измерениеевсякокрайнонепразномножествоотстойности∈
().
Многомерно пространствос измерения,
,...
,∈ℕ,≥1е декартовото
произведение×
×. . .× .
Нека∈
(),=1,. Декартовото произведение = ×. . .× е пра‐
воъгълнаобласт в многомерно пространство.За,…,
съществуваизискването да
санепресичащисемножества.
Некае функция,закоято: × ⟶ .ПроекцияпоRepнаобект
∈вщенаричаме(, ).Втекстапо‐долущебъденаричанаипредставяне.
Възможеналгоритъмзаизгражданетонапредставянетоеследният:
Завсекивъввсяканареденадвойкавобектекземпляр:
Стъпка 1:Ако∈ \, се създава измерение,акоощенее
създадено,иседобавястойностзанеготакова,че=
;
Стъпка2:Ако∈,насесъпоставяцелочисленастойност:разс‐
тояние на Хеминг [Hamming]= ℎ(,
)където е
низсъссъщатадължинакато,носбазовастойностзавсекисимвол.
Стъпка 3:Ако∈, за всеки път до листо в дървотоℎ()създаваме
=
,такова,че
е стойността в листото, до което води пътя
ℎ(). Изпълняваме последователно Стъпка 1иСтъпка2за=
за
всяко
.
11
2.2 Моделнаадаптивенпроцесзаобучение
Анализът,проведен в Глава 1.,позволява да се направи заключение за това,
коиса елементитеиподпроцесите, свързанисобщия модел напроцесза адаптивно
обучение.Тезиелементииподпроцеси,заедностехнитеозначения,коитосеизполз‐
ватвтекстанадисертацията,саследните:
–процеснаадаптивнообучение(вижобект∈);
–предметнаобластна;
– множество от нормативни документи и критерии, включително специ‐
фикацииистандартизаоценяванев;
–наборотдобрипрактикизаЕОв;
–изискваниянапотребителитекъмадаптивнотообучениев;
–цифровохранилище(warehouse)синформационниресурсивконвен‐
ционалениелектроненвариантзаинеговияконтекст;
– процес на цифровизиране и разполагане вна електронни ко‐
пиянадокументи,свързанисконтекста;
–процеснапроектиранеисъздаваненавконтекстана;
–процеснакомпютърномоделираненатакасъздаденитеконцептуал‐
нимоделивпроцеса;
–множеството от аспекти,относнокоитосеразглеждаинеговитееле‐
менти;
Ѱ–външнатасреда,вкоятопротичаS;
D–ограничениятавърхузаявкатазаосъществяваненапроцес(вкл.време‐
ви,пространствениилогическиограничениязапровежданетона);
Task(D)езаявказаадаптивнообучение;
Стилда (~)наддаденоозначениенакомпонентеуказано,четова е негово
следващосъстояние;
WintозначавачасттаотСеО‐ компютъренмодел на Sинеговитеелементи
(вижприл.1);
Wеxt‐часттаотСеО,отнасящаседокомпютърнитемоделинаелементи,
коитонеса частот S(напримерметазнания иресурси заS, предишенопит от‐
носноS‐предипореднотоосъществяваненапроцеса,ит.н.);
– процес на създаване на обратни връзки, съответно за актуали‐
зация на информацията в хранилището (чрез),актуализациянасъс‐
тояниятанакомпютърнитемодели(обозначенистилда(~));
– процес за актуализация на модела наD,кактоиназаявкатаза
обучение
–процесзаактуализациянаконцептуалнитеивиртуалните
(компютърни)моделиWint,Wеxt,кактоимоделитенатехнитепораж-
дащообекти,вт.ч.S,Ѱ,
;
12
Фигура3Моделнаадаптивенпроцеснаобучение
Примериза другипроцеси Sве‐обучението могатдабъдат ипроцесиза оце‐
няване на качеството [Doneva’16]. Такива процеси по естествен път се включват в
настоящиямоделнапроцесзаадаптивнообучение.
2.3 Основнимодели
МоделнаРаботенпоток
Работният поток (или Работен процес)е граф –нареденадвойка =
(N, E),съставенаотследнитедвекомпоненти:
А)МножествовъзлиN = {N; i ∈ 1,n
},N=(R
,D
,R,
,F
,Γ
,
,
,
),където:={R
; j ∈ 1,s
}; s ∈ ℕе множество от обекти – входни данни (на‐
ричанеощесигнали),т.е.∈();D=D
; l ∈ 1,k
;,k∈ ℕ–множествоот
изходни обекти (наричани още слотове),т.е.∈();R=VR
;l ∈
1,k
;,k ∈ ℕ–множествоотвходниобекти, които потребител може да въвежда
ръчно (наричаниощепотребителскисигнали),т.е.∈();R⊆
;
=User
; l ∈ 1,k
;,k ∈ ℕ‐ множествоот потребители, коитоиматправо да
изпълняваттекущвъзелотРаботенпоток;F=F
; p ∈ 1,ε
, ε ∈ ℕ–множествоот
релациизасъздаваненаизходниданни(наричаниощегенериращи функции),таки‐
ва,чеF :⟶D
;Γ=Γ
; ϕ ∈ 1,ψ
, ψ ∈ ℕ– множество от разрешаващи фун‐
кции,такива,чеΓ:⟶{,};=p
; p ∈ 1,ε
, ε ∈ ℕ;⊂;‐мно‐
жество от работни потоци (подпроцеси), които да се стартират автоматично след
изпълнението на текущ възел (стъпка),={SR
; j ∈ 1,s
}; s ∈ ℕемножествоот
обекти–входниданни,коитосезареждатпостойноставтоматичноотсесийнопрост‐
ранство(наричанеоще сесийни сигнали),т.е.∈
();
⊂
;={SD
;j∈
1,s
}; s ∈ ℕе множество от обекти – изходни данни, които се запзават постойност
автоматично в сесийно пространство (наричане още сесийни слотове),т.е.∈
();
⊂
;Б.МножестворебраE⊆×.
Множествотоот всичкипроцесиpщебележимсP.Инстанцияна работенпо‐
токщенаричаменареденатачетворка=(,,,),където:
еработниятпоток,закойтоесъздаденаинстанцията
Λемножествоот входни параметри,коитоопределятуникалноинстанция‐
та,катозавсекиобект∈Λеизпълнено∈
().
13
Υемножествоотизходнипараметри, коитоинстанциятана поток връщакато
резултатотизпълнениетоси,катозавсяко∈Υеизпълнено∈().
Ηепространствоотобекти, запаметени във вътрешно сесийнопространство
заинстанциятаотобекти,катозавсяко∈Ηеизпълнено∈
().
ВΛиΗимаспециализирани обекти,коитообезпечаватправилотопротичанена
инстанциитенаработнитепотоци,катонапример:
Обект‐ идентификатор натекущияпотребител,закойтосеизпълняваинстан‐
цията
Обект,съдържащиметонаработнияпоток,покойтоесъздаденаинстанцията
Обект–списък,указващидентификаторина възли,презкоитодотуке преми‐
налоизпълнениетонаинстанциятанапотока
Обект–списъкнаактивнитевинстанциятанапотокатранзакции
Множествотоеотвсичкиналичниинстанциинаработенпоток.Функция
за избор на наличните инстанции на работен поток ще бележим с:
: ⟶ I.
Релация: ⟶Υе релация,коятовръщаизходнитепараметринаинс‐
танциянаработенпоток∈
.
Инстанция на съобщение ще наричаме = (, , , ,
, , , , , ),където:е заглавие на съобщението;
е множествоотпотребители,от които е изпратено съобщението;е мно‐
жествоот потребители,откоитоеполученосъобщението;еформатиран текстна
съобщението; ⊂ ()емножествоотучебнидейности,закоитосеотнасясъ‐
общението; ⊂ ()емножествоотцеливзаявказаобучение,за
коитосеотнасясъобщението;ℎемножествоотприкаченифайловекъм
съобщението; ∈ ()∪⊘е идентификатор на съобщение,закоето
товасъобщение представляваотговор;есъобщението накоетое
инстанция;О = (,
,)индикатор за изпращане на данни в инстанция на
работен потокв стъпка,
на работен поток, като атрибутите на обект ∈
()сепредаватчрезсъответствиепоименасигналите.Трябвадасеотбележи,
чечастот инстанциите на съобщения са автоматичногенерираниотАСЕО. Примери
за такива автоматично генерирани съобщения са: Съобщение до преподавател за
наличие на обучаван с нулева Перспектива в курс; Съобщение до преподавател за
наличиенанепостижимацелвкурсотгрупаобучаваниидр.;
Определение3:Моделназаявказаобучениеенаредената5‐орка
=< ,
,,, >, където:
:именакурса;
=
:∈ ℕ, =1,,, ∈ ℕемножествоотдървета⊂,за които
завсекивъзел,…,
имамедефиниранафункцияза съответствиена инстан‐
циянаработенпоток:⟶I∪∅
ℎ = ℎ:= 1,:, ∈ℕемножествотоотпреподаватели,
= {: = 1,;, ∈ ℕ}емножествотоотобучаванивкурса
= {,...,
},
⊆1≤≤,къдетое мно‐
жествоотгрупиотобучавани.
14
Аспектзамногомернопространство
Определение4:Аспектзамногомернопространство(АМП)енареденататройка
=<, , >,където:е многомерно пространство;е конкретна имп‐
лементация на функция – представяне на обект в правоъгълна област със сигнатура:
: × ⟶ ;ефункциязаразстояние,респективноудовлетворяващакрите‐
риитезатова.
ПредимстванатакадефиниранияАМП:
Позволявапри появатананова дидактична таксономияУОда бъдатразглежда‐
нивконтекстанановимногомернипространства,вкл.сразличнипредставяниянате‐
зи обекти в новото многомернопространство и различна функция за разстояние за
всекиноваспект.
Чрезминималниилинулевипроменив реализациятана рамкатанаАСЕОда се
адаптиратновидидактичнитаксономии;
Едниисъщиучебниобектидасеразглеждатотразличнигледниточки,правила
иметодикизаразглежданетоим,коеторазширяваобхватанавъзможноститенарам‐
катазаАСЕО.
Моделнаобучаванвкурс
Определение 5:Моделнаобучаванвкурсе наредената двойка:=<
,
>,къдетоеконкретниятобучаван,закойтосеотнасямножест‐
воот кореновидървета,
,закоитосавъзможниследнитенареденидвойки(корен,
наследник):
(,):наличназаявказаобучение,аспект,вкойтосеразглеждатобектите,в
т.ч.и;
(, (,
,C
,A)): аспект и наличната перспектива от
достижимицелиназатозиаспект и тазизаявка за обучение.Рела‐
цията за перспектива на обучаванв курс, аспект и дадени цели в този курс има
следнатасигнатура: ∶ ××C×A⟶C.Тявръща
тезицелиC,коитосапонастоящемдостижимизаобучавания.;
(, ℎ(,,
)) ∶аспектипостигнатицели.Релациязапос‐
тигнатицели наобучаван,вконтекстаназаявкаиаспектесъсследнатасиг‐
натура:ℎ: ×A×Students⟶set( {(C,
), … . , (,
)} ).
Резултатътемножествоотнареденидвойки(,
), чиито първи елемент е
постигнатацел,авториятелементеинстанциятанапроцеса,скойтоепостигната;
(, ):заявказаобучение,кактоиналичнаинстанциянасъобщение,
закоятообучаваниятеизходящиливходящпотребител;
(, ):наличнаинстанциянасъобщение,закоятообучава‐
ниятевходящилиизходящпотребител,кактоиинстанциянасъобщениеотговор.
Множествотоот дървета за всекиобучавансеизгражда динамично,по време на
изпълнениетонаработнитепотоци поизграждане наоптималнипътища в заявка заобу‐
чение,кактоиповременаработнитепроцесипоакумулираненаметаданни за учебни
дейностииоценяваненаобучаваните.
Моделнаучебниматериалиидейности
ПреподавателможеповсяковремедарегистриравмножествооткурсовеУО.
Акожелае,можедавъведеиметаданнизатях.Потозиначинтазиучебнаединица
15
можедазапочнедасевключвавЗО,предлаганинаобучаваните,стигаметаданнитедасе
съгласуват с учебните цели, зададени от преподавателя.Впо‐общаситуацияобаче,в
заявка за провеждане на обучение преподавате лят може да включи учебната единица,
безтя да е съпроводена от„свои“метаданни.Втозислучайенеобходимодаеинтегри‐
ранспецифиченмеханизъмзаавтоматизираногенерираненанеобходимитеметаданни.
Привключванена учебенобектв заявка заобучение,същият получава предимст‐
возавключваневУПсцел,предоставянеиизучаванеотобучавани,съсследващогенери‐
раненаспециаленУОотт.нар.„акумулативентестовтип“.АкумулативниятУОпосъщес‐
твоезаданиезаанотацияотобучаванинапредявенУОотгледнаточкананеговотоучеб‐
но съдържание,ипосъществопредоставятнаобучаванитеролятанаекспертивИПО,
коитоиматзазадачаопределяненанеобходимитеметаданнизаУО.Набазатанавъве‐
дените(поспециаленвъпросник)екземпляриотметаданни,преподавателят(илиексперт
вИПО)може несамо автоматизиранода определиекспертниянаборотметаданни,нои
даоценистепентанапознаваненасъщносттанаУОотобучаваните.
Определение 6: Модел на преподавател е наредената двойка =
(_, ),където _ ∈ () е обект на конкретен пре‐
подавател,закойтосеотнасядинамичнотомножествоотдинамичникореновидървета
,закоитосавъзможниследнитенареденидвойки(корен,наследник):
(, ):наличназаявказаобучение,кактоиинстанциянасъобщение
отиликъмпотребител‐преподавател
(, ): инстанция на съобщение и отговор наинстанция на
съобщение
(,): налична заявка за обучение,кактоибулевпараметър
∈ {, },койтоуказва, дали преп одавателят има право да редак‐
тиратекущиякурс,закойтосеотнасятекущото.
Нанай‐висшияткоренна кореноводървовинагие заявкатазаобучение,за
койтосеотнасядървото.
2.4 МетодиказаизгражданенарамканаАСЕО
Нафиг.4епредставенМоделнаАСЕО.
Фигура4МоделнаАСЕО
16
Методикатаесъвкупностотследнитепроцеси,някоиоткоитовървятпаралелно
въввремето:
Digitize–Обобщаващпроцес,койтообобщава НормативнитедокументиN,доб‐
ритепрактикиPиизискваниятазапотребителяU;
Design–ПроцеснамоделираненаизвличаненаметаданнитеMeta,коитоса
продуктотпредишнияпроцесифилтриранетоимспрямопредметнатаобласт SD;В
този процес получените метаданни се филтриратспрямо дадена гледна точка (Ас‐
пект)исеполучавапроцес/обект SAзазададенаспектА.Притозипроцесвсички
външни системи E(S), касаещи този процес/обектSсеобработватспряморазглеж‐
данияаспектиставатЕА(S).АналогичнотосеслучваисвъншнотовъздействиеѰА(S);
C‐Model–процеснапроектиранеисъздаваненав контекстана.Притози
процессесъздаватконцептуалнимодели;
V‐Model– процес на виртуализация на концептуалните модели,полученив
предишния процес.ВролятанаSV(A) могат да влизат всякакви виртуализирани
обекти,кактоипотоцииинстанциинаработнипотоци;
Process–процеснаизпълнениенатакасъздаденитекомпютърнимоделиот
предишнияпроцес.
Глава3. АрхитектуранарамкаАСЕО
3.1. ОбщаархитектуранарамкаАСЕО
Фигура5ОбщаархитектурнарамканаАСЕО(Логическиизглед)
17
Генераторът на справки се използва както от модул „Преподавател“,такаиот
модул„Обучаван“.
ВМодул„Обучаван“обучаванитеиматвъзможностдауправляватсвоитезаявки
заобучение,дапреследватцелис тях,като получаватгенерираниучебнипътища,да
провеждатучебнидейности, да ги анотират и да отговарят наавтоматизираногене‐
рираниакумулативнитестовиединици(АТЕ)затях,дазадаватвъпроси завсекиедин
от тези компоненти на наличните преподаватели в контекста на дадена заявка за
обучениеидр.
Модул „Преподавател“ е основната входна точка на преподавателите в АСЕО.
Тамтеиматвъзможностдапроверяватотговориотанотацииилитестове,предадени
отстудентиида отговарятна въпроси,зададениоттяхзаконкретнаУД,избранацел
визбраназаявказаобучение(ЗО),дапреглеждатавтоматичногенерираниинстанции
насъобщенияотразличниработнипотоцив системата,като напримерсъобщение за
наличиенанепостижимицелиотдаденагрупаотобучавани.
Модул„Администрираненакурсове“функциониразатези,коитосапосочениза
администратори на конкретни ЗО. Там преподаватели имат възможност да задават
метаданнизацеливЗО,както ида добавятзадължителниили избираемицеливЗОза
определенигрупи от обучавани (кохорти), както и задължителнииизбираеми цели за
всичкиобучаванивЗО.Тозимодуледостъпенизаадминистраторитенасистемата.
Модул „Административен“ е достъпен за администраторите на АСЕО и той им
дава възможност да администрират ЗО, потребители,технитероли(администратор,
обучаван,преподавател,гост), да причисляват обучаваните в различни групи(кохор‐
ти)идр.
Модул „Учебна дейност“(УД) дава възможност на администраторите на АСЕО
да регистрират и импортират УД в АСЕО и в последствие да причисляватУДикъм
определениЗО,задаможевпоследствиедасеизползватпълноценновЗО,включи‐
телно и от eLP_GAда ги подбира при генерирането на оптимални персонализирани
учебнипътища.
3.2. Техническо‐приложенизгледнаархитектурнарамканаАСЕО
Нафиг.5епредставенаархитектурнасхеманаприложението,къдетоможедасе
види как са интегрирани различните компоненти в схемата ,кактоидейно,така и в
текущатаекспериментална постановка. Достъпът на потребителитеставачрезпорта‐
лаPeuPortal,койтоеuPortalбазиран.Внегопотребителятможедаполучидостъпсъс
своя единен университетски акаунт чрез услуга за централна автентификация (CAS
Server).
В цялостната архитектурна рамка, интерфейсът на повечето от приложенията е
реализиран, чрез автоматичното му генериране от системата за изпълнение нара‐
ботнипотоци TinyWf,която ерезултатот текущотоизследване [Пашев,Г.(2015)].Все
пак,допустимо е използването на изгледи от уеб приложения,коитонесареализи‐
ранисрамкатазаработнипотоциTinyWf,включителноитакива,реализиранисдруги
рамкизаизпълнениенаработнипотоци.Винстанциитеотработнитепотоци(напр.
Wf1,Wf2,…)визходнитеобектиΥсе добавяти обекти,коитовслоязавизуализация
наизходаот работни процеси се трансформират в подходящи входно–изходниек‐
ранизавизуализациянапотребител.
18
JasperReportsServer се достъпва чрез библиотечни разширения в ТinyWf,
MoodleRESTAPI– директно от ТinyWf,аразличнитеRESTуслуги,консумираниот
ТinyWfдостъпватСУБДнаприложнитесистеми,закоитосаизградени[(ГеоргиПашев
А.Т.,2015)].Jasperразполагасмощносредство за създаванеиизвеждане нашабло‐
нина справки вразличниформати(pdf,xls,doc,htmlидр.).Шаблоните могат дабъ‐
датсъхраняванинаJasperServerидаседостъпватотдалечено.
Архитектуратанаприложениетое4‐слойнаивключва:
Слой1.Релационнабазаданни,съдържащареференции,съхраненипроцеду‐
ри,изгледиифункции.Заявкитекъмбазата данни,изпратениотпо‐горнислоеве,
саразположени тук,сцел постиганенавъзможно най‐високаскорост приизпъл‐
нение на заявка.Приложенепринципътзанай‐близкоразполаганенаданнии
средствазатяхнатаобработка,използванприалгоритмизаоптимизация;
Слой2.Транспортенслой(завръзкамеждуслой1.ислой2.);
Слой3.Дефинираненаработнипроцеси,вкл.за генериране на интерфейс
чрезRESTилиSOAPпротоколи.Задефинициянавъзлитенабизнеспроцесасе
използватURLшаблони;
Слой4.Потребителскислой,койтопредоставядостъпнаработнипроцеси(в
зависимостот потребителскироли, праваилични настройки)до процеси наса‐
матасистема.
Фигура6Техническо‐приложенизгледнаархитектуранарамканаАСЕО
Зареализациянаслой1.еизбранрелационенмодел.Заулеснение напроцеса
нагенерираненаинтерфейсавслой3.еприетаконвенциязаименуваненаобектите
вбазатаданни. Името на полето, което представлява външен ключкъмдадена таб‐
лицазапочва с „ID_“ ислед това се изписва името на свързаната таблица.Потреби‐
телските действия, свързани с данните в базата данни, са капсулирани в съхранени
процедури,изгледиифункции.Голямачастотбизнес‐логиката есъхраненапо подо‐
19
бен начин. Това позволява на по‐горните слоеве да се фокусират върху типове дей‐
ности,коитосапо‐подходящизатяхноторазположение.
Транспортенслой2.посъществоедоставчикнауслуги.Уебуслугата еметодза
комуникациямежду две електронни устройства вмрежа,която на практика предос‐
тавяфункционалност,достъпнанамрежовадрес вуебпространството.W3C дефини‐
рауебуслугатакатософтуернасистема, създадена да подпомага комуникацията
между оперативно съвместими машини по мрежата. Поддържат се протоколи като
REST,SOAPидр.Слой2.еважначастотинтеграцията,защотопредоставяна Слой3.
уеб услуги за консумация. Последните могат да бъдат от разнотипни приложения,
коетоевосноватанатяхнатаинтеграция.
Слой3.Слойзагенерираненапотребителскиинтерфейси
Всякоинтегрираноприложениевключванаборот работнипроцеси.Запроекти‐
ранеи създаване на интегрирано приложение енеобходимода се реализират мно‐
жествоотработнипроцеси,съпроводениот съответнипотребителскиинтерфейси.За
автоматизация на тези дейности е приет следният подход:Набазатанаформален
моделнаработенпотоксепредоставятсредствазаописаниенаконкретниработни
процеси и в слой 3.принеобходимостсегенерират потребителски интерфейси за
съпровожданенабизнеспроцесите.
Слой4.Потребителскислой
Заосъществяваненаслой 4.наархитектуратасеизискваналичие науеб портал
съсследнитеминимални функционалности:едновременен достъпна даденпотреби‐
телдо разнотипни системи в зависимост от неговите ролииправавтях;общизглед
къмдостъпнитефункционалности,респективноработнипроцесивелектроннопорт‐
фолио на потребителя; поддържане на заявки към LDAP и релационни бази данни;
предоставяненапотребителски услуги,компоненти иработни рамкизасвързванена
по‐сложни системи; гъвкава система за управление на потребителски групи,вкл.
реализациянавложенигрупи;възможностизаизползваненаAPIидр.
Набазатанапроучванеианализнаразлични уебпортали,заекспериментална‐
тареализациянаслой4.еизбранuPortal[uPortal]. Освен че притежава горните ха‐
рактеристики,uPortal се отличава и с други полезни характеристики:базиранена
отворени стандарти,Java,XML,XSLT,JSPиJ2EE; ползва се от милиони потребители;
разполагас възможностизаидентификация на потребители,вкл.LDAPибазаданни;
предлагавръзкисбиблиотекиисредствазаинтеграциякатоCAS;singlesign–onидр.
TinyWf(от TinyWorkflowFramework)есофтуернарамка,реализирананаPHP[
(Георги Пашев А.Т.,2015)],набазатанакоятомогатдасепроектиратприложения,
интегриращифункционалностина хетерогеннисистеми,иползващиформалнодефи‐
ниранибизнеспроцеси.
3.3. Модул„Обучаванвкурс“
Приизбор на конкретна цел,сепреминава към генерираненаперсонализиран
учебен път за обучавания (съответният алгоритъм,втерминитенамногомерното
пространствоескицираннафиг.7.).Генерираниятперсонализиранучебенпътпредс‐
тавлява списък от нови учебни обекти, които обучаваният трябва да „премине“ус‐
пешно,задапостигнеучебнатацел.ВсякаеднаотучебнитеобективУПможедае
съпроводена(илине) сдостатъчно изчерпателниметаданни,коитоопределятместо‐
положениетойвПространството.Акоучебнатаединицаенаскородобавенасепред‐
20
полага,че акумулираните метаданни,вероятно,всеощенесаадекватнинанейното
съдържание.
Обучаван
Прегледна
курсове
Списъккурсове
Обучаван
Преглед
изпълнени
целивку рса
Преглед
неизпълнени
целивку рса
Постигн ати
Цели вк урс
Непостигнати
Целив курс
Преглед
преминали
учебни
дейности Преминалиучебнидейности
Определяне
най‐близка
цел
Най‐близкацел
Генериран е
персонализир
анпът
СписъкУД
Зареждане
определена
учебна
дейност STUDENT_HAS_SEEN_EDU_UNIT
Фигура7Работенпотокнаобучаван
За определяне на условието за достатъчността на наличните метаданни се из‐
ползва метрика: брой проведени генериращи акумулативни тестове за съответната
учебна единица.Присравнителномалъкброй, на обучаваният се предлага автома‐
тичногенериранакумулативентест.Следкатообучаваниятизпълнитеста,сеизпраща
сигнал към преподавател, че е предложено ново решение,коетотрябвадабъде
проверено и оценено. При оценяване на отговор от преподавателя като правилен,
автоматичносе генерирафункция/предикат(и метаданни),скоятосъответнатаучеб‐
наединицащепродължидаучастваве‐обучениетои приавтоматичнотогенериране
научебнипътища.
3.4. Генераторнапресонализираниучебнипътища
Алгоритъмътзагенерираненаперсонализираниучебнипътища(eLP_GA)
можедаседефинираформалнокатофункциясъсследнатасигнатура:
P: ⟶ [( , , )](3)
Входниятпараметърнафункциятаеобучаван.Функциятавръща
списъкотнареденитройки[(,,)],коитоотговарятнаучебнитедейности,къ‐
дето:‒еURL,койтоуникалноидентифицираУД,‒еразстояниемеждуУДи
състояниетонатекущияобучаванипредставянетонатовасъстояниевмно‐
гомернопространство(МП),а‒екраткоименаУД.[(Pashev&Totkov,29‐May‐
2014)],[(ГеоргиПашевГ.Т.,2016)].
Втова,коетоследванекадаобозначим:
RVec(Obj)‒представяненаобектObjкаторадиус–векторвМП;
21
((),(, []))‒върнатастойностзададенRVec(Obj)заизмере‐
ние,коетосеидентифицирасглаголисписъксвходнипараметри[];
ℎ:ℎℎ ⟶ [[(,[],)]]
‒функция,коятонамираnнай‐близкиточкикъмBasePoint,достижимиврамкитена
радиусreachRadiusиотговарятнафилтъразатърсенеℎ
ℎ: ⟶ : ⊆ ;
ℎ:ℎℎ ⟶
[[(, [],)]]‒ функция,която(заразликаотℎ)връщасписъкотточки,
коитоиматабсолютнистойности,коитосапо‐големиилиравнинаабсолютнатастой‐
ностна BasePoint. Списъкът има максимален размер от nелемента, които отговарят
натърсещияфилтърsearchFilter;
:[(,[],)]⟶
[(,[],)]‒ подрежда
списъкотточкивМПпоблизостдоBasePoint.
((ℎ),(ℎ))– булева функция (предикат),ко‐
ятопроверявадали абсолютната стойност на(ℎ)епо‐голямаоттазина
(ℎ)иакое,връщаtrue.
Фигура8AlgorithmforPersonalizedeLPGeneration
Фиг.8. представя eLP_GA. Алгоритъмът за генериране на персонализирани
учебни пътища (eLP_GA) започва с инициализация на някои променливи като
(текущотопредставяненаобучаванвМП). Затози обучавансе инициали‐
зирастойностнамаксималенрадиуснадостижимостℎ, като прове‐
рявадализа обучаваниявечеимадинамичноизчислен такъв,ааконяма,слагастой‐
ностпоподразбиране(ред2‐3отфиг.8).Редове5‐7 извършват намиране на непос‐
тигнати цели за текущия обучаван в рамките на текущата заявка за обучение.Ако
такива цели не са намерени, се излиза от алгоритъма със съответното съобщение.
22
Приналичиенанепостигнатиучебницели,първатаоттяхставатекуща(ред9).Освен
това,се инициализира(наред11) празенсписъкотУД,койтоевентуалноследприк‐
лючванетонаалгоритъма ще съдържа УД, с които обучавания би могъл да постигне
текущатаУЦ.Наред13сеизвършва проверкадаливизбранатаучебнацелсесъдър‐
жатпредикати, които указватналичиена задължителна учебнадейностзапостигане
натазиучебна цел,иакосесъдържаттакива,теседобавят всписъкасУД.Наред15
въввременниятобектнаУЦвпаметтасепремахваттезиизмерения,коитосъдържат
тезипредикати, задаможеалгоритъмът да работиправилнослед това.ВсякаотУД,
коитовечесенамиратвсписъка, могат да съдържат допълнителни предика‐
ти/функции в измеренията,такива, че при съответното преминаване на обучавания
презтях, неговият радиус‐вектор вМПдапостига УЦ.Именнозатова,неговататочка
се„премества“вдинамичнатапаметнаМП,така,всеедно е преминалапрезналич‐
нитеУД(ред19).Наред21вМПсетърсяттакиваУД,коитобихабилипотенциалниза
постигането на УЦ:същевременносаподреденипоблизостдоУЦисенамиратв
сфератана достижимост, дефинирана с радиусана достижимост и централнаточка:
точкатанаобучаваниявМП.Търсенетосеоптимизираощеповече,катоседобавявъв
филтъра и критерий учебната дейност да не се предлага на обучаванияповече от 2
пътипригенерираненаразличниучебнипътища.Вред23‐25сеправипроверкадали
точкатанаобучаванияв МПнесе преместилавМП така,чевечедаепостигнатаУЦ.
Акое така, се излиза от алгоритъма със съобщение за успех и с наличния списък от
УД.Наред26 се прави проверка дали списъка с потенциални УД е празен и акое
така,влизамевхипотезананевъзможностзагенерираненасписъкотУДисеизлиза
оталгоритъмастаковасъобщение.
Приналичие на УД в списъка спотенциални,напринципа на опашката се из‐
важдапърватавсписъкаисевъвеждавсписъкасУД,скойтобитрябвалодапостиг‐
неУЦ. В последствиеточкатана обучаваниявМПсе премества така,всеедноепре‐
миналаипрезтазиУДисеповтаряноваитерациянаалгоритъма.
Трябва да се отбележи, че се постига известна оптимизация на генерирания
списъкнаУЦ,понежесписъкътспотенциалниУДеподреденпоблизостнаУДдоУЦ.
Друга оптимизация е свързана с проверка преди влизане в цикъла на алгоритъма
даливсфератана достижимост на обучавания няма поне 1УД,коятоемаксимално
близкодоУЦ,ное спо‐големи илиравни координатизаизмерениятаотУЦ(провер‐
казапостиганенаУЦсамос1УД).
3.5. Генераторнатестовиединици
Важенвъпрос при адаптивнитесистеми,коитогенерират учебни пътищае–с
каквитестоведасеоценяватзнаниятанаобучаваните.Първоначалнотезитестовене
присъстват в описанието на курса,акотойсеописваабстрактно–сучебницелиза
постигане.
Втази посока епредложенаметодикаи система за реализация наподпроцес
„автоматизираногенериране на метаданни“,коятоинтегрираспецифичнадвумерна
рамкапоразширенататаксономиянаБлум(наричанапо‐нататък„Рамката“).Навсяка
метаданна по тази методика отговаря еднозначно определена клетка в Рамката,с
конкретен тип отворен въпрос. При вече известна стойност на предикат, оценена
катовярна от преподавател,сезнаеиверният/те отговор/и на въпроса. Следовател‐
но,от наличнитеметаданнизаучебна единица можедасе генерира тест,скойтода
23
сепроверятзнанията/умениятанаобучаваниянаразличниравнищапотаксономията
на Блум (Запаметяване,Разбиране,Приложение,Анализит.н.). Тази особеност се
използваотадаптивната система,която(приусловие, че имадостатъчнометаданни
затазиучебнаединица)стартирамодулзагенериране наакумулативни тестовиеди‐
ници на различни равнища по разширената таксономия на Блум, който генерира
подходящтестпоналичнитеметаданни[(ГеоргиПашевГ.Т.,2016),Пашев,Г.(2014)].
STUDENT_HAS_SEEN_EDU _UNIT
Учебнадейност
Обучаван
Извли чанен а
необходимит
емет адан ни
Доста тъч но
Метаданни
?
Списъкметаданни
yes
Генерирайи
покажи
статичентест
заоце няване
no
Генерирайи
покажи
акумулативен
тестза
събиранена
метаданни
Отговорнатест
NEW_SOLUTION_FROM_STUDENT
Съобщениедоп реподавателивку рс
Фигура9Подпроцес„Автоматизираногенерираненаметаданни“
Понежеверните отговори са на разположение, оценкатаможе веднага да се
генерира. При преподавателска реакция и получена окончателна оценка,текущото
състояниенаобучаваниясеактуализиракатопозициявПространството.
3.6. Рамказаработнипотоци
Резултатитеот изпълнението наподформатанаΥза визуализация отГене‐
раторана интерфейс. Самите работни потоци могатда бъдат така имплементирани,
чеда използват уеб услуги за комуникация с различни приложения,коетоосигурява
естествена методология и инструментариум за интеграция на разнотипни системи
чрезизпълнениенаработнипотоци.[(ГеоргиПашевА.Т.,2015)]
Частот работнитепотоци записватданнив АналитичнаСУБД,коятопредоста‐
вя удобен инструментариум за различни типове обобщаващи заявки и заявки за
подобие/близостнаобекти подадена заявказа търсене.ВконтекстанаАСЕО,такива
заявкибихабилинапример: намери тези учебни учебни дейности,коитосанай‐
близодотазиучебнацел.
ДеловоднаСУБДсе използваот някоиработни потоциза съхранениеи извли‐
чаненаразличнаделоводнаисториязаобучаваниипреподаватели.
Заправилнотоуправлениенакоятоидаеинстанциянаработенпотокене‐
обходимоизползванетонаБД,вкоятодасесъхранява,актуализира,извличасесий‐
натаитранзакционнатаинформациявработенпоток.
Систематазаразмянанасъобщения се използва за размяна на инстанции на
съобщениямежду потребители/инстанции на работни потоци и потреби‐
тели/инстанции на работни потоци. Тя използва БД за сесийна и транзакционна ин‐
формация,задауправлявасъобщениятаиинстанциитенасъобщения.
24
Всекиконкретенработен потокможедаизползвадиректноиличрезобръще‐
ниекъмуебметодивRESTилиSOAPуебуслугиБДнаразличнидругиприложения.В
контекстанаАСЕО,примеризадругитакивасистемибихабили:
Централнаделоводнасистемазастуденти/обучавани;
Регистърнапреподаватели;
Външнисистемизауправлениенаелектронникурсове(напр.Moodle).
Базазнания
заработни
потоци
Базаданни
за
съхранение
насесийнаи
транзакцион
на
информация
Деловодна
СУБД
Средаза
дефиниран
ена
работни
потоци,
целии
приложени
я
БДна
приложения
Потребителскасредазауправлениена
цели,приложенияипотоци
Генераторнаинтерфейсна
инстанцинаработнипотоци
Машиназаизпълнениена
инстанциинаработнипотоци
Аналитична
СУБД
CASКлиент
REST&
SOAP
Services
Системаза
размянана
съобщения
Фигура10АрхитектуранаРамказаизпълнениенаРаботнипотоциTinyWf
Глава4. РеализациянарамкаАСЕО
4.1. Рамказаизпълнениенаработнипотоци
Всяко състояние на даден бизнес процес се представя с конкретен възел от
съответното множествоNи се определя от стойностите на своите входни и изходни
атрибути(данни).Изходни(кактои входни) атрибути на дадено състояние сепроек‐
тираткато сесийнипроменливина входни атрибутинадруги състояния.Всякосъсто‐
яние на работния процес е резултат на поне едно извикване на уеб метод.Бизнес
процесите се задават „в рамките на“ отделните потребителски групи (възможни са
конфигурациинаразлични потребителски групи).Входнитеданни(атрибути)насъс‐
тояниесезадават„ръчно“(въвеждане ототоризиранпотребител)илиавтоматично –
като „проекция“ на сесийна променливи на изходни атрибути на предходно състоя‐
ние на процеса.Изходнитеданни(атрибути) на състояние се определят след като
потребителсеполучиили изберерезултатотизпълнениена уебметода.Частотвъз‐
можните следващи състояния се филтрират на базатана условия, които могат да се
зададатприописаниетонасъответниябизнеспроцес.
Парадигмата,реализиранавTINYWF2, следвастратегиязапостигане на цели,
коитомогатдабъдатосъщественинаконкретнистъпкинаотделнитебизнеспроцеси,
ис участиетона точноопределенипотребителски групи.Всякастъпка набизнес про‐
цессе стартира („активира“) и се изпълняваприизпълнениенаопределена група от
условия,междукоито:
25
право за изпълнение от текущ потребител –член на оторизирана потреби‐
телскагрупа;
достъпнииосигуренисавсичкиданнизастартираненапореднатастъпка;
данни,необходимиза активиранена стъпкатанесаналице,ноедопустимо
дабъдат„ръчно“въведениотпотребител;
изпълнени са предусловия, които разрешават паралелно изпълнение на
функции,генериращиизходниданни(слотове)ит.н.
Изпълнението на стъпка на конкретен бизнес процес може да се опише по
следнияначин:
всесийното пространство сезареждатпроменливите,видими за инстанци‐
ятанапроцеса;
проверяватсеусловиятаотпо‐горе;
при отсъствие на всички сигнали в сесийното пространство – предпоставка
застартиране насъответнатастъпка, сепроверявадали потребителят може
даги зададе ръчно.Акоедопустимо,напотребителя се осигурявавъзмож‐
ност за задаване на съответните стойности в открития за целта диалогов
прозорец;
отновосепроверявадалисаизпълненинеобходимитеусловия;
ако условията са изпълнени се преминава към изпълнение нафункциите,
генериращиизходниданни(слотове)завъзлите;
при успешно генериране на слотове,някоиоттях(закоитоимаподобно
указание) се запазват в сесийното пространство на инстанция на текущия,
илинадругпроцес(акотоваеуказановнеговотоописание).
Изпълнениетонаинстанциянаработенпроцеспротичапоследнияначин:
определясеуникалнияидентификаторнаинстанциятакаторедица(име
напроцес,именапотребител,променлива1,....,променливаn);
проверява се дали в базата данни на TINYWF2 е записан контекста на инс‐
танцията,включващ списък на вече „изпълнени“възли,кактоизапазеното
обкръжение от променливи за текущата инстанция,идалиевсъстояние
„действащ“;
генерирасе списък от стъпки напроцеса,коитовсеощенесаприключили
катосеотчитаи факта– далитекущиятпотребител ечленнапотребителска
група,коятоимаправодагиизпълнява;
стъпките се изпълняват по представения по‐горе начин, като това продъл‐
жавадо изпълнение на едно отследните условия – изпразване на списъка
отвъзможни следващи стъпки напроцеса,приключваненапроцеса,невъз‐
можностзапродължаванепо‐нататък;
сесийния контекст и историята на изпълнение на отделните стъпкинапро‐
цесната инстанция, се запазват, ако това е указано в общите настройки на
процеса.
След всяко изпълнение на отделна стъпка, автоматично се запазва следа от
изпълнението(„отпечатък“настъпката),вкл.стойностинасигнали,слотове,постигна‐
тицелиидр.По‐късноподобни„отпечатъци“се използватза формираненаобобща‐
26
ващианалитични заявки в Elasticsearchотноснопроцеси, които протичат вуниверси‐
тетскатаинфоструктура.
От своя страна,отпечатъкотизпълнениетонавсякастъпканададенпроцес
(акотоваизричноеуказановнастройките)еелементотJSONмасиввпространството
наконтекститена процеси,в които се съхраняват всички контексти истатусинапро‐
цеситевисторическиплан.
Заработнитепотоци,коитосамаркираникатозапомнящисе,се възстановява
сесийнатаинформация,коятоебилазаписанаотпредишноизпълнениенаинстанци‐
ятанаработенпотокилиотдругиинстанциинадругиработнипотоци,коитосаизп‐
ращалисъобщениекъмнастоящатаинстанция.Зацелтасепрочитатсесийнифайло‐
ве,чиитоименаса функцияотимето напотребителяи иметонаизпълняваниярабо‐
тенпоток.Тезифайловеса вjson формати съсдържатцелия сесиенконтекст насъот‐
ветната инстанция на работен поток.Васоциативниямасив_SESSION се записват
всичкитезисесийнипроменливи.Предитоватозимасивезачистенотвсякаквидруги
сесийни променливи,освентези,коитосасвързанисинформациязапотребители
текущияизпълняванработенпоток.
Предиизпълнението на инстанциятанаработенпоток трябва да сеопредели
откойвъзелдасестартира/продължи изпълнението на инстанциятанаработен по‐
ток. Ако в сесийния контекст има записана сесийна променлива $_SESSION
['FSM_STARTING_NODE'.$sessfile], от нея се зарежда идентификатора на стартовия
възел,откойтосепродължаваизпълнението.Трябвадасеотбележи,чесамиятрабо‐
тенпоток може програмно да промени стартовия възел, ако логиката му гоизисква
чрез директно манипулиране на стойността на глобалната променлива
FSM_starting_node. Чрез манипулиране на FSM_cur_state_id може да се смени теку‐
щия възел при запазване на информацията за стартов възел. Това позволява при
определенислучаидасенарушистроготоописаниенаработнияпоток,къдетояснои
точноеописанокойвъзелследкогоследва.
Втечение на изпълнениетонараборнпоток,текущатастъпкаможедаемар‐
киранакато„autosubmit“,коетоозначава,че входнитеданни застъпката сепредават
автоматичноистъпкатасеизпълняваавтоматично,бездаимануждаот потребителс‐
ка интеракция. Асоциативния масив FSM_states съдържа инфорамция за работния
поток,а$FSM_states[$FSM_cur_state_id]еасоциативенмасив,съдържащинформация
затекущатаизпълнявана стъпка.Втекущатаимплементация иманяколко видарежи‐
манаautosubmit:
autosubmit:автоматичнопредаваненавходниданнинасъстояние
autosubmit1:автоматично предаване на изходниданнина стъпка към след‐
ващастъпка
autosubmitIfOneRecord:автоматичнопредаваненаизходниданнинастъпкакъм
следващастъпка,акорезултатаотизпълнениетонатекущатастъпкаесамоедин
катоброй(иреалнонямасмисълотпотребителскиизборнарезултат).
Вописаниетонаработнияпотоквразличнистъпкиимадефинираниразлични
callbackфункции,коитоследвадабъдатизпълнени.Еднаоттезифункцииенапример
viewFunctionInputDisplay,която се изпълнява веднъж предисъздаванетона формата
завъвежданенавходни данни от потребител. Тя е подходяща за инициализация на
различнипроменливиилиза показваненадопълнителна информацияна потребите‐
27
лязастъпката.Отсъствиетона$_REQUEST['exec_operation']показва,четрябватепър‐
ва да се изчвртае формата, с която се изпълнява текущата стъпка.Информацията,
коятосенамиравтазиформаеиинформацията, необходима за изпълнението на
стъпката. Наличието на флаг $FSM_states[$FSM_cur_state_id]["infoStep"] показва,че
текущоизпълняванатастъпкаесамоинформационна,коетозначи,четясамопоказва
на екрана някакви данни, без да изпълнява някакъв уеб метод от мрежовия слой с
услуги. Асоциативният масив $FSM_states[$FSM_cur_state_id]["disabledFields"] съдър‐
жаименатанавходнитеполета,коитосазабраненизавходотпотребител.Асоциа‐
тивният масив $FSM_states[$FSM_cur_state_id]["hiddenInputFields"] съдържа инфор‐
мация за входните полета, които са скрити за потребителя. Асоциативният масив
$FSM_states[$FSM_cur_state_id["datePickerFields"] съдържа информация за тези
входниполета,закоитотрябвадасеизчертаваконтролзаизборнадата,аковходна‐
таданнаимасмисълнадата.Многоваженмеханизъмприизпълнениетонаработния
поток е проектиране на данни от и към сесийното пространство към вход/изход на
стъпка.НаФиг.9епоказанапримерзаупотребанамеханизъм,койтопроектиратези
сесийнипроменливи,коитосапосочени вработния потоккато автоматичнопроекти‐
ращисевъввходниданнинастъпка.
$get_from_projection_input=array(
1=>array("node"=>4, "field"=>"ID_Student",
"cookieName"=>"ChosenStudent_ID"),
);
Фигура11Информациязапроектиранеотсесийнопространствовстъпка
Нафиг.11 е дадено примерно описание направилазаавтоматичнопрехвър‐
ляне на стойност от сесийно пространство от сесийна променлива ChosenStudent_ID
къмвходнополеID_Studentнавъзел4.
След като входните данни на стъпката са въведени от потребител или прог‐
рамно от изпълнение на работен поток, е необходимо те да бъдат валидирани.В
рамкатазаизпълнениенаработнипотоциимавграденмеханизъм,койтопозволявав
работнияпотокдаседефиниратвалидиращифункции.
При наличие на валидираща функция,коятоимаимеотвидаX
_validateInput_Y,къдетоХеиметонаработнияпоток,аYeидентификаторнатекуща‐
тастъпка,тясевъзприемаотрамкатазавалидиращафункция,коятоможедаприеме
илидаотхвърли изпълнениетонастъпката. Акотакава функциясъществува итя вър‐
неBooleanfalse,тогавасеприема,чевходнитеданнисаневалиднииизпълнението
настъпкатанесеразрешава.
Наличието на флаг $FSM_states[$FSM_cur_state_id]["rememberLastState"]ав‐
томатично стартира този процес. В последствие работния поток може да използва
тази информация, за да проследи какво за последно е въвеждал потребителя при
изпълнението на някакви предишни стъпки,кактоидаразбередалитезистъпки
изобщосабилиизпълняванинякога.Освентова,тозимеханизъмможедасеизполз‐
вазаавтоматизираносъбиране наметаданнинанякаквиобекти(напримердокумен‐
ти),коитосарезултат отизпълнениетонатекущатаинстанция наработен поток,като
самата история на изпълнение на работния поток дава уникален отпечатък за мета‐
даннитенагенерираниядокументивкакъвточноконтекстебилгенериран.
28
$array_obj=array();
if(!isset($FSM_states[$FSM_cur_state_id]["infoStep"])){
if($isValidatedInput)
getResultforUrlSufix($url_suffix, $array_obj,
isset($FSM_states[$FSM_cur_state_id]["httpMethod"])?($FSM_states[$FSM
_cur_state_id]["httpMethod"]):"POST",
isset($FSM_states[$FSM_cur_state_id]["templateGetPart"])?($FSM_states
[$FSM_cur_state_id]["templateGetPart"]):"", $variableWithvalues);
}
Фигура12Изпълнениенауебметоднастъпка
Акотекущатастъпканеемаркиранакатоинформационна,сеизвиквауебметода
отмрежовияслой,койтоотговарянатекущатастъпкаирезултатътотизпълнение,койтое
релациясетрупавъввиднамасивотобективмасива$array_obj.
Всяка стъпка се включва в работния поток като член на асоциативния масив
$FSM_states.Чрез"template"сегенериралиннккъмуебметода,койтотрябвадасеиз‐
пълни,приизпълнениетонатекущатастъпка.Втозишаблонполетатасеописватвъв
фигурнискоби,например{ID_Student;Студент}.httpMethodуказвакакъв е типът на HTTP
заявката,коятотрябвада сеизпълни.viewFunctionOutputDisplayecallbackфункция,която
сеизпълняваследкатосеизчертаетаблицатасрезултатотизпълненниенастъпката.
РамкатазаизпълнениенаработнипотоциочаквадаполучиJSONасоциативенма‐
сивот уеб метода,койтостъпкатаизвиквапри изпълнениетоси.Имавграденмеханизъм
за автоматична замяна на имената наатрибутите от JSON масив а с налични термини в
речник, който е достъпен за всичко работни потоци.Потозиначин,присъздаванена
работен поток, ако се използват едни и същи термини за именуване на атрибутите на
заявките,нямадаимануждатедасевъвеждатнанововезиковфайл,адиректноще
бъдатизвлечениотречникасименанаатрибутиитехнитесъответствия като имена за
предпотребител.Заречниксеизползваасоциативниямасив$aliases.
Рамкатаимаивграденмеханизъмзафилтрираненаизходните даннипо стойнос‐
тинанякой/иотатрибутите.
$FSM_states[$FSM_cur_state_id]["showFilter"]съдържаиметонаизходенатрибут,
покойтосе създава автоматизирано филтриране.filterDisplayValотзаявкасъдържастой‐
носттанаданната,покоятосефилтрира,аfilterDefaultValестойносттапоподразбиране.
Запо‐голямоудобствонапотребителяепредвиденмеханизъмзавграждани на
потребителскиконтроли в изходната табличнаформа настъпка.Приналичиенаcallback
функция $FSM_states[$FSM_cur_state_id]["instantLineEditField"],тясеизвикваисъздава
специфичен HTML,койтодасевградинавсекиредотколонатана
$FSM_states[$FSM_cur_state_id]["instantLineEditFieldFieldName"]. Това позволява разра‐
ботчикът на работния поток да управлява както желае начинът по който изходното съ‐
държаниесепоказваи/илиманипулиразавсякаколонанаизходнататаблица.
if(substr($keyvals[$j], 0, 5)!="ID_N_"){
echo $cur_res->{$keyvals[$j]};
}else{
$aaa=null;
echo
cache_searchInNomenclCache(substr($keyvals[$j], 5), $cur_res-
>{$keyvals[$j]});
}
Фигура2Автоматизираноизгражданенаизгледзаноменклатурниполета
29
Нафиг 13е показана автоматизацияприработа сноменклатурни атрибутина
изходнарелацияотизпълнение настъпка наработнияпроцес.Поконвенцияеприе‐
то,че всички номенлатурниатрибутиимат име отвидаID_N_Table,къдетоN_Tableе
някакваноменклатурнарелациявБДнаприложениетонасъответнияработен поток,
коятоима задължителни атрибутиIDиName.Приналичие натакиваноменклатурни
атрибутивизходнатарелация,технитеIDстойностиавтоматичносезаменятвизгледа
с говорящи за потребителя Name стойности.Понежетоваесвързаносголямброй
заявкикъммрежовияслойзасравнителнократковреме(заизчертаваненавсекиред
отизходнататаблица),евграденмеханизъмзакешираненавечеизвестнитеноменк‐
латурнистойности.
4.2. Модул„Обучаванвкурс“
В текущата реализация Модул „Обучаван в курс“ереализиранкатоработен
поток.Тукщепредставимпо‐важнатачастоткода наработнияпотокинаимплемен‐
тациитена някои от възлите му.Спазвасечетерислойната архитектурна рамка,разг‐
леданавгл.3,вкоятоимаслойсБДсъхраненипроцедури,мрежовислой,слойза
генерираненаГПИчрезизпълнениенаработнипотоциипотребителскипортал.
ВконтекстанаTinyWfработнатарамка,енеобходимодасепосочатнякои
настройкивработнияпоток,катонапримербазовURLадреснамрежовияслой,който
подсигурявауебметодите,коитощеизпълняватвъзлитевработнитепотоци.
Фигура14Базовинастройкинаработенпоток
Наред15нафиг.14епоказананастройкатазаURLадреснамрежовияслой,а
настройкатана ред18е свързанасимплементацията наалгоритмаза генериранена
оптималниучебнипътища.Товапосъществоерадиусътнадостижимостнаобектана
обучавания,закойтосегенерираучебнияпът, ако за неговия обект няма зададен
такъврадиус.
Тукщепокажемописаниетонанякоиотпо‐важнитестъпкивработнияпоток.
Фигура35Стъпка"Следващидействия"
Нафиг 15 е показанадефиницията на стъпка, която играеролята на начално
меню за обучавания. Флагът infoStepнаред22 показва, че текущата стъпка е чисто
30
информационнаинее свързанас автоматизираноизпълнениена уебметод, вграде‐
нокато механизъм в самия TinyWf.Притозиизгледщесепокажатпреходите, които
садефинираниоттазистъпкакъмизходящитеистъпки, чиято дефиниция ще пока‐
жемпо‐долу.
Еднаот важните стъпки в работния потокепоказванетонацелитевадаптив‐
натазаявказаобучение,коитообучаванияимадапостига.
Натази стъпка обучавания трябва да избереучебнацел от тези,коятобиже‐
лал да постига и за която на следващата стъпа ще мъ се генерира автоматизирано
персоналенучебенпътотучебнидейности.
Нафиг.16епоказанаимплементациятанастъпкаGenerateLearningPath,която
извиквауебметодсъссъщотоиме.Товаестъпката,коятосъздаваикаторезултатот
изпълнениетосипоказванаекранаучебнитедейности,коитоучастватвгенерирания
учебенпътилисъобщениезагрешка,акопонякаквапричинагенерираниятпътнее
възможнодабъдесъздаден.
5=>array("name"=>"GenerateLearningPath","caption"=>"Генериран на учебен
път",
"template"=>"?procName={procName;Процедура;.;GenerateLearningPath}&ID_Studen
t={ID_Student;Студент}&ID_Course={ID_Course;Курс}&ID_CG={ID_CG;Учебнацел}",
"autosubmit"=>true,"rememberLastState"=>true,"autosubmitNoLastState"
=>true,
"httpMethod"=>"GET",
"hiddenInputFields"=>array("procName"),
),
Фигура46Имплементациянастъпка"GenerateLearningPath"
ВуебметодасъссъщотоимеереализациятанаалгоритъмаeLP_GA(вижгл.3).
4.3. Генераторнаперсонализираниучебнипътища
Генераторътна персонализирани учебнипътищае имплементиран чрезстъп‐
кавглавенработенпроцеснаМодул„Обучаванвкурс“, която извиква уебметод в
мрежовияслойсимеGenerateLearningPath.Алгоритъмътеподробноописанвгл.3,а
втекущататочкащедадемимплементациятамукатоPHPуебметодмрежовияслой.
В следващите редове ще използваме понятията „точка“и„радиус‐вектор“
взаимозаменяемо.
Сесийната променлива $_SESSION['vector_coords'] се използва за постепенно
акумулиранена имената наизмеренията,за коитопредстоида сеправятвекторните
изчисления в многомерното пространство. Това помага за „разгъването“нарадиус‐
векторитена точкитенавсички обекти,катонатезиоттях, накоитоим липсватини‐
циализирани измерения от списъка с всички измерения, находящ се в $_SESSION
['vector_coords'],имседобавяттезиизмеренияснулевистойности.Впоследствие
векторнитеизчислениясеизчисляватсточки,намиращи сев многомернопространс‐
твосинициализиранивсичкитезиизмерения.
Акозаучебнатадейностнямагенериранобект,тотозиобектсесъздава.Ида
имаобекти даняма,резултатотизпълнениетонасъхраненатапроцедураеактуален
идентификаторнаобектанаучебнатацел.
СледващиятетапотреализациятанаGenerateLearningPathеинициализацията
наобектанатекущияобучаван,койтоставапоначин,аналогиченнапоказания.
31
Инициализациятанаобектинаучебнидейностиставачрезпървоначалноиз‐
бираненаидентификаторите научебнитедейности,коитоса записаникато достъпни
внастоящатазаявказа обучение.Прилипсанатакиваучебнидейности,изпълнение‐
тонапрограматащеизлезеотуебметодасъссъобщениезагрешка,ченяманалични
учебни дейности в адаптивния курс. Инициализират се асоциативните масиви
ID_OBJ_LAsиmap_ID_LA_to_LA, които съдържат информация за учебните дейности,
катопървия масивсъдържа техниидентификатори,автория:техниобекти,отговаря‐
щинаструктуратаимвзаявката,покоятосаизвлечениотБД.
Следваща важна стъпка от инициализацията е инициализиране на известни
координатизавсекиоттезиизвлечениобективмногомернотопространство.
Въвforeach цикъла се инициализира векторно пространствоvectorLAs,което
съдържа векторите, отговарящи на обектите на вече извлечените учебни дейности.
ЗацелтасеизползвапомощнатафункцияGetObjCoordinates.
Следващатастъпкаепремахване нанякоикоординати отучебнатацел,които
сасвързани с посочване на задължителни учебни дейности (ако има такивазанея).
Отделнооттова,акоимазадължителниучебнидейности, те се добавят в генерира‐
нияучебенпътselectedLAs.
Поконвенция евъзприето,чеприналичие наизмерениев радиус‐векторана
учебнатацел,чиетоимееотвидаOBLIG_LA_X,къдетоХеидентификаторнаучебна
дейност, тогава тя е задължителна за тази учебна цел.Сunset($vector_ID_OBJ_CG
[$key])се премахва това измерение от вектора на текущатаучебнацел,катоцелтае
тоданевземаучастиевпо‐нататъшнатачастоталгоритъма,понежеевентуалнотому
участиесамобиобъркалогенериранетонаоптималнияпътотучебнидейности.
Трябвада се отбележи,чесписъкътотизмерениянавсекиобект,впространст‐
вотоотучебнидейностиитекущатаучебнацелсефилтрираотвсичкиизмерения,чиито
именанезапочватс“gen__”,коетозаалгоритъмаезнак,четеучастватвгенерирането.
ExtendObjectCoordinates($vector_ID_OBJ_CG);
ExtendObjectCoordinates($vector_ID_OBJ_STUD);
foreach ($vectorLAs as $key => $value) {
ExtendObjectCoordinates($vectorLAs[$key]);
}
$_SESSION['CUR_CG']=$vector_ID_OBJ_CG;
Фигура17„Нормализиране“наизмеренията
Нафиг.17епоказанот.нар.„нормализиране“наизмеренията,катонавсекира‐
диус вектор се добавят измеренията,коитотойвсеощенямаинициализирани,като
липсващоизмерениенарадиус‐вектор се добавя с името на съответнотоизмерениеи
стойност0занего.
ЗацелтасеизползвафункциятаExtendObjectCoordinates.Следкатовекторно‐
то пространство е вече напълно инициализирането, се преминава към същинската
частнареализациятанаалгоритъма.
При условие, че в предишен етап на изпълнение на алгоритъма е избрана за‐
дължителнаучебнадейноститявечесенамиравпространствотонаизбранитеучебни
дейностиselectedLAs,тотрябвадасепроверидалитекущатаучебнацелвеченеена‐
пълно постигната с тях.ПроверявасечрезIsInReachRadius($vector_ID_OBJ_STUD,
$selectedLAs[$key],$DEFAULT_REACH_RADIUS)далиналичнатаУДеврадиусанадости‐
жимост на обучавания,ачрезIsGreaterOrEqual($selectedLAs[$key],$vector_ID_OBJ_CG)
32
сепроверява дали целта се достига с някоя от тези избрани УД.Трябвадаотбележим,
ченеезадължителноприналичназадължителнаУДвучебнацел,тядасепостигасамо
чрез нея. Може в УЦ да са записани други функции/предикати, които да отговарят на
измерения,свързанисдидактическоописание,коетоданеепостигнатооттазиУД.
Следващетапоталгоритъмаедасепроверидалислучайноврадиусанадос‐
тижимостнастудентаняма понееднаУД,коятосамапосебеси(бездаимануждаот
генерираненацялпътотУД)постигатазиучебнацел.
Ако този по‐елементарен случай е изпълнен, изобщо не се преминава към
същинскатачастнагенерираненацялпътотУД,адиректносеприключваизпълне‐
ниетонаGenerateLearningPathстова,коетоеналичнодотуквselectedLAs.
Ако никой от горните по‐прости частни случаи не е изпълнен, се преминава
къмсъщинското генериране на учебенпътотмножество УД.Трябвадасеотбележи,
чечрезuasort($vectorLAs,"cmpVectors"),УДвпространствотоотналичниУДvectorLAs
в адаптивния курс се преподреждат в асоциативния масив по близост до целта за
постигане.ТовадававъзможностдасеподбиратспредимствотакиваУД,коитосапо‐
близодотърсенатацел,коетоеединвидоптимизираневалгоритъма.
//start moving current student radius-vector until reaching
desired LAs list
while(true){
//uasort($vectorLAs, "cmpVectors");
//$curLA= array_shift($vectorLAs);
$curIDX_LA=0;
$Vector_curLA=NULL;
$hadAtLeastOneInReachRadius=false;
foreach ($vectorLAs as $key => $value) {
$curIDX_LA=$key;
$Vector_curLA=$value;
if(IsInReachRadius($vector_ID_OBJ_STUD, $Vector_curLA,
$DEFAULT_REACH_RADIUS)){
MoveTo($vector_ID_OBJ_STUD, $Vector_curLA);
$selectedLAs[$ptr_selLAs++]=$map_ID_LA_to_LA[$curIDX_LA];
MarkLAAsUsed($ID_Student, $curIDX_LA);
unset($vectorLAs[$curIDX_LA]);
$hadAtLeastOneInReachRadius=true;
break;
}
}
if(!$hadAtLeastOneInReachRadius){
//няма достатъчно учебни дейности, излизай
$rv=[(object)["error"=>"Няма достатъчно налични учебни
дейности. (Безкрайно амбициозна цел.) Изход."]];
return $rv;
}
//избрана поредна учебна дейност. Виж дали си постигнал целта
if(IsGreaterOrEqual($vector_ID_OBJ_STUD, $vector_ID_OBJ_CG)){
//целта постигната и пътя генериран
return $selectedLAs;