Problemlösningsmiljö
En problemlösningsmiljö (PSE) är en komplett, integrerad och specialiserad datormjukvara för att lösa en klass av problem, som kombinerar automatiserade problemlösningsmetoder med mänskligt orienterade verktyg för att vägleda problemlösningen. En PSE kan också hjälpa användare att formulera problemlösning. En PSE kan också hjälpa användare att formulera problem, välja algoritm, simulera numeriskt värde och visa och analysera resultat.
Syftet med PSE
Många PSE introducerades på 1990-talet. De använder språket i respektive område och använder ofta moderna grafiska användargränssnitt . Målet är att göra programvaran enkel att använda för specialister inom andra områden än datavetenskap . PSE:er är tillgängliga för generiska problem som datavisualisering eller stora ekvationssystem och för smala vetenskaps- eller ingenjörsområden som gasturbindesign .
Historia
Problemlösningsmiljön (PSE) släpptes några år efter lanseringen av Fortran och Algol 60 . Människor trodde att detta system med högnivåspråk skulle orsaka eliminering av professionella programmerare. Men överraskande nog har PSE accepterats och även om forskare använde det för att skriva program.
Problemlösningsmiljön för parallella vetenskapliga beräkningar introducerades 1960, där detta var de första organiserade samlingarna med mindre standardisering. 1970 undersöktes PSE initialt för att tillhandahålla högklassigt programmeringsspråk snarare än Fortran, [ citat behövs ] även bibliotek som plottar paket. Utvecklingen av biblioteken fortsatte, och det fanns införandet av Emergence of Computational Packages och Graphical systems som är datavisualisering. På 1990-talet hade hypertext, peka-och-klicka rört sig mot interoperabilitet. Går vi vidare, så existerade äntligen en "programvarudelar"-industri.
Under några decennier, nyligen, har många PSE:er utvecklats och för att lösa problem och även stödja användare från olika kategorier, inklusive utbildning, allmän programmering, CSE-programvaruinlärning, jobbexekvering och Grid/Cloud computing. [ citat behövs ]
Exempel på PSE
Rutnätsbaserad numerisk optimering
Skalmjukvaran GOSPEL är ett exempel på hur en PSE kan designas för EHL-modellering med hjälp av en Grid-resurs. Med PSE kan man visualisera optimeringsförloppet, samt interagera med andra simuleringar.
PSE parallelliserar och bäddar in många individuella numeriska beräkningar i en industriell seriell optimeringskod. Den är inbyggd i NAG:s IRIS Explorer-paket för att lösa EHL- och parallellismproblem och kan använda gViz-biblioteken för att köra all kommunikation mellan PSE och simuleringen. Den använder också MPI — en del av NAG-biblioteken — som ger betydligt snabbare och bättre lösningar genom att kombinera de maximala nivåerna av fortsättning.
Dessutom är systemet utformat för att tillåta användare att styra simuleringar med hjälp av visualiserad utdata. Ett exempel är att använda lokala minima, eller skiktning av ytterligare detaljer när du är runt en lokal in och ut ur simuleringen och det kan föreställa sig informationen som produceras i någon skarp och även fortfarande tillåta att styra simuleringen.
Grid-baserade PSE:er för mobila enheter
PSE kräver en stor mängd resurser som anstränger även de mest kraftfulla datorerna i dag. Att översätta PSE till mjukvara som kan användas för mobila enheter i en viktig utmaning som programmerare står inför idag.
Grid computing ses som en lösning på räddningsproblemen med PSE:er för mobila enheter. Detta möjliggörs genom en "Förmedlingstjänst". Den här tjänsten startas av en initierande enhet som skickar nödvändig information för att PSE ska kunna lösa uppgiften. Förmedlingstjänsten delar sedan upp detta i deluppgifter som distribuerar informationen till olika underordnade enheter som utför dessa deluppgifter. Förmedlingen kräver ett Active Agent Repository (AAR) och en Task Allocation Table (TAT) som båda arbetar för att hantera deluppgifterna. En Keep-Alive-server avlyssnas för att hantera kommunikationen mellan mäklartjänsten och de underordnade enheterna. Keep-Alive-servern är beroende av en lättviktsklientapplikation installerad i de deltagande mobila enheterna.
Säkerhet, transparens och pålitlighet är problem som kan uppstå när du använder nätet för mobila enhetsbaserade PSE:er.
Utbildningsstöd
Det pågår en revolution för nätverksbaserat lärande och e-lärande för utbildning, men det är mycket svårt att samla in utbildningsdata och data om studentaktiviteter. TSUNA-TASTE, är utvecklad av T. Teramoto, en PSE för att stödja utbildnings- och inlärningsprocesser. Detta system kan skapa en ny idé om e-lärande genom att stödja lärare och elever i datorrelaterad utbildning. Den består av fyra delar, inklusive agenter för studenter, en utbildningssupportserver, ett databassystem och en webbserver. Detta system gör e-lärande mer bekvämt eftersom information är tidigare att lagra och samla in för elever och lärare. [ citat behövs ]
P-NCAS
Ett datorstödt parallellprogramgenereringsstöd (P-NCAS), är en PSE, skapar ett nytt sätt att minska den svåra programmeringsuppgiften för datorprogrammering. Detta program kan undvika eller minska risken för att enorma datorprogram går sönder så detta begränsar osäkerhet och större olyckor i samhället. Dessutom kan problem med partiella differentialekvationer (PDE) lösas med parallella program som genereras av P-NCAS-stöd. P-NCAS använder Single Program Multi Data (SPMD) och använder en nedbrytningsmetod för parallelliseringen. Dessa gör det möjligt för användare av P-NCAS att mata in problem som beskrivs av PDES, algoritmer och diskretiseringsschema etc., och att se och redigera alla detaljer genom visualiseringen och fönster för edition. Äntligen kommer parallellprogram att matas ut på C-språk av P-NCAS och även innehålla dokument som visar att allt har matats in i början.
Framtida förbättring
Till en början var det svårt att göra 2D EHL-problem på grund av kostnaden och datorkraften som fanns tillgänglig. Utvecklingen av parallella 2-D EHL-koder och snabbare datorer har nu banat väg för att 2-D EHL-problemlösning ska vara möjlig. Friktions- och smörjmedelsdata kräver en högre säkerhetsnivå med tanke på deras känslighet. Redovisning av simuleringar kan vara svårt eftersom dessa görs snabbt och i tusental. Detta kan lösas med ett registreringssystem eller en "katalog". Samarbetande PSE:er med flera användare kommer att stöta på svårigheter att spåra ändringar, särskilt vilka specifika ändringar som gjordes och när dessa ändringar gjordes. Detta kan också lösas med en katalog över gjorda ändringar.
För det andra, framtida förbättringar av Grid-baserade PSE:er för mobila enheter, syftar gruppen till att generera nya scenarier genom att manipulera de tillgängliga kontrollvariablerna. Genom att ändra dessa kontrollvariabler kan simuleringsmjukvaran skapa scenarier från varandra, vilket möjliggör mer granskning av förhållandena i varje scenario. Det förväntas att manipulering av tre variabler kommer att generera tolv olika scenarier.
Variablerna som vi är intresserade av att studera är nätverksstabilitet och enhetsmobilitet. Vi tror att dessa variabler kommer att hata den största inverkan på nätets prestanda. Vår studie kommer att mäta prestanda med hjälp av uppgiftens slutförandetid som det primära resultatet.
PSE Park
I takt med att PSE blir mer komplexa har behovet av datorresurser ökat dramatiskt. Omvänt, med PSE-tillämpningar som ger sig in i områden och miljöer med växande komplexitet, har skapandet av PSE:er blivit tråkigt och svårt.
Hirumichi Kobashi och hans kollegor har designat en PSE avsedd att skapa andra PSE. Detta har kallats en "meta PSE" eller en PSE. Det var så PSE Park föddes. [ citat behövs ]
Ramverket
Arkitekturen i PSE Park betonar flexibilitet och utbyggbarhet. Dessa egenskaper gör det till en attraktiv plattform för olika nivåer av expertis, från nybörjaranvändare till utvecklare. [ citat behövs ]
PSE Park tillhandahåller dessa genom sitt arkiv med funktioner. arkivet innehåller moduler som krävs för att bygga PSE:er. Några av de mest grundläggande modulerna, kallade Cores, används som grunden för PSE:er. Mer komplexa moduler finns tillgängliga för programmerare. Användare får tillgång till PSE Park via en konsol som är länkad till programmerarna. När användaren är registrerad har han/hon bedömt till förvaret. En PIPE-server används som förmedlare mellan användaren och PSE Park. Den ger åtkomst till moduler och konstruerar de valda funktionerna till en PSE. [ citat behövs ]
Utvecklare kan utveckla funktioner, eller till och med hela PSE:er, för inkludering i förvaret. Nybörjar- och expertanvändare kan komma åt dessa färdiga PSE:er för sina egna syften. Med tanke på denna arkitektur kräver PSE Park en cloud computing-miljö för att stödja den enorma datadelning som sker under PSE-användning och utveckling. [ citat behövs ]
PIPE-servern
PIPE-servern skiljer sig från andra servrar när det gäller hur den hanterar mellanresultat. Eftersom PIPE-servern fungerar som en mediator i en meta-PSE, hämtas alla resultat eller variabler som genereras av en kärnmodul som globala variabler för att användas av nästa kärna. Sekvensen eller hierarkin definieras av användaren. På så sätt revideras variabler med samma namn till den nya uppsättningen av variabler. [ citat behövs ]
En annan viktig egenskap hos PIPE-servern är att den exekverar varje modul eller kärna oberoende. Detta innebär att språket för varje modul inte behöver vara detsamma som de andra i PSE. Moduler implementeras beroende på den definierade hierarkin. Den här funktionen ger en enorm flexibilitet för utvecklare och användare som har olika bakgrunder inom programmering. Det modulära formatet gör också att befintliga PSE:er enkelt kan utökas och modifieras. [ citat behövs ]
Kärnor
För att kunna registreras måste en kärna vara fullständigt definierad. Ingångs- och utdatadefinitionerna tillåter PIPE-servern att bestämma kompatibilitet med andra kärnor och moduler. Varje brist på definition flaggas av PIPE-servern för inkompatibilitet. [ citat behövs ]
Registreringsmotor och konsol
Registreringsmotorn håller reda på alla kärnor som kan användas i PSE Park. En användningshistorik skapas också. En kärnkarta kan utvecklas för att hjälpa användare att förstå en kärna eller modul bättre. Konsolen är användarnas huvudgränssnitt med PSE Park. Det är mycket visuellt och schematiskt, vilket gör att användarna bättre kan förstå kopplingarna mellan moduler och kärnor för de PSE som de arbetar med. [ citat behövs ]