DEZVOLTAREA ȘI IMPLEMENTAREA UNEI PLATFORME E -LEARNING CU ONTOLOGII Coordonator: Sl. dr. ing. Alexandra – Suzana Cernian Absolvent: Predescu I…. [602123]

UNIVERSITATEA “POLITEHNICA” BUCUREȘ TI
FACULTATEA DE AUTOMATIC Ă ȘI CALCULATOARE

LUCRARE DE LICENȚĂ
DEZVOLTAREA ȘI IMPLEMENTAREA UNEI
PLATFORME E -LEARNING CU ONTOLOGII

Coordonator:
Sl. dr. ing. Alexandra – Suzana Cernian Absolvent: [anonimizat] 2015 –

“CUPRINS

Capitol I – E-learning cadru conceptual ………………………….. ………………………….. …………4

1.1 Introducere ………………………….. ………………………….. ………………………….. ……………… 4
1.2 Motivația alegerii temei ………………………….. ………………………….. ………………………… 5
1.3 Privire de ansamblu ………………………….. ………………………….. ………………………….. …..6

Capitol II – Sisteme de E -learning actuale ………………………….. ………………………….. ………7

2.1 Studiu de caz ………………………….. ………………………….. ………………………….. ……………7
2.1.1 Moodle ………………………….. ………………………….. ………………………….. ……………11
2.1.1.1 Cerințe de sistem ………………………….. ………………………….. ………………….. 12
2.1.1.2 Dependințe de sistem ………………………….. ………………………….. ……………. 13
2.1.1.3 Caracteristici tehnice și de conținut ………………………….. …………………….. 14
2.1.2 Edmodo ………………………….. ………………………….. ………………………….. …………..15
2.1.2.2 Arhitectura aplicației ………………………….. ………………………….. …………….. 16
2.1.3 eFront ………………………….. ………………………….. ………………………….. …………….. 16
2.1.3.1 Tehnologii utilizate in dezvoltarea platfomei ………………………….. ………..17

Capitol III – Tehnologii utilizate in contextul dezvoltării ………………………….. ……………18

3.1 Inteligență artificială – web semantic – ontologii ………………………….. …………………. 18
3.2 Limbaje in contextul web –ului semantic și al ontologiilor ………………………….. ……..24
3.2.1 XML – Extensible Markup Language ………………………….. …………………………. 24
3.2.2 RDF – Resource Description Framework ………………………….. …………………….. 25
3.2.3 OWL – Web Ontology Language ………………………….. ………………………….. ……28
3.2.4 SPARQL ………………………….. ………………………….. ………………………….. …………30
3.2.5 PHP – Hypertext Preprocessor ………………………….. ………………………….. ………..32
3.2.6 AJAX – Asynchronous JavaScript and XML ………………………….. ……………….. 34
3.2.7 HTML – HyperText Markup Language ………………………….. ………………………. 35
3.2.8 CSS – Cascading Style Sheets ………………………….. ………………………….. …………35
3.2.9 UML – Unified Modeling Language ………………………….. ………………………….. ..36
3.6 Apache Web Server ………………………….. ………………………….. ………………………….. ….39

Capitol IV –Proiectare conceptuală și dezvoltare platformă E -learning cu ontologii ….40

4.1 Modelarea unificată ȋn contextul metodologiei orientate pe obiect …………………….. 40
4.1.1 Specificarea cerințelor ………………………….. ………………………….. ………………….. 42
4.2 Modelarea ontologică a ȋnvățământului la distanță ………………………….. ……………….. 47
4.2.1 Stabilirea specificațiilor ontologiei ………………………….. ………………………….. ….48
4.1.3 Conceptualizare și formalizare ontologică ………………………….. ……………………. 51
4.2.3 Implementarea ontologiei ………………………….. ………………………….. ……………… 53
4.3 Prezentarea aplicației ………………………….. ………………………….. ………………………….. ..53
4.3.1 Logare/Delogare aplicație ………………………….. ………………………….. ……………… 54
4.3.2 Timeline ………………………….. ………………………….. ………………………….. ………….54
4.3.3 Manageme nt ………………………….. ………………………….. ………………………….. …….55
4.3.4 Integrare cu alte aplicații ………………………….. ………………………….. ……………….. 55
4.3.5 Alte aspecte funcționale ………………………….. ………………………….. ………………… 56

4.3.2 Dezvoltări viitoare ………………………….. ………………………….. ……………………….. 56

Concluzii. ………………………….. ………………………….. ………………………….. ………………………… 57
Bibliografie ………………………….. ………………………….. ………………………….. ……………………… 58
Glosar de termeni și abrevieri ………………………….. ………………………….. ………………………. 59
Anexa 1 ………………………….. ………………………….. ………………………….. ………………………….. ..60
Anexa 2 ………………………….. ………………………….. ………………………….. ………………………….. ..63

4
Introducere
„Educația reprezintă un process complex prin care individual uman deprinde anumite
abilități, capacități și prin ca re ȋși lărgeș te orizontul de cunoaș tere. Privind ȋn urmă cu câteva
decenii putem trasa ȋn linii mari câteva concluzii esenț iale ale acestui proces amplu pornind
de la era puț in dez voltată tehnologic și ajungând ȋn zilele noastre unde maș inile de calcul su nt
capabile sa dezvolte abilităț i dintre cele mai inteligente, imitând astfel gândirea și rațiunea
umană. Astfel dacă inainte să apară era virtuală educația era privită ca o preocupare a celor ce
aveau prea mult timp liber, iată, că , ȋn zilele n oastre aceasta a devenit o necesitate. Datorită
dezvoltării sectorului educațional și a segmentării sale ȋn funcț ie de varii ari i de interes, au
apărut alte concepte menite să faciliteze accesul la informație, indiferent de poziționarea
geografică sau de timpul disponibil al fiecă ruia. Unul dintre conceptele importante , cu un
aport semnificativ ȋn viața socială, este cel de ȋnv ățare la distanță, cunoscut ș i sub denumirea
de e-learning.
Învățarea la distanță presupune accesul la cunoa ștere oricând ș i de oriunde, fără vreo
limitare ȋn privința cantităț ii de informație pe care o vrei sau o poti acumula ȋ ntr-un anumit
interval de timp. Acest concept nu exclude educaț ia din centrele școlare, ci, dimpotrivă vine
ȋn completarea ei, ajutând ȋ n acest fel cadrele didactice.
Abordarea studiului la distanță impune anumite standarde de calitate pentru a fi cu
adevarat eficie ntă. Dintre ace stea enumerăm acces facil la informație oricând și de oriunde,
informația trebuie să fie verificată astfel ȋncât utilizatorul să beneficieze de date corecte și
reale, str uctură ușor de urmărit și pe ȋnț elesul tuturor.
O data cu evoluția sectorului educațional din punct de vedere tehnologic s-a modificat
percepția asupra resurselor de studiu, existând o multitudine de consumatori care plătesc
pentru a avea acces la un anumit tip de studiu ȋn mediul virtual. Astfel educați a la distanță
poate fi percepută și ca o expresie a orientării către consumator și nevoile acestuia.
Pentru a valida eficiența studiului la distanță au fost real izate numeroase cercetări in
țările cu tradiție ȋn educația prin corespondență, care au dus la concluzia că educația ȋn afara
centrelor special concepute ȋn acest sens este la fel de utilă și eficientă cu con diția unei
prezentări corespunză toare a conținutului informaț ional.
Cercetările ȋntreprinse ȋn vederea stabilirii gradului de eficiență a ȋnvățământului la
distanță nu au clarificat ȋnsă toate probleme puse ȋn discuție pe tema aceasta, mai cu seamă că
lumea e ste ȋntr-o continuă dezvoltare și schimbare iar nevoile devin din ce ȋn ce mai diverse
și mai complexe astfel că sistemele existente nu reu șesc să acopere toate doleanțele
consumatorului.
Putem afirma ȋnsă ca platf ormele de ȋnvățământ existente pe piață ȋ n acest moment , ȋși
au un rol bine – definit ȋn dezvoltarea intelectuală a utilizatorului, putând fi percepute ca o
amprentă cu impact pozitiv si evolutiv asupra educației indivi dului.
Realitatea este că oricât de complex ar fi un sistem informatic cu siguranță din punct
de vedere tehnlogic există un moment ȋn care numai satisface atât de bine nevoile de consum, „ Capitol I – E-learning cadru conceptual

5
având ȋn vedere noile descoperiri conceptuale ȋn materie de dezvoltare software. Conform
studiilor efectuate se observă o cerere masivă de cursuri ȋn tehnologia ȋnvățămant ului de orice
natură , datorată nevoii tot mai mare de cunoa ștere și informare. Având ȋn vedere cele
menționate se pune problema creșterii eficienței platformelor de e -learning existente sau a
proiectării unora noi care să satisfacă inclusiv noile nevoi ale consumatorilor.
Procesul educațional, atât educația formală academică, cât și edu cația prin intermediul
platformelor e -learning , mențin cercul virtuos al achiziției și creării de cunoaștere. Educația
virtuală ca și componentă de bază a pr ocesului educațional, înțelegerea dinamicilor care stau
în spatele său și gradul de pregătire pentru utilizarea la capacitate maximă a beneficiilor
acesteia pot reprezenta mecanisme ale unei mai corecte diseminări a cunoașterii.
1.1 Motivația alegerii temei
Scopul acestei cercetări este de a identifica noi mijloace pentru o mai corectă
diseminare a cunoașterii. De vreme ce potențialul cognitiv uman reprezintă principalul factor
în cadrul procesului de creare a cunoașterii, sporirea capitalului uman răm âne o preocupare
majoră în societate a bazată pe cunoaștere, căci pentru a contribui la dezvoltarea socială și
economică, indivizi i din toate straturile sociale au nevoie de acces la cunoaștere relevantă. În
acest context am evidențiat faptul că educația re prezintă un factor esențial.
Statele investesc astăzi în cercetare și dezvoltare, dar și în educație și formare
profesională. De la aceste inve stiții se așteaptă creșterea ratei de investiție și garantarea unui
avantaj competitiv statelor ce acord ă mai mult capital decât altele în economia cunoașterii,
deoarece națiunile cu o educație mediocră au probleme când discutăm de rata scăzută a
angajării și ace asta influențează sectorul economic ȋn diverse moduri . În prim ul rând datorită
ratei scăzute de a fi angajați, este o probabiliate destul de mică ca indivizii cu o educație
mediocră să fie participanți activi la tot ce se desfășoară ȋn piață și astfel să aducă un aport de
productivitate ȋn sectorul muncii . În al doilea rând sunt șanse crescute ca cei care nu sunt
implicații în mod activ ȋn sectorul de piață al muncii să fie dependenți de indivizii implicații
activ.
Rezumând, obiectivul principal al acestei lucrări este dezvoltarea unei platforme
educaționale inovative din punct de vedere tehnologic, care să integreze resursele
informaționale din platformele existente cu necesarul actual de pe piața de consum.
Motivul alegerii temei este acela de a demonstra că nu există limite atunci când
discutăm de dezvoltare prin ȋnvățare la distanță, ba mai mult , că spațiul virtual poate prinde
viață și că sistemul binar al ma șinilo r de calcul se poate trasforma ȋ ntr-un sistem care poate
imita o rețea neuronală umană.
Ceea ce vreau sa sub liniez este că inteligența umană poate fi foarte bine c ompletată de
inteligența artificială a ma șinilor și că oamenii au nevoie de un plus de cunoa ștere din partea
agenților software cât mai aproape de ceea ce numim gândire și capacitate de a face asocieri
dintre cele mai complexe .

6
1.2 Privire de ansamblu
Lucrarea de față prezintă un nou model pentru ȋnvățămantul la distanță bazat pe
conceptul de ontologie. Ontologia conform dictionarului expl icativ al l imbii române
reprezintă o „ ramură a filosofiei care studiază ființa, trăsăturile generale ale existenței ”.
Tehnologia ne prezintă acest concept ȋntocmai ca și definiția sa de bază urmărindu -se a se
reda comportamente și acte umane ȋn mediu virtual. Astfel ȋn creearea unui sistem informatic
bazat pe onto logii se studiază tematica umană ȋ n vederea creă rii unei baze de cunoștințe care
să ȋnglobeze resurse cu o semantică specifică menită să faciliteze accesul la date fie că
discutăm de modul de structu rare, căutare informație, fie că discutăm de posibilitatea de a
scala sistemul respectiv ȋ n timp. Pe parcursul acestei lucrări voi prezenta procesul de studiu al
sistemelor e -learning non -ontologice, platforma ontologică și de asemenea vor fi trasate
aspecte importante ale noului sistem dezvoltat si implementat, comparativ c u resursele puse
la dispoziț ie ȋn mediul educativ ȋn momentul de față .
Managementul dezvoltării și implementării acestui sistem presupune mai multe etape
după cum urmează:
a. Scop principal – bazându-mă pe analiza sistemelor deja dezvoltate am trasat
obiecti vul principal ȋ n creearea no ii platforme, cel din urmă fiind pre zentat pe larg ȋn
capitolele ce urmează .
b. Lista de task -uri – obiectivul principal a fost structurat ȋn task -uri u șor de ur mărit și
de efectuat având ca mă sură principală unitatea de timp;
– fiecare task este masurabil ȋn timp;
c. Livrabile – fiece task generează o livrabilă ;
d. Plan de risc – stabilirea mă surilor ce pot influența dezvoltarea, implementarea sau
buna funcționare a sistemului ȋ n timp;
e. Măsuri pe termen lung – integrare cu alte aplicații, scalabilitate, asigurarea calității.
f. Teste funcționale;
g. Nișă de implementare;

Educația este un factor esențial pentru dezvoltare, fie că vorbim de dezvoltare ca
individ sau de dezvoltare economico – socială. Am ales să studiez concept ul acesta la toate
standardele sale, deoarece, consider că numai prin ȋnvățare putem să construim o lume și un
viitor mai bun. Cu siguranță că acest termen este unul destul de complex și nu aș putea să
cunosc toate ȋ nțelesurile și sensurile sale, insă, pot să ma axez pe partea de educație prin
intermediul resurselor web, urmărind ȋn acest fel să ajut la schimbare prin partajare de
resurse ȋntr -un mod mult mai fiabil decât pană acum . Motivația vine și din pricina faptului
că exist ă numeroase persoane care au nevoie de ajutor pentru a avea acces la informație, fac
aici referire la persoane cu dizabilități locomotorii, a căror resură vitală de studiu este
internetul , dar și ca urmare a unei cercetări complexe a sistemelor existente care din punctul
meu de vedere , pe baza cercetărilor efectuate , au nevoie de imbună tățiri pe partea de
dezvoltare ș i integrare cu alte sisteme, și, ȋn principal de stocare și structurare eficientă a
informațiilor.

7
Internetul devine, pe zi ce trece, cerecetătorul activ al resurselor educaționale și
culturale , iar forma cea mai potrivită de a veni în întâmpinarea nevoilor de cunoaștere și
formare continuă este e -Learning. Avantajele unui siste m de e-Learning sunt acelea că are
capacitatea de a pune la dispoziția utilizatorului mai multe resurse de învățare și ȋn același
timp interconectare cu comunitate a globală de educație .
Un proiect e -learning de succes necesită o bună planificare a proiectu lui. Mai mult
decât un tip nou de educație și formare la distanță, un sistem e -Learning este o soluție de
business, o opțiune de succes pentru instituțiile care oferă cursuri de formare.

Pentru a crea o soluție viabilă, eficientă, cât mai completă am cercetat sistemele
actuale, trasând aspecte importante atât pe partea de conținut, cât și din punct de vedere al
limbajelor de dez voltare folosite și al modalităț ii de stocare a datelor.

