model prototip de se dezvoltat sub exsys developer si exsys corvid

Upload: dodita-andreea

Post on 13-Jul-2015

1.032 views

Category:

Documents


1 download

TRANSCRIPT

2. Prototipul dezvoltat sub EXSYS Developer ESXYS Developer este un produs lansat de firma Multilogic mpreun cu firma EXSYS, n anul 1999, ce vine i n sprijinul dezvoltatorilor de aplicaii destinate mediului Web. Dei se aseamn destul de mult cu precursorul su (EXSYS Professional), n mod evident, evoluia tehnologiei inteligente i-a pus amprenta puternic i asupra acestui generator de sisteme expert, de generaie nou, aducnd o serie de avantaje demne de luat n seam. V propunem n cele ce urmeaz s urmrii cum dezvoltm prototipul cu ajutorul generatorului EXSYS Developer. Astfel, ne vom raporta la datele prezentate n subcapitolul 1. i vom prezenta doar diferenele ce sunt impuse de noul generator. 2.1. Dezvoltarea prototipului de sistem expert sub EXSYS Developer Dei interfaa generatorului EXSYS Developer este diferit de cea a predecesorului su, utilizatorul va regsi aceeai modalitate de abordare a dezvoltrii unui prototip de sistem expert. Astfel, dup ce s-a efectuat lansarea n execuie a generatorului (Start/Programs/MultiLogic/Exsys Developer V8), se creaz un nou proiect (File/New), i se atribuie un nume (de exemplu aef ce va avea extensia .rb1) i se vor introduce parametrii sistemului: Subject (subiectul bazei de cunotine), Author (autorul prototipului), Explanatory text (text explicativ pentru nceputstarting- sau pentru sfrit ending-) i se alege modul de exprimare a factorului de certitudine Confidence Mode (modul implicit este 0-10). Reamintim c aceste elemente pot fi completate i/sau modificate oricnd ulterior selectnd meniul Options / Parameters. Dup ce fereastra cu parametrii sistemului a fost validat, prin apsarea butonului OK, este dezvluit interfaa generatorului format dintr-o fereastr ce conine 7 cadre de pagini ce cuprind, ntr-un mod foarte bine structurat, elementele ce alctuiesc prototipul de sistem expert, astfel: - Goals (Recomandrile/ scopurile sistemului); - Questions (Calificatorii sau ntrebrile sistemului); - Variables (Variabilele); - Trees (Posibilitatea crerii unei structuri arborescente pe baza regulilor de producie); - Rules (Regulile de producie); Files (diferite tipuri de fiiere: .cmd de comand, .cfg de configurare, .scr codul surs pentru ecrane, .out pentru raport final, .a.); - Validation (cu opiunile de validare ale sistemului sau mai bine spus, posibilitatea de identificare a eventualelor erori). Ordinea n care se va realiza popularea cu date a prototipului este aleatoare, ne referim aici la ordinea n care introducem Recomandrile, Calificatorii i Variabilele sistemului. n cazul de fa. propunem urmtorul mod de lucru: - introducerea Recomandrilor (Goals) utiliznd n acest scop informaiile coninute n codul surs, paragraful 1.5.1.2. - CHOICES); - popularea bazei de cunotine cu ntrebr i(Questions) sau Calificatori, apelnd la informaiile coninute la paragraful 1.5.1.1 QUALIFIERS);

- adugarea Variabilelor (Variables) n baza de cunotine a sistemului vezi paragraful 1.5.1.4 VARIABLES. n acest moment apar o serie de diferene fa de EXSYS Professional pe care le vom semnala n paragraful urmtor; - introducerea Regulilor de producie (Rules) pe baza componentelor enumerate mai sus; - obinerea arborelui decizional (Trees), mbuntirea interfeei de dialog, adugarea unor comenzi n fiierul de comenzi, etc., finaliznd cu verificarea existenei unor erori n sistem (Validation/Check system). 2.1.1 Preluarea valorilor variabilei dintr-un mediu extern

