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:

  1. Elaborare specificaţii de realizare model experimental.
  2. Adaptare şi configurare medii de dezvoltare agenţi.
  3. Elaborarea infrastructurii societăţii digitale cu autoîntreţinere, bazată pe sisteme multiagent şi comunicaţii fără fir.
  4. Integrare mecanisme multiagent cu structuri cu autoîntreţinere.

1. Elaborare specificaţii de realizare model experimental şi adaptare şi configurare medii de dezvoltare agenţi

1.1. Agenţ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.

1.2. Platforma adaptată şi utilizată – JADE

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.

Interfaţa de administrare agenţi JADE

1.3. Dezvoltarea modelului

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”.

Detectarea defectelor

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ă.

interfata grafica

Una din interfeţele grafice de configurare ale aplicaţiei experimentale demonstrative

2. Elaborarea infrastructurii societăţii digitale cu autoîntreţinere, bazată pe sisteme multiagent şi comunicaţii fără fir

2.1. Reconfigurare software

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.

closedloop.png

Software cu buclă închisă

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.

Software N-versiuni

Şi în acest pas, am dezvoltat o aplicaţie experimentală demonstrativă.

Unul din dialogurile interfeţei grafice

 

2.2. Criptarea

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.

dekodex

Se citeşte fişierul de decodificat şi se introduc cheile necesare pentru decodificare

xekex

Dialogul pentru introducerea cheilor secrete

2.3. Infrastructura de comunicaţii

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.

Infrastructura de comunicaţii

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ă

3. Integrare mecanisme multiagent cu structuri cu autoîntreţinere

3.1. Reconfigurarea hardware

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.

3.2. Montajul experimental

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ă.

Agent hardware efectuând testele

 

Montajul experimental

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.

Concluzii

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.

Bibliografie

1.      Sz. Enyedi, L. Miclea, I. Stefan, Increasing System’s Availability through Agents and Reconfigurable Systems, Journal of Automation, Computers, Applied Mathematics, ISSN 1221-437X, vol 17, nr. 4, 2008, pp. 588-592, revistă indexată în BD internaţională MR şi recunoscută CNCSIS B+ (publicată în ianuarie 2009).

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.

9.      D. Kotz, R. Gray, and D. Rus, Future Directions for Mobile-Agent Research, IEEE Distributed Systems Online, vol. 3, n.8, August 2002.

10.  National Institute of Standards and Technology (U.S.), Advanced Encryption Standard. Available at: http://csrc.nist.gov/publication/drafts/dfips-AES.pdf

11.  H. S. Nwana, Software Agents: An Overview, Knowledge Engineering Review: Intelligent Systems Research, AA&T, BT Laboratories, UK, pages 206-244, 1996.

12.  H. Peine, Run-Time Support for Mobile Code, Ph.D. Thesis, Universität Kaiserslautern, 2002.

13.  G. P. Saggese, A. Mazzeo, N. Mazzocca, A. G. M. Strollo, An FPGA-Based Performance Analysis of the Unrolling, Tiling, and Pipelining of the AES Algorithm, FPL2003, LNCS 2778, pp. 292-302, 2003.

14.  J. Waldo, G. Wyant, A. Wollrath and S. Kendall, A Note on Distributed Computing, technical report SMLI TR-94-29, Sun Microsystems Labs Inc, 1994.

Cluj-Napoca, 09 sep. 2009                                                         Director proiect,

                                                                                                         Prof.dr.ing. Liviu MICLEA