Mediul de rezolvare a problemelor - Problem solving environment
Un mediu de rezolvare a problemelor (PSE) este un software de calculator completat, integrat și specializat pentru rezolvarea unei clase de probleme, combinând metode automatizate de rezolvare a problemelor cu instrumente orientate spre om pentru ghidarea rezolvării problemei. Un PSE poate ajuta, de asemenea, utilizatorii în formularea rezolvării problemelor. Un PSE poate ajuta, de asemenea, utilizatorii în formularea problemelor, selectarea algoritmului, simularea valorii numerice și vizualizarea și analizarea rezultatelor.
Scopul PSE
Multe PSE au fost introduse în anii 1990. Folosesc limbajul domeniului respectiv și adesea utilizează interfețe grafice moderne de utilizator . Scopul este de a face software-ul ușor de utilizat pentru specialiștii din alte domenii decât informatica . PSE sunt disponibile pentru probleme generice, cum ar fi vizualizarea datelor sau sisteme mari de ecuații și pentru domenii înguste ale științei sau ingineriei, cum ar fi proiectarea turbinei cu gaz .
Istorie
Mediul de rezolvare a problemelor (PSE) a apărut la câțiva ani după lansarea Fortran și Algol 60 . Oamenii au crezut că acest sistem cu un limbaj la nivel înalt ar provoca eliminarea programatorilor profesioniști. Cu toate acestea, în mod surprinzător, PSE a fost acceptat și chiar dacă oamenii de știință l-au folosit pentru a scrie programe.
Mediul de rezolvare a problemelor pentru calculul științific paralel a fost introdus în 1960, unde aceasta a fost prima colecții organizate cu standardizare minoră. În 1970, PSE a fost inițial cercetat pentru furnizarea unui limbaj de programare de înaltă clasă, mai degrabă decât pentru Fortran, de asemenea, bibliotecile care complotează pachetele. Dezvoltarea bibliotecilor a fost continuată și au existat introducerea apariției pachetelor de calcul și a sistemelor grafice, care este vizualizarea datelor. În anii 1990, hipertextul, indicarea și clicul se îndreptaseră spre interoperabilitate. Mergând mai departe, a existat în cele din urmă o industrie „Piese software”.
De-a lungul câtorva decenii, recent, s-au dezvoltat multe PSE și pentru a rezolva problemele și, de asemenea, pentru a sprijini utilizatorii din diferite categorii, inclusiv educație, programare generală, învățare de software CSE, executarea locurilor de muncă și calculul Grid / Cloud.
Exemple de PSE
Optimizare numerică bazată pe rețea
Software-ul shell GOSPEL este un exemplu al modului în care un PSE poate fi proiectat pentru modelarea EHL utilizând o resursă Grid. Cu PSe, puteți vizualiza progresul optimizării, precum și interacționa cu alte simulări.
PSE paralelizează și încorporează multe calcule numerice individuale într-un calcul numeric individual într-un cod industrial de optimizare serială. Este încorporat în pachetul IRIS Explorer al NAG pentru a rezolva problemele EHL și Paralelism și poate utiliza bibliotecile gViz, pentru a rula toată comunicația dintre PSE și simulare. De asemenea, utilizați MPI, care face parte din bibliotecile NAG, oferă o soluție rapidă și mai bună semnificativă prin combinarea max. niveluri de continuare.
Mai mult, sistemul este conceput pentru a permite utilizatorilor să dirijeze simulări folosind ieșirea vizualizată. Un exemplu este utilizarea minimelor locale sau straturile de detalii suplimentare atunci când se află în jurul unui simulator local și în afara acestuia și își poate imagina informațiile care sunt produse în orice clare și, de asemenea, permit în continuare să conducă simularea.
PSE bazate pe rețea pentru dispozitive mobile
PSE necesită o cantitate mare de resurse care încordează chiar și cele mai puternice computere din prezent. Traducerea PSE-urilor în software care poate fi utilizat pentru dispozitive mobile într-o provocare importantă cu care se confruntă programatorii astăzi.
Calculul prin rețea este văzut ca o soluție la problemele de salvare ale PSE-urilor pentru dispozitive mobile. Acest lucru este posibil printr-un „Serviciu de intermediere”. Acest serviciu este pornit de un dispozitiv de inițiere care trimite informațiile necesare pentru ca PSE să rezolve sarcina. Serviciul de intermediere apoi împarte acest lucru în subtaskuri care distribuie informațiile către diferite dispozitive subordonate care efectuează aceste subtaskuri. Brokerarea necesită un depozit de agent activ (AAR) și un tabel de alocare a sarcinilor (TAT) care funcționează atât pentru gestionarea subtaskurilor. Un server Keep-Alive este apăsat pentru a gestiona comunicarea dintre serviciul de brokeraj și dispozitivele subordonate. Serverul Keep-Alive se bazează pe o aplicație client ușoară instalată pe dispozitivele mobile participante.
Securitatea, transparența și fiabilitatea sunt probleme care pot apărea atunci când se utilizează rețeaua pentru PSE-uri bazate pe dispozitive mobile.
Sprijin pentru educație
Există o revoluție pentru învățarea bazată pe rețea și învățarea electronică pentru educație, dar este foarte dificil să colectăm date despre educație și date despre activitățile elevilor. TSUNA-TASTE, este dezvoltat de T. Teramoto, un PSE pentru a sprijini procesele de educație și învățare. Acest sistem poate crea o nouă idee despre e-learning prin sprijinirea profesorilor și a studenților din învățământul informatic. Se compune din patru părți, inclusiv agenți de studenți, un server de asistență educațională, un sistem de baze de date și un server Web. Acest sistem face e-learning-ul mai convenabil, deoarece informațiile sunt stocate și colectate mai devreme pentru studenți și profesori.
P-NCAS
Un suport pentru generarea de programe paralele asistat de computer (P-NCAS), este un PSE, creează o nouă modalitate de a reduce sarcina grea de programare pentru programarea computerului. Acest program poate evita sau reduce șansa ca software-ul imens să se descompună, astfel încât acest lucru să limiteze incertitudinea și accidentele majore din societate. Mai mult, problemele ecuațiilor diferențiale parțiale (PDE) pot fi rezolvate prin programe paralele generate de suporturile P-NCAS. P-NCAS folosește programul multiplu de date (SPMD) și folosește o metodă de descompunere pentru paralelizare. Acestea permit utilizatorilor P-NCAS să introducă probleme descrise de PDES, algoritm și schemă de discretizare etc. și să vizualizeze și să editeze toate detaliile prin vizualizare și ferestre pentru ediție. În cele din urmă, programul paralel va fi trimis în limbajul C de P-NCAS și va include, de asemenea, documente care arată că tot ce a fost introdus la început.
Îmbunătățiri viitoare
În primul rând, a fost dificil să se facă probleme 2-D EHL din cauza cheltuielilor și a puterii computerului disponibile. Dezvoltarea codurilor EHL 2-D paralele și a computerelor mai rapide au pregătit acum calea pentru rezolvarea problemelor EHL 2-D. Datele privind fricțiunea și lubrifianții necesită un nivel mai ridicat de securitate, având în vedere sensibilitatea lor. Contabilitatea simulărilor poate fi dificilă, deoarece acestea se fac rapid și cu mii. Acest lucru poate fi rezolvat printr-un sistem de înregistrare sau un „director”. PSE-urile colaborative cu mai mulți utilizatori vor întâmpina dificultăți în urmărirea modificărilor, în special ce modificări specifice au fost făcute și când au fost făcute aceste modificări. Acest lucru poate fi rezolvat și cu un director al modificărilor efectuate.
În al doilea rând, îmbunătățirea viitoare a PSE-urilor bazate pe rețea pentru dispozitive mobile, grupul își propune să genereze noi scenarii prin manipularea variabilelor de control disponibile. Prin schimbarea acelor variabile de control, software-ul de simulare este capabil să creeze scenarii unul de celălalt, permițând un control mai aprofundat al condițiilor din fiecare scenariu. Se așteaptă ca manipularea a trei variabile să genereze douăsprezece scenarii diferite.
Variabilele pe care ne interesează să le studiem sunt stabilitatea rețelei și mobilitatea dispozitivelor. Considerăm că aceste variabile vor detesta cel mai mare impact asupra performanței rețelei. Studiul nostru va măsura performanța folosind ca rezultat principal timpul de finalizare a sarcinilor.
Parcul PSE
Pe măsură ce PSE devin mai complexe, nevoia de resurse de calcul a crescut dramatic. În schimb, cu aplicațiile PSE care se aventurează în domenii și medii de complexitate crescândă, crearea de PSE a devenit obositoare și dificilă.
Hirumichi Kobashi și colegii săi au conceput un PSE menit să creeze alte PSE. Aceasta a fost denumită „meta PSE” sau PSE. Așa s-a născut PSE Park.
Cadrul
Arhitectura PSE Park subliniază flexibilitatea și extensibilitatea. Aceste caracteristici îl fac o platformă atractivă pentru niveluri variate de expertiză, de la utilizatori entry-level până la dezvoltatori.
PSE Park le oferă prin depozitul său de funcții. depozitul conține module necesare pentru a construi PSE-uri. Unele dintre cele mai de bază module, numite Cores, sunt utilizate ca bază a PSE-urilor. Module mai complexe sunt disponibile pentru utilizare de către programatori. Utilizatorii accesează PSE Park printr-o consolă legată de programatori. Odată ce utilizatorul se înregistrează, el / ea trebuie să evalueze depozitul. Un server PIPE este utilizat ca mediator între utilizator și PSE Park. Oferă acces la module și construiește funcțiile selectate într-un PSE.
Dezvoltatorii pot dezvolta funcții, sau chiar PSE întregi, pentru includerea în depozit. Utilizatorii de la nivel de intrare și experții pot accesa aceste PSE prefabricate în scopuri proprii. Având în vedere această arhitectură, PSE Park necesită un mediu de cloud computing pentru a sprijini partajarea enormă a datelor care are loc în timpul utilizării și dezvoltării PSE.
Serverul PIPE
Serverul PIPE diferă de alte servere în ceea ce privește modul în care gestionează rezultatele intermediare. Deoarece serverul PIPE acționează ca un mediator într-un meta-PSE, orice rezultate sau variabile generate de un modul de bază sunt recuperate ca variabile globale pentru a fi utilizate de următorul nucleu. Secvența sau ierarhia este definită de utilizator. Modul, variabilele cu același nume sunt revizuite la noul set de variabile.
O altă caracteristică importantă a serverului PIPE este că acesta execută fiecare modul sau nucleu independent. Aceasta înseamnă că limbajul fiecărui modul nu trebuie să fie același cu celelalte din PSE. Modulele sunt implementate în funcție de ierarhia definită. Această caracteristică aduce o flexibilitate enormă pentru dezvoltatori și utilizatori care au medii variate în programare. Formatul modular permite, de asemenea, că PSE-urile existente pot fi extinse și modificate cu ușurință.
Miezuri
Pentru a fi înregistrat, un nucleu trebuie definit complet. Definițiile de intrare și ieșire permit serverului PIPE să determine compatibilitatea cu alte nuclee și module. Orice lipsă de definiție este semnalată de serverul PIPE pentru incompatibilitate.
Motor și consolă de înregistrare
Motorul de înregistrare ține evidența tuturor nucleelor care pot fi utilizate în PSE Park. De asemenea, se creează un istoric de utilizare. O hartă de bază poate fi dezvoltată pentru a ajuta utilizatorii să înțeleagă mai bine un nucleu sau un modul. Consola este interfața principală a utilizatorilor cu PSE Park. Este extrem de vizual și schematic, permițând utilizatorilor să înțeleagă mai bine legăturile dintre module și nuclee pentru PSE-urile la care lucrează.