prototipului EXSYS Developer permite, n cazul variabilelor, preluarea valorilor dintr-un mediu extern datorit facilitii oferite de sistemul de operare Windows, ODBC. Astfel, EXSYS Developer permite accesarea unei mari varieti de tipuri de baze de date prin protocolul Open DataBase Conectivity 1 . n opinia autorilor, cea mai simpl metod n acest caz o constituie utilizarea unor fraze de tip SQL 2 , cu urmtoarea sintax: SQL_READ_ONE(Data Source Name, Comand SQL, Variabil de stare, [nume variabil EXSYS care preia valoarea din BD]) Pentru prototipul de sistem expert , vom exemplifica, n cele ce urmeaz modul de lucru, n acest caz. Propunem lucrul cu o tabel creat n Microsoft Access. n acest scop crem o baz de date cu numele aef ce va avea extensia specific .mdb (vezi fig.nr. 2.1.). n cadrul acestei baze de date se va crea o tabel cu dou coloane, denumit tabel, ce va conine toate valorile necesare a fi preluate n EXSYS (este vorba de tabela coninut n foaia de calcul tabelar prezentat n tabelul nr. 3).

1 vezi Andone, I., Mockler R., .a., Dezvoltarea sistemelor inteligente n economie. Metodologie i studii de caz, Ed. Economica, Bucureti, 2001, p. 284. 2 Mai multe comenzi de tip SQL n Andone, I., Mockler R., .a., op.cit, p.284.

Fig.nr. 2.1. Baza de date aef.mdb ce conine tabela tabel

Dup ce am definitivat crearea bazei de date i popularea tabelei cu datele necesare, se impune realizarea legturii ODBC cu baza de date aef.mdb, i implicit cu tabela tabel, astfel: se realizeaz dublu click pe ; 1. din 2. din fereastra nou deschis, din User DSN, se va aduga baza de date Access prin apsarea butonului Add; 3. din list coninut n noua fereastr, se alege tipului de driver dorit, n cazul nostru Microsoft Access Driver (*. mdb), i se apas butonul Finish; 4. n cmpul Data Source Name se introduce numele bazei de date (fr extensie), n cazul nostru numele bazei de date este aef, i, pentru a indica i calea acestui fiier, se folosete butonul Select pentru a explora i indica locaia exact a bazei de date; 5. se valideaz ecranul cu butonul OK i se observ c baza de date aef se gsete n lista celor coninute n sistem. n fig.nr. 2.2. ilustrm grafic aceti pai.

5

4

1

2

3

Fig.nr. 2.2. Realizarea legturii ODBC cu baza de date aef.mdb

Revenind la tabelul nr. 1, observm c, pentru a calcula indicatorul rata rentabilitii financiare, trebuie declarate dou variabile : Profitul net i Capitalul propriu. Valorile celor dou variabile vor fi preluate din tabela tabel coninut n baza de date Access aef.mdb. n fig.nr. 2.3. exemplificm modalitatea de creare a variabilei Profit net. n acest demers vom parcurge urmtorii pai: 1. n cadrul cmpului Name se va introduce numele variabilei, respectiv PROF_NET; la Prompt se va scrie denumirea complet a variabilei; 2. pentru a realiza legtura cu tabela extern, se apas butonul ; 3.din noua fereastr, din list, selectm SQL Database i se apas butonul ; 4. se vor completa cele trei cmpuri, astfel: ODBC Data Source Name : aef, SQL Command: select valoare from tabel where indicator='Profit net', Assign to Variable: [PROF_NET]; 5. se valideaz cu OK.

5

1

4

3 2

Fig. nr. 2.3. Crearea variabilei PROF_NET

Parcurgnd aceleai etape, vor fi introduse toate variabilele sistemului, urmnd apoi a se implementa regulile de producie ce vor respecta structura prezentat n cadrul paragrafului 1.5.1.5. n cadrul fiierului Report(.out) vom insera liniile de comand conform fig.nr. 2.1.4.

Fig.nr. 2.1.4. Coninutul raportului

2.1.2. mbuntirea interfeei de dialog n EXSYS Developer

