UNIVERSITATEA "VASILE ALECSANDRI" DIN BACAU Facultatea de Stiinte Economice
Programul de masterat Contabilitate, Contabilitate, Audit si Informatica de Gestiune
PROIECTAREA SISTEMELOR INFORMATICE Note de curs Master, CAIG, anul I 2012-2013
Lect. univ. dr. Romică Adam
CUPRINS 1. Noţiuni generale privind sistemele informatice 1.1. Conceptul de sistem informatic 1.2. Rolul sistemului informatic în procesul decizional
2 2 6
2. Tehnici de proiectare a sistemelor informatice 2.1. Principii de baza in proiectarea si realizarea sistemelor informatic 2.2. Modele ale ciclului de viata al sistemului informatic 2.3. Etape de realizare a sistemelor informatice
8 8 11 17
3. Metodologii de analiza si proiectare a sistemelor informatice 3.1. Metodele sistemice 3.2. Metodele orientate obiect 3.3. Metodele orientate agent
18 18 18 19
4. Fundamentele sistemelor multiagent
4.3. Sistemele multiagent 4.4. Aplica ţii şi avantaje ale sistemelor multiagent
21 21 22 26 27
5. Virtualizarea afacerilor cu tehnologia agent ag ent 5.1. Modele de afaceri electronice 5.2. Întreprinderea virtuală versus întreprinderea tradiţională 5.3. Caracteristici şi tipuri de întreprinderi virtuale 5.4. Abordarea Abordarea sistemului informa informaţional din perspectiva tehnologiei agent 5.5. Modelarea avansurilor spre decontare prin tehnologia workflow bazată pe agenţi
29 29 33 35 37 40
6. Modele de referinţă pentru standardizarea sistemelor bazate pe tehnologia agent 6.1. Modelul FIPA 6.2. Comunicarea între agenţi 6.3. Limbajul KQML
42 42 45 46
Bibliografie
49
4.1. Concepte şi caracteristici ale agen ţilor 4.2. Taxonomia agentilor software
1
CUPRINS 1. Noţiuni generale privind sistemele informatice 1.1. Conceptul de sistem informatic 1.2. Rolul sistemului informatic în procesul decizional
2 2 6
2. Tehnici de proiectare a sistemelor informatice 2.1. Principii de baza in proiectarea si realizarea sistemelor informatic 2.2. Modele ale ciclului de viata al sistemului informatic 2.3. Etape de realizare a sistemelor informatice
8 8 11 17
3. Metodologii de analiza si proiectare a sistemelor informatice 3.1. Metodele sistemice 3.2. Metodele orientate obiect 3.3. Metodele orientate agent
18 18 18 19
4. Fundamentele sistemelor multiagent
4.3. Sistemele multiagent 4.4. Aplica ţii şi avantaje ale sistemelor multiagent
21 21 22 26 27
5. Virtualizarea afacerilor cu tehnologia agent ag ent 5.1. Modele de afaceri electronice 5.2. Întreprinderea virtuală versus întreprinderea tradiţională 5.3. Caracteristici şi tipuri de întreprinderi virtuale 5.4. Abordarea Abordarea sistemului informa informaţional din perspectiva tehnologiei agent 5.5. Modelarea avansurilor spre decontare prin tehnologia workflow bazată pe agenţi
29 29 33 35 37 40
6. Modele de referinţă pentru standardizarea sistemelor bazate pe tehnologia agent 6.1. Modelul FIPA 6.2. Comunicarea între agenţi 6.3. Limbajul KQML
42 42 45 46
Bibliografie
49
4.1. Concepte şi caracteristici ale agen ţilor 4.2. Taxonomia agentilor software
1
Capitolul 1. NOŢIUNI GENERALE PRIVIND SISTEMELE INFORMATICE 1.1.
Conceptul de sistem informatic
Definită iniţial de către Academia Francez ă (în 1966), ca fiind ş tiin ţ a prelucr ă rii ra ţ ionale, ionale, îndeosebi prin ma şini 1 automate, a informa ţ iei iei, considerată ca suport al cunoştinţelor umane şi al comunicărilor în domeniile tehnicii, economice şi sociale”, informatica se contureaz ă ca activitate practică şi concepţie teoretică, pe măsura dezvoltării calculatoarelor electronice şi a perfecţionării tehnologiei de prelucrare a datelor. Ca domeniu distinct de activitate, informatica preia treptat toate sarcinile dintr-un sistem economico-social privind elaborarea de metode, tehnici, concepte şi sisteme pentru prelucrarea automată a informaţiei. Din acest punct de vedere informatica este definită ca fiind ş tiin ţ a care se ocupă cu studiul şi elaborarea metodelor de prelucrare a informa ţ iei iei cu ajutorul sistemelor automate de calcul.
Ca activitate practică, informatica are o existenţă dinamică; ea apare şi se dezvoltă dintr-o necesitate obiectivă, aceea de a rezolva problemele complexe privind prelucrarea datelor. În stadiul actual de maturizare a informaticii, aceasta trebuie să urmărească două obiective majore: pe de o parte, s ă realizeze prin metode şi tehnici proprii, sisteme informatice performante prin care să se asigure accesul larg la informaţie, iar pe de alt parte, s ă asigure utilizarea eficientă a tuturor resurselor sistemelor de calcul. ăşoară, este generatoare de informaţii. Cu cât această activitate Activitatea umană, indiferent sub ce formă se desf ăş este mai complexă şi mai dinamică, cu atât volumul de informaţii creşte şi se diversifică tinzând să frâneze sau chiar să blocheze procesul decizional. Apare astfel un conflict între creşterea volumului de informaţii şi posibilităţile limitate ale sistemelor clasice de prelucrare, sisteme ce nu pot furniza informaţii cât mai rapide, complete şi corecte necesare luării deciziilor. În aceste condiţii, rolul informaticii este decisiv în deblocarea şi fluidizarea sistemelor informaţionale şi decizionale, prin asigurarea gestiunii, prelucr ării şi distribuirii informaţiei într-un mod cât mai eficient către utilizatori. Ca domeniu de activitate, informatica cuprinde toate activit ăţ ile ile legate de proiectarea, realizarea şi exploatarea sistemelor de prelucrare automată a datelor, în scopul creş terii eficien ţ ei ei activităţ ilor ilor umane, Informaţiile şi cunoştinţele au o mare importanţă atât pentru dezvoltarea personalităţii umane, cât şi pentru evoluţia vieţii şi societăţii democratice. Nici societatea şi nici indivizii ei, nu pot evolua, nu pot progresa satisf ăcător dacă nu dispun de informaţii. Prin intermediul informaţiilor se asigură transferul cunoştinţelor de la o generaţie la alta, se asigură accesul la cele mai avansate realizări ale omenirii2.
Conceptul de informa ţie reprezintă o no ţiune de maximă generalitate care semnifică o ştire, un mesaj, un semnal, etc. despre evenimente, fapte, stări, obiecte, etc. în general despre forme de manifestare a realităţii care ne înconjoară. Forma de exprimare şi transmitere a informaţiilor o reprezintă comunicarea. Informaţia are sens de noutate pentru cel căruia i se adresează, indiferent de forma pe care o ia ( ştire, semnal, comunicare). Se poate spune deci că informaţia este un mesaj, dar cu precizarea c ă nu orice mesaj este o informaţie. Dacă mesajul nu transmite nici o noutate şi nu are un suport real, atunci acesta nu prezintă interes pentru receptor şi deci nu are caracter de informaţie. Informaţiile dobândite în urma unui proces de informare într-un anumit domeniu, formează cunoştinţele despre acel domeniu, iar mulţimea acestora reprezintă patrimoniul de cunoştinţe. Cunoştinţele reprezintă o însumare în timp a tuturor informa i nformaţiilor dobândite într-un anumit domeniu. Data este forma de reprezentare materială a informaţiei. Datele reprezintă suportul formal al informaţiei care se concretizează în cifre, litere, simboluri, coduri şi alte semne plasate pe suporţi tehnici de date. Datele reprezintă obiectul prelucrării pentru informatică, materia primă a acesteia şi numai prin asociere cu realitatea pe care o reflectă, se poate spune că informatica generează informaţii. 1 2
Arsac, J., Informatica, Editura Enciclopedica Româna, Bucuresti, p. 71 Trauth, E.M., Kahn, B.K., Warden, F., Information literacy. An introduction to information systems , MacMillan Publishing Company, 1991
2
Datele obţinute în urma procesului de prelucrare pot avea calitatea de informaţii pentru o anumită categorie de utilizatori sau rămân simple date dacă î şi pierd calitatea de noutate semantică. În practică, de multe ori termenul de informaţie este utilizat pentru a desemna date, iar expresia "prelucrarea informaţiilor" înlocuieşte expresia "prelucrarea datelor". Se poate considera că datele prelucrate, în măsura în care afectează în sens pozitiv comportamentul receptorilor (oameni sau maşini), au calitatea de informaţii. În procesul prelucrării şi utilizării informaţiilor, acestea sunt privite din trei puncte de vedere: - din punct de vedere sintactic, când se urmăreşte aspectul formal al reprezentării acestora, în sensul că datele care se prelucrează se supun riguros anumitor reguli de validitate; - din punct de vedere semantic, urmărindu-se semnificaţia, înţelesul informaţiei (conţinutul real al informaţiei) ce derivă din datele prelucrate; - din punct de vedere pragmatic, urmărindu-se utilitatea, adică măsura în care sunt satisf ăcute cerinţele utilizatorilor. Deşi informatica are în vedere în primul rând aspectul formal al informa ţiei, în procesul prelucrării datelor nu se poate face abstracţie de nici unul dintre cele trei aspecte (sintactic, semantic şi pragmatic). Chiar dacă în procesul prelucrării datelor se porneşte de la un interes pragmatic, acesta nu se poate realiza dac ă nu se respectă anumite reguli de sintaxă şi semnificaţie privind datele supuse prelucr ării. Sistemul informa ţ ional asigură gestiunea tuturor informa ţ iilor din cadrul unui sistem economic, folosind toate metodele şi procedeele de care dispune .
La studierea unui sistem trebuiesc analizate in principal urmatoarele aspecte: mediul in care acesta functioneaza partile componente ale sistemului relatiile care se manifesta in cadrul siste mului intrarile si iesirile sistemului obiectivul(ele) sistemului • • • • •
Sistemul informatic este un ansamblu tehnico-organizatoric de metode, procedee, echipamente de calcul si personal de specialitate, prin care se asigura culegerea, verificarea, transmiterea, stocarea si prelucrarea informatiilor in vederea fundamentarii si elaborarii deciziilor Dupa cum rezulta si din definitie, putem spune ca sistemul informatic este format din urmatoarele componente principale: - resursele materiale (hardware-ul) - totalitatea elementelor necesare pentru introducerea datelor, prelucrarea datelor, stocarea programelor si rezultatelor obtinute, comunicarea rezultatelor - resursele logice (software-ul) – totalitatea programelor ce asigura functionarea si exploatarea controlata a sistemului: sistemele de operare, sisteme de gestionare a bazelor de date, programe utilitare, pachete de programe, software de aplicatii etc - baza de date – ansamblul datelor stocate in vederea prelucrarilor prin programele de aplicatii. - personalul – intregul personal care intr-un fel sau altul folosesc sistemul informatic: specialisti (analisti de sistem, programatori, proiectanti de sisteme, ingineri de sistem, administratori baze de date, operatori) si nespecialisti (consultanti, utilizatori finali beneficiari ai serviciilor oferite de sistemele informatice etc.) - metodologiile – principiile, proiectele si procedurile aplicate in sistemele informatice pentru a fi realizate sarcinile stabilite Ansamblul informaţiilor şi deciziilor (caracterizate prin con ţinut, frecvenţă, calitate, volum, formă, suport), necesare desf ăşurării unei anumite activităţi sau operaţii şi care se transmit între două posturi de lucru, formează un flux informaţional. Între circuitul informaţional şi fluxul informaţional există o strânsă dependenţă în sensul că circuitul informaţional reflectă traseul (drumul) şi mijlocul care asigură circulaţia unei informaţii de la generarea ei şi până la arhivare, iar fluxul informaţional reflectă ansamblul informaţiilor vehiculate, necesare unei anumite activităţi. Sistemul informa ţ ional cuprinde, într-o concep ţ ie unitară , circuitele şi fluxurile informa ţ ionale, la care se adaugă metodele şi tehnicile de prelucrare a informa ţ iilor.
Fluxul informational este compus din informatii strategice, tactice si operative.
La nivel strategic sistemul informational sprijina luarea deciziilor de catre conducere. Acestea sunt rezultate pe termen lung, privesc intreaga activitate desfasurate in intreprindere. Informatiile se refera la: - valoarea rezultatelor financiare necesare stabilirii modului de repartizare a profitului - starea financiara actuala 3
-
modul de utilizarea a capacitatilor de productie.
La nivel tactic, informatiile oferite de sistemul informational sprijina luarea deciziilor privind planificarea activitatilor ce vor fi desfasurate in fir ma pe termen mediu. La nivel operational sistemul informational sprijina luarea deciziilor pentru desfasurarea activitatilor curente ale firmei, informatii referitoare la productie (stoc de materii prime, materiale), aprovizionare cu materii prime, materiale, la desfacere, situatia mijloacelor fixe, situatia necesarului de mijloace de plata, a obligatiilor de plata , cu termene de scadente.
Sistemul informatic este o componentă a sistemului informaţional3 şi anume, acea parte a acestuia care preia şi rezolvă sarcinile de culegere, prelucrare, transmitere, st ocare şi prezentare a datelor, cu ajutorul siste melor de calcul. Pentru a-şi îndeplini rolul în cadrul sistemului informaţional, sistemul informatic cuprinde ansamblul tuturor resurselor, metodelor şi tehnicilor, prin care se asigur ă prelucrarea automat ă a datelor. Procesul de prelucrare automat ă a datelor în cadrul unui sistem informaţional, reprezintă tocmai procesul prin care datele sunt supuse operaţiilor de culegere, transmitere, prelucrare şi stocare.
Principalele activităţi dintr-un sistem informatic sunt cele de prelucrarea informaţiilor. Acestea includ4: a - Introducerea datelor; b - Procesarea datelor pentru obţinerea de informaţii; c - Ieşirea produselor informa ţionale; d - Stocarea resurselor informaţionale; e - Controlul performanţelor sistemului.
Introducerea datelor – datele despre tranzacţiile comerciale sau despre alte evenimente trebuie să fie adunate şi pregătite pentru prelucrare. Introducerea se referă la editarea de înregistrări. Odată introduse, datele pot fi transferate pe un suport (magnetic/optic) până la prelucrare.
3 4
Reix, R., Informatique appliqueé à la gestion , Les Editions Foucher, Paris, 1990, vol.2, p.7 Bernard-Faqouillet, E., Boufares F., Informatique pour la comptabilite et la gestion , Editions Eska, Paris, 1995, p.18.
4
Prelucrarea datelor – datele care sunt subiectul activităţilor de prelucrare cuprind: calcule, comparări, sortări, clasificări sau însumări. Aceste activităţi organizează, analizează şi manipulează datele convertindu-le în informa ţii pentru utilizatori. Ieşirea produselor informa ţionale – informaţiile rezultate în urma prelucrării apar în forme variate pentru a fi transmise utilizatorilor în forma solicitată de aceştia. Informaţiile trebuie să îndeplinească anumite condiţii de calitate ce se referă în general la: timp – viteza cu care informa ţia ajunge la utilizator; conţinut – atributele care conferă valoare informaţiei; formă – felul în care ajunge la utilizator; • • •
Stocarea produselor informa ţionale – această activitate nu constituie o component ă foarte importantă în cadrul sistemelor informatice. Ea reprezintă activitatea dintr-un sistem informatic în care datele şi informaţiile sunt depozitate într-un mod organizat în vederea unei utilizări ulterioare. Atunci procesul de regăsire este necesar utilizatorilor prin rapiditatea şi acurateţea sa. Suporturile utilizatorilor pentru stocarea datelor şi informaţiilor sunt în general magnetice sau optice. Controlul performan ţelor sistemului – reprezintă o activitate de mare importanţă în cadrul sistemului informatic o reprezintă controlul performanţelor sale.
5
1.2. Rolul sistemului informatic în procesul decizional Sistemele informatice joacă un rol important în a asigura suportul activit ăţilor manageriale şi operaţionale în business. Din acest motiv există posibilitatea de a clarifica tipologia siste melor informatice la nivel conceptual în5: - Sisteme informatice opera ţ ionale - sisteme pentru procesarea (prelucrarea) tranzac ţiilor - sisteme pentru controlul proceselor; - sisteme pentru colaborarea la nivelul organizaţiei - Sisteme informatice pentru management - sisteme informatice pentru management (în general); - sisteme informatice pentru fundamentarea deciziei;
Sistemele informatice operaţionale sunt necesare pentru a prelucra datele generate şi utilizate în operaţiile de business. Aceste sisteme produc a varietate de produse informa ţionale pentru uz intern sau extern care vor fi prelucrate mai departe de c ătre sistemele informatice pentru management. În general acestea au rolul de a procesa date privind business-ul si de a controla procese industriale. Sistemele informatice de prelucrare a tranzac ţiilor sunt orientate către prelucrarea datelor rezultate din business sau operaţionale: vânzări, cumpărări, inventar şi oferă o varietate de produse informatice (liste, situa ţii etc.) de uz intern sau extern. Prelucrarea datelor se face în urma acumul ării (la o perioadă de timp) sau în timp real. Sistemele informatice pentru controlul proceselor s unt acele sisteme care utilizează computerul pentru a controla anumite procese fizice (linii de producţie robotizate, fabrici automate etc.) Sistemele informatice pentru colaborarea la nivelul organiza ţiei sunt sisteme care utilizează o gamă largă de tehnologii informatice pentru a asigura colaborarea, comunicarea dintre angaja ţii (membrii) unei organizaţii. Aceasta ajută la schimbul de idei, împărţirea resurselor, coordonarea între membrii. Scopul acestor sisteme informatice este de a creşte productivitatea şi creativitatea echipelor şi grupurilor de lucru dintr-o întreprindere modernă. Sistemele informatice pentru management 6 sunt orientate spre a oferi suport şi informaţii pentru autoritatea efectivă de luare a deciziei. Ele asigură suportul pentru necesităţile decizionale de la nivelul de vârf (strategic), la cel de mijloc (tactic) sau cel operaţional. Sistemele informatice pentru management ofer ă o varietate de rapoarte 5
Nitchi, S., Racovitan, D., si colectiv, Bazele prelucrării informa ţiilor şi tehnologie informa ţională, Editura Intelcredo, Deva, 1996, pp. 2124. 6 Mawhinney, C.H., Millet, I., Executive information systems: A critical perspective, in “Information and Management ”, nr. 23, 1992, pp. 83-92.
6
specifice folositoare în activităţile manageriale curente. Produsele informatice pot fi ob ţinute la cerere, periodic sau când apar necesităţi excepţionale.
Sistemele informatice pentru fundamentarea deciziei oferă managerilor utilizatori informaţii într-un mod interactiv ori de câte ori este nevoie. Managerii î şi generează informaţiile de care au nevoie pentru decizii, folosind modele decizionale şi baze de date specializate. Sistemele informatice pentru activitatea executiv ă7 sunt sistemele care asistă nivelul mediu şi de vârf al managementului organiza ţiei. Oferă un acces imediat şi u şor la informaţiile necesare atingerii obiectivelor strategice ale firmei. Au un mod uşor de operare şi înţelegere. Inteligenţa artificială - e ste o combinaţie între ştiinţă şi tehnologie, al cărei scop este de a dezvolta computere care pot gândi. Se porne şte de la ideea că dezvoltarea de funcţii ale computerului sunt asociate în mod normal cu inteligenţa umană. Sistemele expert - sunt sistemele bazate pe computer şi care î şi utilizează cunoştinţele în aplicaţii specifice cu o complexitate ridicată şi care acţionează similar cu un consultant consultant uman. Aceste sisteme se compun dintr-o bază de cunoştinţe (informaţii) şi nişte module software care se interferează şi comunică apoi răspunsul la întrebările utilizatorului. Sistemele de management a cuno ştinţelor. Cele mai multe organizaţii au realizat că au devenit companii de creare de cunoştinţe pentru a supravie ţui şi se dezvoltă într-un mediu de business într-o continu ă şi rapidă schimbare. Aceste sisteme sunt dezvoltate pentru a gestiona învăţământul organizaţional şi business know-how-ul. Sisteme informatice strategice - asigură rolul strategic al sistemelor informatice care implică utilizarea tehnologiei informaţiei pentru dezvoltarea de produse, servicii, care se vor constitui în avantaje strategice fa ţă de competitori pe piaţa globală. Această necesitate a creat sisteme informatice strategice care sprijin ă poziţia competitivă şi strategia întreprinderii. Un sistem informatice strategic poate fi orice tip de sistem informatice care ajută organizaţia să câştige un avantaj competitiv, să reducă din distanţa competitivă sau să-şi îndeplinească obiectivele strategice. Sistemele informatice pentru business - a ceste sisteme pot sprijini direct atât activităţile operaţionale cât şi pe cele de management din zona business-ului: contabilitate, finanţe, managementul resurselor umane, marketing, turism şi management operaţional. Pot fi atât sisteme informatice operaţionale cât şi sisteme informatice pentru management. Sistemele informatice integrate - s istemele informatice din lumea reală sunt de fapt combina ţii integrate a mai multor tipuri de sisteme informatice. Acestea sunt sisteme informatice bazate pe computere care combină activităţile ăşurate de mai multe tipuri de sisteme informatice. Cele mai multe sisteme informatice sunt elaborate pentru a desf ăş produce informaţii şi pentru a sprijini luarea deciziilor la diferite niveluri ale managementului, dar şi pentru ţinerea de diverse eviden ţe şi prelucrare a tranzac ţiilor8.
7 8
ERMES, Systemes d’information. La perspective du management, Edition Masson, Paris, Milan, Barcelone, 1994, p.32 Oprea, D., Premisele şi consecinţele informatizării contabilit ăţii, Editura Graphix, Iasi, 1994,p.22
7
Capitolul 2. Tehnici de proiectare a sistemelor informatice 2.1 Principii de baza in proiectarea si realizarea sistemelor informatice Proiectarea si realizarea sistemelor informatice are la baza urmatoarelor principii generale: 1. fundamentarea realizarii sistemelor informatice pe criterii de eficienta economica . Acest principiu presupune: - evaluarea cheltuielilor necesare pentru conceperea, realizarea, implementarea si exploatarea curenta a sistemelor informatice - compararea cheltuielilor cu efectele economice directe si indirecte obtinute in urma implementarii conceperea si realizarea sistemului , presupune: 2. participarea nemijlocita a beneficiarului la conceperea - adoptarea si transpunerea in practica de catre beneficiar a tuturor masurilor cu caracter organizatoric necesar desfasurarii proiectarii si introducerii in exploatare a sistemului - participarea beneficiarului cu specialistii proprii la elaborarea conceptiei si realizarii efective a sistemului informatic - definirea obiectivelor si performantelor viitorului sistem - definirea cerintelor informationale la care urmeaza sa raspunda sistemul - stabilirea si mobilizarea resurselor umane si financiare pentru realizarea siste mului - pregatirea personalului din compartimentele functionale pentru angajarea in activitatea de informatica 3. asigurarea calitatii solutiei adoptate , presupune: - aplicarea celor mai eficiente metode si tehnici de proiectare - specificarea unor caracteristici de calitate care sa fie validate si controlate pe parcursul realizarii sistemului 4. adoptarea de solutii in concordanta cu resursele disponibile , presupune: - corelarea permanenta a proiectarii SI si caracteristicile echipamentelor de tehnica de calcul existente sau prevazute a intra in dotare - integrarea si valorificarea cat mai completa a echipamentelor de calcul de diverse tipuri existente deja in dotarea beneficiarului. Proiectarea sistemelor informatice de gestiune se realizeaza in functie de particularitatile sistemelor de conducere, operational si informational ale fiecarei organizatii. organizatii. În vederea proiect proiectării abordarea sistemică reprezintă cea mai bună soluţie, si are in vedere parcurgerea mai multor etape din aşa numitul ciclu al dezvolt ării de sisteme informatice9, respectiv: 1. Investigarea sistemului -> Studiul de fezabilitate 2. Analiza sistemului existent -> Necesităţile funcţionale 3. Proiectarea sistemelor -> Specificaţiile de sistem 4. Implementarea sistemelor -> Sistemul operaţional 5. Întreţinerea sistemului -> Îmbunătăţirea sistemului
Investigarea sistemului 10 Primul pas în procesul de elaborare este de a investiga sistemele existente. Aceast ă investigaţie poate include studii preliminare ale sistemului informatic propus cu soluţii pentru rezolvarea problemelor ce vor urmări: ⇒
determinarea faptului că există sau nu o problemă;
⇒
elaborarea unui studiu de fezabilitate;
9 Hoffer J.A., George J.F., Valacich J.S., - Modern Systems Analysis and Design, The Benjamin/Cummings Benjamin/Cummings Publishing Company, Inc., Menlo Park, CA, 1996 10 Lungu I., Sabau G., Velicanu M., Muntean M., Ionescu S., Posdarie E. - Sisteme informatice , Editura Economica, 2003
8
⇒
dezvoltarea unui plan de management.
Studiul de fezabilitate este un studiu preliminar care investighează necesarul de informaţii şi determină necesarul de resurse, costuri, avantaje precum şi fezabilitatea proiectului propus. În acest sens, fezabilitatea poate fi: - fezabilitate organiza ţ ional ională – care se canalizeaz ă asupra modului în care sistemul informatic propus atinge obiectivele organiza ţiei; - fezabilitate economică – care pune accentul pe costurile şi beneficiile sistemului propus în relaţie cu osturile dezvoltării şi operării sale; - fezabilitate tehnic ă – care se ocupă de necesităţile de hardware şi software şi de modul în care acestea pot fi achiziţionate în timp; - fezabilitate opera ţ ional ională – ce analizează dacă managerii, angajaţii etc., pot opera, utiliza sistemul propus.
Analiza sistemului existent Analiza sistemelor reprezintă un studiu asupra necesit ăţilor informaţionale ale utilizatorului final. Ea implică studii detaliate asupra: 1. informaţiilor necesare pentru organizaţie şi utilizatorii finali; 2. activităţile, resursele şi produsele existente în cadrul sistemului i nformatic prezent. Premergător elaborării unui nou sistem trebuie f ăcută o analiză a sistemului prezent (manual sau informatic). Aceasta analiză implică studiul activităţilor, resurselor şi produselor. Se mai analizează modul în care sistemul actual utilizează: hardware, software, persoanele, convertirea lor în produse informatice; cum se efectueaz ă introducerea, transmiterea, prelucrarea şi controlul datelor. Proiectarea sistemelor Design-ul sistemului – dacă analiza sistemului descrie ce fel de sistem trebuie folosit pentru îndeplinirea scopului, design-ul sistemului specifică cum sistemul î şi va atinge obiectivele. Design-ul este constituit din specifica ţii utilizate pentru: - dezvoltare de softuri; - achiziţia de hardware; - testarea sistemului; - alte activităţi legate de implementarea sistemului. Totodată, design-ul sistemului are la bază trei activităţi: - designul interfeţei cu utilizatorul; - datele utilizate; - procesul. Design-ul interfe ţ ei ei – se referă la interacţiunea ce va avea loc între utilizatorul final şi program (aplicaţie). Acesta trebuie să fie atractiv şi uşor de utilizat, să poată fi folosite şi alte echipamente de introdus date (de exemplu un scanner). Interfaţa cu utilizatorul are în vedere: - ecranele de afişare; - dialogurile interactive calculator/utilizator; - formulare de introducere a datelor; - documente; - rapoarte; Design-ul datelor – are în vedere structura bazei de date şi a fişierelor ce vor fi utilizate de noul sistem informatic. În acest caz trebuie avut în vedere: - atributele sau caracteristicile entităţilor (obiecte, oameni, locuri, eveniment) prin care sistemul informatic propus - relaţiile ce se stabilesc între aceste entităţi; - specificarea elementelor prin care fiecare entitate va fi urmărită de către SI propus; - stabilirea condiţiilor pentru ca datele utilizate să fie valide. Design-ul procesului – această activitate are în vedere resursele software, adică programele utilizate precum şi procedurile prin care acestea vor fi utilizate de sistem. Astfel, în această etapă, se vor elabora: - specificaţii detaliate de programe şi proceduri; - specificaţii care să întreţină controlul funcţional şi să analizeze performanţele sistemului.
Specificaţiile de sistem - vor fi orientate către: - resursele hardware; - resursele software;
9
- resursele de personal.
Implementarea sistemului Implementarea de sisteme informatice bazate pe computer într-o organizaţie implică, din punct de vedere managerial schimbări majore în procesele comerciale, în structurile organizaţionale precum şi în relaţiile de muncă. Implementarea de sisteme informatice trebuie văzută ca un proces care asigură respectarea planului elaborat. Astfel, procesul de implementare urmăreşte investigarea, analiza şi designul ca etape ale dezvolt ării sistemului. Activităţile principale ale procesului de implementare sunt: 1. Achizi ţ ionarea de software, hardware şi servicii; 2. Dezvoltarea de software; 3. Pregătirea (trainingul) personalului; 4. Elaborarea documenta ţ iei de sistem; 5. Elaborarea sistemului pilot.
Întreţinerea sistemului În general întreţinerea sistemului priveşte testarea, documentarea, trainingul şi alte activităţi legate de ea. 1. Testarea sistemului, i mplică următoarele activităţi: - testarea hardware-ului şi a conexiunilor; - testarea şi modificarea (dacă e cazul) a programelor; - testarea procedurilor de prelucrare a informaţiilor. 2. Documentarea Serveşte ca o metodă de comunicare a personalului responsabil cu dezvoltarea, implementare şi întreţinerea sistemelor informatice. Aceasta e importantă în diagnoza erorilor şi a reparării lor. Documentarea implică: - manuale pentru procedurile operaţionale; - mostre de formulare pentru introducerea datelor; - mostre de rapoarte. 3. Trainingul Este un component vital care serve şte la buna func ţionate a sistemului. Acesta poate include: - pregătirea introducerii datelor - pregătirea procedurilor de lucru - pregătirea personalului în înţelegerea necesităţii sistemului - pregătirea specifică pentru anumite elemente de hardware şi software 4. Între ţ inerea propriu zis ă Este reprezentată de activităţile de monitorizare, evaluare şi modificare operaţională a sistemului prin care se pot face şi unele îmbunătăţiri. Funcţiile de întreţinere includ: - o postimplementare care vine să asigure că sistemul î şi îndeplineşte obiectivele şi corespunde aşteptărilor - efectuarea de corecţii în dezvoltarea sau utilizarea sistemului care include şi o revizuire periodică sau un audit pentru sistem pentru a se asigura c ă sistemul funcţionează corespunzător - efectuarea de schimbări în sistem datorate modificării mediului de afaceri sau a activităţii în general.
10
2.2. Modele ale ciclului de viata al sistemului informatic În timp au fost elaborate mai multe modele ale ciclului de via ţă al SI11, autorii încercând să identifice, în viziune proprie, etapele de dezvoltare a produsului software. Modelele elaborate au cunoscut îmbun ătăţiri permanente încercându-se adaptarea l or la noile cerin ţe ale modelării orientate obiect, precum şi inserarea unor etape specifice managementului proiectelor.
Modelul cascadă Modelul cascadă (Waterfall Model) a fost elaborat de W.W. Royce12 la începutul anilor ’70. Este un model de referinţă în literatura de specialitate caracterizat prin parcurgerea secven ţială a fazelor ciclului de viaţă, faze care la rândul lor sunt formate din activităţi iar acestea din urmă din subactivităţi. Modelul prezintă următoarele avantaje: - controlul total al fazelor, datorit ă modului de ordonare a acestora; - uşor de însuşit de către membrii echipelor de analiză şi proiectare; - fiecare fază se încheie cu o verificare a soluţiei oferite şi asigură o documentaţie prezentând soluţia elaborată. Ca dezavantaje, se pot enumera: - sistemul se predă doar după parcurgerea etapelor anterioare, ceea ce înseamnă o lungă perioadă de timp; - acordă o foarte mare importanţă fazei de analiză; - nu corespunde intențiilor de abordare dinamică a sistemelor; - nu este deschis schimbărilor ce pot interveni pe parcurs; În timp au fost propuse variante îmbunătăţite ale modelului: - modelul cu revenire la pasul urm ător (waterfall model with back flow) - modelul cu reluare de la faza iniţială (“Da Capo” Waterfall Model). În versiuni mai noi ale modelului cascad ă, primele faze grupează activităţi specifice gestiunii proiectului aceste elemente lipsind în modelul iniţial.
Figura 1- Modelul cascad ă
Modelul in V Modelul în V este o variantă a modelului cascadă care aduce elemente calitative noi importante. Un element caracteristic al modelului este introducerea conceptelor de sistem şi componente (subsisteme) aplicându-se teste explicite pentru creşterea controlului asupra modului în care se desf ăşoară etapele. Fazele plasate în partea superioară a modelului se caracterizează prin implicarea directă a viitorului utilizator.
11 12
Digital - A Guide to Use Digital Program Methodology, 1996 Royce W. W., - Managing the Development of Large Systems , Proceeding of WESTCON, CA, USA, 1970
11
Braţul stâng al diagramei, parcurs descendent, reune şte fazele în cadrul c ărora se realizează, pas cu pas, proiectarea şi realizarea sistemului informatic. Detalierea activităţilor de proiectare, codificare şi asamblare a componentelor se realizează gradual. De altfel, Ould, creatorul modelului în forma lui consacrată, a prevăzut doar latura din stânga unde efortul principal de proiectare se focalizeaz ă pe descompunerea sistemului pe componente. Braţul drept al diagramei cuprinde reprezentarea fazelor asigurând asamblarea progresiv ă a componentelor sistemului pe măsura testării lor individuale, până la obţinerea sistemului global şi acceptarea acestuia de către beneficiar. În cadrul modelului se remarcă realizarea distincţiei dintre verificare şi validare. Prima se referă la testarea sistemului în diversele stadii pe care le parcurge, iar validarea urm ăreşte să identifice în ce măsură sistemul corespunde cerinţelor iniţiale, ceea ce constituie un punct slab al modelului datorit ă întârzierii cu care se produce această validare13. Avantajele modelului sunt: - sistemul poate fi livrat şi pe componente independente, realizate la perioade scurte de timp; - proiectul sau sistemul final poate fi realizat de mai multe echipe sau persoane datorită modularizării lui. Dintre dezavantaje pot fi enumerate: - imposibilitatea aplicării lui în toate cazurile, deoarece în unele cazuri nu există elementele necesare descompunerii întregului; - componentele pot fi realizate numai dup ă ce întregului sistem i se defineste arhitectura, ceea ce presupune cunoasterea si formularea cerintelor din faza de început de abordare a sistemul ui; - de fiecare dată când se adaugă o noua component ă, sistemul poate fi considerat unul nou, astfel încât eforturile de integrare a acestora în întreg sunt destul de mari. Modelul în V i-a oferit lui Rumbaugh elementele necesare pentru modelul pe care l-a elaborat în 1991 şi totodată este punct de plecare pentru modelele în W şi X.
Figura 2 - Modelul în V
13
Sommerville I., - Software Engineering, lth Edition , Addison-Wesley, UK, 1989
12
Modelul in W Acest model reia ideea modelului în V pe care îl dezvoltă şi perfecţionează prin integrarea activităţilor de validare la nivelul fazelor de proiectare.
Figura 3 - Modelul W
Modelul incremental Modelul incremental14 este o altă variantă a modelului cascadă care promovează ideea proiectării şi realizării independente a componentelor după definirea arhitecturii globale a SI.. Sistemul va putea fi livrat beneficiarului şi etapizat pe măsura realizării componentelor (în funcţie de priorităţile formulate de beneficiar) dar într-o astfel de abordare pot apărea dificultăţi legate de integrarea componentelor în sistemul final. Din figură se observă faptul că primele două etape – definirea cerinţelor şi analiza – sunt identice cu cele dou ă etape de început ale modelului cascadă, însă din momentul definirii arhitecturii SI fiecare component ă î şi urmează propriul ciclu de viaţă. Spre deosebire de modelul în V care presupunea integrarea componentelor, testarea şi validarea acestuia, de această dată se oferă şi posibilitatea livrării independente a componentelor SI c ătre beneficiar f ără a se exclude şi posibilitatea livrării SI final având toate componentele integrate.
14
Stanciu V. (coordonator) – Sisteme informatice financiar-monetare , ASE, p. 30
13
Modelul spirală Modelul spirală, elaborat de Barry Boehm, se bazeaz ă pe acelaşi principiu ca şi modelul evolutiv. Modelul presupune construirea mai multor prototipuri succesive în condiţiile realizării unei analize a riscului pe fiecare nivel. Fazele de dezvoltare sunt reluate la fiecare itera ţie în aceeaşi succesiune şi presupun: 1. Analiza riscurilor 2. Realizarea unui prototip 3. Simularea şi testarea prototipului 4. Determinarea cerinţelor în urma rezultatelor testării 5. Validarea cerinţelor 6. Planificarea ciclului următor Ultimul ciclu conduce la realizarea versiunii finale a sistemului informatic.
Figura 4 - Modelul spirală În centrul spiralei este plasată cunoaşterea cerinţelor şi estimarea costurilor la nivel preliminar. Evoluţia SI urmează desf ăşurarea spiralei înregistrând acumulări succesive ale costurilor şi este marcată de succesiunea prototipurilor, fiecare dintre acestea valorificând acumulările realizate al nivelul prototipului anterior. Interacţiunea dintre faze nu este reliefată direct atâta timp cât modelul prevede o succesiune continu ă a rafinării legate de decizii pe care riscurile proiectului le asociază cu următoarea detaliere. Modelul evidenţiază atenţia acordată planificării, căutării de soluţii alternative, evaluării riscurilor şi validării soluţiilor pentru fiecare prototip, văzut ca un stadiu distinct în realizarea sistemului informatic. În ingineria software, un prototip este folosit atât pentru validarea cât şi pentru identificarea cererilor utilizatorilor, pentru verificarea soluţiei de proiectare şi a oferi baza dezvoltării ulterioare a proiectului de sistem informatic. Apelarea la utilizarea prototipului este consecinţa faptului că un model funcţional este mai uşor de înţeles de către viitorul utilizator decât un set de diagrame însoţite de documentaţie. Prototipul funcţional presupune proiectarea sistemului, realizarea primului prototip funcţional, verificarea măsurii în care răspunde cererilor formulate de utilizator şi rafinarea acestei prime soluţii, prin dezvoltări viitoare care adaugă noi funcţionalităţi până la obţinerea variantei finale a sistemului.
14
Modelul fântână arteziană Modelul fântână arteziană î şi are izvoarele în modelul spirală (ierarhic) şi modelul vârtej de apă. Porneşte de la cunoaşterea lumii reale, a cerinţelor şi elaborarea studiului de fezabilitate. Se parcurg apoi etapele de: analiz ă, proiectarea sistemului, proiectare component ă, codificare, testare componentă, testare sistem, utilizare, întreţinere, dezvoltare.
Figura 5 - Modelul fântână arteziană În cazul sistemelor informatice realizate pe baza modelelor de proiectare orientat ă obiect (POO) modelul fântână arteziană este preferat modelului cascadă şi acesta datorită necesităţii fuzionării unor etape ale ciclului de viaţă şi creşterii gradului de iteraţie. De această dată se pune accentul mai degrabă pe clase decât pe sistem. Se consideră mai adecvat să nu se aibă în vedere doar întregul sistem la fiecare etap ă a ciclului de viaţă, ci mai degrabă la identificarea claselor ce-şi urmează propriul ciclu de viaţă.
Modelul evolutiv Modelul evolutiv15 porneşte de la realizarea unui studiu iniţial privind obiectivele viitorului SI a cărui arhitectură este definită ulterior. Fiecare componentă astfel definită î şi va urma propriul său ciclu de viaţă (definirea cerinţelor, analiză, proiectare, realizare, testare, utilizare) urmând să fie livrată beneficiarului în momentul finalizării. SI reprezintă ansamblul unor componente în interacţiunea lor, fiind rezultatul unei concep ţii bazate pe arhitecturi deschise şi flexibile. O astfel de abordare este apropiat ă celei orientată obiect caracterizate prin încapsularea datelor şi funcţionalităţii obiectelor. Reprezentarea grafică a modelului evolutiv este influenţată de modelul circular a c ărui caracteristică o reprezintă marcarea unui ciclu complet al SI printr-un cerc.
Figura 6 - Modelul evolutiv
15
Carmichael A.R., Object Development Methods, SIGS Books, New York, 1994
15
Modelul minge de baseball Modelul minge de baseball (dezvoltarea concuren ţială) propus de CODD, Yourdon şi Nicola pleacă de la ideea renunţării la paşii succesivi în realizarea sistemului î n favoarea promovării activităţilor desf ăşurate în paralel. Este vorba de analiza orientată obiect (AOO), proiectarea (design) orientată-obiect (DOO) şi programarea orientatăobiect (POO). Într-o astfel de abordare, AOO ar beneficia de rezultatele DOO şi POO; DOO, beneficiază de rezultatele AOO şi POO, iar POO valorifică rezultatele AOO şi DOO.
Figura 7 – Modelul minge de baseball Modelul pinball Modelul pinball elaborat în 1994 de S.W.Ambler este caracteristic ciclului de viaţă al produselor software realizate cu ajutorul metodologiilor orientate-obiect. Modelul este realizat după principiul deplasării aleatoare a unei bile întrun sistem mecanic cu arc (de tip flipper) în vederea atingerii unor ţinte, reprezentate de obiective ale proiect ării şi programării OO. Tampoanele, obstacolele şi braţele mobile (din partea de jos) aparţinând spaţiului de “joc” corespund următoarelor activităţi: aflarea clasei de apartenen ţă a atributelor şi metodelor, determinarea relaţiilor dintre obiecte, definirea agregărilor, moştenirilor, scrierea codului, testarea, implementarea sist emului.
Figura 8 - Modelul pinball
Modelul RAD Modelul RAD16 (Rapid Application Development), cu varianta sa europeană PD (Participatory Design), se caracterizează printr-un număr redus de faze, utilizarea prototipurilor în faza de realizare şi participarea activă a viitorilor utilizatori. Etapele prevăzute de model sunt: ini ţializare, formularea cerinţelor, proiectare, realizare, implementare.
Figura 9 - Modelul RAD Fiecare din etapele enunţate se descompune în faze prezentând urm ătoarea structură: lucrări preliminarii, sesiunea participativă (la activitatea grupului de specialişti se alătură şi utilizatorii), lucrări de sinteză (concluzii). 16
Martin, J., Rapid Application Development, New York, MacMillan, 1991
16
2.3. Etape de realizare a sistemelor informatice In opinia celor mai multi autori, metodologia de proiectare si realizare a sistemelor informatice se desfasoara prin parcurgerea urmatoarelor etape: 1. identificarea cerintelor si a fezabilitatii sistemului: - determinarea a ceea ce nu functioneaza in vechiul sistem si i dentificarea obiectivelor noului sistem - analize de prefezabilitate tehnica, operationala, economica, juridica si a programarii in timp - stabilirea comitetului coordonator a proiectului noului sistem si a ec hipei de proiectare 2. analiza de sistemului informational existent
-
studierea si documentarea sistemului curent si depistarea problemelor cu care se confrunta colectarea informatiilor despre cerintele noului sistem integrarea cerintelor si realizarea unui model al noului sistem
3. proiectarea conceptuala (de ansamblu) a sistemului
-
realizarea modelului conceptual al noului sistem luarea deciziei asupra modului de realizare a softului de aplicatii descrierea detaliata a noului sistem
4. proiectarea de detaliu a noului sistem
-
proiectarea formularealor si a rapoartelor proiectarea interfetelor si a dialogurilor proiectarea bazelor de date
5. elaborarea si testarea programelor
-
construirea unei versiuni operationale a sistemului
6. implementarea sistemului
-
conversia de la vechiul sistem la noul sistem instruirea utilizatorilor pentru exploatarea noului sistem test final pentru acceptarea noului sistem
7. exploatareasi intretinerea noului sistem informatic
-
punerea in functiune a noului sistem evaluarea performantelor noului sistem si a modului de satisfacere a ceintelor inregistrarea tuturor modificarilor aparute in sistem
17
2.4 Analiza sistemului informational existent
Tehnici de culegere a datelor Analiza sistemului informational existent are scopul de a efectua un studiu complex asupra activitatilor si fluxurilor informationale, a volumului de informatii prelucrate, a ariei de cuprindere a sistemului informational, in vederea stabilirii cerintelor generale ce vor fi asigurate prin intermediul noului sistem informatic. In vederea culegerii cu succes a datelor se recomanda sa se tina seama de urmatoarele principii: - nu se considera nimic cunoscut dinainte - orice informatie trebuie sustinuta prin date certe - nu se porneste cu idei preconcepute in privinte solutiilor de imbunatatirea a sistemului informational contabil - in timpul culegerii datelor nu se elaboreaza solutii - sa se tina seama in permanenta de obiectivele analizei In general, la culegerea datelor colectivul de analiza poate intimpina doua categorii de dificultati: - din partea sistemului (conducatorii compartimentelor cand sunt intrebati in detaliu cu privire la sistemul existent, impotriva aparentelor, de multe ori nu stiu sau mai curand raspund ce cred sau cum ar vrea sa functioneze sistemul pe care il conduc). - din partea analistor din cadrul colectivului de analiza, care pot fi superficiali, slab pregatiti profesional, fara spirit analitic, lipsiti de tenacitate etc. In analiza unui sistemu informational contabil se utilizeaza mai multe procedee sau metode de culegere a datelor: - observarea directa - studierea documentatiei existente - participarea personala la intocmirea activitatilor - inventarierea documentelor sistemului informational - chestionarul - interviul Folosirea unui procedeu nu exclude folosirea concomitenta sau ulterioara si a unui alt procedeu. Alegerea unui anumit procedeu de culegere a datelor depinde de: - complexitatea si particularitatile sistemului informational - aria de cuprindere a acestuia - conditiile de lucru si experienta personalului implicat Observarea directa a activitatilor desfasurate - se realizeaza prin deplasarea analistilor de sistem in compartimentele functionale, pentru a surprinde sfera si particularitatile activitatilor desfasurate de fiecare compartiment. Observarea directa se foloseste pentru o analiza cat mai obiectiva a modului de efectuare a operatiilor de prelucrare, a documentelor utilizate, a timpului necesar realizarii fiecarei operatiuni. Studierea documentatiei existente poate include: bugetem, planuri de conturi, corespondenta firmei, diagramele fluxurilor de date, regulamentul de ordine interioara, regulamentul de organizare si functionare, manuale de referinta si alte materiale privind procedurile manuale si cele executate pe calculator. Participarea la executare activitatilor din sistemul informational consta in executarea efectiva a anumitor lucrari complexe in paralel cu personalul compartimentelor respective. Procedeul permite obtinerea de date certe cu privire la volumul activitatilor si gradul de dificultate in 18
realizarea acestora, inclusiv timpul de raspuns al compartimentelor implicate in rezolvarea lucrarilor cu caracter complex. Inventarierea documentelor utilizate in sistemul informational contabil – consta in identificarea si descrierea tuturor documentelor din sistemul informational. Prin acest procedeu se verifica gradul de utilizare a documentelor tipizate si alte tipuri de documente care se vehiculeaza in sistem. Chestionarul este un procedeu care are la baza o lista de intrebari adresate personalului din compartimentele functionale, pentru a raspunde in scris cu privire la anumite elemente necesare studiului sistemului informational Interviul – consta in studiul sistemului informational prin dialog direct intre analisti si personalul din compartimentele implicate. Acest procedeu este eficient deoarece reprezinta modalitatea principala de investigare a aspectelor pozitive si a neajunsurilor sistemului informational analizat.
In vederea culegerii cu succes a datelor se recomanda sa se tina seama de urmatoarele principii: - nu se considera nimic cunoscut dinainte - orice informatie trebuie sustinuta prin date certe - nu se porneste cu idei preconcepute in privinte solutiilor de imbunatatirea a sistemului informational contabil - in timpul culegerii datelor nu se elaboreaza solutii - sa se tina seama in permanenta de obiectivele analizei In general, la culegerea datelor colectivul de analiza poate intimpina doua categorii de dificultati: - din partea sistemului (conducatorii compartimentelor cand sunt intrebati in detaliu cu privire la sistemul existent, impotriva aparentelor, de multe ori nu stiu sau mai curand raspund ce cred sau cum ar vrea sa functioneze sistemul pe care il conduc). - din partea analistor din cadrul colectivului de analiza, care pot fi superficiali, slab pregatiti profesional, fara spirit analitic, lipsiti de tenacitate etc. In analiza unui sistemu informational contabil se utilizeaza mai multe procedee sau metode de culegere a datelor: - observarea directa - studierea documentatiei existente - participarea personala la intocmirea activitatilor - inventarierea documentelor sistemului informational - chestionarul - interviul Folosirea unui procedeu nu exclude folosirea concomitenta sau ulterioara si a unui alt procedeu. Alegerea unui anumit procedeu de culegere a datelor depinde de: - complexitatea si particularitatile sistemului informational - aria de cuprindere a acestuia - conditiile de lucru si experienta personalului implicat Observarea directa a activitatilor desfasurate - se realizeaza prin deplasarea analistilor de sistem in compartimentele functionale, pentru a surprinde sfera si particularitatile activitatilor desfasurate de fiecare compartiment. Observarea directa se foloseste pentru o analiza cat mai obiectiva a modului de efectuare a operatiilor de prelucrare, a documentelor utilizate, a timpului necesar realizarii fiecarei operatiuni.
19
Studierea documentatiei existente poate include: bugetem, planuri de conturi, corespondenta firmei, diagramele fluxurilor de date, regulamentul de ordine interioara, regulamentul de organizare si functionare, manuale de referinta si alte materiale privind procedurile manuale si cele executate pe calculator. Participarea la executare activitatilor din sistemul informational consta in executarea efectiva a anumitor lucrari complexe in paralel cu personalul compartimentelor respective. Procedeul permite obtinerea de date certe cu privire la volumul activitatilor si gradul de dificultate in realizarea acestora, inclusiv timpul de raspuns al compartimentelor implicate in rezolvarea lucrarilor cu caracter complex. Inventarierea documentelor utilizate in sistemul informational contabil – consta in identificarea si descrierea tuturor documentelor din sistemul informational. Prin acest procedeu se verifica gradul de utilizare a documentelor tipizate si alte tipuri de documente care se vehiculeaza in sistem. Chestionarul este un procedeu care are la baza o lista de intrebari adresate personalului din compartimentele functionale, pentru a raspunde in scris cu privire la anumite elemente necesare studiului sistemului informational Interviul – consta in studiul sistemului informational prin dialog direct intre analisti si personalul din compartimentele implicate. Acest procedeu este eficient deoarece reprezinta modalitatea principala de investigare a aspectelor pozitive si a neajunsurilor sistemului informational analizat.
Studiul sistemului informational existent Studiul sistemului informational existent presupune o cunoastere detaliata a : a) structurii organizatorice a unitatii b) activitatilor si mijloacelor de calcul folosite c) fluxului informational rezultat d) determinarea volumului de date din sistemului informational e) identificarea cheltuielilor de functionare a sistemului informational existent -
a) Studiul structurii organizatorice vizeaza urmatoarele aspecte: cunoasterea obiectivelor activitatii de baza descrierea operatiilor tehnologice, a fluxului de productie determinarea modului de ierarhizare a sectoarelor de productie si a compartimentelor functionale referiri la forma de contabilitate, metode de evidetierea valorilor materiale si cea de calculatie a costurilor
Fiecare compartiment si post din organigrama este privit sub aspectul legalitatii si oportunitatii, al sarcinilor ce-I revin, al functiilor si numarului de personal incadrat, a posibilitatilor de perfectionare a organizarii si functionarii, avand in vedere avantajele prelucrarii automate a datelor. -
b) Studiul activitatilor si a dotarii cu tehnica de calcul vizeaza: natura si specificul activitatilor desfasurate documentele utilizate in cadrul fiecarei activitati si compartimentele functionale implicate dotarea cu tehnica de calcul si gradul de utilizare a acesteia Studierea documentelor utilizate in unitate are in vedere determinarea informatiilor privitoare la: 20
-
felul documentelor utilizate frecventa si termenul intocmirii temeiul legal al emiterii acestora numarul de exemplare utilizate pentru fiecare document stabilirea fluxului informational al fiecarui document daca documentul este sub forma tipizata sau nu ce decizii se iau be baza datelor din document care sunt informatiile din documentele existente care raman nevalorificate ce echipamente de calcul sunt folosite pentru intocmirea fieacarui document determinarea gradului de incarcare a compartimentului cu documente
Analiza are menirea sa puna in evidenta gradul de automatizare a executarii lucrarilor sistemului informational contabil, limitele mijloacelor de calcul folosite si posibilitatile de integrare a acestora in sistemele de calcul mult mai evoluate. -
c) Studiul fluxurilor informationale are ca obiective: sa stabilieasca activitatile in detaliu si circulatia privind fiecare fel de document si exemplar, de la aparitia (emiterea) lui pana la arhivare sa stabileasca compartimentele implicate in emiterea documentelor, prelucrarea datelor si valorificarea rezultatelor prelucrarii datelor prezentarea intr-o forma grafica cat mai sugestiva, uzand de semne conventionale, a prelucrarilor la care sunt supuse datele din documente in cadrul compartimentelor unde circula identificarea deficientelor de circulatie a documentelor (fluxuri informationale paralele, inutile, stationari prelungite in cadrul compartimentelor), pentru a fi eliminate din sistemul informational determinarea gradului de utilizare a documentelor tipizate verificarea oportunitatii datelor din documentele utilizate, in scopul precizarii datelor neutilizate, nevalorificate in totalitate sau neincluse in continutul documentelor determinarea gradului de incarcare si solicitare a fiecarui compartiment implicat in cadrul functionarii intregului sistem integrarea sistemului informational specific cu alte sisteme informationale externe
d) Studiul volumului datelor in sistemul informational contabil Informatiile pentru stabilirea volumului de date din sistemul informational contabil se culeg odata cu studiul documentelor si al circulatiei acestora. Analiza volumului datelor se realizeaza prin intocmirea unui tabel cuprinzand elementele cantitative de date despre fiecare document cum ar fi: - denumirea documentului - frecventa intocmirii - nr. maxim si mediu de documente intocmite pe perioada frecventei - nr. mediu de randuri completate pentru fiecare fel de document pe perioada frecventei - nr. de exemplare pentruu fiecare fel de document - evolutia probabila a numarului mediu din fiecare fel de document in urmatorii 5 ani Concomitent cu descrierea acestor documente se vor urmari si sistemul de coduri utilizat in unitate pentru a fi preluate in viitorul sistem informatic, facand astfel sa existe o compatibilitate a datelor preluate. Analiza documentelor sub aspectul volumului de date, corelata cu numarul de posturi din statul de functiuni sau cu acela al personalului efectiv incadrat pe compartiment, permite se se puna in evidenta : volumul de ansamblu al documentelor, al datelor continute, exprimat in numa de randuri (inregistrari, articole) volumul de munca necesar 21
gradul de incarcare-solicitare a personalului incadrat gradul de folosire a tehnicii de calcul
Pe baza evaluarilor facute prin studierea volumului datelor din sistemul informational, echipa de analiza poate formula recomandari privind: - tipul configuratiei echipamentelor de calcul necesare viitorului sistem informatic - numarul si capacitatea unitatilor periferice , etc. e) Studiul costurilor de functionare a SIC – asigura determinarea categoriilor de cheltuieli efectuate in scopul comensurarii efortului financiar al unitatii pentru intretinerea sistemului.
2.5. Structurarea cerintelor sistemului. Modelarea proceselor Toate metodologiile folosite in realizarea unui sistem apeleaza la operatiunea de modelare logica a datelor si a prelucrarilor sub forma diagramelor fluxurilor de date (DFD). Scopul diagramelor fluxurilor de date (DFD), pentru o anumita componenta organizatorica sau functionala (sectie, birou, compartiment, intreaga unitate, o anumita activitate – vanzari, cumparari, incasari, plati etc) este de a scoate in relief urmatoarele aspecte: - sursa datelor de prelucrat - operatiunile de prelucrare prin care trec datele - destinatia datelor prelucrate - legatura existenta intre prelucrari si activitatea de memorare a datelor Diagrama fluxurilor de date poate fi utilizata in doua moduri: pentru documentarea unui sistem existent sau pentru schitarea unuia in curs de proiectare. DFD pot fi clasificate in : - Diagrame de context - Diagrame ale fluxului de date logic - Diagrame ale fluxului de date fizic In practica cele mai multe produse de proiectare automata a sistemelor informatice (produsele CASE), apeleaza la doua tehnici de construire a DFD: Gane&Sarson si Yourdon & DeMarco. Aceste tehnici, in general, folosesc patru simboluri de baza pentru a reprezenta sistemele informationale si anume :
Obiect
Simbolul Gane & Sarson Patrat ingrosat
Simbolul Yourdon & DeMarco Patrat
Sageata
Sageata care poate lua diverse forme Linii paralele
Entitate externa
Flux de date
Loc de memorare / pastrare Proces (prelucrare)
Dreptunghi deschis la dreapta Dreptunghi cu colturi rotunjite
Cerc
22
a) Diagrama de context este diagrama de pe cel mai inalt nivel al sistemului informational, prin care se descriu fluxurile datelor in si din sistem, din si spre entitatile exte rne sistemului analizat.
Plata
CLIENT Depunere Proces de incasare
BANCA Fig. 4.1. Descrierea activitatii de incasare a unui client
Entitatile externe cele mai relevante: Client si Banca Fluxurile de date ale sistemului cu mediul sau: Plata si Depunere b) Diagrama fluxului de date logice (DFDL) este o reprezentare simbolizata a unui sistem, prin care se evidentiaza procesele sistemului, precum si intrarile sau iesirile de date in/din procese. Prin ea se reprezinta ce activitati efectueaza sistemul, fara sa specifice cum, unde sau de catre cine sunt executate activitatile.
DFDL pentru exemplul anterior ar putea arata astfel: Plata
CLIENT
Validare incasari Incasare
Depunere Pregatire depunere bani
Contabilizare Inregistrare vanzare
Jurnal_vanzari
Fig. 4.2 DFDL incasare client
23
BANCA
Dupa cum se observa, din aceasta diagrama nu putem sti cum este efectuata "plata", sub forma de cec, bani lichizi ? etc. c) Diagramele fluxului de date ale sistemului fizic – sunt o reprezentare schematica a sistemului prin care sunt scoase in evidenta entitatile interne si externe ale sistemului, precum si fluxul datelor in si din aceste entitati. O entitate interna poat fi o persoana, un loc (sectie, compartiment) sau un echipament (calculator) din sistem cate contribuie la transformarea datelor. Din aceasta cauza diagrama fluxului de date fizice (DFDF) specifica unde, cum si de cine este realizat acest proces al sistemului.
Bani
CLIENT
Monetar + Bani Vanzator
Casier
Contabilitate
Foaie de varsamant + Bani
BANCA Registru de casa
Jurnal_vanzari
Fig. 4.3. DFDF incasare client
In DFDF cercurile definesc entitatile interne. In figura de mai sus : Client Plateste la Vanzator Vanzator Jusitificare-Vanzari la Casier etc. Deci, se observa unde merg banii si cum sunt pastrate informatiile privind incasarile, dar de exemplu, nu stim cu exactitate ce face Vanzatorul.
Concluzie: a. DFDL permit reprezentarea activitatilor sistemului, in timp ce DFDF descriu infrastructura sistemului, ambele fiind necesare pentru intelegerea completa a sistemului. b. DFD nu scot in evidenta factorul timp. De exemplu, nu rezulta daca un flux de date apare constant, cu repetitie zilnica, saptamanala sa.m.d. De asemenea, nu reiese ca un proces este executat intr-un moment sau altul. Aceste aspecte pot fi evidentiate prin intermediul diagramele starilor de tranzitii.(DST). DST – reliefeaza modul in care procesele unei diagrame a fluxului de date si stari diferite in timp ale aceluiasi proces sunt ordonate in timp. DST sunt forme de redare a logii folosite indeosebi in analiza si proiectarea orientata-obiect. c. Procesul de descompunere a analizei unui sistem este foarte subiectiv. El poate inceta in orice moment, dar poate fi reluat si ulterior daca se considera utila descompunerea, o importanta deosebita avand-o DFD logice. d. Atunci cand se intentioneaza realizarea unor diagrame ale fluxurilor de date mai complexe, se recomanda ca inainte de demararea procesului de construire a diagramei, sa se inceapa cu crearea unei liste a entitatilor externe si a intrarilor/iesirilor cu aceste entitati.. e. Prin analiza DFD finale pot rezulta urmatoarele concluzii : - fluxuri de date redundante 24
- date care intra in prelucrari, dar nu sunt folosite - date ce sunt actualizate identic in mai multe locuri. f. Diagramele fluxului de date prezinta atat datele stocate in sistem, cat si procesele de prelucrare prin care trec acestea, indicand relatiile existente intre datele sistemului si procesele de prelucrare.
4.4. Tehnica Yourdon & DeMarco Tehnica Yourdon & DeMarco sugereaza ca un sistem sa fie reprezentat prin urmatorul set de diagrame: - o diagrama de context - se recomanda ca nici o diagrama sa nu cuprinda mai mult de 7 procese de prelucrare (cercuri) - o diagrama de nivel 0 indicand principalele subsisteme ale sistemului - pana la 7 diagrame de nivel 1, indicand principalele functii (aplicatii) ale fiecarui subsistem - pana la 49 de diagrame de nivel 2, indicand detaliile fiecarei functii sai ale fiecarei aplicatii Ex. Diagrama de context pentru procesul de vanzare-cumparare: CLIENTI
Comenzi
Comenzi
Documente
Prelucrare stocuri vanzari si cunmparari de marfuri
BANCA
FURNIZORI
Date vanzari
MANAGEMENT
Diagrama fluxurilor de date pentru vanzarea produselor PRODUSE
Date Comen Clienti
Prelucrare comenzi
Date vanzari
VANZARI
25
2.6 Implementarea sistemului informatic Obiectivele pe care trebuie sa le realizeze implementarea unui sistem informatic fac ca momentul punerii in functiune sa se identifice cu momentul trecerii in exploatare a sistemului. Orice intrerupere a mentinerii in exploatare dupa momentul punerii in functiune, inseamna nereusita acestei actiuni. Sunt unele metodologii care recomanda punerea in functiune a noului sistem informatic in paralel cu vechiul sistem de prelucrare a datelor. Este evident ca, in asemenea cazuri, obiectivul urmarit nu este acela de punere in functiune, ci este acela de experimentare a noului sistem. Implementarea sistemului informatic proiectat depinde de modul in care beneficiarul asigura conditiile de punere in functiune. Acesta activitate presupune:
B. Instruirea personalului utilizator A. Difuzarea instructiunilor de executare a procedurilor mnuale si automate
C. Asigurarea conditiilor organizatorice D. Asigurarea resurselor
Asigurarea conditiilor de implementare
E. Asigurarea fondului informational
A. Difuzarea instructiunilor de executare a procedurilor manuale si automate Aceste instructiuni se pot grupa astfel: instructiuni pentru beneficiar - au rolul de a da posibilitatea beneficiarului sa cunoasca procedurile manuale si automate ce trebuie sa le execute. Ele cuprind: - prezentarea succinta a aplicatiei si a fluxurilor informationale - prezentarea noilor documente proiectate si a instructiunilor de completare aferente - prezentarea situatiilor de iesire (listelor, ecranelor), a modului de folosire si interpretare a acestora instructiuni pentru unitatea de prelucrare. Ele cuprind: - modalitatile de prezentare si receptie a documentelor primare si a situatiilor cu rezultate finale - modalitatile de pregatire si verificare a purtatorilor tehnici de informatii precum si de corectare a erorilor aferente - modalitatile de operare pe parcursul fluxului de prelucrare si de interventie in cazul unor incidente ce pot apare in timpul executiei programelor. •
•
B. Instruirea personalului utilizator, presupune: sensibilizarea beneficiarului in probleme de informatica - urmareste sa aduca la cunostinta avantajele folosirii tehnicii de calcul precum si noua disciplina informationala impusa. Aceasta se poate face prin cursuri de initiere de scurta durata organizate de proiectant la sediul acestuia sau la sediul beneficiarului. atragerea personalului cu putere de decizie in activitatea de implementare - este garantia asigurarii la timp si integrale a conditiilor necesare implementarii, lucru ce va duce implicit la incadrarea acestei etape in termenele stabilite de proiectant pregatirea psihologica a personalului unitatii beneficiare - are drept scop convingerea acestuia ca introducerea tehnicii moderne nu urmareste reducerea personalului ci usurarea muncii acestuia, preluarea unei parti din personal in activitati de informatica si reorientarea altei parti in activitati utile unitatii. Acest lucru va da posibilitatea crearii unui climat favorabil implementarii solutiei proiectate. •
•
•
26
Pregatirea utilizatorului consta in instruirea acestuia cu privire la: - noile modele de documente de intrare, regulile de completare si de utilizare a acestora, inistandu-se asupra necesitatii completarii clare, precise, fara ambiguitati a tuturor rubricilor din documente - modalitatile de verificare si de transmitere a documentelor, atributiile fiecarei persoane in completarea si verificarea documentelor de intrare - utilizarea corecta a codurilor - descrierea continutului informational al situatiilor de iesire, analiza si folosirea acestora pentru luarea deciziilor, modul de interpretare a rezultatelor si a mesajelor. C. Asigurarea conditiilor organizatorice necesare Conditiile organizatorice ce trebuie asigurate implementarii noului sistem se refera in primul rand la asigurarea transpunerii in practica a modificarilor organizatorice preconizate in etapa de proiectare, la lansarea efectiva a documentelor proiectate si la instituirea noilor fluxuri informationale. In al doilea rand se refera la constituirea nucleului de informaticieni in cadrul unitatii beneficiare, nucleu ce trebuie format inainte de inceperea proiectarii si implementarii si apot dezvoltat cantitativ si calitativ pe parcursul realizarii sistemului informatic. O alta problema care permite o buna organizare a implementarii este planficarea activitatilor specifice acestei etape, lucru ce se poate face cu ajutorul unor grafuri Grantt, a metodei A.D.C. (analizei drumului critic), PERT. D. Asigurarea resurselor hard , se poate realiza in trei moduri: prin dotarea unitatii beneficiare cu unul sau mai multe sisteme de calcul prin perfectarea accesului la o unitate de informatica pentru un anumit numar de orecalculator printr-o solutie mixta, care presupune rezolvarea unot probleme de volum mic in cadrul unitatii, iar pentru problemele mai complexe sa se apeleze la capacitatea unei unitati de informatica cu o dotare corespunzatoare, lucrandu-se eventual in regim de tele prelucrare. • •
•
O alta conditie este asigurarea unui spatiu corespunzator desfasurarii activitatii nucleului de informatica, care sa permita realizarea unor lucrari de calitate, asigurarea integritatii, securitatii si confidentialitatii fondului de date manipulat, precum si asigurarea multiplicarii documentelor primare reproiectate in concordanta cu prevederile proiectului tehnic de detaliu, a instructiunilor de completare si utilizare aferente. De o deosebita importanta este de asemenea asigurarea materialelor consumabile specifice functionarii sistemelor informatice. E. Asigurarea fondului informational Presupune pregatirea datelor reale si incarcarea fisierelor sau bazei de date in vederea testarii si punerii in functiune a noului sistem, pregatire ce se face prin: - constituirea fisierelor sau entitatilor bazei de date, prin culegerea fondului informational necesar si stocarea a cestuia pe purtatori tehnici de informatie. Pentru aceasta va fi necesara, in prealabil, o ampla munca de colectare, ordonare, codificare, incarcare si validare a datelor. - preluarea partiala sau integrala a datelor dintr-o serie de fisiere deja create, cu ajutorul unor programe de conversie a fisierelor. Executarea procedurilor de conversie se aplica atunci cand exista deja un sistem informatic sau aplicatii informatice in functiune, ce trebuiesc inlocuite. De asemenea, conversiile se impun atunci cand prin realizarea si implementarea esalonata in timp a componentelor noului sistem informatic, pentru realizarea legaturilor functionale dintre acestea, sunt necesare proceduri de conversie cum ar fi: conversii de fisiere, conversii de programe sau conversii de proceduri.
27
2.7 Strategii de implementare a sistemelor informatice Strategiile de implementare urmaresc gasirea celor mai adecvate cai, metode, proceduri fata de conditiile si situatiile concrete existente, pentru realizarea obiectivelor de realizare si utilizare a sistemelor informatice. Dintre variantele de solutii posibile pentru punerea in functiune a unui sistem informatic, pot fi mentionate: a) punerea in functiune simultana a tuturor componentelor sistemului informatic si pe intreaga lui sfera de actiune. O asemenea solutie se recomanda in cazul unor sisteme de o complexitate mai redusa sau in cazurile cand sistemele informatice respective nu pot functiona prin punerea in functiune esalonata a componenetelor sistemului informatic. b) punerea in functiune simultana a tuturor componentelor sistemului informatic, dar cu esalonarea in timp in ceea ce priveste sfera de cuprindere. Se aplica de regula la sistemele informatice generalizabile pe un numar mai mare de unitati. Punerea in functiune a sistemului respectiv la toate unitatile prevazute se poate esalona pe o perioada mai mare, in funcite de numarul unitatilor si de posibilitatile de asigurare a conditiilor si resurselor necesare. c) punerea esalonata in functiune a componentelor sistemului informatic. Aceasta varianta se aplica in cazul sistemelor informatice complexe, in functie de criteriile care stau la baza stabilirii prioritatilor in esalonarea punerii in functiune a diferitelor componente a sistemului informatic. Perioada de esalonare a punerii in functiune a unui sistem informatic complex este determinata intr-o mare masura de dimensiunea, calitatea si modul de alocare a resurselor financiare, umane si materiale pentru proiectarea si darea in exploatare a acestor sisteme.
Alegerea momentului punerii in functiune Momentul punerii in functiune a unei componente a unui sistem informatic corespunde datei cand prima sa aplicatie informatica se da in functiune. Declansarea momentului punerii in functiune se plaseaza in zona operatiilor de culegere, inregistrare si transmitere a datelor, corespunzand astfel debutului ciclului de operatii tehnologice ale a plicatiei. Momentul punerii in functiune trebuie sa corespunda cu inceputul unei perioade (ciclu) semnificativ din activitatea unitatii respective (inceput de an calendaristic, introducerea unei noi forme de organizare, lansarea in productie a unei noi tehnologii etc.) Inainte de activitatea de punere in functiune trebuie sa se asigure o perioada de timp corespunzatoare cerintelor de indeplinire a conditiilor de pregatire calitativa a momentului punerii in functiune. Momentul punerii in functiune se alege si in functie de posibilitatea de pregatire a categoriilor de personal in realizarea noilor sarcini. Activitatile de punere in functiune a noului sistem sau a unei componente nu reprezinta inlocuirea unui sistem informational, ci ea are si sarcina dificila de a inlocui si unele conceptii depasite cu privire la rolul, locul si calitatea acestui sistem. Aceste activitati in mod aproape inevitabil, reprezinta o confruntare directa intre “nou” si “vechi”. Pentru exploatarea sistemului se pot folosi mai multe procedee: - functionarea concomitenta atat a sistemului manual existent cit si a sistemului automat proiectat - experimentarea sistemului proiectat pe baza datelor provenite din perioade precedente - inlocuirea directa a sistemului existent cu cel proiectat a) Functionarea in paralel atat a sistemului manual existent cat si a sistemului proiectat cuprinde o perioada de cca 1-3 luni in care se verifica si se compara rezultatele obtinute de sistemul de prelucrare automata a datelor si de catre sistemul existent. Renuntarea la sistemul manual se va
28
face numai dupa ce intregul lant de programe a fost executat fara incidente si fara erori, de mai multe ori. Cu toate ca functionarea in paralel este mai dificila si mai costisitoare, implicand eforturi mai mari, este totusi mai eficienta deoarece permite sa depisteze unele erori si anomalii de la cadrul proiectat. Printre cauzele care conduc la aparitia erorilor se mentioneaza: - intocmirea necorepunzatoare a documentelor de intrare - atribuirea incorecta a codurilor - erori de programare - utilizarea necorespunzatoare a programelor Avantaje: - asigura eliminarea eventualelor erori exitent fara ca aceasra sa impiedice desfasurarea normala a activitatii beneficiarului - evidentiaza cauzele generatoare de erori - verifica si compara in permanenta rezultatelel celor doua sisteme - realizeaza actualizarea si intretinerea bazei de date in ambele sisteme - organul de decizie poate folosi informatiile sistemului existent pana cand noul sistem informatic intra definitiv in functiune b) Experimentarea sistemului proiectat folosind date provenite din perioade precedente prezinta aceleasi avantaje ca procedeul anterior. In plus, evita aglomerarea excesiva a personalului, in perioadele de varf si nu are timpul de executie limitst in raport cu perioada pentru care se face experimentarea c) Inlocuirea imediata (directa) a sistemului existent cu cel proiectat poate fi aplicata numai in situatii deosebite, in functie de volumul si importanta problemei, de marimea unitatii beneficare si de masurile organizatorice intreprinse. Etapa de implementare a sistemului informatic se finalizeaza atunci cand noul sistem functioneaza in conformitate cu cerintele stabilite prin proiect, atunci cand se realizeaza corelarea procedurilor manuale si automate, se completeaza corect documentele de intrare, se obtin in timp util informatiile dorite pe toate nivelele de conducere, se atinge ritmul de exploatare si se obtin performatenle scontate. Etapa de implementare nu poate fi considerata incheiata daca nu se definitiveaza intreaga documentatie a proiectului. Aceasta presupune definitivarea atat a manualelor de prezentare cat si a celor de utilizare si exploatare. Lucru impus de necesitatea realizarii unei concordante depline intre sistemul proiectat si documentatia sa.
2.8. Exploatarea si intretinerea sistemelor informatice Activitatile de exploatare si intretinere a sistemului informatic pus in functiune, urmaresc asigurarea realizarii continue a parametrilor tehnici, economici si functionali ai sistemului respectiv, in concordanta cu proiectul elaborat si cu dinamica cerintelor activitatii de conducere si operative din unitatea respectiva. Acestor activitati le revine sarcina de realizare a exploatarii curente si a consolidarii functionarii sistemului informatic pus in functiune pe intreaga perioada pentru care s-a preconizat a fi utilizat, perioada care se inscrie intr-un ciclu. Acest ciclu de viata al sistemului informatic, este determinat de frecventa perfectionarilor de fond in domeniul tehnicii de calcul, precu, si in domeniul evolutiei produselor program. Totodata, acest ciclu corespunde si cerintelor de perfectionare a metodelor si tehnicilor utilizate in activitatile de conducere din unitatile economico-sociale. Activitatile de exploatare si intretinere se pot grupa astfel: - activitati de exploatare - activitati de intretinere 29
-
activitati de inregistrare a cerintelor de reproiectare
Activitatile de exploatare se concentreaza in principal asupra executiei curente a operatiilor de culegere, transmitere, validare, prelucrare, vizualizare a datelor, prin respectarea stricta a instructiunilor tehnice de lucru. Ele vizeaza responsabilitatea utilizatorului si a personalului din informatica in exploatarea sistemului informatic. Activitatile de intretinere a sistemului informatic se refera atat la realizarea constanta a parametrilor sistemului proiectat si aflat in exploatare, cat si la introducerea in sistem a unor perfectionari curente, care conduc la ridicarea nivelului parametrilor tehnico-functionali si economici ai sistemului respectiv. Activitatile de inregistrare a cerintelor de reproiectare a sistemului informatic in functiune vizeaza pregatirea trecerii la reproiectare, respectiv la un nou ciclu de parcurgere a etapelor de realizare a sistemelor informatice. Dintre sarcinile avute in vedere la exploatarea si intretinerea sistemului informatic pot fi mentionate: - organizarea si urmarirea executiei operatiilor de actualizare a fisierelor si/sau a bazelor de date la momentele stabilite, operatii de importanta deosebita pentru mentinerea in functiune a sistemului informatic - imbunatatirea continua a calitatii datelor, reducerea timpului de raspuns a sistemului si reducerea costurilor pe unitate de informatie prelucrata si valorificata - introducerea perfectionarilor in tehnologia de prelucrare automata a datelor - organizarea si intretinerea arhivelor de date inregistrate pe suporti magnetici - asigurarea reviziilor tehnice si reparatiilor echipamentelor de prelucrare a datelor Practica demonstreaza ca neglijarea activitatilor de mentinere in functiune, intretinere si dezvoltare a sistemelor informatice implementate, conduce la inregistrarea unei scaderi constante dupa momentul punerii in functiune, mergand uneori pana la nivelul de periclitare a functionarii sistemului. In momentul in care se ajunge ca perfectionarile ce se impun in cadrul sistemul informatic sa afecteze o buna parte a sistemului in functiune, cand ele sunt mai generale ca sfera de actiune si mai radicale din punct de vedere al tehnicilor si procedeelor utilizate, inseamna ca s-a ajuns la o situatie conflictuala intre cerinte si existente si se cere o reproiectare a intregului sistem, o trecere evidenta la un nou ciclu de perfectionare. Perfectionarile curente ce se cer a fi aduse sistemului informatic in functiune nu trebuie sa afecteze solutiile tehnice si organizatorice de fond prevazute de catre proiectul initial, ci sa le completeze, sa le perfectioneze.
30
Capitolul 3. Metodologii de analiza si proiectare a sistemelor informatice Exista mai multe metode de abordare privind realizarea sistemului informatic. In mod general, ele pot fi grupate astefel: - metode empirice, nefundamentate sistemic - metode sistemice, orientate spre sistem: - metoda descompunerii functionale - orientate spre functii - metode ale fluxurilor de date - orientate spre procese - metoda analizei informationale - orientate spre date, bazate pe diagramele entitate-relatie. - metode orientate-obiect - metode orientate agent
3.1.Metodele sistemice - propuse si utilizate in anii 1980 - se bazeaza pe aplicarea teoriei sistemelor in analiza intreprinderii - sistemul informational/informatic este abordat prin prisma datelor si prelucrarilor , care sunt studiate si modelate independent si reunite cat mai tarziu cu putinta - acorda prioritate datelor fata de prelucrari a) Metoda descompunerii functionale (orientate-functii) presupune descompunerea fiecarei functii in subfunctii, pana cand se obtin forme usor de transpus in intructiunile limbajelor de programare. Conceptele au fost introduse mai intai in programarea structurata si apoi in proiectare, urmate de analiza. Dintre autorii remarcabili care au abordat descompunerea functionala enumeram pe: DeMarco, Yourdon, Constantine, Jakson, Warnier. b) Metoda fluxurilor de date (orientate-proces) are un mare grad de asemanare cu descompunerea functionala si este deseori descrisa ca “analiza structurata”. Prin aceasta metoda sunt definite cu claritate evenimentele din lumea reala la care sistemul trebuie sa raspunda si interactiunile dintre utilizator si sistem. De asemenea, sunt descrise incluse fluxurile datelor si transformarile la nivel inferior prin intermediul dictionarului de date, respectiv al specificatiilor de procese.
Ex. Diagrama fluxurilor de date pentru vanzarea produselor foloseste liniile pentru reprezentarea fluxurilor de date si a cercurilor pentru procese.
PRODUSE Date despre produse
Comenzi vanzare
Prelucrare comenzi
Clienti
Date vanzari
VANZARI
c) Metode orientate spre date presupune sa se identifice obiectele lumii reale si apoi descrierea lor cu ajutorul atributelor. Aceasta metoda are la baza modelarea datelor cu ajutorul diagramelor entitate-relatie (Peter Chen 1976).
3.2. Metodele orientate obiect Metodele de analiza si proiectare orientate obiect au aparut dupa anul 1990 preluand cele mai bune idei ale programarii structurate pe care le-a combinat cu concepte noi. La 17 noiembrie 1997, OMG (Object Management Group - un consortiu american format din peste 800 de companii ce produc si distribuie aplicatii la orientate obiect) a hotarat unificarea celor mai utilizate si mai apreciate metode de analiza si proiectare, prin realizarea unui standard in domeniul construirii sistemelor software, respectiv a unui LIMBAJ DE MODELARE UNIFICAT - UML (Unified Modeling Language). 31
Limbajul de modelare unificat (UML) utilizeaza simbolisitici grafice in simbioza cu adnotarile textuale care conduc la: - o intelegere mai rapida si completa a domeniului problemei - schimbarea instantanee a nivelului de abstractizare a prezentarii cu ajutorul instrumentelor - automatizarea activitatilor In cadrul metodelor orientate obiect, sistemul informatic este perceput ca o structura de obiecte autonome, ce se organizeaza si coopereaza intre ele. Un obiect este o abstractizare a datelor elementare si poate fi descris astfel: Obiect = Identitate + Comportament + Stare Datele si prelucrarile prin care este implementat comportamentul obiectului sunt incapsulate si sunt inaccesibile celorlate obiecte. De asemenea, fiecare obiect poate participa la compunerea altor obiecte mai complexe. Un obiect apartine unei clase, iar o clasa este o grupare logica a obiectelor care au aceeasi structura si un comportament similar. In incheiere, ii citam pe autorii James Martin si James Odell, care in lucrarea Object-Oriented Methods: A Foundation, spunea “Exista multe metode de realizare a sistemelor, ele vor exista intotdeauna si trebuie sa existe intotdeauna. Diferite activitati pot avea caracterisitici diferite care sa necesite moduri diferite de abordare. Provocarea consta in selectia si integrarea acestor metode”.
3.3. Metode orientate agent Metodologiile orientate agent şi tehnicile de modelare aferente au devenit o prioritate pentru dezvoltarea sistemelor multiagent. În ultimii ani au fost propuse numeroase metodologii pentru proiectarea sistemelor orientate-agent: Kendall ş.a. (1995), Burmeister (1996), Kinnz şi Georgeff (1996), Brazier (1997), Drogoul şi Zucker (1998), Lind (2000), Odell (2000), Wooldridge (2000), Shehorz şi Sturm (2001), DeLoach (2001), Bresciani (2002), Wagner (2002), Burrafato şi Cossentino (2002), Padgham şi Winikoff (2002). Multe din metodologiile orientate-agent existente nu sunt încă finalizate pentru a fi utilizate efectiv în industria dezvoltării software: ele au r ămas încă în sfera cercetării sau sunt destinate numai proiectării unui unor agenţi specifice, sau nu sunt descrise cu detalii suficiente. Dintre metodologiile care au fost considerate complete de c ătre specialişti - sunt descrise în detaliu, oferă instrumente de sprijin în proiectare – se numără metodologiile MaSE (DeLoach, 2001), Tropos (Bresciani, 2002), Gaia (Wooldridge, 2000) şi PASSI (Burrafato şi Cossentino, 2002), Prometheus (Padgham şi Winikoff, 2002).
32
Metodologia Prometheus, elaborată de Lin Padgham şi Michael Winikoff [PadgWini04] în colaborare cu compania Agent Oriented Software (http://www.agent-software.com), defineşte în detaliu procesele pentru specificarea, proiectarea, implementarea şi testarea sistemelor software orientate-agent. Metodologia constă din trei faze principale : 1. specificarea sistemului – se concentrează pe identificarea obiectivelor şi funcţiilor de bază ale sistemului, a intrărilor (percepţiilor) şi ieşirilor (acţiunilor); 2. proiectarea arhitecturii sistemului – utilizează rezultatele fazei anterioare pentru a determina ce tipuri de agen ţi va conţine sistemul şi cum aceştia vor interacţiona; 3. proiectarea detaliat ă a sistemului – urmăreşte arhitectura internă a fiecărui agent şi cum va reacţiona acesta în cadrul sistemului pentru îndeplinirea obiectivelor stabilite.
33
Capitolul 4. FUNDAMENTELE SISTEMELOR MULTIAGENT 4.1. Concepte şi caracteristici ale agenţilor Tehnologia agenţilor reprezintă o nouă paradigmă pentru conceptualizarea şi dezvoltarea sistemelor informatice, care astăzi î şi găseşte aplicaţii în diverse domenii de activitate: industria energetică, aeronautică, robotică, psihologie, comerţ electronic, financiar-contabil, instruire interactivă, medicină etc. Tehnologia agent î şi are originea la începutul anilor 1980, când companii ca Apple şi Hewlett-Packard au promovat dezvoltarea sistemelor pentru automatizarea secvenţelor de comenzi folosite frecvent de cãtre utilizatori. Caracteristica principalã a acestor sisteme a fost caracterul lor de programe de independente, capabile de a solu ţiona sarcini ce pãreau a fi de competenţã pur umanã. Cercetările din domeniu au reuşit să treacă de la abordările pur teoretice la aplicaţii concrete ce utilizează tehnologia agent: comerţul electronic, managementul reţelelor de telecomunicaţii, modelarea şi optimizarea traficului de călători şi de marf ă, coordonarea traficului aerian, regăsirea informaţiilor în mediul Internet, optimizarea proceselor de producţie industrială, jocuri virtuale pe calculator, proiectări de aplicaţii tehnice, simulări de fenomene sociale şi multe altele. Originea tehnologiei agent este înr ădăcinată în ştiinţa inteligenţei artificiale, care are ca obiectiv explorarea bazelor sociologice şi psihologice şi dezvoltarea acelor mecanisme, metode şi echipamente capabile de comportament inteligent, care să permită sistemelor (agenţilor) să interacţioneze la fel ca oamenii, în scopul rezolvării unor probleme complexe. Eterogenitatea celor implicaţi direct în cercetarea şi crearea de aplicaţii orientate agent, a împiedicat pânã acum apariţia unei definiţii unice pentru conceptul de „agent software", sau „agent inteligent". Termenul de agent derivă din limba latină, provenind de la participiul verbului agere – a conduce, a interpreta, a face. Conform dicţionarului Collins English Dictionary, termenul de agent se referă la “o persoană, care acţionează sau este capabilă să acţioneze sau este împuternicită să acţioneze pentru altcineva”. Oxford Dictionary defineşte agentul ca fiind “o persoană ce acţionează în numele cuiva”, “o persoan ă sau companie care acţionează ca un broker şi oferă un serviciu specific”. Conform Dicţionarului Explicativ al Limbii Române, un agent este un „reprezentant al unei instituţii, organizaţii, etc. care îndeplineşte anumite însãrcinãri"; sau un „factor activ, eficient, care provoacã diverse fenomene fizice, chimice, etc." [DEX]. Definiţia unui agent scoate în evidenţă două atribute cheie ale acestuia: (i) un agent execută sarcini şi (ii) un agent acţionează în numele cuiva. Aceste caracteristici au stat la baza definirii agentului software ca fiind acea entitate de calcul, care execută autonom activităţile ordonate de un anumit utilizator. Orice agent are un proprietar, care îi stabileşte obiectivele de realizat şi îi asigură implementarea într-un anumit mediu. Pentru a putea acţiona în acel mediu agentul trebuie să deţină acea arhitectură care să-i permită înţelegerea mediului respectiv, să-l perceapă şi să acţioneze asupra acestuia (figura nr. 4.1).
Figura nr. 4.1 Arhitectura abstract ă a unui agent
Un agent este o entitate situat ă într-un mediu, pe care îl percepe şi asupra căruia acţionează continuu - în concordanţă cu propria agend ă - pentru a atinge anumite scopuri. După Michael Wooldridge [Wooldridge99] pentru ca o entitate să fie considerată agent, trebuie să aibă cel puţin următoarele caracteristici: autonomie, reactivitate, comportament orientat spre scop, abilitate social ă. Autonomia este una din caracteristicile esen ţiale ale unui agent, respectiv capacitatea acestuia de a ac ţiona independent, în funcţie de modificările survenite în mediul pe care acesta îl monitorizează şi conform obiectivelor pe care agentul le urmăreşte. A fi reactiv înseamnă ca agentul să perceapă mediul în permanenţă, prin intermediul senzorilor şi imediat să reacţioneze la modificările survenite, prin executarea anumitor ac ţiuni. În acţiunile pe care agentul le întreprinde, acesta urmăreşte întotdeauna ca acestea s ă aibă ca efect atingerea unui anumit obiectiv, respectiv s ă poată să identifice căile de atingere a obiectivului, iar dacă acest lucru nu mai este posibil să sesizeze din timp posibilele variante de schimbare a obiectivului. Aceasta înseamnă să aibă un comportament dirijat spre scop.
34
Abilitatea socială presupune ca agentul să aibă acea arhitectură internă care să-i permită să schimbe informaţii cu alţi agenţi sau alte entităţi, adică să comunice cu aceştia şi să fie capabil să negocieze şi să coopereze pentru atingerea obiectivelor. Din punctul de vedere al schimbului de informatii cu mediul, acţiunile pot fi (i) de perceptie – capacitatea agentului de a- şi percepe mediul de execu ţie, (ii) de mi şcare – abilitatea de a migra de la sine de pe o platformă pe alta, (iii) de comunicare – capacitatea agentului de a intereacţiona cu alti agenţi.prin intermediul unui limbaj de comunicare inter-agent. Literatura de specialitate abundă în definiţii, caracterisitici şi proprietăţi ale agenţilor. Termenii tehnici şi de piaţă sub care agenţii sunt întâlniţi în literatura de specialitate pot fi confuzi, deoarece numele lor descriu diferite componente ale agenţiilor, mediul în care ei trăiesc, activităţile executate şi arhitectura modulului de cuno ştinţe. Stuart Russell şi Peter Norvig [Russell02] au definit agentul ca fiind acea entitate care poate percepe mediul prin senzori şi poate acţiona asupra acestui mediu prin efectori. Problema fundamental ă a agentului este să aleagă dintre toate acţiunile posibile la un moment dat, pe cea care îl ajută cel mai mult la îndeplinirea obiectivelor pentru care a fost proiectat. Pattie Maes (Massachusetts Institute of Technology) [Maes07] a definit agen ţii ca fiind acele sisteme de calcul care se regăsesc într-un mediu dinamic complex şi care acţionează autonom în acest mediu prin realizarea unui set de scopuri sau sarcini, pentru a-şi îndeplini obiectivele planificate. De regulă, un agent are o anumită gamă de acţiuni pe care le poate efectua. Mul ţimea tuturor acţiunilor posibile ale unui agent poartă denumirea de capacitate efectoric ă. Ted Selker de la IBM Almaden Research Center a lansat o defini ţie interesantă, pornind de la ideea că activităţile de rutină sau cu un caracter repetitiv, pot fi delegate unui agent software: " un agent este acea entitate software care ştie să facă lucrurile a şa cum probabil le-ai face tu î nsu ţ i dacă ai avea timp" . Agentul care poate să interacţioneze cu alţi agenţi, să se adapteze la schimb ările survenite în mediu şi să-şi îmbunătaţească comportamentul - adică să înveţe din fiecare situaţie întâlnită - este un agent inteligent . Inteligenţa unui agent este dată de capacitatea de învăţare şi înţelegere pe care o posedă. S-a scris mult pe seama proprietăţilor minimale pe care să le deţină un agent pentru a fi considerat agent inteligent. Concluzia este că dezvoltatorii agenţilor, i-au înzestrat cu anumite proprietăţi, în funcţie de mediul în care urmau să activeze. Astfel un agent care are ca obiectiv dirijarea unei nave de zbor, respectiv su ţinerea echipajului navei în păstrarea traseului spre destinaţie şi executarea acelor manevre în func ţie de modificările condiţiilor meteo şi de alţi participanţi la traficul aerian, va avea o arhitectur ă diferită de a unui agent de c ăutare pe Internet sau a unui agent personal.
4.2. Taxonomia agenţilor software Agenţii sunt proiectaţi s ă acţioneze într-un mediu particular, cum ar fi un sistem de operare, o aplicaţie, o reţea de calculatoare. Internetul, sistemul de operare şi agenţii web sunt exemple de agen ţi etichetaţi în funcţie de mediul lor. Asistenţii, experţii şi vră jitorii pentru o anumită aplicaţie, sunt agenţi de asemenea eticheta ţi în concordanţă cu mediul în care aceştia acţionează. Caracteristicile unui agent referitoare la coordonare, cooperare, comportament etc., nu sunt u şor de realizat având în vedere c ă mediile în care poate acţiona agentul sunt foarte diferite. De aceea, deocamdată vom întâlni o diversitate de tipuri şi arhitecturi de agenţi, care sunt specifice anumitor medii şi care pot acţiona doar în mediul respectiv. Tipul unui agent este stabilit în concordanţă cu sarcinile acestuia (agent de căutare, de filtrare etc.) şi în concordanţă cu arhitectura modulului de cunoştinţe cu care este înzestrat - învaţă de la utilizatori, acumulează cunoştinţe, utilizează reguli de inferenţe etc. De regulă, numele agentului descrie mediul în care acţionează, obiectivele, aptitutidinile cu care acesta este înzestrat sau ac ţiunile specifice pe care acesta le întreprinde. O clasificare de referinţă a agenţilor a fost realizată de Stan. Franklin şi Art Graesser (Institute for Intelligent Systems – University of Memphis) [FrankGra96], care în analogie cu arborele filogenetic din biologie, au identificat opt categorii de agenţi (figura nr. 4.2)
35
Hyacinth Nwana (Advanced Applications & Technology Department – BT Laboratories) [Nwana96], consideră că atributele ideale pentru agenţi sunt autonomia, capacitatea de învăţare şi capacitatea de cooperare cu alţi agenţi. Ponderea acestor caracteristici în totalul structurii conduc la ob ţinerea agenţilor colaborativi de învăţare, a agenţilor interfaţă, a agenţilor colaborativi şi a agenţilor inteligenţi, care au fost consideraţi ca fiind acele entităţi care dispun de autonomie, interac ţionează în permanenţă cu mediul, posedă capacităţi de cooperare şi comunicare cu alţi agenţi şi sunt înzestraţi cu mecanisme de ra ţionament (figura nr. 4.3) Agenţi inteligenţi Agenţi colaborativi de învăţare
Cooperare
Agenţi colaborativi
Învăţare
Agenţi interfaţă
Autonomie
Figura nr. 4.3 Taxonomia agen ţ ilor după H. Nwana [Nwana96]
Michael.R. Genesereth şi Steven.P. Ketchpel (Computer Science Department – Standford University) [GenesKetch94], au propus următoarea taxonomie agent: (figura nr. 4.4)
Tipuri de agenti
Agenţi colaborativi
Agenţi interfaţă
Agenţi mobili
Agenţi de informaţii
Agenţi reactivi
Agenţi hibrizi
Agenţi inteligenţi
Figura nr. 4.4. Taxonomia agen ţ ilor după M.R. Genesereth şi S.P. Ketchpel [GenesKetch94]
În funcţie de mediul software în care sunt situa ţi şi de activităţile desf ăşurate, agenţii pot fi clasificaţi astfel [CagHarr97]: Agen ţ i desktop o Agen ţ i sistem operare : sunt agen ţii care oferă asistenţă utilizatorilor cu interfaţa sistemului de operare; de exemplu ei pot monitoriza evenimentele de la nivelul sistemului de operare şi executa diverse sarcini atunci când utilizatorul nu mai lucrează o anumită perioadă; o Agen ţ i aplica ţ ie: agenţii interfaţă care oferă asistenţă utilizatorilor într-o aplicaţie particulară; o Agen ţ i aplica ţ ii multiple: agenţii care ajut ă utilizatorii în rezolvarea unei suite de aplicaţii. Agen ţ i Internet o Agen ţ i de căutare Web : agenţi Internet care ofer ă utilizatorilor servicii de că utare; o Agen ţ i de server Web : agen ţi Internet care locuiesc pe un site Web pentru a oferi servicii agent; : agenţi Internet care filtrează informaţiile electronice în concordanţă cu o Agen ţ i de filtrare a informa ţ iilor preferinţele specifice ale utilizatorilor; : agenţi Internet care transmit un pachet de informa ţii personalizate în o Agen ţ i de reg ăsire a informa ţ iilor concordanţă cu preferinţele utilizatorilor; o Agen ţ i de notificare : agenţi Internet care notifică un utilizator de apariţia unor evenimente de interes personal al utilizatorului ; o Agen ţ i de servicii : agenţi Internet care oferă servicii specializate utilizatorilor; o Agen ţ ii mobili: agenţi Internet care migrează dintr-un loc în altul, să excute sarcini specificate de utilizator. Agen ţ i Intranet o Agen ţ i de colaborare : agenţi care procesează o schemă de lucru automat ă; o Agen ţ i de automatizare a proceselor : agenţi care execut ă o schemă automată a unui proces de afaceri; o Agen ţ i baz ă de date : agenţi care ofer ă servicii pentru utilizatorii bazelor de date; o Agen ţ i de brokeraj a resurselor : agenţi care execut ă alocarea resurselor în arhitecturile client/server. •
•
•
36
După complexitaea problemelor, obiectivele şi activităţile concrete pe care agen ţii le rezolvă, aceştia pot fi grupaţi în: asistenţi personali agent de informare - ex. MAXIMIS [Maes, a994] pentru gestionarea şi filtrarea emailurilor, NewT [Maes, o 1994] pentru filtrarea ştirilor; o agent de cumpărare - ex. Jango [Doorembos, 1997]; o agent interfaţă – ex. Mailtalk [Cohen, 1994], COLLAGEN [Rich&Sidner, 1997]; o agent pentru jocuri şi realitate virtuală – ex. [Hayes-Roth, 1995], [Cassel, 1994]; o agent de control pentru roboţi – ex. [Burgard, 1998]; o agent de control al aparatelor de zbor – ex. [Muscettola, 1998]; sisteme distribuite o managementul proceselor de afaceri şi a sistemelor workflow – ex. ADEPT; o managementul sistemelor industriale - ex. ARCHON; o controlul traficului de zbor - ex. OASIS; o sisteme informaţionale cooperative, biblioteci digitale - ex. Carnot [Huhns, 1992]; o sisteme de control multi robot; o simulari sociale - ex. proiectul EOS [Doran&Palmer, 1995]. Taxonomia agenţilor poate fi f ăcută şi după alte criterii cum ar fi: după mediul în care se desf ăşoară, după sarcinile pe care le execut ă, după arhitectura lor de control, după mecanismele de control utilizate, după starea lor internă, după tipul de interfaţă cu care sunt înzestraţi, după aplicaţiile pe care le rezolvă, după rolul acestora etc. Agenţii inteligenţi, numiţi şi agenţi cognitivi, au toate proprietăţile agenţilor software (autonomie, abilitate socială, reactivitate, proactivitate) dar în plus, sunt conceptualizaţi folosind noţiuni ce se aplică de obicei oamenilor, cum ar fi: - noţiuni mentale epistemice : convingeri, cunoştinţe; - noţiuni mentale de atitudine: intenţii, obligaţii, angajamente, decizii; - raţionalitate; - adaptabilitate sau capacitate de învăţare. Modulul de cunoştinţe al unui agent inteligent conţine regulile după care acesta se ghideaz ă pentru a-şi atinge obiectivul. Cunoştinţele pot fi căpătate prin tehnicile menţionate în figura nr. 4.5. •
•
Agent
Cunoştinţe apriori
Specificate de: -dezvoltator -utilizator -sistem
Aptitudini de comunicare
Agenda de activ ită i
Cunoştinţe
nvăţare
Dialog Reţele neuronale Memorie Cazuri Ex ertiz ă
Activităţi
Căutare iinformaţii Filtrare informaţii
Utilizator
Interfaţă sociala
Alti agenţi
Limbaj de comunicare interagent
Figura nr. 4.5 Arhitectura generală a unui agent inteligent
Deprinderile de comunicare ale agentului afectează modul cum interacţionează el cu utilizatorul. În mediile distribuite, modulul de comunicare controlează interacţiunea cu alţi agenţi. Interfaţa utilizator (umană) serveşte ca un canal de comunicaţie cu utilizatorul, folosind diverse tehnici de comunicare (mesaj de email, interfeţe multimedia). Pentru comunicarea interagent, se foloseşte un limbaj de comunicare agent (ex. KQML, Telescript, Agent Tcl, Knowledge Interface Format (KIF), Agent Communication Language (ACL)) După Paulo Leitao (Polytechnic Institute of Braganca – Portugal) [Leitão00] arhitectura unui agent inteligent este bazată pe patru module şi o bază de cunoştinţe, care conţine toate informaţiile relevante despre comportamentul agentului şi a mediului (figura nr. 4.6): - modulul de luare a deciziilor controlează toate activităţie agentului şi include un rezolvitor de probleme şi luare decizii. Procesul de luare a deciziilor cuprinde analiza informa ţiilor disponibile, aplicarea mecanismelor de decizie, evaluarea deciziei şi învăţarea. Pentru luarea deciziilor, modulul utilizează baza de cuno ştinţe locală şi când nu dispune de suficiente informaţii pentru luarea unei decizii, este pornit procesul de cooperare cu alţi agenţi;
37
- modulul de cooperare gestionează cooperarea cu agen ţii externi, solicitarea cooperării cu alţi agenţi, colectarea răspunsurilor şi trimiterea acestora către modulul de luare a deciziilor. Acest modul implementează mecanisme de negociere (de ex. un protocol de negociere Contract Net Protocol); - modulul de comunicare urmăreşte interacţiunea cu alţi agenţi şi defineşte un limbaj de comunicare. Nivelul fizic al acestui modul conţine acele protocoale de comunicare care s ă permită interacţiunea dintre aplicaţii (ex. CORBA);
Figura nr. 4.6. Arhitectura unui agent generic, după P. Leitao [Leitão00]
- modulul de control şi monitorizare are menirea de a monitoriza activit ăţile din mediu şi de acţiona asupra acestuia conform deciziilor luate pentru atingerea obiectivului. - baza de cuno ştin ţ e – memorează toate cunoştinţele despre mediu şi despre comportamentul agentului, sub diferite dipuri de cunoştinţe cum ar fi: constrângeri, obiective, proceduri, reguli, experinţe, tehnici şi structuri organizaţionale. Michael Wooldridge [Wooldridge99], clasifică agenţii inteligenţi, după arhitectura acestora, în patru categorii: - agen ţ i baza ţ i pe logic ă – deciziile sunt luate pe baza deduc ţiilor logice (Yves Lesperance, 1996 – York University Canada; Klaus Fischer, 1994); - agen ţ i reactivi – luarea deciziilor este implementată ca o mapare directă a situaţiei de acţiune (Brooks, Maes); - agen ţ i BDI – luarea deciziilor depinde de manipularea unor reprezent ări a convingerilor, dorinţelor şi intenţiilor agentului (Anand Rao, Michael Georgeff, 1992); - agen ţ i multi-nivel – luarea deciziilor este realizată printr-un anumit număr de niveluri software, fiecare reprezentând explicit diferite niveluri de abstractizare a mediului (Muller, 1995 ; Fergusson, 1995). Dintre aceste tipuri de agenţi, o atenţie deosebită o merită agenţii BDI, a căror arhitectură a devenit un standard pentru diferite modele de agen ţi. Arhitectura BDI a unui agent inteligent după Michael P. Georgeff (Australian Artificial Intelligence Institute) convingeri (engl. Beliefs), dorinţe (engl. Desires), şi intenţii (engl. Intentions). Acest model are ca punct de plecare filosofia ra ţionamentului practic, care presupune mai întâi stabilirea scopului, printr-un proces deliberativ, şi apoi identificarea mijloacelor disponibile pentru atingerea acelui scop.
Platforma agent Servicii sistem
Sistem gazdă
Platforma agent
Platforma agent
Sistem gazdă
Sistem gazd ă
Figura nr. 4.7. Arhitectura de bază a unui agent mobil
38
O caracteristică specială a agenţilor este mobilitatea. Un agent mobil este acel agent care poate transfera codul şi starea sa în cadrul reţelei, acolo unde poate să-şi execute cel mai bine taskurile. Astfel, agenţii mobili sunt entităţi ce posedă un comportament, o stare şi o locaţie. Aceştia pot migra pe diverse platforme, în fiecare moment identificându-se cu o anumită locaţie (site-ul pe care a ajuns), un anumit comportament (sarcina pe care o realizează în acea situaţie/stare) şi starea corespunzătoare (figura nr. 4.7.). Aspectele suplimentare pe care trebuie să le definească arhitectura unui agent mobil se refer ă la: - migrarea agentului pe diferite platforme – respectiv cum şi unde se mut ă un agent mobil; - autentificarea – cum sa se identifice corect un agent mobil de un alt cod care poate fi un virus; - secretizarea - păstrarea confidenţialităţii datelor transportate de agent; - securitatea – cum se poate proteja un agent mobil îmoptriva virusilor sau de gazde distructive şi cum se poate proteja un sistem gazdă de un agent mobil distructiv; - performanţa – care va fi efectul în situaţia aglomerării unei reţele de multipli agenţi mobili; - interoperabilitatea – cum comunică un agent mobil cu alti agenţi sau platforme agent.
4.3. Sistemele multiagent Un sistem multiagent este o aplicaţie software capabilă să rezolve o problemă, prin structurarea sistemului într-un număr de agenţi, amplasaţi într-un anumit mediu, cu scopul de a atinge diferite cerinţe funcţionale şi de calitate a sistemului. Capacitatea unui singur agent este limitat ă de cunoştinţele sale, de resursele de calcul disponibile, de perspectiva sa asupra domeniului studiat, fiecare agent având o perspectiv ă parţială şi imprecisă asupra sistemului (figura nr. 4.8.). Agent
Relaţii
Interacţiuni
Sfera de influenţă
Mediu Figura nr. 2. 1. Viziunea unui agent asupra mediului (adaptare după http://www.csc.liv.ac.uk/˜mjw/pubs/imas/)
Astfel, pentru un domeniu problemă complex, soluţia este dezvoltarea unui număr specific de agenţi, specializaţi în rezolvarea unor aspecte particulare a problemei. Prin utilizarea expertizei proprii, a resurselor şi informaţiilor locale, agenţii pot lucra cooperativ pentru formularea de soluţii parţiale şi ulterior prin integrarea soluţiilor parţiale cu a altor agenţi, pot construi o soluţie globală care să conducă la îndeplinirea obiectivele sistemului. Sistemele multiagent abordează modul cum mai mulţi agenţi pot lucra împreună pentru rezolvarea unor probleme complexe, pornind de la premisa că un agent este capabil să lucreze autonom şi să rezolve o anumită sarcină. Cercetările din acest domeniu s-au concentrat pe tehnicile de distribuire a datelor şi a controlului şi de coordonare a activităţilor agenţilor, astfel încât fiecare să-şi rezolve propriul interes sau să satisfacă un obiectiv comun. Un sistem multiagent este caracterizat prin următoarele aspecte [Weiss99]: - fiecare agent are informaţii sau abilităţi incomplete sau insuficiente pentru rezolvarea problemei globale; - agenţii au diferite sfere de influenţă asupra mediului (care pot s ă se întrepătrundă); - agenţii sunt reuniţi de anumite relaţii organizaţionale; - agenţii interacţionează prin comunicare; - nu există un sistem global de control; - datele sunt descentralizate; - calculele sunt asincrone. Un agent are una sau mai multe limitări: cognitive, fizice, temporale, instituţionale [MostRanaFou04]. Limitările cognitive provin de la faptul c ă un agent poate de ţine datele şi cunoştinţe limitate. Un anumit agent poate fi limitat fizic, datorită arhitecturii sale sau datorită resurselor disponibile la un moment dat. Putem întâlni limitări temporale, în cazul în care atingerea unui anumit obiectiv depăşeşte durata planificată pentru execuţia acelei sarcini
39
sau perioada de timp pentru care sunt disponibile anumite resurse. Limit ările instituţionale pot fi de ordin juridic sau politic. În proiectarea unei aplica ţii multiagent, plecând de la arhitectura agenţilor şi a sistemului, este necesar să se stabilească două aspecte generale: care sunt cuno ştinţele pe care le deţine un agent şi cum poate un agent să acceseze şi utilizeze cunoştinţele unui alt agent. După tipul de agenţi utilizaţi putem avea sisteme multiagent cu: - agenţi omogeni – agenţii au aceeaşi structură internă (scopuri, acţiuni, cunoştinţe) şi aceeaşi procedură de selecţie a acţiunilor; - agenţi eterogeni – agenţii au scopuri diferite, acţiuni diferite şi arhitecturi diferite. După gradul de cooperare de ţinut de agenţii individuali avem: - agenţi cooperativi – agenţi care cooperează în rezolvarea problemei distribuite; - agenţi auto-interesaţi – agenţii sunt concurenţi şi î şi urmăresc propriul interes. Pentru menţinerea unei coerenţe globale asupra sistemului, agenţii trebuie să fie capabili să-şi determine propriile scopuri şi să comunice cu ceilalţi agenţi, astfel încât să-şi coordoneze comportamentul şi acţiunile. Mediile multiagent furnizează o anumită infrastructură ce specifică protocoalele de comunicare şi de interacţiune între agenţi. Comunicaţia trebuie definită pe niveluri diferite, plecând de la nivelul cel mai de jos, folosit de cel mai slab agent. Pentru a comunica, agen ţii trebuie să între în dialog, unde pot avea rolul de master (activ), slave (pasiv) sau poate fi un dialog egal de tipul peer-to-peer . Motivele pentru care este necesară coordonarea într-un sistem multiagent sunt: - previne haosul – nici un agent nu de ţine o privire de ansamblu asupra întregului sistem; - agenţii posedă cunoştinţe şi aptitudini – de exemplu, personalul unui spital. ce este format din infirmiere, anestezişti, asistenţi, doctori etc, trebuie să se coordoneze pentru a trata pacienţii; - acţiunile agentului sunt frecvent în relaţie cu a celorlalţi agenţi - un agent trebuie să aştepte un alt agent să execute o altă sarcină în prealabil. Planificarea distribuită permite agenţilor să-şi modeleze planurile unii altora. Agenţii comunică pentru a construi şi actualiza planurile şi modelele individuale până când toate conflictele sunt înl ăturate. Activitatea de rafinare a modelelor are loc până când toate converg către un plan global coerent. Rezolvarea unei probleme complexe presupune descompunerea planului general şi alocarea de subplanuri către diferiţi agenţi. Alocarea sarcinilor se poate efectua dup ă mai multe variante. O primă variantă presupune existenţa a doi agenţi specifici: un agent supervizor, care cunoaşte cum să descompună un anumit plan, şi un agent mediator, care cunoaşte care agenţi sunt capabili să execute acele sarcini. A doua variant ă este cazul în care agentul mediator nu are abilităţile necesare pentru a executa o alocare complet ă a sarcinilor. În acest caz, supervizorul mai întâi va descompune planul complex şi apoi va trimite o descriere a fiecărei activităţi ce trebuie executate de către mediator. Mediatorul ataşează la fiecare descriere abilităţile şi calificările necesare, apoi efectuează o licitaţie. Agenţii potenţiali utilizează aceste informaţii pentru a decide dacă se înscriu sau nu la aceast ă licitaţie. Structura organiza ţ ională este cel mai simplu scenariu de coordonare, deoarece organiza ţia are implicit definite responsabilităţile, abilităţile, conectivitatea şi fluxul de control al agenţilor. Ea oferă cadrul necesar desf ăşurării activităţilor şi interacţiunilor prin definirea rolurilor, căilor de comunicare şi relaţiilor de autoritate.
4.4. Aplicaţii şi avantaje ale sistemelor multiagent Sistemele multiagent reprezintă o nouă tehnologie software cu avantaje în rezolvarea distribuit ă a problemelor şi în rezolvarea problemelor de natură distribuită. Rezolvarea unei probleme complexe de către un sistem multiagent se poate face prin distribuirea de sarcini mai multor agen ţi din cadrul sistemului. Fiecare agent va fi specializat în rezolvarea de subprobleme în domeniul său., iar pentru soluţionarea unor probleme comune, va interacţiona cu alţi agenţi. Există mai multe modalităţi de a clasifica aplicaţiile tehnologiei agent: după tipul de agenţi, după tehnologia utilizată pentru implementarea agenţilor, sau după domeniul de aplicare. După acest ultim criteriu, avem următoarele aplicaţii ale sistemelor multiagent: a) Aplica ţ ii industriale Aplicaţiile industriale ale tehnologiei agent au fost printre primele dezvoltate, înc ă de prin 1987. De exemplu, s-a folosit protocolul de contractare în re ţea pentru medii de fabricaţie. Astăzi agenţii sunt folosiţi într-o mare varietate de aplicaţii industriale. - Controlul proceselor. Există o platformă software numită ARCHON, pentru construirea de sisteme multiagent pentru aplicaţii de control al proceselor, cum ar fi administrarea transportului energiei electrice (nordul Spaniei) şi controlul acceleratoarelor de particule [JennCor98]; - Fabricaţie. Parunak descrie sistemul YAMS (Yet Another Manufacturing System [Parunak87]), care aplică protocolul de contractare în re ţea la controlul fabricaţiei, în care o întreprindere este modelată ca o ierarhie de celule de lucru, fiecare celul ă de lucru ocupându-se de un anumit aspect al fabrica ţiei; celulele de lucru vor fi ulterior grupate în sisteme de fabrica ţie flexibile, care vor forma o uzină, iar o companie poate avea mai multe uzine, care î şi pot partaja funcţionalitatea şi capacităţile. Scopul lui YAMS este de a administra eficient procesul de produc ţie al acestora;
40
- Controlul traficului aerian. Kinny şi colaboratorii descriu un sistem de control al traficului aerian, bazat pe tehnologia agent, numit OASIS, folosit cu succes la aeroportul din Sydney; agen ţii sunt folosiţi pentru a reprezenta atât avioanele, cît şi diferitele sisteme de control aerian care operează [KinnyGeorgeff96]; - În robotică colectivă un ansamblu de roboţi cooperează pentru un scop comun; roboţii sunt agenţi inteligenţi fizici ce compun un SMA. În robotica colectivă există două domenii principale: robotica celulară şi robotica cooperativă; robotică celulară se referă la construirea de roboţi modulari, în care mişcarea este rezultatul coordonării unui ansamblu; în robotica cooperativă, roboţii î şi coordonează mişcările şi cooperează pentru a-şi îndeplini sarcinile atribuite; un exemplu este controlul vehiculelor aeriene autocomandate (UAV - unmanned air vehicle); b) Aplica ţ ii comerciale - Administrarea informaţiei; Volumul imens de informaţie disponibil prin Internet reprezintă o problemă reală foarte serioasă; în acest sens, agenţii inteligenţi se ocupă de filtrarea şi de informaţiei; - Comerţul electronic; Comerţul este aproape în întregime condus de interac ţiunea umană, dar anumite activităţi comerciale pot fi automatizate, deci anumite decizii comerciale pot fi lăsate în sarcina unor agen ţi; - Administrarea afacerilor; directorii companiilor iau decizii pe baza unei combinaţii de judecăţi şi informaţii de la mai multe departamente, dar obţinerea de informaţie pertinentă, consistentă şi actualizată în cadrul unei mari companii este un proces complex şi consumator de timp. Din acest motiv, unele companii au dezvoltat sisteme multiagent necesare managementului. Proiectul ADEPT [JenningsNor98] abordează această problemă privind un proces de afaceri ca o comunitate de agen ţi furnizori de servicii, care negociază între ei. Fiecare agent reprezintă un rol sau un departament diferit din întreprindere şi este capabil să ofere unul sau mai multe servicii. c) Aplica ţ ii medicale Sistemele multiagent s-au dezvoltat şi în următoarele domenii ale informaticii medicale: - monitorizarea pacienţilor; Sistemul Guardian descris de Barbara Hayes-Roth [HayesRoth98] este conceput pentru a ajuta în administrarea şi monitorizarea pacienţilor din laboratorul de chirurgie intensivă; - ocrotirea sănătăţii; J., Huang [Huang95] a descris un prototip de sistem de îngrijire medicală bazat pe un sistem multiagent. d) Alte aplica ţ ii - amuzament Agenţii au un rol evident în jocurile pe calculator, în teatrul interactiv şi în aplicaţiile legate de realitatea virtuală. aceste sisteme tind să conţină caractere animate semi-autonome, ce pot fi în mod natural implementate ca agenţi; - simulare şi lumi artificiale. Sistemele multiagent au fost folosite şi pentru simularea unor sisteme vii, de exemplu a unui ecosistem cu animale de prad ă şi victime. Există mai mulţi parametri care intră în calcul, iar fiecare animal (de pradă sau victimă) poate fi văzut ca un agent inteligent, care are scopul fie de a vâna, fie de a se feri din calea vânătorilor. Aşa cum unele animale atacă în grupuri (ex. haitele de lupi), se poate simula negocierea agenţilor prădători în vederea atingerii scopului comun; - instruire asistată de calculator, dacă ne gândim la sistemele bazate pe agen ţii pedagogici. Sistemele multiagent sunt capabile să ofere mai multe avantaje: - viteză şi eficien ţă – agenţii pot opera asincron şi în paralel, fapt ce duce la creşterea vitezei; - robuste ţ e – e şecul unuia dintre agenţi nu implică căderea sistemului deoarece alţi agenţi sunt gata să preia acele sarcini; - flexibilitate – sistemul poate fi extins pentru rezolvarea de probleme de dimensiuni mai mari adaugând noi agenţi; - costuri reduse – un sistem multiagent poate fi construit la un cost mai scăzut decât un sistem centralizat; - dezvoltare şi reutilizare – agenţi individuali pot fi proiectaţi separat de specialişti, sistemul poate fi testat şi întreţinut mai uşor şi este posibilă reconfigurarea şi reutilizarea agenţilor în diferite scenarii de aplicaţii. În concluzie, tehnologia sistemelor multiagent este una dintre cele mai promi ţătoare tehnologii ale momentului.
41
Capitolul 5. Virtualizare afacerilor cu tehnologia agent 5.1. Modele de afaceri electronice Se poate spune c ă odată cu intrarea în era Internetului şi a e-business-ului, s-au produs transformări fundamentale ale structurilor socioeconomice. Succesul în afaceri implic ă din partea organizaţiilor, în primul rând apel la tehnologia informatică şi extinderea relaţiilor de afaceri în afara limitelor teritoriului naţional. Tehnologia şi în special Internetul au schimbat modul în care se fac afacerile. Internetul ofer ă infrastructura tehnică ce permite prezenţa online, respectiv abilitatea de a comunica cu clienţiii, partenerii de afaceri, de a avea acces usor şi rapid la informaţii direct de la serviciu sau de acasă. Internetul reprezintă infrastructura prin care se vehiculeaz ă informaţia de orice fel: text, sunet, voce, imagine, video. In esenţă, el este o reţea globală realizată din reţele mai mici, prin care se reunesc milioane de calculatoare din întreaga lume, prin infrastructura telecomunica ţiilor. Tehnologia World Wide Web (www) introdusă Tim Berners-Lee în anul 1990, a schimbat fundamental Internetul, astfel încât astazi nu se mai face de fapt o distincţie între Web şi Internet. Din punct de vedere tehnic, spaţiul Web pune la dispoziţie un sistem global şi standardizat de comunicare multimedia, informaţiile fiind organizate asociativ şi distribuite în funcţie de cerinţele utilizatorilor. Pe măsură ce Internetul a devenit mai sofisticat, şi site-urile Web şi-au adaptat cerinţele. Schimbările din Internet pot fi grupate în patru genera ţii de siteuri web17 : - generaţia I - site-uri web simple de tip "brosura on-line". Ini ţial companiile erau mulţumite să aibe o simplă prezenţă pe Internet. Dezavantajele acestor tipuri: nu erau site-uri interacţive, cititul conţinutului on-line consuma timp şi tindea să fie dificil, timp mare de download a informaţiilor; - generaţia a II-a - site-uri web structurate pe specificul intern al companiei: informa ţii despre strategia şi misiunea companiei, locuri de muncă, ştiri din presă, mesajul preşedintelui companiei. Aceasta genera ţie este mult mai apropiată de un site Intranet şi se caracterizează prin prezenţa numeroasă a imaginilor în pagini, f ără multe informaţii afişate, vizitatorii trebuind să selecteze anumite imagini pentru a obtine informaţii mai detaliate cu privire la produse, preţuri. - generaţia a III-a - site-uri web ce utilizează elemente simple de navigare (cuvinte pentru navigare în loc de imagini), iar conţinutul este orientat spre vizitator. Elementele de navigare utilizează explicaţii text pentru un download rapid. Vizitatorii pot accesa informaţiile dorite din câteva click-uri f ără a aştepta încarcarea unor imagini mari. Imaginile tind să fie cât mai reduse în dimensiune, informaţiile interne despre companii pot fi gasite pe site, dar nu mai sunt afişate/centrate pe pagina home. - generaţia IV-a reprezintă viitorul Internetului. Ea seamană cu generaţia a III-a, diferenţele fiind în spatele scenelor. Ele sunt strâns legate de toate aspectele companiei. Când un client cauta o informaţie dîntr-un astfel de site, informaţia este generată dintr-o bază de date specifică pentru clienţi. De exemplu, pe site-ul Dell Computers http://www.dell.com/ poti să configurezi dinamic calculatorul pe care doreşti să-l cumperi, prin alegerea opţiunilor din meniurile afişate pe site. Chiar dacă nu cumperi acel calculator, compania p ăstrează opţiunea pentru o cercetare de marketing, respectiv pentru a o ajuta s ă identifice caracteristicile mai mult sau mai putin căutate. Internetul face posibil şi usor pentru ca companiile s ă ofere clienţilor o prezenta pe intreg globul. Prin intermediul Internetului, produsele companiei pot fi accesate direct şi de asemenea: - face nerelevantă mărimea companiei: fie că sunt mai mari sau mai mici, firmele au acela şi acces la clienţi şi pot crea acelaţi tip de prezenţă în mediul Internet; - face nerelevantă locaţia companiei. Clienţii localizaţi oriunde pot uşor accesa site-ul companiei. De asemenea, timpul zonal este nerelevant. Internetul este accesibil 24 de ore din 24, şapte zile din şapte. Bazele de date şi email-urile au caracteristici tipice interacţive. Nici una dintre ele nu necesită interacţiune umană pentru a oferi clienţilor informaţii despre produse şi servicii; - creşte feedback-ul - poţi avea acces instantaneu la reac ţia clientului şi un feedback la programele de marketing şi la preţurile produselor lansate pe web. Din acest punct de vedere, se poate spune c ă întreprinderile mici au un avantaj. Pentru ele este mai usor săşi modifice infrastructura internă şi să se adapteze la noile cerin ţe ale comerţului online, faţă de marile companii care vor necesita schimbări ale infrastructurii interne pentru a deveni sisteme flexibile şi funcţionale în mediul Internet.
17
Rosen, A., E-Commerce Question and Answer Book , AMACOM Books, 1999, p. 10
42
Internetul aduce mult mai aproape compania de clien ţi şi de furnizori. Un site Internet permite o prezenţă web pentru publicul general. Un site Intranet utilizează tehnologia Internet pentru a oferi angaja ţilor proprii acces la informaţiile interne. Aceste site-uri sunt separate de Internet prin intermediul unor metode de securitate, astfel încât persoanele din afara organiza ţiei să nu poată avea acces la informaţiile private. Pe un site Extranet, partenerii de afaceri - pe baza unei parole protejate - p ot accesa informatii pe care publicul general nu poate (fi gura nr. 5.1)
Angajatii firmei
Intranet
Parteneri de afaceri
Consumatori
Extranet
Internet
Figura nr. 5.1. Tehnologia Internet şi modele de afaceri electronice
Comerţul electronic (e-commerce), în concepţia Organizaţiei Economice de Cooperare şi Dezvoltare (OECD), reprezintă desf ăşurarea unei afaceri prin intermediul reţelei Internet, vânzarea de bunuri şi servicii având loc offline sau online. Există deja multe modele pentru derularea afacerilor pe Internet. Acestea pot fi clasificate în funcţie de numărul de furnizori, prestatori de servicii către clienţi, astfel: 1-catre-1 (e-shop) mai mulţi-către-1 (e-mall) mai mulţi-către-mai mulţi (e-licitaţie). După tipul clientului, ce are o anumit ă formare profesională, anumite interese şi preferinţe, putem avea următoarele modele de afaceri de comer ţ electronic (figura nr. 5.2) un consumator - Business-to-Consumer (B2C sau BTC) - se referă la relaţiile dintre comerciant şi consumatorul final, fiind considerat comerţ electronic cu amănuntul; o altă firmă - Business-to-Business (B2B sau BTB) - cuprinde toate tranzacţiile ce se efectuează între doi sau mai mulţi parteneri de afaceri, care actionează pe Internet prin utilizarea de nume şi parole pentru paginile de web proprii; administraţia publică - Business-to-Government (B2G sau BTG) acoperă toate tranzacţiile dintre firme şi autorităţi administrative locale sau centrale (pentru acest model de afaceri se mai utilizeaz ă şi termenul Business-to-Administration); un angajat - Business-to-Employee (B2E) se referă la tranzacţiile din interiorul unei firme, destinate personalului angajat al firmei şi efectuate prin sistemul intranet propriu. • • •
•
•
•
•
Figura nr. 5.2. Modele de afaceri de comer ţ electronic
Alte relaţii stabilite prin intermediul reţelei Internet, adiacente comerţului electronic, sunt: government to government (G2G), government to business (G2B), government to consumer (G2C), consumer to government (C2G), consumer to business (C2B) şi consumer to consumer (C2C), fiind sintetizate în tabelul de mai jos:
43
Guvern (G)
Intreprinderi (B)
Consumatori (C)
Guvern (G)
Intreprinderi (B)
Consumatori (C)
G2G coordonare
G2B informare
G2C informare
B2G administraţie, logistică
B2B comerţ electronic
B2C comerţ electronic
C2G C2B achitare taxe online comparaţie preţuri
C2C licitaţii online
Tabel 1 - Tipuri de rela ţ ii în comer ţ ul electronic
Analizând evoluţia comerţului în mediul Internet, prin analogie cu clasificarea site-uri-lor web efectuat ă de A. Rosen, se poate spune c ă aceasta ar putea fi împărţită în 4 faze distincte: informare electronic ă. În aceasta etapă, companiile au recepţionat valoarea Internetului în primul rând ca un mediu de comunicaţie. Interacţiunea consumatorului cu un site web tip "brosura" al unei companii, este limitat ă doar la citirea unor texte şi a vizualizării unor imagini. Realizarea tranzacţiilor şi interacţiunea cu clienţii sunt încă conduse de medii tradi ţionale cum sunt telefonul sau faxul. business-to-consumer. Modele de comerţ electronic sau concentrat pe aplicaţiile care permit tranzacţii şi interacţiuni între companie şi consumator (modelele de afaceri B2C). business-to-business. În aceasta fază iniţiativele de comerţ electronic sunt concentrate pe aplicatiile B2B care permit tranzacţii şi interacţiuni între companii şi partenerii de afaceri. e-enterprise. Această fază este caracteristică acelor companii ale căror pieţe conţin atât aplicaţii B2C cât şi B2B. Practic acestea au implementat acele tehnologii comune care s ă le permită utilizarea diferitelor categorii de eaplicaţii care să deservească ambele segmente de piaţa (ex. American Express, Dell Computers) În figura nr. 5.3 sunt reflectate fazele evoluţiei comerţului prin intermediul Internetului, cu precizarea c ă nu este indicată o dată de începere şi de finalizare a unei anumite faze. În fapt aceste etape se suprapun, astfel încât unele companii operează în faza de informare electronică iar altele în etapa e-business. Puţine firme şi-au integrat diferitele faze într-o formă coerentă astfel incât să poată trece la faza următoare de integrare, respectiv faza de eEnterprise. •
•
•
•
Integrare
e - Enterprise Business to business Business to customer Informare electronica
1995
1997
1999
2000
Figura nr. 5.3. Fazele de evolu ţ ie a comer ţ ului prin Internet
Dacă în trecut sistemele informatice ale fir melor s-au dezvoltat în jurul unor necesităţi legate în principal de gestiunea resurselor întreprinderii - planificarea produc ţiei, gestiunea stocurilor şi livrărilor, evidenţa contabilă şi financiară, evidenţa resurselor umane, astăzi accentul se pune din ce în ce mai mult pe deschiderea acestor sisteme informatice pentru a e-interacţiona cu mediul de afaceri înconjurator. Implementarea acestui potenţial în cadrul unei întreprinderi, presupune culegerea datelor din sistemele operaţionale, transformarea datelor în informaţii, a informaţiilor în cunoştinţe şi a cunostinţelor în decizii şi acţiuni.
44
Astfel, o serie de companii au investit masiv pentru dezvoltarea unor sisteme şi procese care să permită integrarea operaţiunilor proprii cu partenerii de afaceri şi oferirea unor servicii mai bune clienţilor finali. În era e-Enterprise, întregul lanţ valoric de la procurarea de materii prime şi livrarea mărfurilor către consumatori şi managementul clienţilor, se realizează prin combinarea proceselor interne şi externe şi a relaţiilor cu clienţii, furnizorii, distribuitorii, partenerii şi competitorii. În acest mod, e-întreprinderile evoluează rapid spre organizaţiile virtuale (figura nr. 5.4).
ntreprinderi
Comerţ Intreprindere
B2 Intreprindere
Intreprindere
Client
B2
Figura nr. 5.4. Evolu ţ ia întreprinderii c ătre organiza ţ iile virtuale
Avantajul competitiv al unei e-întreprinderi este viteza şi agilitatea de care dă dovada în stabilirea unui model de afaceri electronic. Impactul faţă de relaţia tradiţională produc ător-consumator este profund. Prin oferirea informaţiilor în timp real în intregul lant valoric, companiile i şi pot indrepta modelele de afaceri ce au în centrul atenţiei clientul (tabelul nr. 2) Tabel 2 - Etape în evolu ţ ia către o organiza ţ ie virtuală
1. Firme independente 2. Anumite firme incep să coopereze în lanţul valoric 3. Cooperarea continuă în interiorul ierarhiei pentru a proteja resursele de concuren ţa din exterior 4.. Unităţile înalt ierarhizate continuă să evolueze Funcţia de bază a unei pieţe, electronică sau nu, este de a facilita tranzacţiile de bunuri şi servicii. Pentru mulţi vânzători de produse fizice, comerţul electronic se simplifică doar la un canal alternativ de vânzare a produselor. Dar spre deosebire de alte canale alternative de distribuţie (vânzarea prin po ştă, vânzarea la domiciliu), comerţul electronic lucrează cu produse fundamental diferite - şi anume produsele digitale - care sunt altfel fabricate, livrate şi consumate decât produsele fizice. Soluţiile de comerţ electronic oferă o gamă largă de avantaje companiilor de orice mărime: Venituri mai mari - comerţul electronic permite diversificarea surselor de venituri prin includerea de noi produse şi servicii Web; Lărgirea pieţelor - comerţul electronic permite vânzarea produselor şi serviciilor dincolo de limitele pieţei fizice actuale, la un cost mai redus decât în cazul altor alternative tradiţionale; Culegerea on-line de informaţii despre clienţi - comerţul electronic oferă informaţii importante privind comportamentul de cumpărare al clienţilor. Aceste informaţii pot fi folosite pentru a stabili şi păstra relaţii solide cu toţi clienţii, pentru a cerceta dorin ţele şi impresiile cumpărătorilor despre produsele firmei; Costuri reduse - comerţul electronic măreşte volumul de vânzări al firmei, reduce costurile de marketing şi de vânzare; Cooperarea între firme - comerţul electronic facilitează coooperarea între firme şi oferă acces pe noi pie ţe. Comerţul electronic permite chiar şi celor mai mici furnizori, indiferent de pozi ţia lor geografică, să facă afaceri în întreaga lume. •
•
•
•
45
5.2. Întreprinderea virtuală versus întreprinderea tradi ţională Urmare a competiţiilor foarte puternice la care trebuie s ă facă faţă întreprinderile, acestea caută soluţii de a intra pe piaţă cu produse şi servicii de calitate şi la preţuri atractive. Scăderea ciclurilor de inovare, schimbarea situaţiilor pe piaţă ca şi creşterea specializării în segmente de piaţă individuale, au condus la noi moduri de gandire economică, încurajând întreprinderile să coopereze, chiar dacă uneori ele se află într-o directă competiţie. Descoperirile recente din domeniul comunicaţiilor şi tehnologiilor informatice distribuite, au schimbat modul de conducere a afacerilor. Având că tehnologii drept agenţii software şi comerţul electronic, întreprinderile nu mai au graniţe geografice şi socio-culturale şi au devenit enitităţi care nu acţionează doar pe o piaţă globală, ci î şi dimensionează resursele pe piaţa internaţională. Trendul existent este de crearea de alian ţe strategice, unde întreprinderi individuale lucrează împreună pentru atingerea unui obiectiv comun. Aceast ă cooperare permite întrepriderilor să împartă aptitudini, costuri, să acceseze reciproc pieţele şi resursele şi uneori să reducă riscul investiţional. Noţiunea de întreprindere virtual ă (virtual enterprise ) conţine un număr mare de modele, cu diferite caracteristici, în funcţie de formele şi mediile în care le putem întâlnim. Teoria întreprinderilor virtuale a apărut în SUA, în completarea teoriei întreprinderilor agile care se referea la acele întreprinderi, capabile să-şi modifice rapid producţia în funcţie de evoluţia pieţei şi să integreze din mers tehnologiile informaţionale. Obiectivul cheie al unei organizaţii virtuale este de a capta o agilitate maximă: să produc ă orice, oricând şi oriunde cu o productivitate şi eficienţă crescută. O întreprindere virtuală poate fi definită că fiind o alianţă temporară de companii independente, reunite prin intermediul tehnologiei informa ţionale cu scopul de a exploata oportunităţile pieţei. Fiecare partener va contribui cu propria cunoa ştere, pricepere şi iscusinţă pentru realizarea obiectivului întreprinderii virtuale. Cand obiectivul a fost atins sau a oportunitatea pie ţei a dispărut, întreprinderea virtuală se dizolvă.
.
VE Oportunitate de afaceri
Oportunitate de afaceri
Membru VE
Companie tradiţionala
Oportunitate de afaceri
Membru VE
Oportunitate de afaceri
Membru VE
Membru VE
Oportunitate de afaceri
Figura nr. 5.5- Întreprinderea virtuală versus întreprinderea tradi ţ ională (după ALIVE project - Katholieke Univerisitet Leuven - Law School)
Dacă pentru a iniţia o afacere este nevoie de un anumit capital fizic, o întreprindere virtual ă poate potential demara în jurul unei oportunităţi a pieţei, cu ajutorul capitalului uman. Economisind bani prin necheltuirea acestora pe spaţii de producţie, de desfacere, mijloace de transport, utilaje, echipamente, etc, companiile sunt capabile să investească mai mult în acele activităţi ce permit obţinerea unui avantaj competitiv. Astfel, o întreprindere virtuală poate angrena mai multe resurse decât o întreprindere posedă în mod curent. Caracteristic pentru o întreprindere virtuală este oportunitatea de afaceri aparut ă pe piaţă şi faptul că diferite companii işi unesc forţele pentru atingerea unui anumit obiectiv (obtinerea unui profit cât mai mare). Modelul unei companii tradiţionale, comparativ cu unul al unei întreprinderi virtuale, arată ca în figura nr. 5.5. Cum se crează o întreprindere virtuală? S ă presupunem că dorim să fabricăm un model de uşi de o calitate deosebită, dintr-o materie primă relativ ieftină. Pe Internet găsim suficiente informaţii despre diferite locuri de unde putem procura materia prima. Pentru transportul materiei prime trebuie s ă atragem o companie specializat ă, care să le transporte la fabricantul care va produce u şile pentru firma noastră. De asemenea, dorim ca usile să fie atractive, să aibe un design placut. Penrtu aceasta, nu vom angaja o echipa de designeri ci vom contacta o agen ţie de designeri care să participe alături de noi la acest proiect. Mai rămâne de stabilit unde şi cum vom vinde usile pe care le-am fabricat. Pentru a fi siguri că atingem cerinţele clienţilor, contactăm o agenţie de marketing pentru a explora piaţa şi care de asemenea, ne va deveni un partener strategic. In final, nu vom investi bani într-un magazin de vânzare cu amanuntul, dar vom contacta diver şi comercianţi care sa distribuie prin reţelele lor de magazine produsele noastre. Astfel am creat o întreprindere virtuală. Dacă ne imaginăm c ă ajungem o firma de top în industria fabricării uşilor, 46
populatia va percepe compania noastră ca având circa 1000 de salariati, spaţii de producţie extinse, o reţea de distribuţie lărgită etc. Practic, pentru crearea unei întreprinderi virtuale nu se utilizează decât tehnologia informaţională într-un mod anume. Instrumentele groupware şi tehnologiile de informaţionale şi de comunicaţii permit micilor firme să acţioneze ca unele mari. Întreprinderile tradiţionale (prin contrast cu întreprinderile virtuale) integrează sub o singură umbrelă toate funcţiile necesare pentru oferirea produselor şi serviciilor pe care acestea le crează. Beneficiul major al acestei structuri este acela că toate resursele şi toate activiăţile desf ăşurate sunt sub un singur punct de control, lucruri ce permit integrarea rezultatelor, monitorizarea activităţilor şi luarea deciziilor pentru atingerea obiectivelor pe termen scurt şi lung. De asemenea, existând un singur punct de control, sunt u şor de optimizat diferite fluxuri de opera ţiuni (detaşarea angajaţilor de la o activitate la alta, schimbarea locatiilor pentru optimizarea logisticii etc). În schimb, integrarea într-o singură organizaţie a tuturor activităţilor necesită investiţii masive şi capital. John Byrne în 1993, în lucrarea sa The Virtual Corporation 18 , a definit întreprinderea virtuală că fiind o reţea temporară de companii independente - furnizori, clienţi - reunite prin intermediul tehnologiilor informatice, pentru a partaja aptitudinile şi costurile şi de a accesa oportunităţile pieţei. Companiile se reunesc rapid pentru a exploata oportunităţile pieţei şi întreprinderea virtuală se dizolvă după realizarea obiectivului stabilit. O.F. Arnold19 a definit întreprinderea virtuală că fiind o alianţă între întreprinderi independente, instituţii sau indivizi, care furnizează un serviciu pentru realizarea unei afaceri comune. Entit ăţile actionează la exterior ca o singură corporaţie prin cooperarea cu capacităţi, aptitudini şi resurse proprii. Cooperarea este coordonată prin utilizarea de tehnologii de comunicaţie şi informatice foarte flexibile. Procesul de produc ţie nu este suplinit doar de un singur partener. Fiecare partener reprezint ă un nod al întreprinderii virtuale care adaugă o anumită valoare (un pas în fluxul de produc ţie). Întreprinderea virtuală se materializează prin selectarea resurselor şi a competenţelor de bază din diferite firme şi gruparea lor intr-o singura entitate de afaceri (figura nr. 5.6).
Figura nr. 5.6. Întreprindere virtual ă realizat ă pe lan ţ ul valoric aprovizionare-produc ţ ie-desfacere
J.E. van Aken (1998) a definit întreprinderea virtuală ca fiind o organizaţie retea, care este structurat ă şi condus ă în asemenea maniera încât operează faţă de clienţi şi alte entitati externe ca o organizaţie completă şi cu identitate. A. Mowshowitz20 a subliniat importanţa cooperării şi coordonării activităţilor între membrii unei organizaţii virtuale şi a definit metamanagementul - managementul activităţilor organizate virtual - ca fiind esenţa unei organizaţi virtuale. Bob Travica21 a definit organizaţia virtuală că fiind o colecţie temporară sau permanentă de indivizi, grupuri, departamente organizaţionale sau întregi organiza ţii, dispersate geografic, care sunt dependente de comunicaţiile electronice pentru a susţine proceselor lor de producţie. ntreprinderea 1
ntreprinderea 2
ntreprindere virtuală
Întreprinderea 4
ntreprinderea 3
Figura nr. 5.7. Crearea unei întreprinderi virtuale prin unificarea competen ţ elor de bază ale partenerilor (dupa Fischer, K. 22 ) 18 Byrne,
J., The Virtual Corporation , in Business Week, p. 98-103, Feb. 8, 1993 Virtual Integration , 2000, http://www.itvd.uni-stuttgart.de/wa/man/projects/virtex Mowshowitz, A., Virtual Organisation: A Vision of Management in the Informaţion Ag e, in: The Informaţion Society vol. 10, United Kingdom, 1994, p.267-288 21 Travica, B., The Design of the Virtual Organizaţion , www.hsb.baylor.edu/ramsover/ais.ac.97/papers/travica/ 22 Fischer, K., Müller, J., Heimig, I., Agents in Virtual Enterprises http://citeseer.nj.nec.com/ fischer96intelligent.html, 1996 19 Arnold, O.F., Wolfgang H.M., Seiber P., 20
47
W. Jansen, H. Jägers şi G.Steenbakkers (1997) au definit organiza ţia virtuală ca fiind o combinaţie de diferite entităţi (persoane şi/sau organizaţii) dispersate geografic, care şi-au propus să realizeze un obiectiv comun, prin unificarea competenţelor lor de bază. Entităţile componente se bucură de un statut egalitar şi sunt dependente de infrastructura informaţională şi de telecomunicaţii pentru coordonarea activităţilor lor. Pentru atingerea obiectivului întreprinderii virtuale, fiecare entitate componentă participă cu competenţele lor forte (de bază), respectiv acele activităţi, produse, servicii, tehnologii, cunoştinţe şi iscusinţe care reprezintă forţa şi „inima meseriei” întreprinderii (figura nr. 5.7). În figura nr. 11, întreprinderile 1-4 sunt unit ăţi independente, care pentru a profita de o oportunitate a pie ţei şi pentru a ob ţine un avantaj competitiv, s-au reunit într-o întrepindere virtuală pentru a realiza un flux de activităţi Ai- Ei, mai eficient decât al concurentilor. Fiecare întreprindere executa un lanţ valoric în cinci paşi şi va furniza către întreprinderea virtuală procesele parţiale de afaceri pentru care detine cele mai înalte competenţe de bază .
5.3. Caracteristici şi tipuri de întreprinderi virtuale Pieţele globale şi competiţia motivează crearea organizaţiilor virtuale. Întreprinderea virtuală este o formă de joint venture dar cu importante diferenţe. Ea este o alianţă temporară a companiilor membre care se reunesc pentru a câştiga avantajul unei oportunităţi a pieţii. Fiecare companie membră va oferi toate competen ţele sale de bază pentru reuşita întreprinderii virtuale. Caracteristica cheie a unei întreprinderi virtuale este dependenta de oportunit ăţ i. Oportunitatea de afaceri este inima unei întreprinderi virtuale. Companiile care se reunesc caut ă să întâmpine o oportunitate a pietii şi î şi unesc forţele pentru a atinge un set de obiective. Când oportunitatea pie ţii a dispărut, întreprinderea virtuală se dizolvă. La înfiinţarea unei întreprinderi virtuale este important de identificat care este scopul sau motiva ţia unei companii de a se reuni într-o re ţea. Motivaţia poate fi extinderea graniţelor companiei pentru a mentine un control asupra partenerilor vitali (de ex. pentru mentinerea unui control al calitatii) sau poate fi participarea cu anumite competenţe de bază pentru a fructifica alături de alţi parteneri oportunităţile pieţei. O întreprindere virtuală poate fi descrisă ca un scenariu unde entit ăţi individuale - oameni, agenţi software sau organizaţi - se reunesc într-o echipă pentru a realiza un obiectiv specific. În vederea atingerii obiectivelor propuse, partenerii cooperează, schimbă informaţii, partajează cunoştinţe şi aptitudini. Întreprinderile virtuale nu sunt rigide, ele nu au în permanen ţă aceeaşi structură - fiind posibilă retragerea unui partener din cadrul alian ţei sau asocierea concomitentă la mai multe întreprinderi virtuale. Întreprinderile virtuale sunt o echipă de parteneri ce au obiective comune şi conlucrează pentru atingerea acestor obiective. Întreprinderile virtuale sunt caracterizate de o multitudine de aspecte specifice. Literatura de specialitate încearcă să le clasifice şi să le ordoneze după importanţa fiecărui aspect, să sublinieze care din factori sunt opţionali sau nu pentru a exista o întreprindere virtual ă, sau care din factori sunt factorii cheie ai unei întreprinderi virtuale. Ce ce este unanim acceptat, este faptul că între toţi factorii care caracterizează un model de întreprindere virtual ă, exista o interdependen ţă ce asigură atingerea scopurilor propuse. Întreprinderile virtuale pot fi caracterizate după următoarele aspecte esenţiale: a) Structura O întreprindere virtuală este o reţea de organizaţii, dispersate geografic, dar care sunt reunite prin intermediul tehnologiilor informaţionale şi de comunicaţie. Întreprinderea virtuală diferă de o organizaţie retea în principal prin rolul important pe care î-l joacă tehnologiile informaţionale, prin gradul înalt de cooperare şi de încredere al tuturor partenerilor (orice organizaţie virtuală este o organizaţie retea, dar nu orice organizaţie reţea este o organizaţie virtuală). Structura întreprinderei virtuale se caracterizează prin aceea că este o structură dinamică -organizaţiile parăsi sau ataşa alianţei în orice moment. nu există o schemă organizatorică - o întreprindere virtuală este o reţea de toate tipurile de structuri organizaţionale şi este dificil de a schiţa o schemă organizatorică. De asemenea, nu există ierahii în structura unei întreprinderi virtuale, deoarece partenerii sunt egali (structur ă egalitară). întreprinderea virtuală este o organizaţie bazată pe încredere şi pe o participare egalitară concentrată pe atigerea unui anumit obiectiv. În alianţele strategice, încrederea este reglementată prin proceduri şi contracte. O structură egalitară conduce la sporirea eficienţei şi responsabilităţii, fiecare partener jucând un anumit rol pentru atingerea rezultatului final. Independenţă temporală şi geografică - o întreprindere virtuală se caracterizează prin dispersia geografică a partenerilor. Comunicarea între aceştia se face prin intermediul tehnologiilor înforma ţionale şi de comunicaţie, astfel încât distanţa nu mai constituie o problemă (de exemplu asistenţa tehnică pentru Sun Microsistems poate fi obţinută printr-un singur număr de telefon rutat în funcţie de ora zonei locale, la centre de servire din California, Anglia sau Australia). Distanţa este de exemplu irelevantă pentru transmiterea informaţiei sau pentru comercializarea produselor digitale, dar este o constrângere importantă cu privire la durata transportului de materii prime sau mărfuri. Locatiile partenerilor şi distanţa dintre ei reprezintă probleme strategice în funcţie de cerinţele lanţului valoric aprovizionare-desfacere a întreprinderii. Durata de viaţă. Pe această temă au fost multe discuţiii din partea specialistilor, majoritatea însă descriind întreprinderea virtuală ca o alianţă temporară. Conceptul derivă în parte din câtă rapiditate şi flexibilitate este •
•
•
•
•
•
48
nevoie pentru a capta scurta oportunitate a pie ţii. Văzute din această perspectivă, întreprinderile virtuale sunt organizaţii bazate pe proiect, care există până când acesta este realizat sau abandonat. Unele întreprinderi virtuale sunt bazate pe proiect, altele au o durată limitată, în timp ce altele cum ar fi întreprinderile mari multinaţionale există de ani de zile şi se adaptează continuu la schimbările mediului. Capacitatea de a se transforma rapid şi de a se adapta la condi ţiile pieţei, redau flexibilitatea întreprinderilor virtuale. În cazul unor condi ţii stabile, întreprindere virtuală poate reţine aceeaşi parteneri pentru o perioadă considerabilă de timp, în timp ce în cazul unor condiţii instabile, întreprinderil virtuale vor schimba constant partenerii cu scopul de a întâmpina noile cerinţe. Astfel, putem avea întreprinderi virtuale temporare sau permanente. b) Procesele O altă caracteristică estenţială a întreprinderilor virtuale este aceea ca au la baz ă o înaltă specializare şi calificare a membrilor săi, respectiv partajarea competenţelor forte ale fiecărui partener - capacitati, tehnologii, know-how, aptitudini etc. (în engleză core competence ). Cu toate că outsourcing-ul proceselor de sus ţinere este o practică de afaceri modernă, în cazul întreprinderilor virtuale este o caracteristică esenţială. Pentru întreprinderea virtuală este specifică externalizarea nu numai pentru activităţile de susţinere ci chiar şi pentru activităţile operaţionale pentru care nu se posedă o înaltă expertiză (competenţă de bază). Întreprinderea virtuala va reţine numai procesele care ofer ă un avantaj competitiv semnificativ şi care sunt dificil de copiat/realizat de competitori23. Excelenţa în afaceri a partenerilor este foarte importantă deoarece fiecare partener, prin competenţa sa, face posibil ca să creeze o organizaţie care are cea mai înalta calificare pentru procesele respective ("best- of -everything "). Flexibilitatea, agilitatea şi adaptabilitatea sunt elementele cheie al partenerilor dintr-o întreprindere virtuală. Intr-o întreprindere virtuală ideală, to ţi partenerii contribuie cu competen ţele lor de bază pentru a atinge obiectivele întregii organizaţii. Partenerii colaborează, î şi impart resursele, costurile, profiturile, riscurile şi pieţele. Aceasta însă presupune un grad înalt de încredere şi implicare din partea tuturor membrilor întreprinderii virtuale. Soarta fiecarui partener şi întreprinderii virtuale depinde de ceilalţi parteneri. Relaţiile semi-stabile şi partajarea riscului fac ca partenerii să devină dependenţi, iar ca urmare a partajării informaţiilor şi cunoştintelor, trebuie să existe o cantitate mare de încredere între toţi partenerii. c. Tehnologia informa ţională şi a comunicaţiilor Tehnologia informaţională şi a comunicaţiilor reprezintă un alt factor cheie pentru existenta unei întreprinderi virtuale. Întreprinderile virtuale au nevoie de flexibilitate şi rapiditate de la membrii lor şi necesită un sistem de cooperare inter-întreprinderi capabil să susţină schimbul de informaţii şi cunoştinte între partenerii dispersaţi geografic. Cerinţele tehnologice pentru o întreprindere virtual ă sunt: - aplicaţii de prelucrare distribuită a datelor - groupware pentru procese de integrare - sisteme interoperabile între toţi partenerii - conectivitate internă şi externă între indivizi. Tehnologiile informaţionale şi de comunicaţii reprezintă motorul întreprinderii virtuale şi au misiunea este de a procesa şi distribui informaţiile în timp real în intregul sistem, pentru a permite luarea rapidă a deciziilor şi coordonarea acţiunilor. d. Identitate Întreprinderea virtuală este o alianţă dintre mai multe întreprinderi independente, care nu are o suprastructură, dar care este perceput ă de teţele parţi că o singura entitate. Entitatea centrală a întreprinderii virtuale este responsabilă de formularea deciziilor pentru anticiparea şi adaptarea rapidă la cerinţele pieţei şi va armoniza întreaga reţea de firme independente. Membrii întreprinderii virtuale sunt parteneri şi î şi mentin independenţa pe toata durata existenţei alianţei. Problemele care se ridică din punct de vedere juridic, înc ă nu au răspunsuri foarte clare. Totul gravitează în jurul prevederilor legale cu privire la existenţa şi funcţionarea întreprinderii virtuale. Faptul că terţe parţi percep întreprinderea virtuală că o singură entitate, acestea pot invoca fie faptul că au fost induse în eroare la semnarea unui anumit contract fie că întreprinderea virtuală nu avea competen ţa legală de a semna acel contract întrucât nu este o entitate cu personalitate juridică. Fără personalitate juridică, întreprinderea virtuală nu poate avea legal bunuri, nu are o naţionalitate, nu are un sediu, nu poate angaja salariati Dacă partenerii doresc să dea legal personalitate întreprinderii virtuale, nu se încă bine precizat legea cărui stat este aplicabilă atâta timp cât întreprindere virtuală nu are un sediu social localizat într-o anumita tar ă. O soluţie ar fi să i se dea întreprinderii virtuale o entitate legală sau să se dezvăluiască identitatea unora sau a tuturor membrilor alianţei. Aplicarea acestei soluţii afectează caracteristica legată de flexibilitatea întreprinderii virtuale la oportunităţile de afaceri, care presupune o structur ă dinamică, în permanentă schimbare. Este prioritar interesul legitim al întreprinderii virtuale sau protejarea terţelor părţi cu care aceasta intră în contact? Prea multe formalităţi şi informaţii solicitate vor pune în pericol fundamentele pe care se bazeaza întreprinderea virtual ă. Prea puţine informaţii sau identificări neclare periclitează drepturile terţilor părţi şi activitatea de afaceri în general.
23
Boudreau M.C., LochDaniel, K., Straud, R.D., Going Global: Using Informaţion Technology to Advance the Competitiveness of the Virtual Transnaţional Organisation, Academy of Management, No. 12.4, 1998
49
5.4. Abordarea sistemului informaţional din perspectiva tehnologiei agent După cum am observat, agentul inteligent este acea entitate implementată într-un anumit mediu, cu scopul de a studia şi capta, prin intermediul unor senzori, modificările acestuia şi de a acţiona autonom sau de a coopera cu alte entităţi, astfel încât să-şi atingă obiectivul pentru care a fost implementat. Agenţii prezintă un alt mod de abordare şi de gestionare a complexit ăţii problemei întrucât oferă o nouă variantă de descriere a proceselor şi sistemelor complexe. Considerând, de exemplu, proiectarea unui sistem pentru aprobarea unor aplicaţii de credit, acesta implică interdependenţe între sucursalele băncii, firma care depune cererea de credit, instituţia unde se raportează creditele acordate şi automatizarea procesului de aprobare. Construind acest sistem utilizând tehnologia curentă, vom observa dificultatea şi complexitatea activităţilor, deoarece descompunerea sistemului obligă proiectantul să considere concepte de nivel de bază (ex. aplicaţia de credit, balanţa de verificare, ratingul creditului etc.) la definirea arhitecturii generale a sistemului. Mai mult, definirea protocolului de comunicaţie şi interfeţelor care vor permite băncii să schimbe date cu CRB şi solicitanţii de credit, va necesita un timp suplimentar. În proiectarea unui sistem orientat agent, solu ţia sistemului va include un agent client, un agent consilier credit, un agent analist credit etc. Proiectarea unui sistem din aceasta perspectiva se va focaliza pe comportamentul agenţilor şi pe comunicarea dintre ace ştia. Astfel, se va uşura procesul de proiectare deoarece nivelul de abstractizare este mult mai înalt şi programarea problemei insistă pe comportamentul specific al agentului. Pentru proiectarea unei aplicaţii bazate pe agenţi, Y. Lesperance [Lesper03], propune abordarea problemei în două etape principale, la nivel micro (agent) şi la nivel macro (sistem multiagent), respectiv clarificarea următoarelor aspecte: - arhitectura agentului – stabilirea specificaţiilor formale ale proprietăţilor agentului, stările mentale ale acestuia şi modul cum reacţionează la anumite evenimente; - limbajul de programare agent – stabilirea limbajelor utilizate pentru programarea agenţilor şi implementarea lor; - protocoalele de negociere – proiectarea mecanismele pentru atingerea acordurilor dintre agenţii competitivi; - alocarea sarcinilor şi coordonarea – proiectarea mecanismelor de alocare a sarcinilor, partajarea resurselor şi planificarea multiagent; - limbajul de comunicare agent – stabilirea limbajelor de comunicare, conţinutul acestora, ontologiile; - platforma multiagent – proiectarea platformelor multiagent şi a infrastructurii necesare, serviciile de bază pentru agenţi (yelow pages, white pages, servicii de reţea etc.). Jennings N.R., Sycara K. şi Wooldridge M.J., [JennSyc98] au abordat proiectarea aplica ţiilor bazate pe agenţi plecând de la o întrebare foarte simplă, dar plină de conţinut: ce oferă în plus tehnologia agent fa ţă de celelalte tehnologii, astfel încât să utilizăm acest model de proiectare? Propriet ăţile şi caracteristicile agenţilor / sistemelor multiagent, pot descrie cazurile în care paradigma tehnologiei agent este recomandat ă, iar avantajele utilizării tehnologiei agent trebuiesc judecate din prisma a două direcţii: abilitatea sa de a rezolva noi tipuri de probleme şi abilitatea sa de a îmbunătăţi eficienţa soluţiilor curente. Tehnologia agent reprezintă nivelul superior de abstractizare în modelarea întreprinderilor şi a aplicaţiilor economice. Modelarea bazată agent este o tehnică puternică de simulare, în care un sistem este modelat ca o colecţie de entităţi autonome de luare a deciziilor, numite a genţi. Multe din acţiunile executate de utilizatori pot fi acum delegate c ătre diferiţi agenţi software. Utilizarea tehnologiei agent în sistemele informaţionale presupune să dispunem de diferite tipuri de agenţi cooperativi, înzestraţi cu obiectivele fiecărei activităţi, cu procedurile standard aplicabile şi cu un tezaur de informa ţii şi cunoştinţe, pentru a putea executa sarcinile trasate. Caracteristicile cheie ale agenţilor, prin care sunt diferenţiaţi de alte entităţi software sunt: autonomia, abilitatea de a percepe, de a înţelege şi de a acţiona în mediul lor, respectiv abilitatea de a coopera cu alţi agenţi pentru rezolvarea problemelor complexe. Inteligen ţa unui agent este dată de cantitatea de cuno ştinţe cu care este înzestrat, la care se adaugă capacitatea de învăţare şi ra ţionament pe care o poate etala agentul, în vederea atingerii unui comportament orientat spre obiectivele de îndeplinit. În sistemul informaţional al unei organiza ţii, putem utiliza agenţii software în activităţi precum: - căutarea pentru culegerea, analiza, integrarea şi arhivarea informaţiilor; - informarea utilizatorilor cu privire la disponibilitatea informaţiilor despre un domeniu de interes; - negocierea pentru achizi ţia de informaţii, servicii sau bunuri; - explicarea relevanţei şi calităţii unei informaţii; - învăţarea şi adaptarea la schimbările condiţiilor din mediul monitorizat. Sistemul informaţional al unităţi bancare, modelat cu ajutorul tehnologiei agent, poate ar ăta ca în figura 5.8 În modelul prezentat, agenţii pot executa activităţi specifice compartimentelor sau structurilor organizaţionale pe care le reprezintă cum ar fi relaţii clienţi, credite, logistică, resurse umane, contabilitate etc., comunică între ei şi în plus sunt capabili să rezolve şi să anticipeze anumite comportamente. Model ările complexe încorporează reţele neuronale, algoritmi şi tehnici de învăţare şi reprezentare a lumii reale. Comportamentul unui agent trebuie înţeles şi descris în relaţie cu structura socială a organizaţiei şi cu obiectivele generale ale acesteia. Astfel, agenţii sunt entităţi individuale situate într-un mediu, care reacţionează la acest mediu şi la ceilalţi agenţi, negociază şi se coordonează pentru atingerea obiectivelor trasate. • •
50
Structura organizaţionala
Contabilitate Res. Umane
Rela ii clien i Credite
Logistică
Casierie
Agent Personal Agent Logistică
Sistem multiagent
Agent Contabilitate
Agent Credite
Agent Rel. clienti Agent Casierie
Mediul ranzacţiilor
Figura 5.8. Modelul conceptual al sistemului informa ţ ional bazat pe agen ţ i
Figura 5.9. exemplifică un model conceptual al procesului de analiză şi acordare a unui credit unei societ ăţi comerciale, cu ajutorul agenţilor. Ipoteza problemei de modelat este următoarea: o societate comerciala solicită un credit de la bancă, agentul ofiţer relaţii clienţi comunică cu clientul în vederea completării documentaţiei necesare, pe care o transmite ulterior agentului analist credit, prin intermediul a agen ţilor coordonatori director relaţii clienţi şi director credite. Cererea de credit este aprobată în urma deciziei colective dintre agentul director banc ă, agentul analist risc, agentul analist risc, agentul director relaţii clienţi şi agentul director credite. Acordarea creditului se realizează prin intermediul agenţilor ofiţer relaţii clienţi, ofiţer de cont şi casier, iar monitorizarea şi rambursarea creditului se realizează prin intermediului agent administrator credite. Agentul Director banca
Agentul Director Relatii clienti
Agentul Director credite Agentul Analist risc
Agentul ofiter relatii clien ţi
Agentul ofiţer de cont
Agentul Analist de credit
Agentul casier
Agentul Adtor credit
Figura 5.9. Model conceptual de analiz ă şi aprobare credit bazat pe agen ţ i
Mike Papazoglou, profesor la Tilburg University - Olanda, [Papazoglou01], face o clasificare a agen ţilor utilizaţi în aplicaţiile e-business, plecând de la ideea c ă este necesar să se organizeze agenţii în funcţie de competenţele şi funcţionalităţile acestora. Astfel, se pot distinge patru categorii de agenţi (figura 5.10): 1. Agen ţ ii aplica ţ ie. O aplicaţie B2B implică un număr mare de agenţi aplicaţie, în care fiecare agent este specializat într-un domeniu de expertiz ă, oferă acces la cunoştinţele disponibile din domeniul respectiv şi lucrează cooperativ cu alţi agenţi pentru rezolvarea unei probleme complexe. 2. Agen ţ ii personali – lucrează direct cu utilizatorii pentru a le oferi ajutor în prezentarea, organizarea, colectarea şi regăsirea informaţilor. Agenţii personali observă şi monitorizează acţiunile întreprinse de utilizator, îi învaţă comportamentul şi modul de raţionament după care îi sugerează metode mai bune de rezolvarea a sarcinilor. Metodele de învăţare folosite de agenţi sunt: observarea şi imitarea utilizatorului; recepţionarea unui feedback negativ sau pozitiv de la utilizator; recep ţionarea unor instrucţiuni explicite de la utilizator.
51
3. Agen ţ i de activit ăţ i generale – sunt agenţii care execută o variată gamă de activităţi comerciale cu caracter general, care pot fi adaptate la nevoile specifice ale unei organiza ţii. De exemplu, agenţi de căutare care navighează prin mediul electronic pentru a c ăuta parteneri de afaceri sau informaţii despre produse; agenţi de negociere pentru vânzare sau cumpărare produse; agenţi marketing pentru prospectarea produselor şi serviciilor de pe Internet; agenţi juridici şi financiari care oferă informaţii cu privire la legislaţie, taxe, pârghii de control. Agen ţii brokeri pentru ebusiness oferă facilităţi precum localizarea informaţiilor pe Web sau a altor agen ţi care pot fi solicitaţi în rezolvarea unor probleme (agen ţii de tip ”pagini albe”, ”pagini aurii”, agenţi de rutare etc). Agenţii de căutare şi negociere sunt agenţii care pot negocia termenii unei tranzacţii (descrierea ofertei, propunerilor, termenele de plata, modalităţi de livrare, penalităţi, documente necesare etc.). Tipologia agenţilor business
Agenţi marketing
Agenţi aplicaţie
Agenţi juridici Agenţi pentru activită i enerale
Agenţi personali
Agenţi financiari Agenţi nivel sistem Agenţi workflow
Agenţi de negociere
Agenţi wrapper Agenţi brokeri
Agenţi de tranzacţii
Agenţi translatori
Agenţi de integrare
Agenţi de cautare
Agenţi informaţionali
Figura 5.10. Tipologia agen ţ ilor e-business (adaptare dup ă Mike Papazoglou [Papazoglou01])
4. Agen ţ i suport nivel sistem – în această categorie intră agenţii pentru interoperabilitate (agenţii translatori, agenţii de integrare), agenţii workflow şi agenţii de tranzacţii. Agenţii pentru interoperabilitate suport ă interfaţa ce permite schimbul de informaţii cu diferite sisteme informaţionale sau aplicaţii software. De exemplu, integrarea companiilor în jurul lanţului de aprovizionare, face posibil ca un agent aplicaţie ce deţine informaţii din sisteme, să acceseze sistemul ERP al unei alte companii, unde verifică stocul la produsele descrise în comandă şi ulterior să acceseze sistemul unei companii de distribu ţie/transport, unde programează un transport, utilizând adresa clientului şi informaţiile despre condiţiile de livrare. Tranzacţiile în e-business sunt utilizate pentru a interschimba orice de la informaţii despre produs şi propuneri de preţ la înţelegeri financiare şi juridice. Utilizarea agenţilor workflow în aplicaţiile e-business, simplifică procesarea, monitorizarea şi controlul tranzacţiilor prin automatizarea unui număr de activităţi şi aplicarea restricţiilor în timpul proceselor. În literatura de specialitate, sunt descrise mai multe metodologii de proiectare a sistemelor multiagent, cu variaţii de reprezentări formale sau de semantică: Gaia (Wooldridgce, Jennings, Kinnz, 2000), PASSI (Cossentino, Potts, 2002), MASSIVE (Lind, 2001), MaSE (Wood, DeLoach, 2001), AUML (Odell, Parunak, Bauer, 2001) etc. Metodologiile de proiectare a sistemelor bazate pe agen ţi, propun anumite etape de analiz ă şi proiectare. Obiectivul etapei de analiză este de a înţelege sistemul şi structura sa. Organizarea sistemului este văzută ca o colecţie de roluri, între care exist ă anumite relaţii. În Gaia, de exemplu, există două modele: modelul rolurilor şi modelul interacţiunilor. Modelul rolurilor identifică rolurile cheie din sistem, iar modelul interacţiunilor exprimă relaţiile şi dependenţele dintre diferite roluri. În faza de proiectare, se transform ă modelele de analiză, în trei modele: modelul agent – care identific ă tipurile de agent care vor fi implementate în sistem şi instanţele agent pentru fiecare tip; modelul serviciilor – identifică serviciile principale care sunt apelate la executarea rolurilor de către agenţi; şi modelul cunoştinţelor – care documentează legăturile de comunicaţie dintre diferiţi agenţi. Toate metodologiile utilizate pot fi rezumate ca având dou ă scopuri bine conturate, ce se finalizează cu obţinerea a două modele: proiectarea nivelului domeniu – modelul extern – care surprinde identificarea tipurilor de agen ţi, a scopurilor lor, a responsabilităţilor, a interacţiunilor dintre aceştia şi definirea protocoalelor de coordonare pentru fiecare tip de interacţiune. Acest model trebuie să răspundă la următoarele întrebări: de ca ţ i agen ţ i avem nevoie? ce canal de comunica ţ ie utilizează agen ţ ii? ce protocoale de comunica ţ ie utilizează agen ţ ii? •
52
cum este structurat ă o conversa ţ ie între agen ţ i? cum este configurat ă o comunitate agent? cum î şi coordoneaz ă agen ţ ii ac ţ iunile? proiectarea nivelului agent – modelul intern - care are ca obiectiv definirea arhitecturii pentru fiecare tip individual de agent, respectiv definirea ac ţiunilor şi structurilor de date identificate: cum va modela fiecare agent realitatea? care este structura intern ă a unui agent? agen ţ ii sunt identici sau eterogeni Concluzia este că un sistem multiagent care modelează o organizaţie, trebuie să simuleze structura acesteia, să fie capabilă să se adapteze la schimb ările structurale, la interacţiunile şi obiectivele care apar, iar integrarea tehnologiei workflow cu tehnologia agent, presupune crearea unui agent sarcin ă pentru fiecare activitate corespondentă unei instanţe a procesului. -
•
5.5. Modelarea avansurilor spre decontare prin tehnologia workflow bazată pe agenţi Să presupunem un alt scenariu: la nivelul unei organiza ţii există următorul flux în solicitarea unei sume în avans pentru o deplasare în delega ţie (figura 5.11): - angajatul completează ordinul de deplasare şi solicită suma necesară pentru această deplasare; - şeful de departament şi directorul aprobă această cerere; - o secretară, în baza aprobării obţinute, virează banii în contul angajatului.
Salariat
Sef departament
Solicitare avans
Aprobare sef direct
Ordin de deplasare
Informaţii despre delegaţie
Director
Aprobare director
Secretariat
Virare suma n cont
Confirmare sumă Confirmare deplasare
Suma aprobată
Creditare cont salariat
Figura 5.11. Fluxul pentru ridicarea unui avans spre decontare
Acest workflow este un şablon pentru multe instan ţe de acelaşi tip. O instanţă a acestui workflow va fi creată ori de câte ori un angajat va pleca de exemplu, în delegaţie la un curs de instruire. În acest caz, un workflow bazat pe agenţi este un flux de activităţi în care agenţii interpretează, coordonează şi sprijină executarea respectivului proces. Într-un astfel de sistem există mai multe tipuri de agenţi care conduc un workflow, respectiv: - agentul workflow (AW) reprezintă şi sprijină o instanţă a unui workflow şi controlează întreaga execuţie a procesului; - agentul proces (AP) – pentru fiecare definire de proces, este creat un agent proces. El poate fi văzut ca un depozit care conţine unul sau mai multe şabloane pentru fiecare proces definit; - agentul sarcină (AS) – este responsabil pentru o sarcină dintr-o instanţă a procesului. El este creat de AW şi trebuie să caute un subiect, să transmită acestuia descrierea sarcinii şi, după execuţia acestuia, să trimită rezultatele către agentul workflow; - agentul list ă_subiect (ALS) – memorează structura organizaţiei mediului workflow. În exemplul nostru o mapare a tuturor salariaţilor şi rolurile asignate; - agentul personal (APe) – este un agent interfaţă între subiect şi agenţii sarcină care vor fi creaţi şi vor coordona comunicarea dintre salariaţi şi agenţii sarcină. Ideea de bază în manipularea activităţilor dintr-un workflow bazaţi pe agenti este crearea unui agent sarcină pentru fiecare activitate corespondent ă unei instanţe a procesului. În cazul nostru, fluxul se execut ă astfel (figura 5.12): 1. Execuţia fluxului începe cu agentul workflow (AW) iniţiat de salariatul X , care are nevoie de o sum ă de bani pentru deplasarea la un curs. Agentul workflow (AW) întreab ă pe agentul proces (AP), ce sarcină trebuie să execute. Agentul workflow, primeşte de la agentul proces (AP) o listă de sarcini ce trebuiesc executate şi în baza acestei liste va crea câte un agent sarci nă (AS) pentru fiecare sarcină;
53
2. Agentul sarcină (AS) trebuie să găsească un subiect pentru a executa sarcina. Pentru aceasta, el migreaz ă către agentul listă_subiecţi (ALS), de unde obţine o listă cu subiecţii ce pot executa sarcina. Din această listă, alege un subiect s şi migrează către acesta (alegerea unui subiect din listă se poate face aleatoriu sau pe baza unor criterii); 3. După ce agentul sarcină (AS) a migrat la subiectul selectat, agentul personal al subiectului S (APe), este informat despre faptul că un task nou a şteaptă să fie executat; 4. Agentul personal (APe) informează acum subiectul, respectiv şeful care trebuie să semneze ordinul de deplasare, prin scrierea unui mesaj pe ecran sau printr-un mesaj audio. Subiectul execută sarcina în conformitate cu informaţiile transmise de către agentul sarcină (AS); Agent Proces Aprobare decont
Agent Task
Agent Workflow
Aprobare cerere
Instanţa nr 122
Agent Personal dl. Popescu
Agent Task
Agent Task
Agent Personal
Aprobare cerere
Aprobare cerere
dl. Ionescu
Agent Lista_Subiecti Agent Task Director
dl. Popescu
Sef Serviciu 1
dl. Ionescu
Sef Serviciu 2
dl. Vasikescu
Aprobare cerere
Figura 5.12. Fluxul bazat pe agen ţ i pentru ridicarea unui avans spre de contare
5. Când operaţia este gata, agentul sarcină migrează înapoi către agentul listă_subiecţi (ALS) pentru a actualiza baza dinamică cu privire la informaţiile colectate despre subiectul S în execuţia taskului.
54
6. Modele de referinţă pentru standardizarea sistemelor bazate pe tehnologia agent 6.1. Modelul FIPA O serie de organisme internaţionale cum ar fi FIPA - The Foundation for Intelligent Physical Agents, OMG - Object Management Group, IFAAMAS - International Foundation for Autonomous Agents and Multiagent Systems, KAoS - Knowledgeable Agent-oriented System, General Magic Group etc., şi-au propus să standardizeze anumite concepte şi infrastructuri pentru tehnologia agent, care să permită implementarea unor sisteme deschise, respectiv definirea unui cadru de dezvoltare a platformelor pentru agen ţi inteligenţi, care să permită interoperabilitatea între diferite sisteme software, o direcţie de cercetare extrem de actual ă. Pentru dezvoltarea sistemelor bazate pe tehnologia agent, trebuie determinate şi standardizate anumite caracteristici atât ale platformelor cât şi ale agenţilor. Aspectele care fac obiectul standardizării se referă la modul de înscriere a unui agent într-o anumită platformă, modul de transport al codului agentului, comunicarea cu alţi agenţi şi nu în ultimul rând, securitatea agenţilor şi a informaţiilor deţinute de aceştia. Interoperabilitatea dintre diferite sisteme agent (respectiv platforme în care agenţii pot fi executaţi, transferaţi şi gestionaţi) va fi cu atât mai mare cu cât conven ţiile privind transferul, transportul şi ciclul de viaţă al agenţilor vor fi mai standardizate. Conform IFAAMAS, interoperabilitatea survine din trei domenii [IFAAMAS07]: - din convenţiile de reprezentare a numelui şi locaţiei agenţilor; - din definirea unui modul comun IDL1 privind tipul, structura şi operaţiile sistemului agent; - din informaţii privind modul de utilizare a acestor standarde. Din cercetările noastre a rezultat că, pentru realizarea interoperabilităţii între diferite sisteme bazate pe tehnologia agent, trebuie s ă se respecte o serie de cerinţe cu privire la managementul platformei agent, transportul agenţilor, comunicarea între agenţi, managementul şi execuţia agenţilor, securitatea şi integritatea agenţilor. Aceste cerinţe pot fi clasificate astfel: a) cerin ţ e pentru o platform ă agent: - să fie un mediu deschis, distribuit şi eterogen - platforma nu trebuie s ă limiteze un anumit tip de hardware sau software; - să suporte un anumit nivel de abstractizare care s ă-i permită distincţia dintre obiectele mobile şi cele staţionare; - să ofere un set generic de agenţi care să poată fi extinşi de către programatori şi integraţi în propriile aplicaţii; - să garanteze execuţia corectă a codului unui agent – programatorul trebuie s ă fie informat corect (transparenţa platformei) despre regulile sau restricţiile de programare ale platformei agent, astfel încât s ă poată determina corect comportamentul sistemului de agenţi; - să definească precis modelul comportamental al agentului – cum şi când sunt executate metodele invocate de agent şi în ce ordine de prioritate; - să ofere posibilitatea execuţiei mai multor agenţi în acelaşi timp; - să asigure flexibilitatea şi robusteţea interacţiunii între agenţi; - să poat ă calcula necesarul de resurse pentru agen ţi şi să decidă dacă resursele pot fi alocate sau nu unui agent; - să ofere mecanisme care să permită agenţilor să-şi înregistreze serviciile disponibile; - să ţină un fişier de tip "log" despre starea agenţilor – când un agent soseşte în sistem, agentul sistem creează pentru agentul respectiv un profil de date într-un format predefinit, recunoscut de ceilalţi agenţi din sistem; - să notifice utilizatorii, agenţi sau un alt sistem bazat pe tehnologia agent dacă a aparut o eroare în sistem; b) cerin ţ e privind transportul agen ţ ilor: - agenţii pot migra pe orice platformă accesibilă – migraţia nu este limitată la un singur domeniu; - agenţii mobili trebuie să fie capabili să-şi planifice execuţia şi migrarea către alte platforme agent; - migrarea agentului nu presupune doar transportul datelor agentului ci şi reconstruirea agentului în platforma de destinatie - o platformă trebuie să transporte la locaţia de destinaţie toate datele definite de agent şi trebuie să cunoască cum să reconstruiască fiecare element; - după migrare, activitatea agentului trebuie să continue şi nu doar să fie repornită; - un agent care se pierde în spaţiu în timpul transportului trebuie să informeze agenţia despre această eroare; c) cerin ţ e privind comunicarea între agen ţ i: - agenţii trebuie să fie capabili să comunice cu alţi agenţi sau obiecte CORBA – agenţii trebuie să interacţioneze între ei şi cu mediul lor pentru a oferi informaţii şi servicii; - obiectele externe trebuie să fie capabile să comunice cu agenţi; - agenţii mobili trebuie să fie capabili să execute comunicaţii sincrone şi asincrone; - agenţii trebuie să fie capabili să trimită un mesaj la mai mulţi agenţi simultan; - platforma trebuie să ofere o separare arhitecturală şi funcţională a facilităţilor de comunicare de bază de cele inteligente – nu este obligatoriu pentru un agent s ă utilizeze tehnici de comunicare inteligente; - platforma agent trebuie să ofere o interfaţă standard care să permită schimbul de mesaje între agenţi cu interfaţă de comunicaţie necunoscută – fiecare agent trebuie s ă gestioneze comunicaţiile cu alţi agenţi, urtilizănd interfaţa standard în cazul în care agentul nu este din aceeaşi agenţie; - agenţii trebuie să fie capabili să-şi execute propriile sarcini, în paralel c u munca altor agenţi; 55
- agenţii nu trebuie să se influenţeze între ei – excep ţie fiind doar când doresc să facă acest lucru prin metodologiile de comunicare; - un agent trebuie să fie capabil să-şi manipuleze şi controleze starea - autonomia agentului se reflectă şi în cunoaşterea propriei stări interne; d) cerin ţ e de securitate: - o platformă trebuie să fie protejată împotriva viruşilor; - agenţii şi agentul sistem trebuie să detecteze buclarea execuţiei unui cod pentru prevenirea bloc ării sistemului; - un agent trebuie să fie protejat împotriva schimbării codului şi datelor; - stocările locale ale agentului sistem trebuiesc protejate împotriva accesului neautorizat; - pentru menţinerea secretului mesajelor, platforma agent trebuie s ă ofere facilităţi de codificare a comunicărilor; - un agent de sistem bazat pe tehnologia agent trebuie să fie capabil să controleze utilizarea resurselor procesorului; - un agent de sistem trebuie s ă fie capabil să se autentifice în faţa unui alt agent de sistem; - un agent de sistem trebuie s ă verifice originea unui alt agent, înainte de a-l accepta; - un agent trebuie s ă posede un istoric al traseului parcurs – un agent de sistem poate decide acceptarea sau nu a unui agent, verificând istoricul platformelor pe care a func ţionat agentul respectiv; - un agent de sistem trebuie s ă controleze accesul la interfeţele sale externe; - un agent trebuie să fie protejat împotriva terminării neautorizate sau copierii neautorizate; - un agent trebuie să păstreze un fişier "log" despre activit ăţile importante apărute şi să le raporteze proprietarului său. Modelul FIPA [FIPA0100] este un model de referin ţă logic, pentru crearea, înregistrarea, comunicarea, migrarea şi terminarea execuţiei unui agent şi cuprinde următoarele componente (figura 6.1):
1. Agentul – actorul fundamental de pe o platformă agent (engl. Agent Platform, AP), care combină una sau mai multe aptitudini într-un model de execuţie integrat. Un agent trebuie s ă aibă cel puţin un proprietar – o organizaţie / o persoană şi trebuie să permită accesul la un software extern, utilizatori umani şi alte facilităţi de comunicare. Pentru identificarea sa f ără echivoc, un agent are o etichetă Agent Identifier (AID).
Agent Identifier (AID) este o colecţie extensibilă de perechi de valori-parametru, ce poate fi completat ă dinamic cu ajutorul lui Agent Platform în funcţie de cerinţe, cu nume, funcţie, roluri etc. Exemplu: (agent-identifier :name
[email protected] :addresses (sequence iiop://banca.com/acc))
Un AID cuprinde parametrul name, care este un identificator global unic şi se recomandă a fi format din numele agentului şi adresa de domiciliu a platformei agent (HAP – Home Agent Platform Adress), separat prin caracterul @. Numele unui agent nu poate fi schimbat pe parcursul ciclului de viaţă al unui agent. Parametrul addresses, este o listă de adrese de transport unde un mesaj poate fi livrat. O adresă de transport este o adresă fizică la care un agent poate fi contactat şi este specificată în protocolul de transport mesaje. Un anumit agent poate suporta mai multe metode de comunicare şi poate con ţine mai multe valori de adrese în parametrul addresses. Parametrul resolvers este o listă de nume de adrese de servicii. Numele unei rezolu ţii este un serviciu oferit de Agent Management Services - AMS prin intermediul funcţiei search. 2. Platforma2. Platforma Agent (AP) – oferă o infrastructură fizică în care agenţii pot fi elaboraţi, respectiv un sistem de calcul, sistem de operare, software suport pentru agenţi, componente de management a agen ţilor (DF, AMS, MTS) şi agenţi;
56
3. Facilitatorul Director (DF) – este o componentă esenţială a platformei agent, ce ofer ă servicii de tip "pagini aurii" pentru alţi agenţi. Agenţii î şi pot înregistra serviciile lor prin DF sau pot interoga DF pentru a afla ce servicii sunt oferite de alţi agenţi. Pe o platformă agent pot exista mai mulţi agenţi facilitatori. Funcţiile acceptate de un DF sunt: register, deregister, modify şi search.
Orice agent care doreşte să-şi publice serviciile către alţi agenţi, trebuie să găsească un facilitator director şi să solicite înregistrarea descrierii sale. În orice moment, un agent poate solicita facilitatorului director s ă-i modifice descrierea. De asemenea, tot prin intermediul facilitatorului director, un agent poate solicita căutarea anumitor servicii oferite de alţi agenţi . Facilitatorul Director are o identificare unică într-o platformă agent, respectiv: (agent-identifier :name df@hap :addresses ( sequence hap_transport_address )) 4. Message Transport Service (MTS) – asigură comunicarea propriu-zisă dintre agenţii din diferite platforme agent; 5. Software – entitatea ce descrie toate colecţiile de instrucţiuni executabile non-agent accesibile printr-un agent. 6. Agent Management System (AMS) – este un agent care exercită un control de supervizor asupra accesului şi utilizării platformei agent. Pe o platformă agent există doar un singur agent AMS. El conţine un repertoar cu identificatorii agenţilor înregistraţi în platformă şi oferă servicii de tip "pagini albe" pentru alţi agenţi. Fiecare agent iniţiat pe o platformă trebuie să se înregistreze cu agentul AMS pentru a obţine un identificator valid, înregistrare care implică autorizarea de a accesa MTS–ul platformei agent pentru a tri mite şi recepţiona mesaje. Agentul AMS are un identificator AID rezervat şi anume: (agent-identifier :name ams@hap :addresses (sequence hap_transport_address))
Un agent AMS trebuie să fie capabil să execute următoarele funcţii: register, deregister, modify, search şi getdescription. Agentul AMS este responsabil de managementul operaţiunilor din platforma agent, respectiv crearea şi ştergerea agenţilor sau migrarea către alte platforme. AMS asociază fiecărui agent din platformă un ciclu de viaţă. El poate să dea instrucţiuni platformei agent pentru ca aceasta să execute următoarele operaţii: suspend agent, terminate agent, create agent, resume agent execution, invoke agent, execute agent, resource management.
Figura 6.2. Ciclul de via ţă al unui agent [FIPA2300]
Agentul AMS are următoarele responsabilităţi în legătură cu mesajele transmise în fiecare stare a ciclului de viaţă al unui agent (figura 6.2) : - active – MTS transmite normal mesajele agentului; - initiated/waiting/suspended – MTS reţine mesajele până când agentul revine în starea activ ă; - transit – această stare este specifică doar agenţilor mobili. MTS reţine mesajele până când agentul revine în starea activă; - unknown – MTS reţine sau respinge mesajele în func ţie de politica de configurare a acestuia. Stările de tranziţie ale unui agent pot fi atinse prin următoarele metode: • create – crează sau instalează un agent nou; • invoke - apelează un agent nou; • destroy – terminarea forţată a unui agent - poate fi iniţiată doar de AMS şi nu poate fi ignorată de către agenţi; • quit – terminarea cu succes a unui agent; • suspend – trecerea unui agent într-o stare de suspendare – această stare poate fi iniţiată doar de AMS;
57
• resume - activează un agent din stare suspendată - această stare poate fi iniţiată doar de AMS; • wait – pune agentul într-o stare de a şteptare - poate fi iniţiată doar de agenţi; • wake up – activează un agent aflat în stare de a şteptare - poate fi ini ţiată doar de AMS; • move – valabilă doar pentru agenţi mobili – pune agentul într-o stare de tranzit - poate fi iniţiată doar de către agenţi; • execute – valabilă doar pentru agenţi mobili – aduce agentul din starea de tranzit - poate fi iniţiată doar de către AMS. Toate aceste aspecte vor fi folosite în abord ările noastre referitoare la utilizarea tehnologiei agent în aplicaţiile financiar contabile.
6.2. Comunicarea între agenţi Întrucât agenţii pot avea arhitecturi interne şi abilităţi diferite, este necesar să se utilizeze anumite specificaţii privind infrastructura agenţilor şi a aplicaţiilor bazate pe tehnologii agent, care să permită o interoperabilitate în transportul mesajelor şi o compatibilitate în ceea ce priveşte formele de reprezentare a limbajului de comunicare agent şi a conţinutului limbajului. În sistemele bazate pe agenţi, agenţii interacţionează între ei, schimbă informaţii, cunoştinţe şi servicii (figura 6.3):
Pentru a interacţiona şi schimba informaţii, agenţii trebuie să comunice într-un anumit limbaj. Plecând de la această premisă, Genesereth M.R. şi Ketchpel S.P. [GenesKetch94] au elaborat urm ătoarea axiomă privind definiţia unui agent: „un program software este agent software dac ă şi numai dacă el comunică corect într-un limbaj de comunicare agent ”. Din cercetările noastre a rezultat că limbajele de comunicare agent trebuie s ă îndeplinească anumite cerinţe legate de: - formă, respectiv un limbaj de comunicare agent trebuie să fie declarativ, cu sintactică simplă, uşor de înţeles de către utilizatori. Deoarece limbajul de comunicare va fi integrat într-o gamă variată de sisteme, sintaxa lui trebuie să fie extensibilă; - con ţ inut , respectiv un limbaj de comunicare agent trebuie s ă fie structurat într-un mod care să fie util pentru toate sistemele. Trebuie f ăcută distincţie între limbajul de comunicare – care exprimă acte comunicative - şi conţinutul limbajului – care exprimă lucruri despre un domeniu. Limbajul trebuie să aibă definit un set de primitive care să poată fi extins; - semantică , respectiv descrierea semantică a limbajelor de comunicare şi a primitivelor este de regulă limitată la descrierile în limbaj natural, dar este necesar ă şi o descriere formală, care să permită interacţiunea dintre diverse aplicaţii; - implementarea, adică trebuie să fie eficientă atât în ceea ce prive şte viteza, cât şi lărgimea de bandă utilizată; - re ţ eaua, respectiv un limbaj de comunicare agent trebuie s ă se potrivească foarte bine cu tehnologiile moderne din domeniul reţelelor. Astfel, el trebuie să suporte toate tipurile de conectare de bază şi conexiuni sincrone şi asincrone. Protocoalele de nivel înalt trebuie să fie independente de mecanismele de transport utilizate; - mediul. Mediul în care agenţii operează va fi foarte distribuit, eterogen şi extrem de dinamic. Pentru a oferi un canal de comunicaţie cu lumea din afara acestui mediu, un limbaj de comunicare agent trebuie s ă ofere instrumente pentru tratarea acestor fenomene, să suporte interoperabilitatea cu alte limbaje şi protocoale; - fiabilitate. Un limbaj de comunicare agent trebuie s ă faciliteze securitatea comunicaţiilor dintre agenţi, să garanteze autenticitatea agenţilor şi s ă asigure mecanisme pentru identificarea şi semnalarea erorilor în procesul de comunicare. Din punct de vedere tehnic, comunicarea între agen ţi se realizează utilizând protocoalele de transport ultracunoscute gen TCP-IP, HTTP, IIOP. Noi am constatat că limbajul care tinde să devină standard pentru comunicarea între agenţi este KQML (Knowledge Query and Manipulation Language) . KQML a fost conceput atât ca un format al mesajelor cât şi ca un protocol de manipulare a mesajelor, care s ă permită partajarea cunoştinţelor între agenţi.
58
6.3. Limbajul KQML KQML este un protocol pentru schimbarea informa ţiilor şi cunoştinţelor şi se caracterizează prin faptul că toate informaţiile pentru înţelegerea conţinutului mesajului sunt incluse în structura comunica ţiei. KQML poate transporta expresii codificate în orice limbaj de reprezentare, inclusiv ASCII. Caracteristicile limbajului KQML [FininLabrou95] , sunt: - mesajele KQML sunt opace la conţinutul pe care îl transport ă; - primitivele limbajului sunt numite performative şi definesc acţiunile pe care agenţii le pot întreprinde în comunicare; - mediul în care agenţii comunică prin KQML, trebuie să conţină un agent special – numit facilitator (mediator, router), care coordonează comunicaţiile dintre agenţi, respectiv: - localizează agenţii după nume sau abilităţi; - descompune şi trimite mai departe mesajele agenţilor; - furnizează servicii de traducere şi mediere; - stochează temporar informaţii. Protocolul de bază este definit de următoarea structură: (KQML performativa : sender
: receiver : language : ontology : content …) Pentru a înţelege mesajul, receptorul trebuie să înţeleagă limbajul şi să aibă acces la ontologie. O ontologie este o specificaţie a obiectelor, concepţiilor şi relaţiilor dintr-un anumit domeniu [FininLabrou95] . Un agent trebuie să-şi reprezinte cunoştinţele într-un vocabular specific unei ontologii. Toţi agenţii care partajează aceeaşi ontologie pentru reprezentarea cunoştinţelor pot să înţeleagă cuvintele în limbajul de comunicare agent. Agenţii care vorbesc KQML apar unii fa ţă de alţii drept clien ţ i şi servere, iar comunicaţiile pot fi sincrone sau asincrone. Mesajele KQML pot fi imbricate, adic ă conţinutul unui mesaj KQML să fie un alt mesaj KQML. De exemplu, dacă Agent1 nu poate să comunice direct cu Agent2 (dar poate să comunice cu Agent3), Agent1 îl poate ruga pe Agent3 să trimită mesajul mai departe pentru Agent2. Limbajul KQML este alcătuit pe trei niveluri: (figura 6.4) - nivelul comunica ţ iei – permite identificarea emiţătorului şi a receptorului şi obţinerea unui identificator unic asociat cu comunicaţia; - nivelul mesaj – specifică protocolul utilizat pentru a transmite mesajul, ontologia şi anumite descrieri despre conţinut; - nivelul con ţ inut – conţinutul efectiv al mesajului.
Figura 6.4. Structura unui mesaj KQML
Performativele utilizate de KQML pot fi grupate în următoarele categorii: - interogări de bază : evaluate, ask-one, ask-all ; - interogări multi-răspuns: stream-in, stream-all ; - performative de răspuns: reply, sorry; - performative informative generice: tell, cancel, achieve, unachieve ; - performative generatoare: standby, ready, next, rest ; - performative de notificare: advertise, subscribe, monitor ; - performative de facilitare: broker, recommend, recruit . Considerăm cazul în care agentul A dore şte să cunoască adevărul despre propoziţia x şi agentul B poate avea răspunsul la propoziţia x în baza sa de cunoştinţe şi există un facilitator F disponibil. Există următoare situaţii: a) Dacă A cunoaşte c ă agentul B are cunoştinţe despre x, atunci el poate trimite cererea direct la B, utilizând un protocol simplu point-to-point (figura 2.13).
59
Figura 6.5. Comunicare prin performativa ask
b) Dacă A nu cunoaşte ce agenţi sunt disponibili sau care din ei au cuno ştinţe despre domeniul lui x, atunci A utilizează o performativă subscribe, prin care cere facilitatorului F să monitorizeze adevărul despre x. Dacă după aceea B îl informează pe F în legătură cu adevărul despre x, atunci F poate să-l informeze pe A despre acest lucru (figura 6.6):
Figura 6.6. Comunicare prin performativa subscribe
c) O altă situaţie puţin diferită este cea în care A îl roagă pe F să găsească un agent care poate procesa performativa ask(x). Independent, agentul B îl informează pe F că doreşte să accepte performative de genul ask(x). F având aceste două mesaje, îi trimite mai departe agentului A, răspunsul despre domeniul lui x (figura 6.7.)
Figura 6.7. Comunicare prin performativa broker
d) Dacă agentul A utilizează o altă performativă prin care îl informează pe agentul F că este interesat să cunoască adevărul despre x, atunci performativa recruit roagă receptorul să găsească un agent care dore şte s ă recepţioneze şi să proceseze această performativă. În acest caz, răspunsul va fi transmis direct agentului care a iniţiat cererea (figura 6.8)
Figura 6.8. Comunicare prin performativa recruit
60
e) O ultimă variantă este aceea în care agentul A îi cere lui F să-I recomande unui agent căruia să-i adreseze o performativă ask(x). Agentul F , ştiind că agentul B acceptă performative ask(x), îi transmite lui A numele agentului B. Agentul A este liber să iniţieze dialog cu agentul B (figura 6.9):
Figura 6.9. Comunicare prin performativa reccomend
Unul dintre cele mai importante rezultate ale eforturilor FIPA este limbajul de comunicare între agen ţi FIPA ACL (FIPA Agent Communication Language). Acest limbaj se bazează pe teoria actelor de vorbire: mesajele sunt acţiuni sau acte de comunicare. Specificaţiile limbajului oferă descrierea unor protocoale de nivel înalt, cum ar fi solicitarea unor acţiuni, Contract Net şi mai multe tipuri de licitaţii. Sintaxa FIPA ACL este identică cu cea a limbajului KQML, cu excepţia unor nume diferite pentru anumite primitive. Limbajul KQML a fost considerat o bună perioadă de vreme limbajul care tindea s ă devină standard pentru comunicarea între agenţi. Probabil din încercarea de a standardiza prea devreme, existând prea pu ţine sisteme multiagent implementate, limbajul KQML a rămas un limbaj de comunicare inter-agent de referin ţă. Comunicarea între agenţii FIPA are loc în limbajul de comunicare implicit fie FIPA-ACL, fie ACL/XML. Folosind XML se pot specifica ontologiile dorite pentru diferite domenii de aplica ţie. Conform FIPA, conţinutul unui mesaj poate fi exprimat în orice limbaj de conţinut. Utilizarea XML ca limbaj de conţinut are avantajul prezentării facile a mesajelor de comunicare dintre agenţi şi aplicaţiile web existente.
61
BIBLIOGRAFIE 1. Adam, R., Contributii la utilizarea sistemelor multiagent in aplicatiile financiar bancare, Teza de doctorat, Universitatea A.I. Cuza, Iasi, 2009 2. Adam, R., The management of business processes aided by the agent technology, Studii şi Cercetări Ştiinţifice, seria Ştiinţe Economice, ISSN 1224-9858, Nr. 12, Universitatea Bac ău, 2007 3. Adam, R., Oportunit ăţ i ale utilizării tehnologiei agent în sistemele informa ţ ionale financiar-contabile , Studii şi Cercetări Ştiinţifice, seria Ştiinţe Economice, ISSN 1224-9858, Nr. 11, Universitatea Bac ău, 2006 4. Adam, R., Using Agent Technology for Customer Relationship Management in banking , InfoBUSINESS 2004 – "Innovative Applications of Information Technologies in Business and Management", International Symposium, 2004, Iaşi 5. Adam, R., Noua economie şi mediile de afaceri moderne , Studii şi Cercetări Ştiinţifice, seria Ştiinţe Economice, ISSN 1224-9858, Nr. 9, Universitatea Bacău, 2004 6. Adam, R., Întreprinderile virtuale versus întreprinderile tradi ţ ionale, Revista INFOREC nr. 29, ASE – Bucureşti, 2004 7. Andone, I., Tabără, N., (coordonatori), Contabilitate, tehnologie şi competitivitate, Editura Academiei Române, Bucureşti, 2006 8. Andone I., Tugui Al., s.a., Dezvoltarea sistemelor inteligente in economie, Editura Economica, Bucuresti, 2001; 9. Andone, I., Arhitecturi pentru afaceri electronice bazate pe agen ţ i inteligen ţ i, în Informatica Economică, Nr. 3, Dec 2001 10. Andone, I., Tugui, A., Sisteme inteligente în management, contabilitate, finan ţ e, bănci, marketing , Editura Economică, Bucureşti, 1999 11. Arnold, O.F., Wolfgang H.M., Seiber P., Virtual Integration, 2000, http://www.itvd.unistuttgart.de/wa/man/ projects 12. Arsac, J., Informatica, Editura Enciclopedica Româna, Bucuresti, 13. Bernard-Faqouillet, E., Boufares F., Informatique pour la comptabilite et la gestion , Editions Eska, Paris, 1995 14. Boudreau M.C., LochDaniel, K., Straud, R.D., Going Global: Using Informa ţ ion Technology to Advance the Competitiveness of the Virtual Transna ţ ional Organisation , Academy of Management, No. 12.4, 1998 15. Byrne, J., The virtual Corporation, Business Week , pp. 36-41, 1993 16. Caglyan, A., Harrison, C., 1997, Agent Sourcebook , John Wiley & Sons, Inc., Canada 17. Carmichael A.R., Object Development Methods , SIGS Books, New York, 1994 18. DeLoach, S., Wood, M., Sparkman, C., 2001, Multiagent Systems Engineering , International Journal of software Engineering and Knowledge Engineering, Vol. 11, No. 3 19. Digital - A Guide to Use Digital Program Methodology, 1996 20. ERMES, Systemes d’information. La perspective du management, Edition Masson, Paris, Milan, Barcelone, 1994 21. Finin, T, Labrou, Y., Mayfield, J., KQML as an agent communication language , in Jeff Bradshaw (Ed.), Software Agents , MIT Press, Cambridge, 1995 22. FIPA00001 - Abstract Architecture Specification , Foundation for Intelligent Physical Agents, 2000, www.fipa.org 23. FIPA00023 - Agent Management Specification , Foundation for Intelligent Physical Agents, 2000, www.fipa.org 24. Fischer, K., Müller, J., Heimig, I., Agents in Virtual Enterprises http://citeseer.nj.nec.com/ fischer96intelligent.html, 1996 25. Fotache, D., Groupware. Metode, tehnici şi tehnologii pentru grupuri de lucru , Editura Polirom, Iaşi, 2002 26. Franklin, S., Graesser, A., 1996, Is It an Agent or Just a Program? A Taxonomy for Autonomous Agents . In Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, New York: Springer-Verlag. 27. Genesereth, M.R., Ketchpel, S.P., 1994, Software Agents, Communications of the ACM, vol. 37, no. 7. 28. Ghilic-Micu, B., Afacerile în economia digital ă , Revista Informatica Economică, nr. 3(23)/2002 29. Ghilic-Micu, B, Stoica, M., Organiza ţ ia virtuală , Ed. Economică, Bucureşti, 2004 30. Hoffer J.A., George J.F., Valacich J.S., - Modern Systems Analysis and Design , The Benjamin/Cummings Publishing Company, Inc., Menlo Park, CA, 1996 31. Jennings, N. R., Norman, T.J., Faratin, P., ADEPT: An Agent-based Approach to Business Process Management, 1998, http://www.ecs.soton.ac.uk/~nrj/ 32. Jennings, N., Sycara, K., Wooldridge, M., A Roadmap of Agent Research and Development, Int. Journal of Autonomous Agents and Multi-Agent Systems, 1, 1998. 33. Joldes, R., Olteanu, E., Ciortea, M., Deaconu, S., Proiectarea sistemelor informatice , Editura Universităţii „1 Decembrie 1918” din Alba Iulia, 2004 34. Leitão, P., An Agile And Cooperative Architecture For Distributed Manufacturing Systems , Proceedings of ASI’2000 International Conference, Bordeaux, France, 2000 35. Lesperance, Y., Introduction to Intelligent Autonomous Agents and Multiagent Systems, Knowledge Representation/ Intelligent Agents, Fall, 2003
62