Așadar, am luat ȋn considerare ȋn cadrul cercetării urmatoarele trei platforme
educaționale după cum urmează :

 Moodle
 Edmondo
 eFront

Platformele au fost ales e ȋn funcție de câțiva fa ctori esențiali dintre care menționez :
numărul de utilizatori, gradul de utilizare la nivel global, ni șa pe care se axează, studiile
făcute la nivel global asupra acestor tipuri de platforme .

Procesul de cercetare și identificare a platformelor existente a fost unul extrem de
complex având ȋ n vedere numărul extrem de mare de astfel de aplicații fie ele ȋn sursă de
deschisă, fie ele ȋn sistem cu plată.

2.1 Studiu de caz

Pentru a putea realiza o cercetare cu rezultate concludente am folosit ca puncte de
referinț ă studiile de piață realizate de Institutul Român de Cercetare ȋn asociere cu compania
SIVECO ( prezentate la conferința despre e-learning de la Constanța) , rețele de socializare ȋn
funcție de numărul de urmă ritori de pe paginile oficiale ale produc ătorilor platformelor de
ȋnvațare , date culese de compania Capptera din Arligton, Virginia, și, nu ȋn ultimul rând
diverse cercetări re alizate de Institutul Politehnica din Bucuresti și Timi șoara ( ȋn special ȋn
cadrul laboratorului de E -learning Centru de Tehnologii Avansate) , și articole de cercetare
din cadrul MIT – Massachusetts Institute of Technology .

Capitolul II – Sisteme de E-learning actuale

8
Analiza rezultat elor obținute a fost concentrată ȋn special pe fezabilitatea soluțiilor existente
pe piață urmărindu -se indic atori specifici după cum urmează :

a) scală – numărul actorilor implicați ȋntr -o anumită activitate de ȋnvățare pe un
interval de timp finit, luând ca refe rință și distanța dintre cei implicați, măsurată de
sistem;
b) tehnica oglinzilor paralele – calitatea tehnică a informațiilor primite de client (de
la realism grafic, la rezoluție) ;
c) interactivitate – durata de timp minimă de obținere a unui feedback din part ea
receptorului;
d) simetrie – gradul de focalizare pe fiece actor – participant ȋn parte ;
e) unelte – instrumente de lucru puse la dispoziția utilizatorilor ȋn procesul de
ȋnvățare;
f) capacitate de colaborare – stabilirea gradului de partajare informații ȋntre
participanții la procesul de invățare(transmitere date profesor – cursant si invers);
g) integrare – posibilitatea prezentării datelor ȋn formate diverse și a integrarii datelor
cu cele provenite din alte sisteme;
h) costuri – cheltuielile implicate ȋ n uti lizate resurselor puse la dispoziție de
platforma de invățare;
i) flexibilitate – ușor de utilizat și personalizat ;
j) timp – indicator esențial ȋn stabilirea ritmului propriu de ȋnvățare a fiecarui
cursant;

Așadar o prima analiză (făcută pe baza datelor public ate de Institutul Român de
Cercetare) vizează ȋn primul rând gradul de utilizare al platformelor e -learning in perioada
2010 – 2014 și se bazează pe experiența acumulată ȋn domeniu de către 1000 de organizații
diferite , probează tendința creșterii continue a e-learning-ului ȋn procesul de instruire a
cursanților , după cum se reliefează in figura 2.1:

Fig. 2.1 – Tendințe ȋ n utilizarea e -learning 2010 – 2014 0 2 4 6 8 1020102011201220132014
Rural
Urban

9
Capptera este o organizație din Arlington, Virginia, care de -a lungul timpului a făcut
diverse analize asupra platformelor de instruire la distanță, pentru a facilita procesul de
alegere a mediului proprice de instruire a cursanților, fie că discutăm despre mediul școlar, fie
că discutăm de instituții de formare independente sau de companii care urm ăresc
maximizare a profitului prin reducerea costurilor de instruire a angajaților săi.

Pe baza datelor publicate a fost creat un top al celor mai bune cinci platforme e –
learning după cum se poate observa ȋn graficele următorare:

1. După numă r de clienți :

Fig.2.2 Top cinci platforme de e -learning după număr clienți
2. După număr de utilizatori (măsurat ȋn milioane de utilizatori) :

Moodle

Edmondo

eFront

SuccessFactors

TopYX
Fig.2.3 Top cinci platforme e -learning după număr de utilizatori Edmondo
Moodle Moodle
Blackboard
Sakai
eFront 2

Moodle 1

Moodle
3

Moodle
4

Moodle
5

Moodle 53.7k

Moodle 300k

Moodle
48k

Moodle
20k

Moodle
10k

Moodle
71.1
49
28
20
20

10
Un alt clasament este făcut și pe baza datelor de pe rețelele de socializare ȋntre care a
fost urmărită evoluția platformelor numite de Capptera ȋn cercetările sale ȋn rândul
utilizatorilor de site -uri precum: Twitter , Facebook, Linkedin .
Astfel am căutat site -urile oficiale ale platformelor sus – menționate și am evaluat numarul de
urmăritori ( followers ). Clasamentul arată in felul următor:

Fig.2.4 Top cinci platforme de e -learning pe rețele de socializare
De-alungul timpului numeroase instituții au tratat tema educației prin formarea la distanță
ȋncercând prin nenumărate cercetări să aducă ȋmbună tățiri semnificabile sistemului educativ
la nivel global. Așa este și cazul Institutului de Tehnologie din Massachusetts care
cercetează conceptul de e -learning ȋncercând totodată să extindă utilizarea platformelor de
acest gen inclusiv ȋn statele mai puțin dezvoltate ale globului. Pe baza datelor publicate pe
site-ul oficial al institului am obținut informații prețioase ȋn studiul de caz efectuat, astfel
putând trasa concluzii importante pentru a dezvolta și implementa platforma , și anume:
– Stabilirea unui pr ogram de implementare a platformei pe o largă arie de interes –
incluzând zone defavorizate;
– Materiale variate pentru vaste domenii de interes;
– Resurse ușor partajabile;
– Urmărire nevoi utilizatori;

11
Institutul a publicat astfel un comunicat pe baza cercetarilor făcute pe o ni șă de utilizatori
din ț ări slab – dezvoltate din care amintesc Somalia, Libia,Tanzania, Uganda, Senegal si
Zimbabwe. Din acesta reiese că foarte mulți utilizatori doresc access la educație prin
intermediul unor astfel de platforme, mulți dintre ei ȋnsă nu au access la internet și alții nici
măcar nu au auzit de conceptul de e -learning.

Fig. 2.5 Impactul e -learning – ului in țări slab – dezvoltate – conform MIT
2.1.1 Moodle
Moodle (Modular Object -Oriented Dynamic Learning Environment ) este o platformă
de e-learning, un sistemul de management al învățării, un produs care oferă servicii și module
de dezvoltare a unui mediu de învățare și evaluare de tip e -learning. Platforma conține un set
de componente și module, instrumente de comunicații, clasă virtuală și bibliotecă digitală,
utilizând standarde și sisteme de tip 1LMS / 2LCMS / 3SCORM .
Moodle permite administrarea, documentarea, urmărirea și monitorizarea (susținută de un
sistem de raportare) a programelor de instruire, claselor (grupe), activității formatorilor, a
evenimentelor online ca re intervin într -un calendar / ș cenariu de curs obligatoriu, a programei
eLearning. El oferă suport pentru instruire la distanță astfel încât cu rsanții vor avea acces la
materialele relevante de instruire atunci când doresc, monitorizarea progresului acestora
pentru verificarea îndeplinirii indicatorilor de către cadrul didactic, dar și suport pentru
instruire on -line, prin sesiuni de tip clasă vi rtuală. De asemenea, sistemul permite organizarea
de sesiuni de testare cu scop de evaluare a cunoștințelor dobândite.
Țări slab dezvoltate și impactul e -learning –
ului asupra lor
Cunosc conceptul dar nu au
access la platforma
Utilizeaza deja o platforma e-
learning
Nu cunosc conceptul dar au
access la internet
Nu cunosc conceptul si nu au
access la internet
1LMS – acronim Learning Management System, ce reprezintă un sistem de management al ȋnvățării;
2LCMS – acronim Learning Content Management System, sistem de management al conținutului;
3SCORM – acronim Shareable Content Object Reference Model, set de standarde tehnice pentru produsele de invățare la distanță;

12
Astfel modulele principale ale sistemului sunt grupate pornind de la fun cțiile pe care le oferă,
respectiv: autoinstruire online, clasă virtuală, testare online, comunicare și schimb de
experiență, monitorizare și control, administrare și securitate.

Fig. 2.6 Platforma moodle – privire de ansamblu
2.1.1.1 Cerințe de sistem
Utilizarea platformei Moodle este posibilită respectând anumite cerințe minime de
sistem, atât din partea celui care instalează și configurează aplicația, cât și din parte
utilizatorului efectiv.
Fiind vorba despre o aplicație de tip client – server treb uie avute ȋn vedere două
aspecte importante pentru ca platforma să poată fi utilizată:
– Cerințe hardware si software minime pentru server;
– Cerințe hardware si software minime pentru client;
Astfel ȋn tabelele următoare sunt specific ate resursele necesare de hard și soft astfel ȋncât
Moodle să poată fi folosită:
Client/Server HDD Procesor RAM Altele
Cerințe
Hardware Server 1 GB 2.5 Ghz 1 GB Conexiune
rețea/Internet
Tabel 2.1 Cerințe Hardware server
Client/Server Sistem de operare Server Web Altele
Cerințe
Software Server Window
XP/Vista/7/8/Ubuntu/Server Apache/IIS Server de
baze de date
MySQL sau
MSSQL
Fig. 2.2 Cerințe Software server

13
Client/Server HDD Procesor RAM Altele
Cerințe
Hardware Client Nu este
necesar
spațiu de
stocare pe
disk 2.5 Ghz 512 GB Conexiune
rețea/Internet
Fig. 2.3 Cerințe H ardware client
Client/Server Sistem de operare Aplicații
Cerințe
Software Client Orice sistem care
suporta un browser
web Browser web –
Mozilla Firefox,
Internet Explorer,
Chrome, Safari,
Opera
Fig. 2.4 Cerințe S oftware client
2.1.1.2 Dependințe de sistem
Moodle este un site dezvoltat ȋn limbajul PHP, iar pentru ultima versiune apărut ă
(Moodle 2.9.1 ), este necesar PHP 5.4 .x. Acesta poate fi instalat rulând pe diferite configurații
de baze de date (MySQL, MSSQL, PostgreSLQ sau Oracle). Pe partea de sistem de operare,
toate cele specificate mai sus , la cerințe software server, sunt compatibi le cu platforma,
indiferent dacă arhitectura este pe 32 de biți(x86) sau pe 64 de biți (x64). Informațiile sunt
ținute ȋn baza de date care numără peste 200 de tabele . Mai jos puteți observa o parte din
structura bazei pe module :
Fig. 2.7 Baza de date Moodle – module admin, date, evenimente, carți, cache, blocuri de date
(fragment preluat de pe site oficial www. moodle .org )

14
2.1.1.3 Caracteristici tehnice și de conținut
Moodle este construi t conform constructivismului ȋnvățării, care presupune că
indivizii ȋnvață cel mai bine interacționând și colaborând , urmărind u-se aici dezvoltarea
artefactelor cunoașterii .
Pe baza analizei efectuate asupra platformei am extras caracteristicele tehnice și de conținut
care constituie un bun temei pentru stabilirea obiectivelor ȋn dezvoltarea unui nou instrument
de ȋnvățare . Acestea sunt urmă toarele:
– Moodle funcționează în mediile: Unix, Windows, Mac OS X, Netware ;
– Structură modulară – se pot adăuga module noi – dezvoltate ;
– Upgrade – sistem intern (care permite upgrade -ul bazelor de date );
– Folosește doar o singură bază de date (SQL) – care poate fi accesată de către alte aplicații ;
– Securitate – formulare protejate, validare date, encriptare cookie-uri;
– Autentificare individuală pentru fiecare utilizator , pe bază de utilizator și parolă ;
– Clase de utilizatori cu permisiuni diferite ;
– Filtre de conținut ;
– Potențialul de E-learning;
– Integrare resurse care respectă diferite standarde (SCORM) ;
– Localizare lingvistică: supor t pentru mai multe limbi ca Română, Maghiară;
– Teme și elemente g rafice personalizabile ;
– Calendar de activități – vacanțe, teze, proiecte;
– Sondaje – colectare instanț ă de preferințe pentru chestiuni de interes general
– Forum;
– Chat – comunicare sincronică ;
– Blog-uri;
– Glosar termeni ;
– Documente tip Wiki ;
– Quiz-uri cu multiple feluri de întrebări (variante multiple de răspuns, eseu liber );
– Evaluare individuală și la nivel de grup;

15
2.1.2 Edmondo
Edmondo este o platforma educativă ce ofera comunicare, colaborare și instruire
virtuală pentru școlile K-12(școli din ȋnvățământul primar și secundar). Spre deosebire de
Moodle, unde utilizatori i au access la codul sursă al aplicației, Edmondo nu oferă această
facilitate, fiind hostată de com pania producătoare (cu același nume), ȋn San Francisco,
accesul fiind posibil doar prin browser prin creearea unui cont pe site.
Ceea ce o face foarte utilizată și i -a adus popularitatea ȋn rândul școlarilor este aspectul de
rețea de socializare, imitând F acebook, după cum se poate vedea ȋn imaginea următoare:

Fig. 2.8 Platforma Edmondo – cont profesor (preluată de pe site -ul oficial
www.edmondo.com )
Printre facilitățile oferite de Edmondo se numără:
– Posibilitatea de a crea grupuri de studiu;
– Adaugare conținut prin creare structură de foldere;
– Cheie de ȋnrolare curs;
– Rol – cursant, profesor și părinte;
– Forum;
– Librărie de lucru (restricție cu privire la dimensiunea fișierului – maxim 100MB);
– Integrare cu Google Docs;

16
– Chestionare de feedback;
2.1.2.1 Arhitectura aplicației
Platforma Edmondo rulează ȋn totalitate pe AWS ( Amazon Web Services –
servicii web oferite de Amazon) . La ȋnceput bazele de date Edmondo, de tip MySQL, erau
instanțe ale Amazon EC2 (Amazon Elastic Cloud), ȋnsă, datorită expansiunii rapide, a fost
necesară mutarea acestora pe Amazon RDS(Amazon Relational Database Service).
Figura de mai jos reprezintă diagrama arhitecturală ce include Amazon RDS, Amazon Route
53, Amazon S3, Amaz on CloudWatch și Amazon CloudFont:

Fig. 2.9 Arhitectura Edmondo pe Serviciile Web oferite de Amazon (preluată de pe site -ul
https://aws.amazon.com )
2.1.3 eFront
eFront este o platforma de ȋnvățare la distanță cunoscută și ca sistem de
management al cursurilor(CMS), sistem de management al ȋnvățării (LMS) sau sistem de
ȋnvățare virtuală(VLE) , care a apărut prima dată ȋn sursă d eschisă, urmând ca ulterior să apară
ediția eFront Pro ȋn variantă cu plată.
Scrierile de specialitate fac referire la această sursă da ȋnvățare ca o alternativă a
Moodle cu conținut tipic pentru orice sistem de acest gen:
– Managementul utilizatorilor;
– Lecții, cursuri, si categorii de management al acestora;
– Forum;
– Chat;

17
– Calendar;
– Glosar;
– Metode de ȋnrolare la cursuri;
– Generare de rapoarte;
– Organizare modulară;
– Invățare sincronă și asincronă;
2.1.3.1 T ehnologii utilizate ȋ n dezvoltarea platformei
eFront este dezvoltată utilizând abordarea orientată pe obiect și are o arhitectură
bazată pe design –ul 3-tier.
Arhitectura 3 -tier generalizată:

Fig. 2.10 Arhitectura 3 -tier

eFront are o arhitectura ȋmpărțit ă ȋn trei layere principale: client, server si sistem de
management al bazei de date.
În top se află layer –ul de prezentare , de client, ce cuprinde cod HTML și Javascript , cod
livrat ȋn browser –ul web al utilizatorului . Acesta este construit utilizând template -uri de tip
Smarty.
În mijloc se afla layer –ul logic, care este scris in PHP 5, și care este responsabil de
functionalitățile din partea de server . Acesta comunică cu layer – ul de prezentare prin
formularele HTML și query – urile Javascript AJAX .
În partea de jos se afla tier – ul de date , unde se află baza de date (de tip MySQL) ce stocheaz ă
datele venite de la tier-ul logic, utilizând librariile AdoDB ca interfață intermediară.

Utilizator Client care ruleaza
browser -ul web Serverul web pe care
ruleaza aplicația Sistemul de
management al
bazei de
date(DBMS) Baza
de
date

18
3.1 Inteligență artificială – web semantic – ontologii
O definiție a intelige nței artificiale o reprezintă simularea inteligenț ei umane de către
mașini, și ȋn mod parti cular, de sisteme de calculatoare . Acest domeniu a fost, la modul
general, definit de cercetări ample ȋn laboratoare ș i destul de recent a ȋnceput să fie utilizat ȋn
aplicații comerciale.
De-a lungul timpului, publicul larg a adus ȋn prim plan unele ȋntrebari legate de
inteligenț a artificial ă ȋn context tehnologic :
– care este gradul de implicare a mașinilor inteligente ȋn viața indivizilor ?
– mașinile pot avea conștii nță ?
– au oamenii abilitatea de a dezvolta mașini inteligente și dacă da, cum vor putea fi
controlate ?
– cine va fi deținătorul controlului , individul uman sau mașina ?
– sunt ȋntr – adev ăr necesare mașinile inteligente ?
Termenul de inteligență artificială ȋl găsim ȋn publicații tehnice actuale, militare,
medicale, științifice, atunci cand se discută de aplicaț ii ce au performanț e de care numai om ul
era considerat capabil: recunoaș te și analiz ă vocală și imagistică, traduceri dintr -o limbă ȋn
alta, diverse jocuri de inteligen ță, luarea unor decizii fără ca omul să interv ină. La ȋnceput ,
obiectivele inteligenței a rtificiale erau destul de ample : maș ina trebuia să rezolve diverse
probleme, să inveț e singură din experiență și din eveni mente exterioare sistemului său, să
facă raționamente, să conceapă obiecte noi cu propr ietăți deja stabilite . Scopul principal al
inteligen ței artificiale este de a simula creierul omenesc ȋn modul ȋ n care el gândește,
raționează și interacț ionează . În urma cercetă rilor din ultimii a ni, computerul are abilitatea de
face raționamente și a descoperi aserțiuni logice ȋntre fapte corect descrise prin propoziț ii. De
asemenea, acesta are capabilitatea de a ȋnvăța din propriile erori și a interacționa cu un
utilizator. F olosindu-se de aceste performanțe, individul uman a conceput computere și
programe speci fice care să robotească pentru el, sa rezolve probleme complexe, să proceseze
baze de d ate cu sute de mii de inregistră ri.
Câteva dintre domen iile ȋn care este ș i va fi folosi tă inteligența artificială sunt:
• Sisteme expert – un sistem expert cuprinde un grup de aplicații și o colecț ie de date
specifice, prin intermediul cărora se poate realiza un dialog om – computer, pentru a rezolva
diverse probleme . Informaț iile primite de la mașină se aseamănă cu cele primite de la un
expert uman ȋ n aria respectivă. Sistemele expert sporesc intelige nța formalizat ă a unor experți
punând-o la dispoziția acel or oameni al căror acces la experții respectivi nu este posibil ă.
• Retelele neuronale reprezintă sisteme ce simulează inteligenț a reproducând tipuri de
legături fizice care se regăsesc ȋn creierul uman. Din pricina constrângerilor tehnologice,
numărul acestor legături este extrem mic, comparativ cu cele câ teva zeci de miliarde de rețele
din creierul uman . Capitol III – Tehnologii si concepte utilizate in contextul dezvoltării

19
• Înțelegerea limbajului natural reprezintă programarea calculatoarelor ȋn așa fel ȋncât
acestea să priceapă și să poată participa activ la ȋnteracțiunea cu utilizatori i ȋn limbaju l natural
al acestora. La baza ȋnț elegerii limbajului natural este recunoaștere a vocală c e transformă un
dialog ȋn text, prin intermediul unui dispozitiv special .
• Agentii reprezintă acele entități ce acționează ȋ n detrimetrul indivizilor umani,
adunând știri de pe rețea, trimitând mesaje de e -mail sau filtrâ nd mesajele primite. Deși
lucrează pe baza unor "cuvinte cheie" și ȋncă sunt ȋn stadiul de cercetare, agenț ii vor deveni
foarte folositori, ajutând utilizatorul să g ăsească, spre exemplu, numai acel știri sau articole
relevante pentru el , scutindu -l astfel de ore de naviga re ȋn van pe Internet .
• Roboții – noile modele apărute au ȋn componența lor calculatoare programate să
"audă", să "vad ă" și să reacționeze la d iverși stimuli externi. Există deja roboț i care pot merge
asemenea unei fiinte umane, pot să disting ă o voce , răspunzând numai la comanda acesteia,
se orientează ȋn spațiu, recunoscâ nd obiectele ȋnconjură toare, aleg cel mai scurt traseu ȋntre
două puncte și ocolesc obstacolele.
• Jocurile pe computer – implementarea jocurilor ș i a ariei multimedia, ȋn general,
este ȋn plină dezvoltare , o afacere extrem de profitabilă . În momentul de față, nu se mai poate
concepe un joc fără ca ȋn structu ra sa să aiba element e de inteligență artificială . Impleme ntată
corect, aceast a reprezintă garanția unui produs vândut bine, adică profit și satisfacț ie oferită
utilizatorilor .
Un sistem de inteligență artificială, sau bazat pe cuno ștințe are două părți fundamentale:
– baza de cunoștințe , ce conține c onceptele specifice ariei de interes , ȋn cazul de față
cuno ștințe despre educație și manag ementul acesteia ;
– motorul de in ferență, care utilizează cunoștințe pentru a rezolva diverse probleme ;
Din punct de vedere al inteligenț ei artificiale cunoș tințele pot fi vă zute ca mulțimea de fapte
și principii acumulate de oameni . Cunoștinț ele includ ide i, concepte, teorii, abstractiză ri,
limbaje, reguli, locuri, obiceiuri. Cunoștinț ele dintr-un sistem inteligent, care se referă de
obicei la un anumit domeniu, descriu universul problemei sau al clasei de probleme de
rezolvat la nivel simbolic și formează conținutul bazei de cuno ștințe.
Cunoștinț ele dintr-un sistem bazat pe cunoștințe trebuie să posede urmă toarele caracteristici:
 Cunoștințele trebuie să fie generale. Situaț iile c are prezintă proprietăț i comune
trebuie să poată fi reprezentate p rin structuri simbolice comune și nu punctual, fiecare ȋn
parte. Dacă cunoștințele nu au această proprietat e cantitatea de memorie necesară descrierii
acestora poate deveni imensă .
 Cunoștințele unui sistem inteligent su nt ȋn continuă schimbare deoarece ele reflectă
schimbările din lumea ȋnconjurătoare. Reprezentarea cuno ștințelor ȋn sistem trebuie să poată
fi modelate ușor și să pe rmită dezvoltarea increm entală a bazei de cunoștinț e.

20
 Reprezentarea cunoștințelor trebuie să faciliteze achiziția lor. Multe din cunoștinț ele
necesare unui sistem inteligent sunt cunoștinț e greu sau imposibil de formalizat și ele trebuie
obținute de la oamenii care le posedă . O reprezentare poate facilita sau ȋ ngreuna acest proces.
 Cunoștințele trebuie să poată fi utilizate ȋn orice instanță a problemei de rezolvat,
chiar daca sunt incomplete sau parț ial incorecte.
 Cuno ștințele ȋntr-un sistem inteligent trebuie să fie organizate ȋntr -o structură care să
corespundă modului ȋ n care acestea vor fi utilizate.
 Cuno ștințele trebuie să fie astfel reprezentate, organizate și utilizate ȋ ncât să permită
transparenț a sistemului. Expe rtul sau utilizator ul trebuie să poată inspecta cunoștinț ele
utilizate ȋn rezolvarea unei probleme și inferențele pe baza cărora problema a fost rezolvată .
Utilizarea cunoștințelor ȋn sistemele bazate pe cunoștințe necesită o formă de raționament,
decizii și acțiuni ȋn scopul obținerii de noi cuno ștințe care ȋn final vor reprezenta soluț ia
problemei d e rezolvat. Aceste acț iuni se fac cu ajutorul metodei de inferență .
Inferenț a reprezintă procedura de obț inere la un moment dat, a noi elemente (fapte) implicate
ȋn mod dire ct de elementele particulare reprezen tării.
În contextul dezvoltării platformei de e -learning a fost necesară studierea conceptelor de
rețele semantice, web semantic și ontologie din cadrul inteligenței artificiale.
Modelul rețelelor semantice reprezintă primul model structurat de reprezentare a
cunoștințelor , ce a fost introdus pentru a descrie semantica cuvintelor și a propozițiilor
limbajului natural .
Dezvoltarea unei rețele semantice pornește de la acumularea unor informații ce țin de
cunoaștere. Astfe l ȋn dezvoltarea platformei de e -learning un prim pas a fost cunoașterea
domeniului de referință de unde am strâns informațiile necesare.
Pe baza informațiilor strânse au fost create rețele semantice. Un exemplu de rețea semantică
este cel din figura de ma i jos:

Figura 3.1 Rețea semantică Este_inscrisa ISA
Larisa persoana
Curs
ocupatie
student 25 ani vârstă

21
Web-ul semantic este un "web de date", care permite mașinilor să ƒ
înțeleagăƒ semantica , sau sensul, de informații pe World Wide Web . Acesta extinde rețeaua
de pagini web care pot fi citite de om prin inserarea unor metadate despre pagini și modul în
care acestea sunt legate unele de altele, permițând agenților automatizați să acceseze Web -ul
mai inteligent și să efectueze sarcini în numele utilizatorilor. Termenul a fost inventat de Tim
Berners-Lee, inventatorul World Wide Web și director al World Wide Web Consortium , care
supraveghează dezvoltarea de standarde propuse Semantic Web. El definește web -ul
semantic ca „o rețea de date care pot fi procesate în mod direct și indirect de mașini.”
Web-ul Semantic poate fi văzut ca o suită de tehnologii, foarte sugestiv organizate de Tim
Berners-Lee într-o piramida cunoscută sub numele de layer cake, ilustrată în imaginea d e mai
jos:

Fig. 3.2 Semantică Web – Layer Cake

La baza piramidei se poate observa standardul Unicode folosit în reprezentarea și
manipularea textului în forme diferite și standardul de construcție a URI -urilor, util pentru a

22
identifica resurse publicate pe Web (documente multimedia, pagini Web, bloguri ). În prezent,
standardul de facto pentru descrierea și transferul de date pe Web este XML, ce prezintă ȋnsă
o serie de limitări. Printre acestea, se poate aminti absența semantici lor formale a XM L
Schema, care ȋngreunează cumunicarea dintre aplicații sau servicii ce nu distribuie aceeași
schemă sau interpretare a aceleiași scheme. Datorită dorinței de adăuga re a unui nivel anume
de semantică XML -ului s-a născut limbajul RDF, de descriere a resur selor utilizând triplete
de tipuri , compuse în structuri asemeni grafurilor. Pentru organiza rea resurselor și
proprietăților în ierarhia de tipuri se folosește RDF Schema. Limbajul OWL ext inde limbajul
RDF(S) printr -o o serie de constructori avansați ce pe rmit definiri mai expresive decât cele
posibile prin tripletele RDF(S). OWL permite de asemenea adugarea de constrângeri asupra
proprietăților cum ar fi cele de cardinalitate, restricțiile de valori sau adăugarea de
caracteristici pred efinite pentru propri etăți (simetrie, tranzitivitate, etc.). De remarcat este
faptul că limbajele RDF(S) și OWL sunt bazate pe teoria logicii descriptive, ceea ce
garantează interpretare a semantică fără ambiguități a declarațiilor efectuate în aceste limbaje.
Mai mult, utilizând motoarele inferențiale specifice logicilor de descriere, pot fi derivate
automat cunoștințe noi din descrieri RDF(S) sau OWL.
Cunoștintele descrise utilizând limbajele RDF(S) și OWL pot fi interogate prin intermediul
limbajul standard SPARQL, ase mănător cu SQL. Celelalte layere descrise ȋn figura de mai
sus nu sunt încă standardizate complet. Ele de fapt vizează definirea unor l imbaje standard de
reguli (RIF, SWRL, SPIN), cum ar fi în definirea unor relații ce nu pot fi descrise folosind
constructorii disponibili în OWL, a unor sisteme de determinare a nive lului de încredere care
poate fi asociat unui triplet RDF ( verifică dacă premisele propoziției sunt din surse de
încredere și ce fel de sistem de inferențe a fost folosit ). Layer-ul de criptografie este de
asemenea foarte important pentru a verifica de unde provin afirmațiile RDF(S) și/sau OWL și
este bazează pe utilizarea de semnături digitale .
Reproducerea gândirii și rațiunii umane prin intermediul sistemelor inteligente a
contituit de – alungul timpu lui o temă de cercetare cu resurse complexe. Ideea a fost ca un
sistem să fie capabil să raționeze ca și omul indiferent de arie sau domeniu de interes. Acest
lucru până in acest moment a rămas ȋn stadiu de cercetare fiind aproape imposibil ca o mașină
să dezvolte abilităti egale cu cele umane. Contextul acesta ȋ nsă a făcut să fie posibilă cre area
unor sisteme inteligente care să se axeze pe anumite capacități umane de a face conexiuni
astfel facându -și apariția termenul de ontologie.
Conceptul de ontologie a fost utilizat prima dată în anul 1992 și a fost definit astfel: o
specificație reprezentativă a unui vocabular dintr-un anume domeniu comun mai multor
sisteme de inteligent ă artificial ă, definiții ale unor clase, funcții, relații, și alte obiecte poate
fi denumită o ontologie. Sau mai pe scurt : o ontologie reprezintă o specifica ția unei
concepții.
Ontologia reprezintă o caracterizare ( ca o prezentare unică a unui program ) a
conceptelor și rel ațiilor ce pot exista pentru o aplicație sau pentru mai multe.

23
Un angajament ontologic reprezintă un consimțăm ânt de a folosi un vocabul ar (cum ar
fi, se cer întrebă ri și se fac afirmații), într -o maniera aflată în concordanță (dar nu ȋn
totalitate), cu privire la teoria specificat ă de către o ontologie. Astfel, se construiesc
agenți(crawleri) c e transmit ontologiilor informația , ceea ce presupune proiectarea unor
ontologii astfel încât să poată facă schimb de cunoștințe cu și între acești agenți.
Prin ontologii se obține concept ualizarea unui domeniu . Acest lucru include modelul
domeniului respectiv cu eventuale reguli de restricție. Conceptualizarea descrie cunoștințele
despre aria de interes , nu despre starea deosebită a lucrurilor din aria respectivă . În altă ordine
de idei, nu se schimbă conceptualizarea , sau se schimbă foarte rar. O ntologia reprezintă
definiția acestui concept care este exprimat utilizând limbaje de particular e de modelare și
termeni specifici. În vedera prelucr ării ontologiilor și a funcțion ării automate pe ontologii
este nevoie de o specificație formală .
Ontologia prezintă un domeniu, pe când baza de cunoștințe (bazată pe o ontologie)
prezintă o stare de fapte. Fiec e sistem care este bazat pe cunoaș tere sau agent are propria sa
bază de cunoștinț e, și ceea ce poate fi definit printr-o ontologie poate fi stocat și folosit în
baza de cunoștințe. Atunci când un agent vrea să comunice cu un alt ul, el folosește
construcțiile de la o ontologie. Cu scopul de înțelegerii comunic ării, ontologiile trebuie să fie
comune între agenți .
Repre zentarea unei baze de cunoaș tințe se realiz ează pe specificațiile de
conceptualizare. O conceptualizare reprezintă o modalitate abstractă, simpli stă a orizontului
pe care dori m să ȋl reprezinte pentru un anume scop. Fiece bază de cunoștințe ori sistem bazat
pe cunoaștere este aflat într-o anumită conceptualizare, explicit sau implicit. Pentru aceste
sisteme , ceea ce " persistă ", este ceea ce poate fi re dat. Atunci când cunoașterea unui
domeniu este re dată ȋn mod declarativ , setul de obiecte ce poate fi re dat este denumit univers
de discurs. Acest a ȋmpreună cu relațiile descrise sunt reflectate în tr-un vocabular de
reprezentare cu care un program bazat pe cunoaștere va re da cunoașterea.
În contextul inteli genței artificiale, există posibilitatea descrierii ontologiei prin
definirea unui set de termeni de re dare. Într-o astfel de ontologie, definițiile aduc laolaltă
numele entităților în universul de discurs ( clase, funcții , relații sau alte obiecte), cu descrierea
numelor și axiomelor formale c e constrâng interpretarea și folosirea formată a acestor
termeni. La nivel formal, o ontologie reprezintă declarația unei teorii logice , a cărei parte
principală a unei ontologii este reprez entată de taxonomie. Taxonomia este o clasificare a
obiectelor într-o formă ierarhică. În mod uz ual este un arbore, c e denotă o relație de
apartenența: A aparține lui B adică tot ceea ce este în A se află și în B. Un exemplu de
clasificare este cel a l organismelor vii. Taxonomia limitează, ȋn mod uzual , folosirea ȋn
manieră intenționată a claselor – în cazul în care clasele reprezintă subseturi ale unui set al
tuturor posibililor indivizi dintr-un domeniu. Ontologiile nu trebuie să se restrângă la
ierarhiile de clase taxonomice sau la definiții c e introduc doar terminologii și nu adaugă nici
un fel de cunoaștere cu privire la lume. Pentru specificarea unei conceptualiz ări, axiomele c e
constrâng posibilele interpretări ale termenilor definiți sunt de asemenea necesare. O

24
ontologie descrie vocabularul cu care afirmațiile și interogările sunt distribuite între agenți . O
garanție de consistență a comunicații lor o reprezintă un angajament ontologic .
3.2 Limbaje in contextul web –ului semantic și al ontologiilor
În funcție de scopul construirii ontologiei exis tă mai multe metode de construcț ie și
respectiv limbaje. Ontologii le, conform unora din definiț iile precedente p ot fi reprezentate și
de un dicț ionar. Pentru a fi însă utilizate de web – ul semantic ontologiile trebuie să fie
utilizate de calculatoare și astfel trebuie să fie exprimate în limbaje pe care să le poată
înțelege ușor și calculatoarele și oamenii. Astfel, principalele limbaje de definire a
ontologiilor sunt bazate pe XML – un limbaj care este foarte ușor interpr etabil de
calculatoare.
3.2.1 XML – Extensible Markup Language
Extensible Markup Language este un meta-limbaj de marcare recomandat de
Consorțiul Web pentru crearea de alte limbaje de marcare (care formează familia de limbaje
XML), cum ar fi XHTML, RDF, RSS, MathML, SVG, OWL .
Meta-limbajul XML este o simplificare a limbajului SGML – Standard Generalized
Markup Language (din care se trage și HTML ) și a fost proiectat în scopul transferului de
date între aplicații pe internet.
Fiecare program are propriul format de stocare a datelor. Problemele apar atunci când dorim
sa schimbam date între aceste programe. Trebuie sa realiz am programe de conversie care să
transmită datele de la un program la altul, ceea ce înseamnă timp, resurse ș i rată de erori mai
mare. Mai mult, sunt cazuri în care datele nu sunt portabile de pe o platformă pe alta. De
aceea, s-a pus problema gă sirii unui format co mun de stocare a datelor care să poata fi recu –
noscut de toate programele și care să fie portabil de pe o platformă pe alta. Astfel, a aparut
ideea descrierii datelor cu marcaje.
De exemplu, informațiile despre student se pot descrie astfel:
<student id=”1”>
<nume_complet> Ion Popa </nume_complet>
<nr_matricol>10</nr_matricol>
<facultate>Automatică și Calculatoare</ facultate>
<varsta>23</varsta>
</student>
Problema e ra că programele care p relucrau aceste date trebuiau să știe să le citească ș i, deci,
să cunoască dinainte structura marcajelor. Ideea geniala îi apartine l ui Charles Goldfarb de la
IBM, și anume introdu cerea noțiunii tip de document, care descrie structur a pe care trebuia să

25
o aiba un anumit document XML pentru a fi va lid. Programele care prelucrează aceste
documen te stiu dinainte structura lor și le pot analiza și accesa fără probleme .
Una din cele mai importante calităț i ale XML este posibilitatea de a structura documentele.
Orice document XML include o structură logică și o structură fizică. Structura logică se
aseamănă cu un ș ablon care ne arată ce elemente trebuie să includă documentul și în ce
ordine.
Prologul este primul element structural într-un document XML, opț ional. Acesta
constă din două componente de bază, de asemenea opț ionale: declaraț ia XML și declaraț ia
tipului de doc ument. Declaraț ia XML identifică versiunea specificaț iei XML cu care
documentul va fi în conformitate (versiunea analizorului care va parcurge documentul XML).
De exemplu, declaratia arata astfel:
<?xml version=”1.0” ?>
O declaraț ie XML poate conț ine de asemenea, specificarea setului de caractere utilizat în
documente. În acest caz se utilizeaza se tul de caractere UTF -8. Declaraț ia tipului de
document este alcatuită din meta-codul care indică regulile gramaticale ale DTD (Document
Type Definition) pentru o anumită clasă de document e. Toate documentele din această clasă ,
pentru a fi valide, trebuie sa respecte regulile impuse în definirea tipului de document. Tipul
de document poate, de asemenea, să fie precizat într -un fișier extern care con tine toate partile
DTD. Declaraț ia tipului de document trebui e sa apara dupa declaratia XML ș i înaintea
elementului document.
Pentru ca un document XML sa fie bine – format el trebuie să respecte câteva reguli:
– au un singur element rădăcină;
– fiecare element are un tag de ȋnceput și unul de sfârșit;
– tag-uri corect ȋmbricate;
– numele atributelor sunt unice;
3.2.2 RDF – Resource Description Framework
Resou rce Description Framework reprezintă un standard folosit ȋn descrierea
resurselor web. Acesta reprezintă un cadru menit să proceseze metadatele, oferind
interoperabilitatea ȋntre diverse aplicații care fac schimb inteligent de infomații, ȋn sensul
ȋnțelegerii de către ma șină a semanticii lor.
RDF folosește meta – limbajul XML pentru reprez entarea sintactică a metadatelor.
Unul din scopurile cadrului este de a face posibilă specificarea semantică a datelor, bazată pe
XML, printr -o metodă standardizată, independentă de ma șină, extensibilă. Î n acest sens XML
și RDF sunt complementare.

26
Model ul de bază RDF se construiește cu ajutorul următoarelor tipuri de obiecte:
 Resurse – datele descrise de expresiile RDF. O resursă poate fi o pagină web
completă.
 Proprietăți – o proprietate reprezintă un aspect specific, un atribut, o caract eristică
sau o relație pentru descrierea unei resurse. Fiece proprietate are o semantica, un set
de valori permise, o mulțime de tipuri de resurse pe care le descrie și un set de relații
cu alte proprietăți.
 Declarații – o anumită resursă ȋmpreună cu o proprietate a sa având o valoare
asignată. Astfel decla rația poate fi privită ca un tri plu: {subiect, predicat, obiect}.
Obiectul declarației poate desemna o altă resursă(specificată de un URI –
identificator unic de resursă ) sau un literal(tip primitiv de dată sau șir de caractere,
conform specificațiilor XML). În modelul RDF, un literal poate conține marcaje
XML care ȋnsă nu vor fi evaluate de procesorul RDF.

Declarațiile pot fi reprezentate in următorul mod:

 Graf orientat: nodurile sunt fie subiecte fie obiecte, iar ar cele semnifică un predicat;
 Marcaje: <subiect>has<predicat><obiect >;
 RDF/XML;

În RDF ȋntelesul unui termen este exprimat printr -o referință la o schemă, care poate fi
privită ca un fel de dicționar, unde se defines c termenii pe care ȋi utilizăm ȋ n declara țiile
RDF.
O schemă conține definiții și restricții de utilizare a proprietăților. Pentru evitarea
confuziilor dintre definițiile aceluiași concept se utilizează spațiul de nume ca și ȋn cazul
XML. Ea este constituita dintr -un set de clase și proprietăți fundamentale.

Fig. 3.3 Seturi de clase si proprietăți specifice RDF

27
Informația este reprezentată de triple subiect -predicat-obiect ca in exemplul următor:
Declarație: Studentii cursului de Iteligență artificiala sunt Larisa, Stefan și Daniela.
Serializare RDF:

<rdf:RDF>
<rdf:Description about=”http:// localhost/up/cursuri/ ~InteligentaArtificiala ”>
<studenti:Studenti>
<rdf:li resource= http://localhost/~Larisa ”/>
<rdf:li resource=”http://localhost/~Stefan” />
<rdf:li resource=”http://localhost/~Daniela” />
</studenti:Studenti>
</rdf:Description>
</rdf:RDF>

Într-un graf RDF nu este neapărat necesară specificarea unui URI (Unique Resource
Identifier) pentru fiecare nod al grafului. Un nod fara URI specificat se numeste nod Blank ,
sau b-nod și poate fi văzut ca un nod ce nu poate fi referențiat ȋ n mod direct din afară .
Acesta este util atunci când avem de a face cu o listă.

Spațiul de nume uzual folosit este „rdf:” și este sinta ctic definit la
„http://www.w 3.org/1999/02/22 -rdf-syntax-ns#”.

Vocabularul RDF include următoarele elemente:
– rdf:type – predicat folosit pentru a preciza că o resursa este o instanță a unei clase;
– rdf:XMLLiteral – clasă de tip literal;
– rdf:Property – clasă de proprietăți (relații binare folosite ca predicate ȋn triple) ;
– rdf:Alt, rdf:Bag, rdf:Seq – containere de alternative, containere ne -ordonate,
respectiv, containere ordonate ;
– rdf:Statement, rdf:subject, rdf:predicate, rdf:object – utilizate pentru reificare;

*Reificarea este procesul ȋn cursul căruia relațiile sociale ȋmbracă forma unor relații ȋntre
obiecte concrete.

Reificarea RDF permite divizarea unei declarații (triplu) ș i utilizarea acesteia sau a
părților sale ca parte a altei declarații. Cu alte cuvinte dacă avem declarația „Ion este
student”, putem trata triplu l ca o resursă ce ne permite să facem afirmații cu privire la
declarația ȋn cauză.

:Ion :este :student

Reificarea RDF, ȋn acest caz, este următoarea:

28
[ a rdf:Statement;
rdf:subject :Ion;
rdf:predicate :este;
rdf:object :student ]

Pentru a sumariza vom spune ca triplul RDF este de forma <Subiect, Predicat, Obiect> unde
subiectul poate fi un unic identificator de resursă(URI) sau un b -nod, predicatul poate fi
URI, iar obiectul poate fi URI, b -nod sau literal. Graful RDF este un set de triple RDF.

Vocabularul RDF este extins de Schema RDF care permite descrierea taxonomiilor de clase
și proprietăți . Lista claselor și proprietăților RDFS este afișată ȋn tabelul următor:

Element Class Of rdfs:SubclassOf rdf:type
rdfs:Resource Toate resursele rdfs:Resource rdfs:Class
rdfs:Class Toate clasele rdfs:Resource rdfs:Class
rdfs:Literal Valori literale rdfs:Resource rdfs:Class
rdfs:Datatype Datatypes rdfs:Class rdfs:Class
rdf:XMLLiteral XML valori literale rdfs:Literal rdfs:Datatype
rdf:Property proprietăți rdfs:Resource rdfs:Class
rdf:Statement declarații rdfs:Resource rdfs:Class
rdf:List liste rdfs:Resource rdfs:Class
rdfs:Container containere rdfs:Container rdfs:Class
rdf:Bag containere ne –
ordonate rdfs:Container rdfs:Class
rdf:Seq containere ordonate rdfs:Container rdfs:Class
rdf:Alt containere de
alternative rdfs:Container rdfs:Class
rdfs:Container
MembershipProperty rdf:_1… properties
expressing
membership rdf:Property rdfs:Class
Tabel 3.1 Clase RDF

3.2.3 OWL – Web Ontology Language
OWL este un limbaj conceput pentru a defini ontologii , care extinde RDF, permițând
folosirea unor instrumente de inferență pe datele din ontologie. Are trei sub -limbaje distincte
OWL Lite, OWL DL și OWL Full ce diferă prin ceea ce pot exprima. OWL Lite suportă
restricții de cardinalitate (0 sau 1) precum și re stricții de tip „AllValuesFrom” și
„SomeValuesFrom”. Restricțiile de cardinalitate specifică numărul de proprietăți de un
anumit tip pe care le poate avea o clasă. Restricțiile de tip „SomeValuesFrom” și
„AllValuesFrom” specifică faptul că unele sau toate valorile proprietății pe care se aplică
restricția au tipul specificat. De asemenea, se poate specifica faptul că unele clase și
proprietăți sunt echivalente cu alte clase și proprietăți, ceea ce poate fi foarte util pentru a
arăta că unele concepte cu num e diferite din ontologii diferite reprezintă de fapt același lucru.
Tot în OWL Lite se poate specifica faptul că o proprietate poate fi funcțională (ceea ce

29
înseamnă că un element din domeniu poate fi asociat printr -o proprietate funcțională unui
singur element din co -domeniu), simetrică, tranzitivă sau inversă. OWL DL (Description
Logic) este un limbaj mai avansat, bazat pe un subset decidabil al logicii cu predicate. OWL
DL permite definirea unor relații de disjuncție între clase. El permite și definirea de clase prin
reuniune, diferență și intersecție de clase. Permite și definirea unor restricții de cardinalitate
mai av ansate, astfel că orice număr care nu etse negativ poate fi specificat în cadrul
restricției. Pe o ontologie OWL DL, motoare de raționame nt ca de exemplu Racer (Racer
2007), Fact++ (Fact 2007), Kaon2 (Kaon 2007) sau Pellet (Pellet 2007) pot verifica
consistența modelului sau poate să realizeze clasificare automată. OWL Full permite
definirea mai multor tipuri de constrângeri decât OWL DL da r fără a oferi garanții
computaționale. În momentul actual, cele mai multe aplicații și instrumente de dezvoltare
sunt construite pentru OWL DL.
OWL pune la dispoziție elemente pentru a construi taxonomii , denumite și ierarhii de clase,
ce pot fi folosite pentru a descoperi relatiile ȋn mod dinamic.

De la RDF -> OIL(Ontology Inference Layer ) la OWL:

Fig. 3.4 Apariția OWL
Pe lângă facilitățile oferite de utilizare a standardului RDF, OWL oferă și posibilitatea
stabilirii ȋntre clase a unor relații de intersecție, reuniune, complementaritate prin
introducerea operatorilor:
– intersectionOf

30
– unionOf
– complementOf
Actual, OWL, este ȋmpărțit ȋn trei limbaje cu expresivitate crescută: OWL Lite, OWL
DL(OWL Description Logic) și OWL Full. Toate acestea permit descrierea de clase,
proprietăți și instanțe, cel mai slab dintre ele, așa zis limbaj ontologic de bază , fiind OWL
Lite.
Utilizând setul standard de ope rații(intersecție, reuniune, complementaritate) este posibilă
definirea combinațiilor de clase boolean, fiecare dintre ele fiind definite in OWL utilizând o
proprietate. La modul general o proprietate face referire la relația dintre două sau mai multe
clase.
Exemplu de utilizare a operației de intersecție:
<owl:Class rdf:ID=”Tata”>
<owl:IntersectionOf rdf:parseType=”Collection”>
<owl:Class rdf:about=”#Parinte” />
<owl:Class rdf:about=” #Masculin ”/>
</owl:IntersectionOf>
</owl:Class>

Am ales ace ste concepte și tehnologii pentru structurarea cunoștințelor pentru că este mult
mai ușor să construiești ierarhii bazate pe clase și relații, decât să construiesti baze de date
bazate pe tabele și relații, urmărind anumite constrângeri. Un exemplu simplu și extrem de
elocvent este o bază de date cu informații despre studenți, precum nume, prenume, cnp,
număr matricol, căreia vrem să ȋi asignăm o nouă proprietate pentru tabela studenți denumită
cursuri. Această proprietate deși pare extrem de simplu de adău gat când ne referim la limbaj
natural iată că ridică probleme destul de importante ce țin de re -crearea tabelei studenți și
adăugarea noului câmp, asta ȋn cazul ȋn care dorim ca relația dintre student și apartenența la
curs să fie de 1:1 (one – to –one – un curs aparține unui singur student/ un student este ȋnscris
la un singur curs), caz contrar ar trebui creată o tabelă de legătură cu tabela care conține
cursurile la care este asignat fiece student.
Din punct de vedere ontologic, lucrurile sunt mult mai s imple, putând adăuga noua informație
despre student fără a altera stuctura inițială a informațiilor prin adăugarea informației ca și
proprietate a clasei student.
3.2.3 SPARQL
SPARQL este un limbaj de interogare pentru RDF /OWL și se bazează pe creearea
unor șabloane ce vor fi căutate în interiorul grafului. RDF /OWL este un limbaj care definește
grafuri de cunoștințe prin specificarea unor triplete de tipul {Subiect Predicat Atribut }, unde
subiectul și atributul sunt tipic nodur i în graful de cunoștințe iar predicatul reprezintă relația
dintre ele (muchia din graf). SPARQL permite definirea de subgrafuri prin specificarea unei

31
succesiuni de triplete și caută să potrivească subgraful astfel format în graful de cunoștințe
inițial.
Sintaxa SPARQL:
PREFIX: URI_NAMESPACE _Default
PREFIX prefix_spatiu_de_nume : URI_SPATIU_DE_NUME
Select ?x1 ?x2
Where { ?x1 predicat prefix_spatiu_de_nume:atribut.
?x1 predicat2 ?x2
}
Order by ?x1
„Prefix” specifică spațiul de nume standard pentru interogarea pe care dorim să o realizăm și
poate specifica și prefixe pentru alte spatii de nume pe care dorim să le utilizăm ȋn interogare.
Scopul definirii prefixelor este de a mări lizibilitatea interogării. Dacă nu dorim să utilizăm
prefixe atu nci în interiorul clauzei „Where ” vom folosi URI -urile integrale ale conceptelor pe
care dorim să le utilizăm. .
SPARQL permite regăsirea rapidă a informațiilor formalizate într -o bază de
cunoștințe. În contextul în care cât mai multe informații devin accesibile într -un mod formal
agenților software un astfel de limbaj le permite acestora să navigheze cu ușurință pri ntre
informațiile existente și să regăsească noțiunile de care au nevoie. Serviciile inteligente care
pot fi creeate utilizând aceste cunoștințe aduc mai aproape ideea web -ului semantic.
SPARQL oferă o serie de funcții avansate pentru a construi șabloane de interogare,
rspectiv pentru a adăuga condiții suplimentare de filtrare, dar și metode de formatare a
rezultatelor. Structura unei interogării SPARQL este similară cu o interogare SQL ca și
sintaxă, dar cele două limbaje sunt fundamental diferite operân d pe structuri de date complet
diferite.
În plus față de standardizarea limbajului de interogare, SPARQL definește protocolul
de comunicare ȋntre un client SPARQL și un server de stocare și rulare de interogări. Pentru
aceasta folosește un alt standard W 3C, și anume WSDL 2.0(Web Services Description
Language – oferă un model de descriere a serviciilor web).
Pentru construcția șabloanelor de extragere a tripletelor se utilizează sintaxa Turtle.
SPARQL adaugă ȋn plus variabile de interogare pentru a specif ica părțile din șablonul de
interogare care se doresc a fi extrase ca și rezultat.

32
Există patru tipuri de interogări care sunt suportate ȋn SPARQL, și anume:
 SELECT – sunt returnate rezultatele ce nu fac parte din dintr -un graf RDF;
 CONSTRUCT – permite combinări de grafuri și transformarea datelor dintr -un graf
RDF ȋn altul;
 ASK – returneaza adevărat sau fals ȋn funcție de existența șablonului căutat;
 DESCRIBE – permite returnarea unui graf RDF fără specificarea unui șablon de
client;
3.2 PHP – Hypertext Preprocessor
PHP este unul din limbajele de programare web cele mai importante , ȋn sursă
deschisă și server-side, existând versiuni disponibile pentru majoritatea serverelor web și
pentru toate sistemele de operare. Conform statisticilor acesta este instalat pe circa 20 de
milioane de site -uri web și pe circa 1 milion de servere web . Limbajul a apărut în 1994 ca o
extensie a Perl – limbaj server-side, și apoi ca o serie de CGI-uri compilate de către Rasmus
Lerdorf, cu scopul gener ării unui curriculum vitae și a urm ăririi numărului de vizitatori ai
unui site. Apoi a evoluat în PHP/FI 2.0, dar acest proiectul ȋn sursă deschisă a luat amploare
după ce Andi Gutmans și Zeev Suraski , de la Technion au lansat versiunea nouă a
interpretorului PHP ȋn anul 1998, versiune care a primit denumirea de PHP 3.0. Tot cei din
urmă au schimbat și denumirea acronimul ui recursiv de acum, până la acea dată PHP a fost
cunoscut ca Personal Home Page Tools. Apoi cei dou au rescris baza limbajului, dezvoltând
ȋn felul acesta și Zend Engine
PHP 5, cu Zend Engine II au fost lansate ȋn iulie 2014, ceea ce a condus și la o orientare mai
clară pe obiect și care să suporte astfel mai multe aspecte ale acestui tip de programare.
PHP 5 aduce ȋn prim plan față de versiunea 4:
 Îmbunătățire suport de OOP;
 Include extensia PDO – PHP Data Objects, c e definește o manieră ușoară și
consistentă de acces la diferite baze de date ;
 Performanță ȋmbunătățită ;
 Îmbună tățire suport pentru MySQL și MSSQL;
 Suport nativ pentru SQLite;
 Integrare suport SOAP;
 Iteratori pentru date ;
 Tratarea de exceptii pentru controlul erorilor ;
PHP-ul reprezintă unul din cele mai utilizate limbaje de prog ramare server -side, conform cu
studiu efectuat de Netcraft în primăvara lui 2012, apărând pe 9 din cele 37 milioane de arii
de cercetate aflate în studiu. De asemenea, există un grafic al creșterii utilizării PHP-ului

33
pe site-ul oficial . Numărul mare de utilizatori de care se bucură acest limbaj de
programare este datorat următoarelor aspecte :
 Familiaritatea : sintaxa limbajului este foarte facilă sunt ȋmbinate sintaxele unor
limbaje populare precum Perl sau C;
 Simplist : sintaxa ușor de folosit și ȋnțeles. Nu este nevoie a se adăuga biblioteci sau
directive de compilare, codul PHP adăugat într-un document executăndu-se ȋntre
marcajele special concepute ;
 Efici ența : PHP-ul se folosește de modalități de alocare a resurselor, extrem de utile
ȋntr-un mediu multiutilizator, cum este web -ul;
 Securitate : PHP-ul asigură utilizatorului un set eficient și flexibil de măsuri de
siguranță;
 Flexibilitate : apărut din nevoia dezvoltării web -ului, PHP a fost modularizat cu
scopul de a fi ȋn ton cu dezvoltarea diferitelor tehnologii. Deoarece nu este legat de un
anumit server web, PHP -ul a fost integrat pentru un număr mare de servere
web existente: Apache, IIS, Zeus;
 În sursă deschisă : este probabil una dintre cele mai importante particularități ale
PHP-ului. Dezvoltarea acestuia sub ȋn sursă deschisă a determinat o adaptare rapidă a
sa la ne cesitățile web-ului, eficientizarea și securizarea codului.
PHP poate să ruleze pe majoritatea sistemelor de operare, de la Linux, UNIX,
Windows, sau Mac OS X și poate să interacționeze cu majoritat ea web – serverelor. Codul
PHP este interpretat de serverul WEB după care se generează cod HTML c e va fi văzut de
utilizator (clientul având acces numai la cod HTML).

Fig. 3.5 PHP – cerere client Client – trimite cerere către server
Server Apache PHP Bază de
cunoștințe
Pagina Web Browser

34
3.3 AJAX – Asynchronous JavaScript and XML
AJAX reprezintă o tehnică de programare pentru crearea de aplicații web interactive.
Intenția este să facă paginile web să devină mai rapide și deci mai acceptate, prin schimbul în
fundal al unor cantități mici de date cu serverul, astfel încât să nu fie nevoie ca pagina să fie
reîncărcată la fiecare acțiune a utilizatorului. Aceasta are ca scop creșterea interactivității,
vitezei și ușurinței în utilizare a aplicațiilor web.
Ajax nu este o tehnologie în sine. Termenul este folosit pentru definirea aplicațiilor web ce
folosesc un ansamblu de tehnologii:
 HTML sau XHTML pentru structura semantică a informațiilor;
 CSS pentru prezentarea informațiilor;
 Javascript pentru interactivitate, pentru procesarea informațiilor prezentate;
 Obiectul XMLHttpRequest pentru schimbul și m anipularea informațiilor într -o
manieră asincronă cu server -ul web;
 XML este folosit de obicei pentru transferarea datelor între server și client, deși orice
format funcționează, inclusiv H TML preformatat, text simplu .

3.6 AJAX – mod de funcționare
AJAX p resupune un schimb mic de date ȋ ntre browser și server, astfel ȋncâ t să numai
fie necesară reȋncărcarea ȋntreg ii pagini web de fiecare dată când utilizatorul face o schimbare
ȋn aceasta. El ȋnlocuie modalitate de interacț iune start -stop-start-stop a Web-ului introducâ nd
un nivel intermediar ȋntre utilizator ș i server – motorul AJAX. Adă ugarea unui nou nivel ȋntr –

35
o aplicația de obicei o face sa lucreze mai greu, dar ȋ n acest caz nu este deloc așa . În loc să
ȋncarce pagina la ȋ nceputul sesiunii, browser – ul ȋncarca un motor AJAX, scris ȋn JavaScript
și plasat de obicei ȋ ntr-un cadru (frame) invisibil. Acest motor este a poi responsabil atat cu
interfața pe care o a fisează utilizatorului, cât și cu comunicaț ia cu server – ul. Motorul AJAX
permite interacțiunea utilizatorului cu aplicația ȋ n mod as incron, independent de comunicaț ia
cu server – ul. Prin urmare utilizatorul nu mai priveste o fere astra goala, asteptâ nd ca aceasta
să se ȋncarce direct de pe server.
3.4 HTML – HyperText Markup Language
HTML reprezintă o formă de marcare orientată către prezentare a documentelor text pe
o pagină, utilizând un software specializat de redare , numit agent utilizator HTML . Acesta
furnizează mijloacele prin care conținutul unui document poate fi adnotat cu dive rse tipuri de
metadate și indicații de redare. Acestea pot varia de la decorațiuni minore ale textului,
precum specificarea faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie
introdusă, până la script – uri complexe , formulare și hărți de imagini . Metadate le pot include
informații cu privire la titlul și autorul documentului, date structurale despre cum este
împărțit documentul în diverse paragrafe , segmente , liste, titluri și informații esențiale care
permit ca documentul să poată fi asociat altor documente pentru a forma astfel hiperlink –
urile.
HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum
ar fi PHP, JSP sau ASP. Aplicații precum sistemele de gestionare a conținutului , wiki-
uri și forum – uri web generează pagini HTML. Acesta este de asemenea utilizat în e-mail. În
marea lor majoritate aplicațiile de e-mail folosesc un editor HTML încorporat și un motor de
prezentare a e -mail-urilor de acest tip.
3.5 CSS – Cascading Style Sheets
CSS este un standard pentru formatarea elementelor unui document HTML. Pot fi
atașate stiluri prin intermediul unor fișiere externe sau în cadrul documentului, utilizând
elementul <style> și/sau atributul „style ”. Acesta se poate utiliza și pentru formatarea
elementelor XHTML, XML și SVGL(Scalable Vector Graphic Library) .
CSS3 reprezintă un upgrade ce ajută la dezvoltarea noilor concepte ȋ n design web și
aduce și câteva atribute noi .
În lista următoare sunt prezentate cele mai importante module adăugate in CSS3:
 Selectori;
 Backgrounds and Borders
 Modele de tip Box;
 Efecte de text;
 Înlocuire de conținut și modificări de imagini;

36
 Transformări 2D/3D;
 Anima ții;
 Interfață utilizator;
Deși au apărut unele deficienț e de compatibilitate ȋ ntre browsere, majoritatea proprietăților
CSS3 au fost implementate cu succes ȋ n variantele browserelor noi.
CSS poate fi utilizat ȋn trei moduri: fie direct ȋn fișierul HTML ȋntre tag-urile <head></head>
sau <body></body>, fie ca fișier e xtern care să fie apoi apelat din fișierul HTML.
Recomanadarea este creearea unui fișier extern care să reprezinte o stilizare globală a paginii
ceea ce ar facilita modificarea conținut ului pe termen lung , fără a mai fi nevoie să se modifice
fiecare pagină HTML ȋn parte , ȋn acest fel obținându -se și beneficii ce țin de rapiditatea
ȋncărcării paginii web , prin utilizarea a mai puținor linii de cod .
3.5 UML –Unified Modeling Language
Unified Modeling Language (prescurtat UML) este un limbaj standard pentru
descrierea de modele și specificații pentru aplicații . Limbajul a fost creat de către consorțiul
Object Management Group (OMG) care a mai produs printre altele și l imbajul de programare
CORBA. Acesta, la bază, a fost dezvoltat pentru reprezentarea complexității programelor
orientate pe obiect, al căror principiu este structurarea programelor pe clase, și instanțele
acestora (numite și obiecte). Cu toate acestea, datorită eficienței și clarității în reprezentarea
unor elemente abstracte, UML este utilizat dincol o de domeniul IT. Astfel există aplicații ale
UML-ului pentru management de proiecte, pentru business Process Design .
UML este un limbaj grafic pentru vizualizarea, specificarea, construrirea și
documentarea com ponentelor unui sistem software. Mai mult se poate spune că UML este un
limbaj vizual de modelare, dar care nu are pretenția de a fi un limbaj de programare vizual, el
putând fi utilizat ca un limbaj universal pentru descrierea sistemelor. Acesta poate fi utilizat
ȋn toate domeniile ingineriei software oferind un mod standard de a scrie proiecte de sistem,
incluzând obiectele conceptuale și funcțiile de sistem precum și obiecte concrete cum ar fi
declarațiile din limbajul de programare, scheme semantice și componente software
reutilizabile.
Acest limbaj unificat reprezintă o arhitectură bazată pe patru niveluri de abstractizare definite
în metamodelul UMLși anume:
1. Meta-metamodelul – infrastructura pentru o arhitectură de modele;
2. Metamodelul – o instanță a unui meta -metamodel și definește semantica necesară
pentru reprezentarea modelelor aplicației;
3. Modelul – o instanță a unui metamodel;

37
4. Obiecte utilizator – o instanță a unui model, utilizate pentru descrierea unui
domeniu specific de info rmație.
Metamodelul UML este un model logic și are în componența sa trei pachete logice:
– Elemente de co mportament ;
– Elemente de bază (Foundation);
– Mecanisme generale (Model Management).
Avantajele unui met amodel logic este acela că accentuează declarativele semantice,
înlăturând detalile de implementare. Implementările care utilizează metamodelul logic trebuie
să se conformeze semanticilor sale și să fie capabil să importe și să exporte obiecte. În cadrul
fiecărui pachet, elementele unui elemen t sunt definite astfel: sintaxă abstractă, reguli foarte
bine formulate sau reguli de corectitudine și semantică.
Componentele de bază ale UML sunt elementele model. Un model reprezintă o colecție de
obiecte (clase, pachete, actori, cazuri de utilizare, co mponente și noduri), relații (de asociere,
dependență, generalizări) și diagrame.
Un model :
– Este individualizat;
– Este entitatea de bază a proiectarii;
– Este reprezentat grafic.
– Este legat de alte modele prin legaturi;
Modelele sunt de două tipuri: modele structurale (statice) care accentuează structura
obiectelor din sistem, incluzând și clasele lor, interfețele, atributele și relațiile și modele de
comportament (dinamice), care accentuează comportamentul obiectelor din sistem, incluzând
și metodele, interacțiunea, colaborările și starea lor istorică.
Principalele obiective ale UML -ului sunt:
● Să pună la dispoziția utilizatorului un limbaj vizual pentru a dezvolta și specifica
funcționalitățile sistemului;
● Să sup orte concepte de dezvoltare de nivel superior cum sunt componente,
colaborări, modele;
● Să încurajeze utilizarea limbajelor de programare orientate pe obiect;
● Să furnizeze o bază formală pentru înțelegerea limbajului de modelare.
Limbajul unificat d e modelare oferă pentru aceasta zece tipuri de diagrame ce pot fi grupate
astfel:

38
a) Diagramă pentru modelarea proceselor de afaceri, respectiv:
 Diagrama cazurilor de utilizare – în cazul metodologiilor orientate pe cazuri de