Generatorul de sisteme expert EXSYS Developer suport taguri HTML care pot mbunti modul de realizare a ecranelor prin diferite modaliti: - evidenierea anumitor cuvinte prin scrierea lor ngroat, cu alt culoare, etc.; - stilizarea ferestrei finale a prototipului, ce prezint rezultatele obinute n urm parcurgerii prototipului, prin inserarea de applet-uri JAVA i gif-uri animate, etc. Tagurile HTML pot fi introduse odat cu scrierea parametrilor sistemului, n cadrul cmpurilor: Subject, Author, Starting text, Ending text. ntruct EXSYS Developer pune la dispoziia utilizatorilor o serie de machete predefinite denumite HTML Screens pentru realizarea ecranelor aplicaiei, acestea pot fi modificate sau pot fi create altele care s satisfac n totalitate exigenele dezvoltatorului de aplicaii. Pentru utilizarea anumitor machete predefinite de ecrane, acestea pot fi selectate din meniul Options/HTML Templates, dup care se alege tipul de ecran ce se dorete a fi afiat cu ajutorul unei anumite machete predefinite. Prin apasrea butonului Browse se pot alege variantele de machete disponibile n sistem sau varianta personalizat. Spre exemplificare, prin introducerea tagurilor HTML urmtoare n cadrul cmpurilor Subject(1) i Author(2) din cadrul ferestrei ce conine parametrii sistemului(Options/Parameters) se obine ecranul de start prezentat n fig.nr. 2.5: 1.SysAEF Evaluarea performantelor intreprinderii prin prisma unor indicatori specifici ai analizei economico-financiare 2. Echipa CESINTELFig.nr. 2.5. Utilizarea tagurilor HTMLCa o alternativ la ecranul de titlu ilustrat n fig.nr. 2.5., prezentm pentru o machet predefinit de ecran, creat pentru a ntruni anumite exigene. n fig.nr. 2.5 se observ noul ecran de ntmpinare a utilizatorului, creat cu ajutorul tagurilor HTML (pentru text), a unui applet Java de tip scroll i, ca element de noutate, inserarea unei imagini (AI.jpg) . Codul surs al acestei machete este prezentat n cadrul tabelului nr. 1.5. De remarcat c modificarea machetelorpredefinite( extensia .tpt) se poate realiza foarte uor cu ajutorul unui editor de tip Word, Worpad sau chiar Notepad.Fig.nr. 2.6. Machet predefinit personalizat pentru ecranul de titlu Tabel nr. 2.5 Codul surs al machetei predefinite personalizate titlu.tpt MultiLogic Exsys Web Runtime : Title Screen SysAEF-Evaluarea performantelor intreprinderii prin prisma unor indicatori specifici ai analizei economico-financiare
Echipa CESINTEL

