Universitatea Tehnică din Cluj-Napoca
Facultatea de Automatică şi Calculatoare
Catedra de Automatică
Str. G. Bariţiu 26-28, 400027 Cluj-Napoca, ROMÂNIA
Tel.: +40-264-594469
Fax/Tel.: +40-264-594469
CONTRACT TIP PN-II-IDEI, nr. 93/1.10.2007
Faza III, unică pe anul 2009
Valoare fază: 104427,20 lei
Sinteza lucrării
Dezvoltarea unor capacităţi de auto-întreţinere pentru societăţi digitale
Faza 2009 – Proiectare şi realizare model experimental al sistemului cu autoîntreţinere bazat pe agenţi şi realizare model experimental societate digitală cu autoîntreţinere.
Activităţi:
Un agent este o entitate software care poate funcţiona autonom într-un mediu distribuit. Agenţii nu sunt entităţi izolate, prin urmare, ei pot să comunice unul cu altul şi să colaboreze cu alte entităţi.
Când un sistem are mai mult decât un singur agent, el este cunoscut sub denumirea de sistem multiagent.
Platforma de agenţi JADE („Java Agent DEvelopment”) este flexibilă, atât din punct de vedere al programabilităţii şi interconectării cu alte platforme FIPA, dar şi ca portabilitate – fiind dezvoltat în limbajul Java, se poate rula pe orice platformă hardware cu maşină virtuală Java.
Soluţia de bază în detectarea defectelor constă în compararea rezultatelor a trei circuite, urmând ca un arbitror („voter”) să confirme sau să infirme existenţa defectului, pe baza regulii „doi din trei”.
Modelul ţine cont atât de factorii externi, cât şi de starea internă a sistemului.
Proprietăţi locale:
· LP1 – senzor pentru valoarea ieşirii circuitului 1
· LP2 – senzor pentru valoarea ieşirii circuitului 2
· LP3 – senzor pentru valoarea ieşirii circuitului 3
Proprietăţi de mediu:
· EP1 – condiţii de mediu pentru circuitul 1
· EP2 – condiţii de mediu pentru circuitul 2
· EP3 – condiţii de mediu pentru circuitul 3
Proprietate globală:
· GP1 – ieşirea porţii logice SAU EXCLUSIV
Relaţia inter-nivel:
·
Aplicaţia experimentală demonstrativă, dezvoltată în acest pas, este conform modelului elaborat şi comunică cu platforma adaptată.
Reconfigurarea software este o metodă prin care se asigură fiabilitatea unui sistem, prin intermediul reprogramării automate. Această tehnică se bazează pe funcţii redundante şi arbitraj 2/3. De obicei, aceste sisteme se numesc sisteme tolerante la defecte.
Cea mai utilizata metoda in momentul actual, în materie de sisteme tolerante la defecte sunt software-urile N-versiuni. Aceasta metodă de dezvoltare constă în implementarea a unui nr. N versiuni de rezolvare a metodei, de N echipe, dacă se poate fiecare din acestea rezolvând problema pe o platformă diferită, pe sisteme diferite.
Şi în acest pas, am dezvoltat o aplicaţie experimentală demonstrativă.
Pentru protejarea comunicaţiei dintre agenţi şi cu baza de cunoştinţe, am decis implementarea unui sistem de criptare cu cheie secretă divizată, dezvoltare proprie, bazată pe algoritmul El Gamal. Am dezvoltat interfaţa grafică în limba engleză, deoarece am demonstrat această nouă metodă de criptare în cadrul lucrărilor publicate în această fază.
Platforma pentru modulele experimentale:
· C++ pentru algoritm
· C# pentru interfaţa grafică
Mesajul se criptează cu cheia publică, fiecare participant (“Bob”) deţine o cheie secretă, iar mesajul se poate decripta doar în prezenţa tuturor cheilor secrete.
Infrastructura de comunicaţii este importantă, mai ales în cazul unei societăţi de agenţi, unde agenţii colaborează permanent.
Experimentele noastre au confirmat faptul că cea mai fiabilă este comunicaţia pe cablu, dar şi cea mai inflexibilă, pe când cea fără fir este foarte flexibilă, dar puţin fiabilă, în special din cauza interferenţelor electromagnetice.
Protocoale experimentate:
· ZigBee: +consum foarte redus; -prea lent; -scump, deocamdată; -pe distanţe mici.
· BlueTooth: +răspândit; -viteză medie; -complex; -pentru distanţe mici (sau cu repetor, dar şi întârzieri).
· WiFi: +rapid; +răspândit; +flexibil (router, repetor etc.); -complex.
· EDGE/HSPA: +-rapid, dar în funcţie de disponibilitatea serviciului; +distanţe foarte mari; -nefiabil, în funcţie de încărcarea reţelei; -public, deci necesită criptare; -transferul de date costă
Spre diferenţă de reconfigurarea software, prezentată anterior, cea hardware este mai robustă, dar şi mai costisitoare de implementat.
Caracteristica principală a unui sistem reconfigurabil este capacitatea de a realiza calcule în hardware pentru a creşte performanţele, păstrând în acelaşi timp o mare parte din flexibilitatea unei soluţii software.
Prototipul construit este orientat spre o infrastructura legată în reţea şi urmăreşte în primul rând explorarea unui model arhitectural aparte bazat pe o gazdă centralizată pentru agenţi (un microprocesor) şi două noduri periferice cu resurse reduse care posedă capabilităţi de reconfigurare.
S‑au utilizat două placi XUP V2P Xilinx care comunică între ele şi cu microprocesorul prin interfeţe wireless folosind module Wi-Fi.
Una din plăcile FPGA este programată pentru a se comporta ca un microprocesor care controlează procesul.
Cealaltă placă FPGA este programată pentru a se comporta ca o placă video pentru afişarea parametrilor procesului controlat. Această componentă este partea sistemului la care se poate renunţa în cazul în care avem nevoie de o componentă de rezervă programabilă.
|
Structura sistemului reconfigurat |
Componenta care reprezintă gazda pentru agenţi este supervizorul şi, prin colaborarea cu agenţii, verifică periodic dacă celelalte două părţi ale sistemului funcţionează corect. De fapt, supervizorul aşteaptă un mesaj de la agenţii mobili care “îi aduc la cunoştinţă” faptul că una dintre cele două noduri periferice nu funcţionează corect, dacă acest lucru se întâmplă. De asemenea, microprocesorul salvează continuu ultimele stări ale componentei care controlează procesul.
Dacă dispozitivul FPGA care este programat ca placă video nu funcţionează corect, sistemul îşi poate executa sarcinile fără a fi necesară o intervenţie rapidă, dar, dacă cealaltă componentă periferică, microprocesorul, este defectă, procesul nu mai poate fi controlat corect. În acest punct, se reconfigurează întreg sistemul prin reprogramarea plăcii video pentru a funcţiona ca un microprocesor de rezervă identic.
Am prezentat aspecte ale dezvoltării modelului experimental, precum şi ale adaptării şi configurării unor medii de dezvoltare agenţi. Am schiţat paşii pentru elaborarea infrastructurii societăţii digitale cu autoîntreţinere, bazată pe sisteme multiagent şi comunicaţii fără fir, apoi partea de integrare mecanisme multiagent cu structuri cu autoîntreţinere.
Modelul experimental este strâns legat de agenţi software/hardware, deoarece sunt cea mai bună alegere pentru sisteme distribuite eterogene. Am ales să adaptăm platforma de agenţi JADE, datorită flexibilităţii sale.
Pentru infrastructura societăţii de agenţi, am scos în evidenţă problematica criptării comunicaţiei şi soluţia găsită de echipă (adaptare El Gamal, pentru cheie distribuită), dar şi soluţiile de comunicaţii, în special fără fir, cu avantajele şi dezavantajele lor. Datorită distanţelor mari permise şi a costurilor acceptabile, favorizăm comunicaţia HSPA, prin reţeaua de telefonie mobilă.
Integrarea mecanismelor multiagent cu structuri cu autoîntreţinere a fost cea mai dificilă, dată fiind noutatea ideii. Utilizarea unor circuite FPGA ca hardware reconfigurabil, combinată cu flexibilitatea dată comunicaţiile fără fir şi a agenţilor hardware/software a permis dezvoltarea unui sistem experimental robust, cu autoîntreţinere, tolerantă la defecte.
Rezultatele obţinute pe parcursul aceste faze a proiectului au fost publicate în trei articole de reviste B+, o lucrare invitată la o conferinţă internaţională şi trei lucrări la conferinţe internaţionale.
2. I. Stefan, G. Mois, Sz. Enyedi, L. Miclea, Digital Systems with Self-Healing by Hardware Reconfiguration, Journal of Automation, Computers, Applied Mathematics, ISSN 1221-437X, revistă indexată în BD internaţională MR şi recunoscută CNCSIS B+ (lucrare acceptata).
3. S. Flonta, L. Miclea, Electronic Signature over the Symmetrical Group of Order n, Acta Universitatis Apulensis – Mathematics-Informatics, special Issue 2009, Indexed and reviewed by Mathematical Reviews and Zentralblatt fuer Mathematik, recunoscută CNCSIS B+ (lucrare acceptată).
4. Liviu Miclea, Heterogeneous Distributed Systems’ Monitoring and Diagnosis, 7th IEEE East-West Design & Test Symposium EWDTS 2009, Moscow, Russia, September 2009.
5. S. Flonta, L. Miclea, Izabella Păun, ElGamal with Differentiated Decryption on K+1 Access Levels, Proceedings of the 5th International Symposium on Applied Computational Intelligence and Informatics, May 28–29, 2009 – Timişoara, Romania, ISBN 978-1-4244-4478-6/09 IEEE, pp. 375-380, lucrare indexată IEEE Xplore.
6. G. Mois, Iulia Stefan, Sz. Enyedi, L. Miclea, Reconfiguration and Hardware Agents in Testing and Repair of Distributed Systems, 7th IEEE East-West Design & Test Symposium EWDTS 2009, Moscow, Russia, September 2009 (lucrare acceptată).
7. S. Flonta, L. Miclea, I. Păun, Encryption System over the Symmetrical Group of Order n, International Conference on Theory and Applications in Mathematics and Informatics – ICTAMI, 3-6 sept. 2009, Alba-Iulia, Romania, pp. 60.
8. A. Benso, S. Enyedi, L. Miclea, Intelligent Agents and BIST/BISR - Working together in Distributed Systems, IEEE International test Conference, Baltimore (Maryland), October 2002.
12. H. Peine, Run-Time Support for Mobile Code, Ph.D. Thesis, Universität Kaiserslautern, 2002.
Cluj-Napoca, 09 sep. 2009 Director proiect,
Prof.dr.ing. Liviu MICLEA