utilizare, această diagramă dirij ează întreg proce sul de dezvoltare al sistemului
b) Diagrame pentru modelarea structurii statice, respectiv:
 Diagrama claselor – pentru modelarea structurii statice a claselor sistemului
 Diagrama obiectelor – pentru modelarea structurii statice a obiectelor
sistemului
c) Diagrame pentru modelarea dinamicii:
 Diagrama de secvență – pentru modelarea circuitului mesajelor între obiecte ;
 Diagrama de colaborare – pentru modelarea interacțiunilor între obiecte ;
d) Diagrame de comportament, respectiv:
 Diagrama de stare – pentru modelarea comportamentului obiectelor din sistem ;
 Diagrama de activitate – pentru modelarea comportamentului cazurilor de
utiliz are, obiectelor sau operațiilor;
e) Diagrame de implementare, respectiv:
 Diagrama componentelor – pentru modelarea componentelor ;
 Diagrama de desfășurare – pentru modelarea distribuirii sistemului ;
 Diagrama pachetelor – mijloc de grupare a elementelor diagramelor în pachete ;
În figura de mai jos se prezintă grafic această clasificare a diagramelor UML.

Fig. 3.7 UML –Tipuri de diagrame Modelarea proceselor de afaceri
Diagrama cazurilor de utilizare
Modelarea structurilor statice
Diagrama de clase
Diagrama obiectelor
Modelarea dinamicilor
Diagram a de secvență
Diagrama de colaborare
Dinamici de comportament Diagrama de stare
Diagrama de activitate
Procesul de implementare Dinamica de desfășurare Dinamica pachetelor Dinamica componentelor

