(a.k.a. Concurrent Task Tree - Arbore pentru Actiuni Concurente)
Ce-i un CTT? La ce foloseste? De ce ma intereseaza?
In primul rand un CTT este un mod de descriere logica a unui protocol (sa-i zicem) de comunicatie. Poate fi folosit si la descrierea altor chestiuni (programe, task-uri, etc.), insa se preteaza in special descrierii comunicarii intre doua entitati. As dori totusi sa va dezvalui (sau sa va reamintesc, dupa caz) ca aceasta descriere are loc la un nivel destul de ridicat, de obicei facandu-se prin limbaj natural, adica acest CTT nu are un limbaj propriu-zis (precum C, html, Java, etc.). Nu exista functii sau proceduri, variabile sau pointeri ; exista doar noduri si tipuri de relatii intre ele. Fiecare nod are un nume si oricati urmasi/ramuri/frunze, iar relatiile dintre acestea sunt in principal de tipul celor logice (OR, AND, NOT, XOR, etc.), dar mai apar si unele precum XOR cu schimb de date si AND cu schimb de date. La randul lor nodurile pot fi de 4 tipuri, si anume: task user, task aplicatie, task interfata si task abstract. Dupa cum banuiti probabil, tipul abstract este 'cel mai general', fiind folosit in principal pentru divizarea sub-problemelor. Nu voi intra foarte in amanunt deoarece situatiile de utilizare sunt atat de variabile, incat este foarte greu sa incerc a prezenta o infasuratoare a lor :) .
Un IDE de CTT scris in Java puteti gasi la http://giove.cnuce.cnr.it/ctte.html . Acesta a fost folosit pentru crearea arborelui de mai jos:
Oricum si pan' la urma un copac CTT ramane totusi un copac... il plantam, il udam, il curatam de uscaturi si in unele cazuri il mai putem arunca si-n soba. Revenind la un ton mai serios, as vrea sa vorbesc putin si despre programelele ce pot creea astfel de arbori. IDE-urile de CTT sunt de obicei grafice (eu unul n-am intalnit un IDE pentru CTT-uri in linie de comanda sau altfel pana acum, dar aceasta nu inseamna ca nu pot exista), cu butonase si draw area ce amintesc de programele de grafica vectoriala. In practica editarea uni CTT este extrem de usoara avand in vedere faptul ca nu sunt per total asa multe functii si mai important, paginarea este facuta automat. Practic trebuie doar adaugat un nod pe rand si introduse cateva informatii despre el.
De obicei ce pare a fi bine pe hartie nu e chiar asa bun in practica. Un IDE competent are un 'compilator' si un simulator de ... arbore ... sa-i zicem. Modulul de compilare trebuie sa gaseasca erori logice de exemplul celor "am ajuns aici inainte sa fi ajuns aici", sau "eu sunt propriul meu parinte" (va rog sa aveti clar in minte ca aici nu este vorba despre un experiment cuantic), pe cand simulatorul ar trebui sa ne lase sa verificam daca datele introduse chiar descriu ceea ce ne intereseaza si nu de exemplu comportamentul lupului din 'Capra cu trei iezi' :D . Aceasta inseamna ca un CTT NU poate avea cicluri!
Pe scurt, un CTT este un arbore ce descrie un comportament (sau mai bine zis o norma de comportament) pe baza unor relatii logice.
Un CTT este asemanator unui document UML. Desi un UML este de obicei mai bogat in informatii, putem spune ca un arbore CTT are cam aceeasi destinatie ca un document UML. Spre diferenta de UML, acesta are totusi un format al sau aparte... nu este un limbaj deoarece daca l-am considera un limbaj am putea atunci vorbi si de limbajul .doc, .jpeg sau .avi . Extensia fisierelor CTT este .ctt sau .ctte, si aceasta inseamna ca pot fi portate pe mai multe platforme si IDE-uri fara vreo problema.
De ce ma intereseaza?... hmm... nu e foarte usor sa raspund la intrebarea aceasta... Fiecare dupa gustul si nevoile sale. Intr-un mediu 'business' un .ctte poate fi folosit ca model pentru membrii echipei ce incearca sa scrie un program, sa proiecteze o interfata, ma rog, prindeti ideea.
Acum insa ca 'utilizator casnic' probabil ca nu are foarte multe intrebuintari. Un exemplu pe care il pot da eu este stabilirea unui plan de actiune (pentru cumpararea unor articole greu de gasit, pentru care sa avem o lista de 'planul B')... sau poate ca decat sa cumparam un laptop cu care sa mergem la cumparaturi mai bine cumparam un telefon mobil si tinem bani de SMS-uri sau 'minute' pentru a vorbi cu 'partenerul de viata' (noi, echipa WebBiz, NU FACEM DISCRIMINARI! ... desi poate am vrea...).
Mircea Biz of the Clan WebBiz
Abonați-vă la:
Postare comentarii (Atom)
Arhiva blog
Persoane interesate
Lista bloguri
Autorii bloggului
Utilitatea articolelor:
Categories-
- .ctt (1)
- .ctte (1)
- adobe CS4 (1)
- aplicatie (1)
- arbori CTT (1)
- comunitate web (1)
- CTT (1)
- flex (1)
- framework (1)
- GET (1)
- highlight (1)
- interfata (1)
- interfete web (5)
- internet (2)
- introducere (1)
- javascript (2)
- jframe (1)
- proiectare (1)
- RDF (1)
- relatii sociale (2)
- rss (1)
- sdk (1)
- search (2)
- URI (1)
- URL (1)
- Web 2.0 (1)
- www.interfeteweb.biz (1)
- XML (2)
1 comentarii:
" Mircea Biz of the Clan WebBiz "
:))
He was born in the highlands of Scotland..
Trimiteți un comentariu