de la validarea formularelor web la porcii verzi (utilizarea automatelor in contextul web-ului)
DESCRIPTION
A presentation -- prepared for the InfoEducation 2011 summer camp -- regarding the pragmatic uses of automata theory (especially finite state machines) in the Web context, with examples covering XML validation, REST Web services, game development, etc. The content is available in Romanian language, only.TRANSCRIPT
![Page 1: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/1.jpg)
Dr. Sabin Buragawww.purl.org/net/busaco
![Page 2: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/2.jpg)
validarea formularelor Web
porcii verzi
![Page 3: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/3.jpg)
Cum putem valida dateleintroduse de utilizator?
![Page 4: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/4.jpg)
![Page 5: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/5.jpg)
prenumele & numele vor include doar litere
adresa de email are forma [email protected], unde domeniu e compus din 2—4 litere
![Page 6: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/6.jpg)
$nume = $_REQUEST['nume'];
$lungime = strlen ($nume);
for ($i = 0; $i < $lungime; $i++) {
if (!este_litera (nume[$i])) {
genereaza_eroare (NUME_ERONAT);
}
}
// aparent, numele a fost introdus corect
echo ('Numele e corect...');
![Page 7: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/7.jpg)
prenumele & numele vor include doar litere(inclusiv caracterele albe + cratima)
primul caracter trebuie scris cu majuscula
![Page 8: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/8.jpg)
Am putea folosi ―ceva‖mai flexibil & ―evoluat‖?
![Page 9: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/9.jpg)
sstart
slitere
seroare
≠ majusculesau ≠ litere
majuscula
litera
≠ litere
scorect
final de cuvânt
![Page 10: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/10.jpg)
sstart
slitere
seroare
≠ majusculesau ≠ litere
majuscula
litera
≠ litere
scorect
final de cuvânt
automat (finit determinist)
![Page 11: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/11.jpg)
sstart
slitere
seroare
≠ majusculesau ≠ litere
majuscula
litera
≠ litere
scorect
final de cuvânt
automat (finit determinist)
![Page 12: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/12.jpg)
Automatele pot fi folositepentru verificarea corectitudinii
din punct de vedere sintactic
![Page 13: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/13.jpg)
Cum putem reprezenta simbolic un automat?
![Page 14: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/14.jpg)
Sstart -> Majusc SlitereSstart -> DiferitDeMajusc SeroareSlitere -> Litera SlitereSlitere -> Final ScorectSlitere -> DiferitDeLitere SeroareScorect ->
Seroare ->
Majusc -> [A-Z]
Litera -> [a-zA-Z]
...gramatica
![Page 15: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/15.jpg)
generalizând, avem:
Neterminal -> Neterminal Terminal
Neterminal -> meta-caractere (simboluri)
Terminal -> caractere “reale”
X -> Y specificând regula de productie
gramatica
![Page 16: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/16.jpg)
Specificarea la nivel de programa unor tipuri particulare de
gramatici se face via expresii regulate(regular expressions – regex)
![Page 17: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/17.jpg)
Expresii regulate
pattern-uri textuale
conform unor reguli precise,li se pot ―potrivi‖ texte
![Page 18: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/18.jpg)
Expresii regulate
caractere ―reale‖ vs. meta-caractere
uzual, meta-caracterelesubstituie operatori ―speciali‖
![Page 19: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/19.jpg)
. orice caracter, exceptând new-line (\n)
[…] enumerare de caractere: [A-Z] [0-9]
| alternativă a mai multe forme: M|F
(…) grupare de caractere
$ final de linie
^ început de linie sau negare: [^A-Z]
![Page 20: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/20.jpg)
? 0 sau maxim 1 apariții: (web)?
* zero sau mai multe apariții: .*
+ minim 1 sau mai multe apariții: [0-9a-z]+
{…} interval de apariții: [a-zA-Z]{2,4}
{1,} ≡ +
{0,} ≡ *
{0,1} ≡ ?
![Page 21: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/21.jpg)
\d o cifră: [0-9]\w un caracter alfanumeric: [0-9_a-zA-Z]\s un spațiu alb: [\t\r\n\ \f]\D orice exceptând cifre: [^0-9]\W caracter ne-alfanumeric: [^0-9_a-zA-Z]\S orice exceptând spații: [^\t\n\r\ \f]\b limitele unui cuvânt\B orice alt context decât limitele
unui cuvânt (interiorul unui cuvânt)\A începutul unui șir\Z sfârșitul unui șir
![Page 22: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/22.jpg)
Expresia desemnând adresa de e-mail:
.+@.+\.(.){2,4}
![Page 23: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/23.jpg)
sstart ssub
seroare
oricealtceva
simbolul @
sdom
.+.+
oricealtceva
simbolul .
scorect
(.){2,4}orice
altceva
![Page 24: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/24.jpg)
Expresia desemnând adresa de e-mail:
.+@.+\.(.){2,4}
Hm… valori ca -@@.74 sunt considerate corecte!
![Page 25: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/25.jpg)
sub validare_email { $testmail = shift; if ($testmail =~ / /) { return 0 }; if ($testmail =~/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/ || $testmail !~
/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)
{ return 0;
} else { return 1;
}}
expresii regulate – limbajul Perl
![Page 26: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/26.jpg)
test ()
match ()
replace ()
split ()
![Page 27: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/27.jpg)
var expr = new RegExp ("^[A-Z]?[a-z]+$");$('mesaj').className = expr.test (valoare)
? 'corect' : 'eroare';
expresii regulate – limbajul JavaScript
![Page 28: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/28.jpg)
Am putea valida structura documentelor XML?
![Page 29: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/29.jpg)
<!-- arbore genealogic --><arbore>
<persoana id="busaco" gen="M"><prenume>Sabin-Corneliu</prenume><mama>
<persoana id="mama" gen="F"><prenume>Sabina-Elena</prenume>
</persoana></mama><tata>
<persoana id="tata" gen="M"><prenume>Radu-Corneliu</prenume>
</persoana></tata><obs>...</obs>
</persoana></arbore>
![Page 30: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/30.jpg)
Folosind gramatici (automate),putem valida documentele XML:
DTD (Document Type Definition)
RELAX NG
![Page 31: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/31.jpg)
<!-- DTD pentru validarea arborelui genealogic --><!DOCTYPE arbore [
<!ELEMENT arbore (persoana+)><!ELEMENT persoana (prenume,mama?,tata?,obs*)><!ELEMENT prenume (#PCDATA)><!ELEMENT mama (persoana)><!ELEMENT tata (persoana)><!ELEMENT obs (#PCDATA)>
<!ATTLIST persoanaid ID #REQUIREDgen (M|F) #IMPLIED
>]>
![Page 32: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/32.jpg)
<!-- DTD pentru validarea arborelui genealogic --><!DOCTYPE arbore [
<!ELEMENT arbore (persoana+)><!ELEMENT persoana (prenume,mama?,tata?,obs*)><!ELEMENT prenume (#PCDATA)><!ELEMENT mama (persoana)><!ELEMENT tata (persoana)><!ELEMENT obs (#PCDATA)>
<!ATTLIST persoanaid ID #REQUIREDgen (M|F) #IMPLIED
>]> neterminal
terminal
![Page 33: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/33.jpg)
![Page 34: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/34.jpg)
Alte scenarii de utilizarea automatelor?
![Page 35: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/35.jpg)
Transportul datelor prin Internet
![Page 36: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/36.jpg)
sistem de transmisie la nivel fizic:fir, wireless,...
ț ț
interfata (API)
protocol
![Page 37: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/37.jpg)
Stabilirea & eliberarea conexiuniisunt guvernate de un automat
![Page 38: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/38.jpg)
automatul TCP (Transmission Control Protocol)
![Page 39: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/39.jpg)
automatul TCP (Transmission Control Protocol)
![Page 40: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/40.jpg)
(infoiasi)$ netstat -tActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 fenrir:1548 thor:auth TIME_WAITtcp 0 0 fenrir:ssh thor:4008 ESTABLISHEDtcp 0 0 fenrir:ftp-data c409-27.net.infoia:2674 TIME_WAITtcp 0 0 fenrir:ssh c412-6.net.infoias:2508 ESTABLISHEDtcp 0 0 fenrir:pop3s xteam:64688 TIME_WAITtcp 0 1 fenrir:1546 mta-v12.level3.mai:smtp SYN_SENTtcp 0 0 localhost:1544 localhost:smtp TIME_WAITtcp 0 540 fenrir:1541 www.cs.tuiasi.ro:www FIN_WAIT1tcp 0 0 fenrir:ssh c409-20.net.infoia:1124 ESTABLISHEDtcp 0 0 fenrir:pop3s xteam:64682 TIME_WAITtcp 0 0 localhost:8008 localhost:1537 ESTABLISHEDtcp 0 1 fenrir:1533 mta-v12.level3.mai:smtp SYN_SENTtcp 0 0 fenrir:ftp c412-11.net.infoia:1444 FIN_WAIT2tcp 0 0 fenrir:1511 fenrir:1509 TIME_WAIT
comanda netstat permite ―spionarea‖ starilor curente pentru fiecare conexiune TCP
![Page 41: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/41.jpg)
Software bazat pe servicii Web
![Page 42: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/42.jpg)
Software bazat pe servicii Web
paradigma REST(REpresentational State Transfer)
![Page 43: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/43.jpg)
Servicii Web
software oferind o functionalitate anume
![Page 44: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/44.jpg)
Servicii Web
traduceri, curs valutar, meteo, cartografiere, statistici, stocare,…
![Page 45: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/45.jpg)
Servicii Web
utilizate de alte aplicatii/servicii
![Page 46: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/46.jpg)
recurgerea la servicii multiple – mash-up
![Page 47: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/47.jpg)
Rezultatul unei procesari(efectuate de un serviciu Web)
conduce la obtinerea unei reprezentaria unei resurse
![Page 48: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/48.jpg)
Rezultatul unei procesari(efectuate de un serviciu Web)
conduce la obtinerea unei reprezentaria unei resurse
resursa = blog, fotografie, flux de stiri, program etc.
![Page 49: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/49.jpg)
Rezultatul unei procesari(efectuate de un serviciu Web)
conduce la obtinerea unei reprezentaria unei resurse
reprezentare = HTML, JPEG, PNG, RSS, SVG,…
![Page 50: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/50.jpg)
Reprezentarea e specificatavia tipuri MIME
text/html, image/png, application/xhtml+xml
![Page 51: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/51.jpg)
Reprezentarile aceleasi resurse – desemnate de un URI unic –
pot fi multiple
![Page 52: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/52.jpg)
Resursa specificata de http://vremea.la/galaciuc/
poate fi reprezentata de:
un document HTML – accesat de un browser Webun flux Atom – utilizat de alte servicii
un document SVG – pentru listare
![Page 53: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/53.jpg)
Resursa specificata de http://vremea.la/galaciuc/
poate fi reprezentata de:
un document HTML – accesat de un browser Webun flux Atom – utilizat de alte servicii
un document SVG – pentru listare
fiecare reprezentare are asociat un URL
![Page 54: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/54.jpg)
Clientii (navigatoare Web, player-e,…)interactioneaza cu reprezentarile
resurselor via verbe
―acceseaza‖ – GET
―modifica‖ – POST
―sterge‖ – DELETE
…
![Page 55: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/55.jpg)
Orice accesare a unei reprezentari plaseaza aplicatia – ori clientul Web –intr-o stare ce va fi schimbata in urma
unui transfer de date(accesarea altei reprezentari)
![Page 56: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/56.jpg)
sindex
smesaj
sflux
GET
seditor
GET
POST
Web-ul ca un automat
![Page 57: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/57.jpg)
sindex
smesaj
sflux
GET
seditor
GET
POST
http://blog.info/
http://blog.info/mesaj
http://blog.info/mesaj/edit
http://blog.info/stiri
reprezentare1
(XHTML)
reprezentare2
(XHTML)
reprezentare3
(XHTML)
reprezentare4
(Atom)
![Page 58: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/58.jpg)
Transferul se realizeaza prin protocolul HTTP
Reprezentarea e modelata in HTML, JSON , XML(sau alt format) si indicata prin MIME
Adresabilitatea se rezolva via URI
![Page 59: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/59.jpg)
// invocarea asincronă (Ajax) a unui serviciu Web via jQuery
jQuery.ajax ({
type: "POST", // execută o cerere POST
contentType: "application/json; charset=utf-8",
url: "http://undeva.info/ArboreGenealogic/busaco",
data: "{...}", // date de intrare trimise serviciului
dataType: "json", // așteptăm răspunsul în format JSON
// funcție apelată la transferul cu succes
success: function(data) {
// preluăm datele, convertindu-le în HTML
$('.rezultat').html(data);
}
});
![Page 60: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/60.jpg)
acces (a)sincron la rezultatele oferitede un serviciu Web via API
![Page 61: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/61.jpg)
Bun… Dar porcii verzi?
![Page 62: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/62.jpg)
Am putea modela(pe baza unui automat)
comportamentul personajelor dintr-un joc electronic?
![Page 63: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/63.jpg)
Deciziile din cadrul joculuipot fi luate folosind un automat
![Page 64: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/64.jpg)
Orice joc interactioneazacu minim 1 jucator uman
![Page 65: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/65.jpg)
Orice joc include ―jetoane‖ discrete– numite token-uri –
manipulate (in)direct de jucator(i)
![Page 66: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/66.jpg)
Orice joc include ―jetoane‖ discrete– numite token-uri –
manipulate (in)direct de jucator(i)
aceste token-uri sunt gestionate intern de software
![Page 67: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/67.jpg)
La nivel conceptual, un joc e descris de jucatori + token-uri
![Page 68: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/68.jpg)
Token-urile pot interactionacu alte token-uri ori cu jucatorul
![Page 69: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/69.jpg)
![Page 70: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/70.jpg)
Comportamentul token-urilorpoate fi descris de un automat
![Page 71: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/71.jpg)
automat asociat NPC-ului ―ghost‖
![Page 72: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/72.jpg)
sfericit slovit
sviu
sbolnav
coliziuni
automat descriind comportamentul porcilor verzi
≠lovituri
smort
lovituriletale
lovituri
![Page 73: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/73.jpg)
În ce alte contexte am putea recurge la automate?
![Page 74: De la validarea formularelor Web la porcii verzi (utilizarea automatelor in contextul Web-ului)](https://reader033.vdocuments.mx/reader033/viewer/2022042700/55876342d8b42a842b8b46f9/html5/thumbnails/74.jpg)
Dr. Sabin Buragawww.purl.org/net/busaco