39
3.6 Apache Web Server
Apache este un server HTTP( Hypertext Transfer Protocol ) ȋn sursă deschisă, ce
constituie o componentă cheie a infrastructurii internetului, fiind principalul server utilizat pe
internet la ora actuală. Cea mai importantă caracteristică a sa (de altfel caracteristică a unui
server web, ȋn general) este de a traduce un URL (Uniform Resource Locator) ȋntr-un nume
de fișier și apoi să –l trimită ȋnapoi prin internet, sau ȋntr -un nume de program, după care să
ruleze programul respectiv și să transmită datele de ieșire către calculatorul sursă. Prima
versiune a serverului a fost creată de Robert McCool, care la vremea aceea era implicat în
proiectul National Center for Supercomputing Applications, cunoscut pe scurt ca NCSA
HTTPd. A doua versiune a serverului a fost o rescriere substanțială, de data aceasta punându-
se accentul pe crearea unui layer prioritar (Apache Portable Runtime) și a suportului de
module.
Apache suportă o mare varietate de module care îi extind funcționalitatea, acestea
variază de la server side programming și până la scheme de autentificare. Câteva limbaje
suportate sunt: mod_perl, mod_python, Tcl si PHP. Ca alte module putem enumera : SSL si
TLS support (mod_ssl), un modul proxyun, modul de rescriere URL (cunoscut ca un motor
de rescriere mod_rewrite), custom log files (mod_log _config) și suport de filtrare
(mod_include și mod_ext_filter). O altă calitate a serverului Apache este virtual hosting
(găzduirea virtuală), care constă în posibilitatea de a găzdui mai multe situri simultan pe
același server.
Principalul competitor al serverului Apache este Microsoft Internet Information
Services (IIS), urmat de Sun Java System Web Server al companiei Sun Microsystems și
multe altele, cum ar fi Zeus Web Server.