n aceeai manier au fost create toate ecranele aferente prototipului de sistem expert dezvoltat sub EXSYS Developer, obinnd astfel o soluie de sistem inteligent care, pe lng facilitile oferite, conine i o interfa atrgtoare, extrem de util utilizatorului.3. Generatorul de sisteme expert EXSYS Corvid Noul generator de sisteme expert EXSYS Corvid lansat n anul 2000 de firma american EXSYS este un produs revoluionar destinat dezvoltrii de prototipuride sisteme expert exploatabile n mediul de lucru Web, ca aplicaii de sine stttoare ce funcioneaz numai prin intermediul Internetului sau ca aplicaii integrate n pagini Web. 3.1. Conceptele EXSYS Corvid Corvid ofer, ntr-o concepie total diferit de generatoarele anterioare, trei modificri radicale n procesul de dezvoltare a prototipurilor de sistem expert. Este vorba despre: Structura obiectual, Blocurile logice i Apleturile de tip Java. n cele ce urmeaz le vom prezenta foarte succint pe fiecare.3.1.1 Structura obiectualCorvid are la baz modelul mediului de programare Visual Basic, elaborat de Microsoft. Echipa de dezvoltare a generatorului a ales acest model ntruct acesta a devenit popular i datorit faptului c Visual Basic(VB) nu este un limbaj de programare orientat-obiect clasic, dei ofer multe faciliti n acest sens. Datorit acestui aspect, VB este utilizat att de ctre programatori ct i de o gam variat de persoane ceva mai avansate n lucrul cu calculatorul. Bazat pe modelul VB, Corvid ofer o structur obiectual care permite sistemelor expert create s beneficieze din plin de proprietile variabilelor. Ca urmare, EXSYS Corvid lucreaz doar cu variabile, acestea fiind de foarte multe categorii. Calificatorii i recomandrile au disprut ca terminologie, ele se regsesc, ca proprieti, n anumite categorii de variabile.3.1.2 Blocurile logiceNoul concept introdus n Corvid se refer la utilizarea blocurilor logice pentru reprezentarea cunoaterii, care, la celelalte produse EXSYS se realizau cu ajutorul regulilor de producie. Blocurile logice pot fi concepute conform ambelor strategii de control a raionamentului: nainte sau napoi (Forward/Backward chaining) Ele permit, totodat, i conectarea cu o foaie de calcul tabelar ce aplic logica blocurilor n mod consecutiv fiecrui rnd al tabelei. Blocurile logice pot fi dezvoltate i modificate n mod vizual simplificnd astfel exploatarea generatorului. Pentru a se nelege mai bine, blocurile logice reprezint o combinaie de reguli de producie de tip IF-THEN-ELSE formnd o structur arborescent. Aceasta facilitate permite organizarea raionamentelor n blocuri logice care se comport ca obiectele structurate.3.1.3 Appleturile Javainnd cont de amploarea pe care Internetul a cunoscut-o i bazndu-se pe o dezvoltare continu a acestuia, EXSYS Corvid ofer modaliti novatoare de dezvoltare a sisteme expert interactive, on-line, incorporate n pagini web sau careruleaz independent n acest mediu. EXSYS Corvid produce soluii inteligente cu dimensiuni relativ reduse (aproximativ 150kb), appleturi ce se ncarc foarte rapid n mediul Web. Mai mult, Corvid permite ca appleturile din cadrul produselor sale s comunice cu altele existente n cadrul paginii Web respective. 3.2. Dezvoltarea unui prototip de sistem expert sub EXSYS Corvid n cele ce urmeaz, ne propunem realizarea unui prototip de sistem expert capabil s ajute un decident la evaluarea cererilor pentru acordarea de mprumuturi/ credite. Mai exact, prototipul va sprijini decidentul n procesul evalurii aspectelor de natur calitativ, non-financiar, a cererilor de mprumuturi. n sesiunile de consultare, prototipului i sunt cerute rspunsuri la cteva ntrebri cu privire la elementele cheie de fumdamentare a deciziei de creditare. Recomandrile sistemului sunt fundamentate pe rspunsurile acordate la aceste ntrebri.3.2.1 Elemente de baz ale prototipuluin tabelul nr. 3.1 sunt prezentate elementele pe baza crora va fi construit prototipului propus. Dei n concepia Corvid, noiunile de recomandri i calificatori au disprut, noi le folosim pentru a nu pune n dificultate cititorul, urmnd ca la momentul implementrii, s se prezinte explicaii suplimentare.Tabelul nr. 3.1 Elementele prototipuluiI. R e c o m a n d r i l e s i s t e m u l u i 1. Se aprobar mprumutului fr alte garanii colaterale 2. Se aprob mprumutul dar cu garanii colaterale 3. Se impune prezentarea unor informaii adiionale 4. Se respinge cererea de acordare a mprumutului II. C a l i f i c a t o r i i s i s t e m u l u i Denumire calificator 1.Care este vechimea Directorului executiv? Valoare 1.1.mai mare de 5 ani 1.2.ntre 2 i 5 ani 1.3.mai mic de 2 ani 2. Directorul financiar a activat n ntreprindere pe o perioad 2.1.mai mic de 2 ani 2.2.cuprins ntre 2 i 5 ani 2.3.mai mare de 5 ani 3. Stabilitatea conducerii ntreprinderii este 3.1. puternic 3.2. medie 3.3. sczut 4. Care este gradul de implicare a membrilor consiliului director n activitile ntreprinderii? 4.1. ridicat 4.2. moderat 4.3. sczut5. Este vreun membru al consiliului director dispus s garanteze cu fonduri personale mprumutul solicitat? 6.Membrii Consiliului director sunt familiarizai cu tipul de servicii pe care ntreprinderea le ofer? 7.Competena Consiliul director este5.1. da 5.2. nu 6.1. da 6.2. nu 7.1. foarte bun 7.2.moderat 7.3.sczut8. Proiectul este destinat s dezvolte un program 9. ntruct se propune dezvoltarea unui progam existent, menionm c ntreprinderea a fost implicat n acelai domeniul de activitate sau unul similar pentru 10. Intrucit se propune dezvoltarea unui program nou, mentionam ca aplicantul 11.Istoricul programului este:8.1.nou 8.2.existent 9.1.mai puin de 2 ani 9.2. 2 i 5 ani 9.3.mai mult de 5 ani 10.1.are o experien similar 10.2.nu are o experien reuit 11.1.ridicat 11.2.mediu 11.3.sczut3.2.2 Dezvoltarea prototipului sub mediul EXSYS CorvidPentru nceput, trebuie lansat n execuie generatorul de sisteme expert EXSYS Corvid prin selectarea acestuia din meniul Start/ Programs/ Exsys/ Corvid. Dup ce generatorul s-a ncrcat, din meniul File(1) se opteaz pentru New(2), iar n noua fereastr deschis se alege calea (3) si numele (4) sistemului expert n Corvid, care se va putea observa n fig.nr. 6. Dup ce au fost parcuri aceti pai, Corvid va lansa automat fereastra destinat introducerii variabilelor sistemului, care pot fi de apte tipuri, i anume: 1. Static List este o variabil ce poate conine mai multe valori (este nlocuitoarea calificatorilor/ ntrebrilor din EXSYS Professional i Developer); 2. Dynamic List reprezint o variabil ce se aseamn cu Static List, diferena constnd n faptul c valorile acesteia pot fi cunoscute doar n timpul rulrii aplicaiei i nu nainte ca n cazul variabilei statice; 3. Numeric value sunt variabile ce au valori numerice. Acestea pot fi utilizate n formule sau pentru a testa o valoare; 4. String value sunt variabile de tip ir de caractere utilizate pentru afiarea unor informaii nenumerice; 5. Date value valoarea acestora variabile este constituit de un tip de dat calendaristic; 6. Collection variables sunt variabile ce au ca valoare o list de tip iruri de caractere (strings); 7. Confidence variabile a cror valori conin factori de certitudine. Acest tip de variabile constituie modalitatea de reprezentare a recomandrilor sistemului, ca n cazul produselor EXSYS anterioare (ntlnite sub numele de Goals).Fig.nr. 3.1. Crearea unui nou proiect Corvid3.2.2.1. Lucrul cu VariabilePentru a implementa soluia inteligent n final, revenim la tabelul nr. 3.1 i introducem cele patru recomandri ale sistemului, alegnd tipul de variabil de tip factor de certitudine, regsit n lista variabilelor sub numele de Confidence (vezi fig.nr. 6.2.).Fig.nr. 3.2. Adugarea unei variabile de tip ConfidenceDup validarea ferestrei prezentat n fig.nr. 3.2., sistemul va reveni la fereastra ce conine toate variabilele sistemului. Din aceasta, n cadrul cmpului Main Prompt se poate introduce textul complet al variabilei, ca n fig.nr. 3.3.Fig.nr. 3.3. Descrierea complet a variabilei de tip Confidencen aceeai manier va fi populat sistemul cu toate cele patru recomandri, astfel nct fereastra ce conine variabilele s se prezinte ca n fig.nr. 3.4.Fig.nr. 3.4. Seciune din fereastra ce conine variabilele sistemului dup introducerea tuturor recomandrilorRespectnd ordinea din tabelul nr. 3.1., vom introduce calificatorii sistemului, crora le corespund n EXSYS Corvid variabilele de tip Static List. Modul de lucru este prezentat n fig.nr. 3.5.Fig.nr. 3.5. Crearea variabilei de tip Static ListDup validarea ferestrei New Variabile din fig.nr. 3.5., revenind la fereastra Variables, lista elementelor va cuprinde i noua variabil introdus. Urmtorul pas l constituie inserarea descrierii pe larg a variabilei, n cadrul cadrului Prompt, urmnd apoi introducerea valorilor pe care aceast variabil le poate avea. Aceti pai sunt ilustrai grafic prin intermediul seciunilor prezentate n fig.nr. 3.6.1. Se introduce descrierea pe larg a variabilei (opional) 2. Se completeaz valoarea nr.1 a variabilei n dou moduri: prescurtat (Short Text) i detaliat (Full Text) 3. Se introduce valoarea nr.2 a variabilei (prin butonul >) sau se revine la valoarea precedent (apas butonul