40
Capitolul IV – Proiectare conceptuală și dezvoltare platformă E -learning cu ontologii
E-Learning reprezintă un mediu de educație cu tendință de ascensiune continuă , un
proces orientat spre a crește performanța individuală și organizațională . În sens larg, prin e –
Learning se înțelege totalitatea situațiilor de ȋnvățare în care se folosesc semnificativ
mijloacele tehnologice de informație și comunicare . Termenul, preluat din literatura anglo –
saxonă, a fost extins de la sensul etimologic, de învățare prin resurse electronice, acoperind
aria de intersecție a acțiunilor edu cative cu resursele informatice actuale . Definit astfel, mai
mult ca e -education, aria semantică a conceptului e -Learning se suprapune și interferează
indefinit variabil pe o multitudine d e termeni ce surprind diversitatea experiențelor didactice
ce pot be neficia de suport tehnologic: online learning/ education , instruire asistată de
calculator , instruire prin multimedia . Sub denumirea de software didactic/ educațional, o
largă gamă de resurse electronice (pe suport digital/ multimedia) sunt dezvoltate pentru
simplifica rea procesului de educație: dicționare, hărți, enciclopedii, filme didactice,
prezentări în diverse formate, cărți (e -books), teste, tutoriale, simulări, software ce formează
abilități, jocuri didactice . Calculatorul și resursele electronice/ multimedia sunt folosite ca
suport în predare, învățare, evaluare sau ca mijloc de comunicare.
Contextul de ȋnvățare implică o multitudine de aspecte ce țin de capacitatea de
asimilare a cu noștintelor ȋntr -o manieră proprie a fiecărui cursant, sistemul astfel dezvoltat
fiind astfel conceput ȋncât să asigure cadrul necesar dezvoltării cunoștințelor pe baza
inferențelor ȋntre obiectele apartenente domeniului ȋn discuție.
Analiza amănunțită as upra semanticii și a sensului cuvintelor ȋn accepțiune proprie
denotă un grad ȋnalt de complexitate de calcul și ȋnțelegere a limbajului natural de către
agenții software de aici rezultă și numărul mic de companii care ȋnlocuie structurarea datelor
ȋn baze de date cu str ucturarea semantică a vorbirii ȋn baze de cunoștințe. Fiind văzut acest
aspect ca o provocare ȋn cele ce urmează voi prezenta etapele de proiectare conceptuală,
dezvoltare și testare a unei aplicații E -learning cu ontologii care să ȋmbină aspectele
funcționale ale sistemelor deja existente cu logica semantică rezultând astfel un sistem care să
puna bazele educației moderne , ca un pas important spre dezvoltarea de soft inteligent
complex bazat pe semantică ontologică.
4.1 Modelarea unific ată ȋn contextul metodologiei orientate pe obiect
Metodologia p roiectării orientate pe obiect concentrează problema pe identificarea
obiectelor aria aplicației, asociind apoi procedurile în jurul obiecte lor ȋn discuție . La o
eventuală schimbare a cerințelor, nu va mai trebui modificată ȋntreaga structur ă a obiectelor.
Din primă fază , termenul orientat pe obiect denotă organizarea software -ului ca o colec ție de
obiecte discrete, fiec e obiect având ȋn comp onență atât structuri de date, cât și comportamen t.
Un obiect poate fi considerat o entitate care în globează structuri de date, denumite
atribute, și comportament, denumit operații.

41
Acesta trebuie să aibă caracteristicile următoare:
– Identitate : obiectul reprezintă o entitate discretă, c e se di ferențiază dintre alte
entități.
– Clasificare : obiectele cu aceleași atribute și operații sunt grupate în clase. Fiec e
obiect cu atribute și operații similare poate fi considerat instanță a unei clase.
– Polimorfism : aceeași operație (cu nume identic) poate avea comportament diferit în
clase diferite. Metoda reprezintă o implementare concretă ȋntr-o clas ă a unei operații .
– Moștenire: caracteristică a unei abordării pe obiect care se referă la transmiterea pe
cale ierarhică a metodelor și a atributelor tuturor claselor descendente, într – o relație ierarhică.
Metodologia de proiectare orientată pe obiect a luat na ștere ȋn primă fază ca tehnică
de modelare a obiectelor cunoscută sub denumirea de OMT, în engleză Object Modelling
Technique și apoi s-a dezvoltat printr-o tehnologie unificată denumită UML.
OMT-ul folosește modelele de bază următoare : modelul dinamic, modelul obiectelor și
modelul funcțional.
Modelul obiectelor:
– descrie c are obiecte se modifică ȋn sistem ;
– descrie structura statică și relațiile dintre obiectele sistemului ;
– este reprezentat utilizând diagrame de obiecte.
O diag ramă de obiecte reprezintă un graf unde nodurile reprezintă obiectele și arcele
reprezintă relațiile dintre obiecte.
Modelul dinamic:
– descrie aspectele care s uferă modificări în timp, ale sistemului ;
– specifică și implementează acea parte ce ține de control ul sistemului;
– descrie când se schimbă sistemul;
– este reprezentat utilizând diagrame de stare.
Modelul funcțional:
– este reprezentat utilizând diagrame de flux de date.
– descrie modificări ale valorilor datelor în sistem;
– descrie cum se schimbă sistemul;

42
O diagramă de flux de date reprezintă un graf unde nodurile reprezintă procese și
arcele reprezintă fluxuri de date.

4.1.1 Specificarea cerințelor de sistem
Procesul de modelare a vocabularului ȋn contextul dezvoltării software necesită o
analiză amănunțită a ceea ce vrem și cum vrem să facă sistemul.
Mai jos am reprezentat o vedere general ă asupra procesului de analiză:

Relatare problemă

Fig. 4.1 Procesul de analiză – vedere generală

Cerințele non-funcționale sunt acele cerințe care specifică criteriile de evaluare ale unui
sistem, ele mai sunt cunoscute și sub denumirea de cerințe de calitate.
Cele mai importante cerințe non-funcționale ale platformei de E -learning cu ontologii sunt:
 De ȋncredere –aici ma refer la faptul ca produsul trebuie să funcționeze ȋntotdeauna
fără ȋntreruperi/erori astfel ȋncât utilizatorii să fie satisfăcuți ;
 Performanță – trebuie să poată procesa cantitate mare de informații(de exemplu 1000
de mesaje/ secundă);
 Sistem de operare – Linux, Windows XP/Vista/7/S erver x86 sau x64 . Proiectare Studii de caz Cunoștințe proprii

Bază de cuno ștințe Bază de cunoștințe Cerințe
generale Utilizatori
Construire
model
Modelul propriu -zis

43
 Disponibilitate – prin creeare cluster de servere, astfel ȋncât da că unul nu este
disponibil, celă lalt să ȋi preia atribuțiile.
 Scalabilitate ridicată – arhitectura trebuie să fie ușor scalabilă pentru a răspunde la
creșterea numărului de piețe și clienți, distribuiți în jurul globului.
Cerințele funcț ionale reprezintă funcționalităț i ale sistemului . Platforma E -learning trebuie să
cuprindă scenarii și cadre specifice domeniului ȋn cauză respectând anumite aspecte
funcționale esențiale:
 Raspunsul la cererea cursantului ȋn ce privește afișarea materialelor să fie făcut ȋn mai
puțin de 50 de milisecunde;
 Timpul de logare să fie de maxim 1 secundă;
 Sistemul trebuie să ofere instrumente de vizualizare corespunzătoare pentru ca
utilizatorul să citească documente;
 Utilizatorul trebuie să poată căuta informații ȋn baza de cunoștințe ;
 Sistemul trebuie să aibă facilitatea de trimitere mail;
 Platforma trebuie să ofere posibilitatea de discutii prin intermediu forum -urilor, chat –
ului;
 Managementul documentelor – partajare task -uri aferente, creare de topic -uri, discuții
ȋn cadrul topic -urilor;
 Timeline – oferirea oportunității de a vizualiza informațiile partajate de ceilalți
utilizatori;
 Posibilitatea de ȋnrolare la curs fie liber, fie prin cheie de ȋnrolare;
 Redundanță minimă ȋn informatiile prezentate;
 Să fie ușor de folosit de către utilizatori;
 Fiecărui utilizator i se stabilește mulțimea funcțiilor la care are acces;
 Sistemul va avea menu –uri care să faciliteze navigarea;
 Să asigure acces simultan pentru număr mare de utilizatori;
 Să asigure vizibilitatea structurilor grafice;
 Să asigure confidențialita tea datelor;

Planificarea bazată pe scenarii:

Șcenariu I:

 Logare utilizator ȋn sistem:
 Actor: Orice utilizator care dorește să acceseze sistemul;
 Precondiții: – Serverul Apache să fie pornit;
– Utilizatorul să aibă acces la internet;

a) Caz I – logare cu nume utilizator și parola:

Pentru ca utilizatorul să se poată loga ȋn sistem trebuie să fie ȋnregistrat ȋ n sistem
cu un nume de utilizator și o parolă, caz contrar el trebui e să se ȋnregistreze.

44

Fig. 4.2 Logare utilizator cu nume și parolă

b) Caz II – logare utilizator cu cont de facebook;

Pentru ca utilizatorul să se poată loga este necesar ca acesta să aibă un cont pe
reteaua de socializare f acebook ( http://www.facebook.com );

Fig. 4.3 Logare cu credențialele de pe facebook

Șcenariu II

 Inscrierea la curs

Un utilizator se poate ȋnscrie la mai multe cursuri.
Cursurile sunt de două tipuri ȋn sursă deschisă, cu ȋnscriere liberă, și cu cheie de
ȋnrolare.
Cursurile pot fi de sine stătătoare sau pot fi ȋmparțite ȋn mai multe părți.
Un utilizator poate accesa cărti, fie liber, fie plătind pentru a primi accesul la cartea
respectivă.
Utilizatorul poate fi cel care distribuie un material sau cel care acceseaza materialul
distribuit de altcineva.

45

Fig. 4.4 Accesarea materialelor de studiu

Diagrama de activitate pentru cele două ș cenarii mai sus prezentate:

Fig. 4.5 Distribuire și acce s material de curs

Șcenariu III

 Timeline

Orice utilizator poate vizualiza activitățile sale recente – de la cine a primit mail, ce
materiale au fost distribuite recent, care este locația sa actuală, câți utilizatori noi s –
au inscris pe site, câte vizualizări are site-ul, cât i vizitatori unici, poate să aprecieze
pagina de facebook a site-ului având opțiunile de like și share, poate vizualiza o listă

46
a materialelor(cursuri, cărți adăugate recent), poate conversa cu alte persoane ȋnscrise
pe platforma prin chat, poate ȋncărca conț inut pe platformă .

Fig. 4.6 Diagrama de activitate vizualizare mail ȋn timeline

Șcenariu IV

 Management intern

Acest șcenariu este specific pentru rolul de administrator. Un utilizator cu privilegii
de administrator de platformă poate asigura managementul documentelor din
interiorul organizației, poate crea , edita și șterge, proiecte,task-uri, forum -uri, topic-
uri și distribui task – uri ȋn rândul utilizatorilor, poate crea o ȋntreagă planificare ce
ține de structura int ernă a organizației .

47

Fig. 4.7 Diagrama de clase management intern

4.2 Modelarea ontologică a ȋnvățământului la distanță

Domeniu l educațional este un domeniu complex, cu un spectru de date foarte
dezvoltat ce se mapează pe nevoile utilizatorului, fie că discutăm despre educație ȋn școli și
universități, fie că discutăm despre educație sau formare ȋn cadrul com paniilor. De-alungul
timpului s -a dorit creearea unui mediu virtual educațional care să transpună limbajul natural
ȋmpreună cu semantica sa ȋntr -un sistem complex capabil să manipuleze ușor datele și astfel
acestea să devină ușor accesibile pentru om, de aici rezultând concept ul de ontologie.

Ontologiile oferă o metodă standardizată de reprezentare a cunoștințelor, ce poate fi
extinsă la nesfârșit , pe baza unui set definit de relații ȋntre componentele sale de bază. Ele,
ȋmpreună cu web –ul semantic dau o nouă perspectivă sistemelor de e -learning, print r-o
reprezentare adecvată a conceptelor utilizate.

Pentru a putea să construiesc ontologia am introdus o serie de funcționalităti pe care le
consider necesare intr -o astfel de platformă, și anume:

– construirea unui model al planului de formare educativă a cursantului, prin
colectarea de date despre cursant și preferințele sale;
– furnizarea cărților, cursurilor, și a materialelor adiacente ȋntr -o ordine
corespunzătoare, conform datelor colectate și a modelului cursantului ;

48
– organizarea internă a instituției prin partajarea ȋn departamente, proiecte, task -uri,
documente, fișiere, diagrame de progres pentru task -uri;

În cele ce urmează am să prezint modelul de ontologie pe care l -am propus și utilizat ȋn
dezvoltarea platformei de e -learning. Obiectivul principal pe care mi -am propus să ȋl ating a
fost acela de a crea o ontologie de domeniu capabilă să reprezinte principalele concepte din
ȋnvățământul superior și a managementului său intern organizațional, și care să ofere suport
platformei de e -learning dezvoltată.

4.2.1 Stabilirea specificațiilor ontologiei

Un pas extrem de important ȋn proiectarea ontologiei a fost reprezentat de stabilirea
domeniului căreia ȋi este destinată. Ontologia va fi folosită pentru a reprezenta entități din
ȋnvățămantul superior, cum ar fi universitate , facultate, cursant, profesor, curs, carte,
document, fisier, proiect.

Ontologiile reprezintă un produs extraordinar ȋn contextul web -ului semantic.
Semantica asigură utilizatorul uman că performanțele mașinii sunt ridicate la un standard
superior, furnizând instrumentele necesare atât pentru manipularea informației, cât și pentru
ȋnțelegerea și dezvoltarea de șabloane noi de deducere a informației, cu scopul extinderii
capacității de extragere a cunoștințelor.

Pentru a putea identifica elementele care pot fi modelate semantic, am studiat
platformele e -learning existente pe piață la această oră și prezentate ȋn capitolul doi –
Sisteme de E -learning actuale . Datorită cantității imense de informații a fost necesară
impărțirea cunoștințelor ȋn șcenarii care mai apoi au fost grupate ȋn sub -ontologii și apoi
conform constrângerilor stabilite au ajutat la formarea ontologiei finale .

Construcția ontologiei are la bază un vocabularul specific din ai cărui termeni
principali menționez : e-learning, document, curs, proiec t, task, fi șier, resursă, suport,
utilizator, ȋnrolare, cheie, ȋnscriere, management, forum, topic, discuție, rol, contract,
informație, persoană, adresă, telefon, vârstă, calendar, dată, material, credențiale,
ȋnregistrare, permisiuni, administrare, plată, metodă, facebook, test, formular, cursant,
administrator, profesor, sincronizare, vizualizare, etc. Pe baza acestuia și a mecanismelor de
inferență am creat o struct ură bazată pe logica descriptivă utilizând metoda dezvoltării
ierarhice de sus ȋn jos(metodă ce presupune plecarea de la cel mai general concept și
atingerea celui mai amanunțit concept din domeniul ales).

Logica descriptivă cuprinde o familie de formalisme logice de reprezentare a
cunoștințelor, care pot fi fol osite pentru a reprezenta cunoștinț ele conceptuale ale unui
domeniu de aplicații ȋntr -un mod structurat ș i bine definit formal.
O ontolog ie reprezintă specificare a explicită a unei conceptualiză ri. Astfel, ȋn contextul unei
ontologii care are un domeniu T, se definește conceptualizare ca o pereche <C,R >,

49
unde C este un set de concepte, R este un set de roluri( exprimă relații ȋntre concepte ).
Rolurile și conceptele sunt grupate ȋ n TBox, o componentă terminologică ,
iar instanțele ȋn ABox, o componentă de aserții.
În logica descriptivă se pornește de la concepte și roluri atomice și se construiesc descrieri
de concepte pe baza uno r constructori, precum conjuncția, disjuncția, negația, restricț ii
existențiale, numerice calificate sau pe valoare . O interpretare este o pereche

(4.1)

unde este set nevid ¸si este o funcț ie ce atribuie fiecărui concept atomic A un set

(4.2)

și fiec ărui rol o rela ție binar ă

(4.3)

În funcție de constructorii incluși, există diferite variante ale logicii descriptive. Logica ALC
(Attributive Concepte Langua ge with Complements) reprezintă nucleul de bază, incluz ând
conjuncția, disjuncția, negaț ia, retr icția existențială și valoare.

Learner ≡ Person ⊓∃gives.Learns

Learner(Popa_Ion), attends(Popa_ Ion, Course_Inteligenta_ Artificiala ), Course (Course_
Inteligenta _Artificiala )

Course ⊑ ∀attended_ by.Enrolled _student

Mai sus, am defini t, concept ul “ learner” drept o persoană care participă la cursuri . Se fac
astfel aserții despre individul Popa Ion , care este un student și participă la un curs despre
inteligen ță artificială . În final, am definit o constrângere conform că reia la cursuri participă
doar studenț ii ȋnrolați.

50
Conform celor de mai sus am stabilit urmatoarele specificaț ii pentru conceptele cele mai
generale ale ontologiei:

Entitate Subclasă Constrângere

Elearning Books Un curs sau o carte po t fi
ȋn variantă deschisă sau
accesul se poate face pe
baza unei chei de
ȋnrolare. Acestea sunt
create de un utilizator cu
rol de profesor și accesat e
ȋn funcție de restricțiile
de securitate de studenți.
Courses
Quiz
Tests
Management Documents Sistemul permite crearea
unui număr nedefinit de
documente și fișiere, ȋn
cadrul proiectelor din
organizație, care sunt
divizate ȋn task -uri.
Limitarea vine din partea
utilizatorilor care au drept
de acces ȋn funcție de
rolul pe care ȋ l au. Un
administrator are access
deplin, pe când un
utilizator standard poate
accesa numai ce i se
permite de către
administratorul
sistemului. Files
Projects
Tasks
Person Persoanele sunt ȋmpărțite
ȋn funcție de rolul din
sistem ȋn administratori,
profesori și cursanți.
Acestea pot avea mai
multe informații de
contact.
Role Rolul este un concept
definit pentru a
restricționa accesul
utilizatorilor la
materialele de lucru.
Tabel 4.1 Conceptele generale ale ontologiei

51
4.2.2 Conceptualizare și formalizare ontologică

Ontologia presupune trecerea printr -un proces de conceptualizare, prin construirea
unei liste cuprinzătoare de termeni . Termenii reprezintă de fapt o serie de concepte( obiecte
și clase) , care aparțin unui domeniu, ȋn cazul de față domeniul educației la distanță . Relațiile
și clasele pot fi modelate ca o ierarhie. Am folosit astfel un proces combinat de dezvoltare
(prin evaluarea structurilor de date relaționale ale aplicațiilor de e -learning existente,
corelate cu concepte generale din aria de interes ), cu scopul structurării ierarhice a claselor
ontologiei.

Conceptul “Persoană”

Informațiile cu privire la o persoană, cum sunt datele de identificare au o organizare
asem ănătoare independent de modul de structurare a datelor sau de tipul de utilizator . Astfel
pentru a introduce conceptul de utilizator putem să considerăm tot conceptul persoană,
infer ând astfel că un utilizator indiferent de tipul său este o persoană. Pentru a descrie o
persoană este necesar să adăugam concepte specifice cum sunt: nume, prenume, cnp, data
nașterii. Un utilizator nou introdus poate avea ȋn sistem rolul de administrator, tutor sau
cursant, ce reprezintă ȋn sistem indivizi ai clasei rol.
Pentru a stabili constrângeri le de access am definit posibilitatea de a atribui drepturi unui
anumit utilizator, adoptând principiul minimului de privilegii necesare. Astfel un utilizator
poate avea sau nu următoarele drepturi: adăugare, editare, ștergere, vizualizare conținut, ȋn
funcție de rolul său ȋn cadrul platformei.
Conceptul “Persoană”, ȋmpreună cu relațiile sale, necesită formalizare pentru a avea definiții
non-ambigue, adică introducerea de constrângeri asupra proprietăților și conceptelor. Am
căutat ȋn sensul acesta vocabulare care să descrie conceptul de modelat , astfel ȋncât
ontologia să poată fi refolosită. Cel mai cunoscut vocabular pentru modelarea datelor care
descriu persoane și relațiile dintre ele este FOAF (friend of a friend) , fiind un standard
acceptat la scară largă .

Fig. 4.8 FOAF – Concept Persoană(fragment)

52
Conceptul “Elearning”

Fiind vorba despre o platformă de ȋnvățare am introdus conceptul de elearning ca fiind
clasa ce conține conceptele curs, carte, test și quiz . Fiecare in stanță a conceptelor curs, carte,
test va avea anumite proprietăți care să definească informații despre subiectul respectiv . O
parte importantă din organizarea instrumentelor de studiu o constituie materialul utilizat,
care poate fi de diferite formate: document simplu(pdf, word, html), obiecte
educaționale(SC ORM, IMS) , resursă externă.
Formalizarea conceptului “Curs” , subconcept al “Elearning” , am făcut-o prin introducerea
clasei “Course” . Instanțele acestei clase pot avea informații suplimentare, folosind
proprietățile: courseName (nume curs), courseDescription (descriere) , domain (domeniu).
Utilizatorii care participă la un curs pot fi specificați prin proprietățile studentOf (pentru
cursanți), isTeacher Of (pentru tutori).

Fig. 4.9 Conceptul E -learning

Pentru definirea relatiilor generale dintre concepte am utilizat predicatul ISA așa cum se
poate observa și ȋn imaginea sus prezentată. Predicatul ISA indică apartenența unui obiect la
o mulțime. Rezumând ȋn contextul de față conceptul Elearning ȋnglobeaza conceptele
Book s, Quiz, Courses, Tests, ceea ce implică faptul că indivizii orcăr ei sub-clase a clasei
Elearning sunt de asemenea membri Elearning.

Conceptul “Management”

Clasa care ȋncorporează toate activitățile interne din cadrul organizației am formalizat –
o folosind temernul “Management” . Aceasta conține sub -clase: Documents, Projects, Tasks ,
Files. Insțantele subclaselor pot introduce informații suplimentare folosind una din
proprietățile: projectName, projectDescription, documentName, documentDescription,
taskName, startDate, endDate, status, fileName, fileDescription.
Accesul utilizatorilor se face ȋn funcție de rolul și privilegiile de access date fiecaruia ȋn
parte.

53

Fig. 4.10 Conceptul Management

4.2.3 Implementarea ontologiei

Având conceptele formalizate pentru implementare am folosit RDFS (RDF Schema)
care ajutat la descrierea claselor și a proprietăților . Pentru a reduce tripletele am utilizat
următoarele proprietăți rdfs:subClassOf, rdfs:subPropertyOf, rdfs:domain, rdfs:range.
Ca și mediu de dezvoltare am utilizat Protégé 4.3, care este cel mai complex oferind
facilități precum SPARQL Query, OWL Viz, OntoGraf integrate.
OWL a fost extrem de necesar pentru declararea unor clase dijuncte, a tipurilor de proprietăți
(funcționale, invers funcționale, simetrice, asimetrice) .

Modelul ontologiei educaționale prezentate a fost implementat utilizând formatele de
serializare RDF/XML , iar graficele au fost generate utilizând unelte le Ontograf și OWL Viz.

4.3 Prezentarea aplicației

Platforma E-learning cu ontologii este o aplicație care a fost creată cu scopul de oferi
o nouă perspectiv ă sistemului educațional la distanță prin introducerea noțiunilor de
taxonomie, ontologie, limbaj natural, vocabular, care să creeze o lume deschisă a cunoa șterii
dând posibilitatea mașinilor să “gândească ” singure prin intermediul mecanismelor d e
inferență.

Accesul ȋn a plicație se face pe baza unor credențiale exist ând astfel patru nivele de access:
Learner, Te acher, Administrator și Guest.

4.3.1 Logare/Delogare ȋn aplicație

Aplicația a fost astfel concep ută ȋncât să poată fii accesată prin mai multe metode și anume:
 Logare cu nume de utilizator și parolă;
 Logare utilizând credențialele de pe rețeaua Facebook ( www.facebook.com );

54

Fig. 4.11 Logare ȋn aplicație

4.3.2 Timeline

Utilizatorul “Learner” se loghează prin intermediul credențialelor. După logare ȋntră ȋntr -un
panou denumit generic Timeline care ȋi oferă următoarele facilități:
 Vizualizare cursuri deschise și cărți adaugate recent
 Detalii cu privire la traficul de pe site
 Cine apreciaza aplic ația pe rețele sociale
 Câți membri noi s -au inscris ȋn ziua curentă
 Mail
 Calendar

Fig. 4.12 E-learning Timeline

55
4.3.3 Management

Platforma E -learning oferă și o componentă de management organizațional, astfel că instituția
poate realiza o planificare a resurselor interne . Printre facilitățile oferite de componenta de
management a site -ului se regăsesc următoarele:
 Companies – se pot crea companii partenere, cărora li se pot atr ibui proiecte, resurse
umane și materiale;
 Projects – modul unde se pot def ini proiecte și se poate specifica statusul proiectului
ȋn orice moment. Astfel un proiect poate fi: not defined – nedefinit, proposed –
propus spre derulare, in planning – ȋn planificare, in progress – ȋn progres, on hold –
ȋn așteptare, complete – proiect terminat, template;
 Tasks – modul unde se pot crea task -urile afiliate proiectelor ȋn curs de desfășurare ,
aici pot fi vizualizate task -urile active și inactive , task-urile per utilizator ;
 Calendar – pot fi adăugate evenimente și se pot specifica utilizatori i cărora le sunt
destinate evenimentele respective, trimitându -le un email cu invitație de participare.
Evenimentele pot fi de mai multe tipuri – general, ȋntalnire, ședință, eveniment pe o
zi ȋntreagă, aniversare, reamintire.
 Contacts – modul unde pot fi adăugate contacte fie manual fie prin import de vCard ,
de asemenea se pot exporta contactele existente ȋn format CSV sau vCard .
 Files – se pot adauga fișiere ce aparțin proiectelor, task -urilor sau documentelor
existente.
 SmartSearch – permite căutare prin aplicare de filtre avansate , prin căutare la nivel
de modul sau la nivel de sintaxă a cuvintelor pe baza vocabularului ontologic și a
inferențelor taxonomiei .
 Forum – se pot crea forum – uri de discuții, pe diverse topic – uri specificate.

4.3.4 Integrare cu alte aplicații

Educația la distanță trebuie să includă și instrumente care să permită colaborarea ȋntre
cursanți. În acest sens am integrat aplicația cu mediu de simulare Labview, astfel ȋncât ȋn
domenii precum medicina unde se fac simulări ale multiplicării celulare să se poată distribui
informația ȋn timp real ȋntre participanți.
Ca și exemplu ȋn platformă am creat o simulare a mișcărilor unui robot pe care am distribuit –
o celorlalți cursanți. Am impus deasemenea restriții de access ȋn sensul că utilizatorul poate
alege cu cine dorește să ȋmpartă conținutul.
Aplicația din labview poate fi accesată din platforma E -learning fie ȋn modul monitorizare
ceea ce presupune ca participanții la sesiune vor putea vedea ȋn timp real modificările făcute
de cel care a distribuit aplicația, sau ȋn modul control aici participanții având dreptul să
interacționeze cu sesiunea. Menționez că modul control poate fi utilizat doar din browser -ul
Internet Explorer, ce lelalte browsere nefiind compatibile cu plugin -ul de vizualizare al
serverului de Labview.

56
O altă funcționalitate adusă platformei este aceea de plată online a cărților ȋn variantă plătită
prin intermediul integrării cu PayPal. Utilizatorul alege ceea ce dorește să achiziționeze după
care este direcționat către PayPal având posibilitatea să plă tească cu card – urile acceptate ,
cum ar fi VISA sau MAESTRO .

Concluzionez prin a enumera aplicațiile cu care se integreaza platforma:

 Labview
 PayPal
 Facebook

4.3.5 Alte aspecte fun cționale:

Pe lângă aspectele sus menționate se regăsesc și următoarele funcționalități la fel de
importante:

 Generare factură ȋn format pdf prin utilizarea librăriei fpdf;
 Încarcare de informații ȋn format Excel cu vizualizare direct ȋn browser prin
intermediul utilizării librariei phpExcel;
 Adăugare de contacte prin import de vCard;
 Export de contacte atât ȋn format vCard cât și CSV;
 Generare diagramă Gantt prin integrarea modului JpGraph;

4.3.6 Dezvoltări viitoare

Având ȋn vedere necesitatea modelării aplicațiilor software conform cerințelor utilizatorilor
consider că este esențial ca pe viitor ȋn aplicație să adaug următoarele funcționalități:

 Logare utilizator cu cont de Google, Twiter, Linkedin;
 Adăugare concepte și fapte noi ȋn ontologie și formalizarea lor in format RDF/OWL;
 Mapare concepte noi ȋn platformă;
 Realizarea unor noi aserțiuni esențiale conceptelor noi ad ăugate sau a celor deja
existente prin intermediul mecanismelor de inferențiere ;
 Integrare cu aplicaț ii de design 3D;
 Realizare conector pentru importul altor ontologii educaționale;
 Integrarea cu platforma Moodle;

57
Concluzii

Liantul lucrării de față consider că este reprezentarea cunoștințelor sub formă de
ontologii și utilizarea lor ȋn dezvoltarea unei platforme pentru ȋnvățământ la distanță .
Obiectivul principal a fost propunerea și dezvoltarea unor soluții pentru problematica
ȋnțelegerii și utilizării limbajului natural, a vocabularului de către mașini. Astfel soluția
propusă de mi ne vine cu următoarele facilități: integrare cu cea mai utilizată rețea de
socializare la ora actuală ( Facebook ) ceea ce permite utilizatorilor să utilizeze un singur cont
pentru accesul informațiilor, integrare cu PayPal – permite plata ȋn siguranță a materialelor de
studiu, integrare cu Labview pentru distribuire de simulări ȋn diverse domenii ȋn timp real .

Utilizarea conceptelor de web semantic și ontologii ȋn contextul dezvoltării software din
studiu realizat pe parcursul dezvoltării și implementării acestei platforme aduce ȋn prim plan
următoarele caractersitici extrem de importante pentru mediu virtual și de automatizare a
proceselor educaționale:

 Date accesibile mașinilor nu numai la nivel sintactic ci și semantic – utilizarea unor
baze de cunoștințe și a unor motoare de inferențiere a datelor permit mașinilor să
utilizeze datele nu numai ȋn scopul afișării lor ci și a ȋnțelegerii acestora.
 Imitarea gândirii umane – prin utiliz area ontologiei, platforma E -learning, oferă
capacități a semănătoarele rețelor neuronle umane, datorită mecanismului de inferență.
 Conținuț reutilizabil și scalabil – ȋn orice moment se pot adăuga concepte și fapte noi
fără a altera structura inițială a datelor.
 Reducerea ambiguităților semantice;
 Exploatare automată a resurselor de către agenții inteligenți;

Resursele trebuie să poată fi partajate ȋn sensul acesta integrarea cu Labview reprezintă un
instrument complex de distribuire a resurselor ȋntre cursanți, ȋn timp real. Acest aspect face ca
aplicația de E-learning să fie utilizată ȋn domenii precum medicina ( unde cursanții pot să
ȋmpărtă șească diverse simulări sau pot chiar lucra ȋmpreună la diverse cercetării cum ar fi
gasirea unor soluții pentru problematica cancerului), energetic (pot testa mecanisme de
producere energetică cum este simulare unei centrale de biogaz) , automatizări industriale (se
pot simulare mi șcările unui robot industrial și ȋn felul acesta se pot expune păreri ȋn timp rela
cu privire la eventualele probleme ).

Printre avantajele oferite de platforma E -learning se numără și posibilitatea de a utiliza
intrumentele de management intern organizațional, de exemplu pentru partajarea resurselor
dintr-o bibliotecă universitară sau a celor de secretariat.

Având ȋn vede re cercetarea făcută asupra platformelor de ȋnvățare la distanță concluzionez
prin a spune ca platforma E -learning cu ontologii constituie un instrument puternic de
partajare a informațiilor care aduce ȋn prin plan inovația prin reproducerea limbaj ului uman
ȋntr-o manieră ȋn care să poată fi ȋnțeles și utilizat de mașini . ” ”

“Bibliografie

1. Darie, Cristian, PHP 5 si Mysql pentru comerț electronic , Editura Teora, București, 2006.

1. www.php.net

2. http://wifo5 -03.informatik.uni -mannheim.de/bizer/rdfapi/

3. T . Berners -Lee, J. Hendler, and O. Lassila. The Semantic Web. Scientific
American, 279, 2001.

4. J. Berlin and A. Motro. Database schema matching using machine learning with feature
selection. In Proceedings of the Conf. on Advanced Information Systems Engineering
(CAiSE), 2002

5. http://syntheticbiology.org/Semantic_web_ontology/Software.html

6. Dorin Cârstoiu, Curs Inteli gență Artificială,Universitatea Politehnica, București

7. Adina Magda Florea, Curs Inteligență Artificială, Universitatea Politehnica, București

8. http://planetrdf.com/guide/

9. www.protege.org

10. Jonathan Schwartz, “ Drive Cost Savings with Open Source”,
http://www.sun.com/emrkt/innercircle/newsletter/0708/feature -bus.html, 2007

11. Pascal Hitzler, Fo undation of Semantic Web Technologies, Editura CBS, 2009

12. Grogorious Antoniou, A Semantic Web Primer, Editura CBS, 2006

13. http://www.researchgate.net

14. Ajax – A library of DHTML and Ajax scripts – http://www.dhtmlgoodies.com/

15. Meloni, Julie C., PHP, MySQL si Apache , Editura Corint, București, 2005.

16. www.moodle.com

17. www.edmondo.com

18. www.eFront.com

19. http://web.mit.edu

Glosar de termeni și abrevieri
PHP – Hypertext Preprocesor
HTML – Hypertext Markup Language
CSS – Cascading Style Sheets
UML – Unified Modeling Language
LMS ( Learning Managemnet System ) – sistem de managment al ȋnvățării
LCMS (Learning Content Management System) -sistem de management al conținutului
VLE (Virtual Learning Sistem) – sistem de ȋnvățare virtuală
SCORM ( Shar eable Content Object Reference Model) – set de standarde tehnice pentru
produsele de invățare la distanță
OWL – Web Ontology Language
RDF – Resource Description Framework
FOAF – Friend Of A Friend
SPARQL – limbaj de interogare a ontologiilor
Vocabular ont ologic – totalitaea cuvintelor ce compun ontologia
Taxonomie – Știință care se ocupă cu stabilirea legilor de clasificare și de sistematizare a
domeniilor din realitate cu o structură complexă
LD – Logica Descriptivă
Inferență – este acea componentă a unu i proces logic care derivă o concluzie dintr -o premisă,
adică extrage o consecință necesară, o informație specifică, dintr -o descriere de stare dată
Bază de cunoștințe – servește pentru stocarea tuturor elementelor cunoașterii (fapte, reguli,
metode de rez olvare, euristici) specifice domeniului de aplicație, preluate de la experții umani
sau din alte surse

ANEXA 1 – SPARQLClient

Descriere : Acest script permite interogarea vocabularelor ontologice (ȋn cazu l nostru RFD și OWL). El
necesită deasemenea un motor SPARQL și o clasă MemModel care reprezintă un model RDF stocat
in memoria principală.
class SparqlClient extends Object {
var $server;
var $output;
}
function setOutputFormat($format){
if(strtolower($format)=="xml")
$this->output = "xml";
if(strtolower($format)=="array")
$this->output = "array";

}
function query($query){
if(!is_a($query,"ClientQuery"))
die;//ErrorHandling

$url = $this ->_buildurl($query);
$result = $this->_http_get($url);
return $this ->returnResult($result);
}
function returnResult($result){
if(strpos($result,"<rdf:RDF")){
include_once(RDFAPI_INCLUDE_DIR.PACKAGE_SYNTAX_RDF);
$parser = new RdfParser();
return $parser ->generateModel(substr($result,strpos($result,"<rdf:RDF")));
}
if($this->output == "xml"){
$pos = strpos($result,"<?xml");
return substr($result,$pos);
}
if($this->output == "array"){
// $pos = strpos($buffer,"<?xml");
return $this ->parseResult($result);
}
return $result;
}
function parseResult($buffer){
$parser = new SparqlResultParser();

return $parser ->parse($buffer);
}

OWL – Concept ele Documents și Courses
Descriere: Exemplul următor reprezintă o moda litate de extragere ȋn platforma E-learning a
informațiilor cu privire la materialele de studiu și afișează ȋn interfață Documentele afiliate
cursurilor. Acesta necesită includerea clientului de SPARQL prezentat mai sus.
define("RDFAPI_INCLUDE_DIR", "api/");
include(RDFAPI_INCLU DE_DIR . "RDFAPI.php");
include(RDFAPI_INCLUDE_DIR . "resModel/ResModelP.php");
include(RDFAPI_INCLUDE_DIR . "ontModel/OntModelP.php");
include( RDFAPI_INCLUDE_DIR . "vocabulary/RDF_RES.php");

$file = 'ontology.rdf';
$model = ModelFactory::getDefaultModel();
$model -> load($file);

function find_all_files($dir)
{
$root = scandir($dir);
foreach($root as $value)
{
if($value === '.' || $value === '..') {continue;}
if(is_file("$dir/$value")) {$result[]=" $value";continue;}
foreach(find_all_files("$dir/$value") as $value)
{
$result[]=$value;
}
}
return $result;
}
$quer = '
PREFIX owl <http://www.w3.org/2002/07/owl#>
PREFIX rdf <http://www.w3.org/1999/02/22 -rdf-syntax-ns#>
PREFIX rdfs <http://www.w3.org/2000/01/rdf -schema#>
Select ?p , ?hasRole
where { ?p rdfs:comment ?hasRole}';

$q = 'Select *
where{<http://www.semanticweb.org/ontologies/2015/5/Ontology1433842023859.owl#Andr
ei_Andrei>

<http://www.semanticweb.org/ontologies/2015/5/Ontology1433842023859.owl#hasIn
fo>
?a}';
$info = '
PREFIX owl <http://www.w3.org/2002/07/owl#>
PREFIX rdf <http://www.w3.org/1999/02/22 -rdf-syntax-ns#>
PREFIX rdfs <http://www.w3.org/2000/01/rdf -schema#>
PREFIX :
<http://www.semanticweb.org/ontologies/2015/5/Ontology1433842023859.owl#>
SELECT ?gra
WHERE {?gra rdf:subClassOf :Documents}
}';
$rez = $model -> sparqlQuery($info);
//echo $model ->sparqlQuery($q,'HTML');
$i=0;
foreach ($rez as $res )
{ $i++;
$re = $res['?gra'];
$patterns = array();
$patterns[0] = '/#/';
$patterns[1] = '/"/';
$patterns[2] = '/ \(|\)/';
$patterns[3] = '/ \_|/';
$test = strstr($re ->toString(),"#");
$com = preg_replace($patterns,"",$test);
if($com =="Cour ses")
{

echo " $i <a href='#show' > ".preg_replace($patterns,"",$test)."</a><br>";
$dir='../curs/';
$returneaza = find_all_files($dir);
for($j=0;$j<count($returneaza);$j++)
{

echo " <li>< a target='_blank' onclick='open(this.href, this.target, 'width=600,
height=450, top=200, left=250'); return false;' href='../curs/$returneaza[$j]'>
".$returneaza[$j]."</a></li>";
}
}

}

Anexa 2 – Instalarea și configurarea aplicației

Pentru utilizarea aplicației E -Learning, este necesar pe un server cu sistem de operare
windows:

 Xampp versiunea 3.2.1
 PHP versiunea 5.4 .0

După ce s-au făcut configurările de mai sus se vor urma pașii:

 Copiere aplicație ȋn folderul de lucru ( pentru cazul general acesta ar trebui să ȋl gasiți
ȋn calea C: \xampp\htdocs\)

Alte configurări :

 Pentru a putea distribui conținut labview e ste necesară instalarea aplicației in
versiunea 8.5
 Pentru utilizare logare cu Facebook este necesară modificarea fișierului fbconfig.php
(director de lucru – up/fbconfig.php) și adăugarea informații app key și secret code pe
care le găsiți pe facebook la secțiunea de definire a apli cației pentru dezvoltatori ”

Similar Posts