Un entorno de resolución de problemas (PSE) es un software informático completo, integrado y especializado para resolver una clase de problemas, que combina métodos automatizados de resolución de problemas con herramientas orientadas a las personas para guiar la resolución de problemas. Un PSE también puede ayudar a los usuarios a formular la resolución de problemas. Un PSE también puede ayudar a los usuarios a formular problemas, seleccionar algoritmos, simular valores numéricos y ver y analizar los resultados.
Propósito de PSE
Muchos PSE se introdujeron en la década de 1990. Utilizan el lenguaje del campo respectivo y, a menudo, emplean interfaces gráficas de usuario modernas . El objetivo es hacer que el software sea fácil de usar para especialistas en campos distintos a la informática . Los PSE están disponibles para problemas genéricos como visualización de datos o grandes sistemas de ecuaciones y para campos estrechos de la ciencia o la ingeniería como el diseño de turbinas de gas . [1]
Historia
El entorno de resolución de problemas (PSE) se lanzó unos años después del lanzamiento de Fortran y Algol 60 . La gente pensaba que este sistema con lenguaje de alto nivel provocaría la eliminación de programadores profesionales. Sin embargo, sorprendentemente, el PSE ha sido aceptado y aunque los científicos lo usaron para escribir programas. [2]
El entorno de resolución de problemas para la computación científica paralela se introdujo en 1960, donde fue la primera colección organizada con una estandarización menor. [2] En 1970, PSE fue inicialmente investigado para proporcionar lenguaje de programación de clase alta en lugar de Fortran, [ cita requerida ] también advenimiento de Libraries Plotting Packages. Se continuó con el desarrollo de bibliotecas y se introdujo la aparición de paquetes computacionales y sistemas gráficos, que es la visualización de datos. En la década de 1990, el hipertexto, apuntar y hacer clic se había movido hacia la interoperabilidad. Continuando, finalmente existió una industria de "partes de software". [2]
A lo largo de algunas décadas, recientemente, se han desarrollado muchos PSE y para resolver problemas y también apoyar a usuarios de diferentes categorías, incluida la educación, programación general, aprendizaje de software CSE, ejecución de trabajos y computación Grid / Cloud. [ cita requerida ]
Ejemplos de PSE
Optimización numérica basada en cuadrículas
El software de shell GOSPEL es un ejemplo de cómo se puede diseñar un PSE para el modelado de EHL utilizando un recurso Grid. Con el PSe, se puede visualizar el progreso de la optimización, así como interactuar con otras simulaciones. [3]
El PSE paraleliza e integra muchos cálculos numéricos individuales en cálculos numéricos individuales en un código de optimización en serie industrial. Está integrado en el paquete IRIS Explorer de NAG para resolver problemas de paralelismo y EHL y puede utilizar las bibliotecas gViz para ejecutar toda la comunicación entre el PSE y la simulación. También use MPI, que es parte de las bibliotecas NAG, brinda una solución mejor y más rápida al combinar el max. niveles de continuación. [3]
Además, el sistema está diseñado para permitir a los usuarios dirigir simulaciones utilizando resultados visualizados. Un ejemplo es la utilización de mínimos locales, o la superposición de detalles adicionales cuando se encuentra dentro y fuera de la simulación local y puede imaginar la información que se produce de forma nítida y también permite dirigir la simulación. [4]
PSE basados en la red para dispositivos móviles
Los PSE requieren una gran cantidad de recursos que agotan incluso las computadoras más potentes de la actualidad. Traducir PSE en software que se pueda utilizar para dispositivos móviles en un importante desafío al que se enfrentan los programadores de hoy. [5]
La computación en red se considera una solución a los problemas de rescate de los PSE para dispositivos móviles. Esto es posible a través de un "Servicio de intermediación". Este servicio es iniciado por un dispositivo iniciador que envía la información necesaria para que PSE resuelva la tarea. El servicio de intermediación luego divide esto en subtareas que distribuyen la información a varios dispositivos subordinados que realizan estas subtareas. [5] La intermediación requiere un repositorio de agentes activos (AAR) y una tabla de asignación de tareas (TAT) que funcionan para administrar las subtareas. Se utiliza un servidor Keep-Alive para manejar la comunicación entre el servicio de intermediación y los dispositivos subordinados. El servidor Keep-Alive se basa en una aplicación cliente ligera instalada en los dispositivos móviles participantes.
La seguridad, la transparencia y la confiabilidad son problemas que pueden surgir al usar la red para PSE basados en dispositivos móviles. [5]
Apoyo educativo
Hay una revolución para el aprendizaje en red y el e-learning para la educación, pero es muy difícil recopilar datos educativos y datos de las actividades de los estudiantes. TSUNA-TASTE, es desarrollado por T. Teramoto, un PSE para apoyar los procesos de educación y aprendizaje. Este sistema puede crear una nueva idea del e-learning apoyando a profesores y estudiantes en la educación relacionada con la informática. Consta de cuatro partes, incluidos los agentes de los estudiantes, un servidor de apoyo educativo, un sistema de base de datos y un servidor web. Este sistema hace que el aprendizaje electrónico sea más conveniente, ya que la información se almacena y recopila antes para los estudiantes y los profesores. [ cita requerida ]
P-NCAS
Un soporte de generación de programas paralelos asistido por computadora (P-NCAS), es un PSE, crea una nueva forma de reducir la difícil tarea de programación para la programación de computadoras. Este programa puede evitar o reducir la posibilidad de que un gran software informático se averíe, por lo que restringe la incertidumbre y los accidentes importantes en la sociedad. Además, los problemas de ecuaciones diferenciales parciales (PDE) pueden resolverse mediante programas paralelos que son generados por soportes P-NCAS. P-NCAS emplea datos múltiples de programa único (SPMD) y utiliza un método de descomposición para la paralelización. Estos permiten a los usuarios de P-NCAS introducir problemas descritos por PDES, algoritmo y esquema de discretización, etc., y ver y editar todos los detalles a través de la visualización y las ventanas de edición. Por último, el programa paralelo se generará en lenguaje C por P-NCAS y también incluirá documentos que muestran todo lo que se ingresó al principio. [6]
Mejora futura
En primer lugar, fue difícil resolver problemas de EHL 2-D debido al gasto y la potencia de la computadora disponible. El desarrollo de códigos EHL 2-D paralelos y computadoras más rápidas ahora han allanado el camino para que sea posible la resolución de problemas EHL 2-D. Los datos de fricción y lubricantes necesitan un mayor nivel de seguridad dada su sensibilidad. La contabilidad de las simulaciones puede ser difícil porque se realizan rápidamente y por miles. Esto puede resolverse mediante un sistema de registro o un 'directorio'. Los PSE colaborativos con múltiples usuarios encontrarán dificultades para rastrear los cambios, especialmente qué cambios específicos se realizaron y cuándo se realizaron esos cambios. Esto también se puede solucionar con un directorio de cambios realizados. [3]
En segundo lugar, la mejora futura de los PSE basados en Grid para dispositivos móviles, el grupo pretende generar nuevos escenarios mediante la manipulación de las variables de control disponibles. Al cambiar esas variables de control, el software de simulación puede crear escenarios entre sí, lo que permite un mayor escrutinio de las condiciones en cada escenario. Se espera que la manipulación de tres variables genere doce escenarios diferentes. [5]
Las variables que nos interesa estudiar son la estabilidad de la red y la movilidad de los dispositivos. Creemos que estas variables odiarán el mayor impacto en el rendimiento de la red. Nuestro estudio medirá el rendimiento utilizando el tiempo de finalización de la tarea como resultado principal. [5]
Parque PSE
A medida que los PSE se vuelven más complejos, la necesidad de recursos informáticos ha aumentado drásticamente. Por el contrario, con las aplicaciones de PSE que se aventuran en campos y entornos de creciente complejidad, la creación de PSE se ha vuelto tediosa y difícil.
Hirumichi Kobashi y sus colegas han diseñado un PSE destinado a crear otros PSE. Esto se ha denominado un 'meta PSE' o PSE. Así nació PSE Park. [ cita requerida ]
El marco
La arquitectura de PSE Park enfatiza la flexibilidad y la extensibilidad. Estas características la convierten en una plataforma atractiva para diversos niveles de experiencia, desde usuarios principiantes hasta desarrolladores. [ cita requerida ]
PSE Park los proporciona a través de su repositorio de funciones. el repositorio contiene los módulos necesarios para crear PSE. Algunos de los módulos más básicos, llamados Cores, se utilizan como base de los PSE. Los programadores pueden utilizar módulos más complejos. Los usuarios acceden a PSE Park a través de una consola vinculada a los programadores. Una vez que el usuario se ha registrado, se ha evaluado al repositorio. Se utiliza un servidor PIPE como mediador entre el usuario y PSE Park. Otorga acceso a módulos y construye las funciones seleccionadas en un PSE. [ cita requerida ]
Los desarrolladores pueden desarrollar funciones, o incluso PSE completos, para su inclusión en el repositorio. Los usuarios principiantes y expertos pueden acceder a estos PSE prefabricados para sus propios fines. Dada esta arquitectura, PSE Park requiere un entorno de computación en la nube para soportar el enorme intercambio de datos que ocurre durante el uso y desarrollo de PSE. [ cita requerida ]
El servidor PIPE
El servidor PIPE se diferencia de otros servidores en términos de cómo maneja los resultados intermedios. Dado que el servidor PIPE actúa como un mediador en un meta-PSE, los resultados o las variables generadas por un módulo central se recuperan como variables globales para ser utilizadas por el siguiente núcleo. La secuencia o jerarquía la define el usuario. La forma en que las variables del mismo nombre se revisan al nuevo conjunto de variables. [ cita requerida ]
Otra característica importante del servidor PIPE es que ejecuta cada módulo o núcleo de forma independiente. Esto significa que el idioma de cada módulo no tiene por qué ser el mismo que los demás en el PSE. Los módulos se implementan en función de la jerarquía definida. Esta característica brinda una enorme flexibilidad para desarrolladores y usuarios que tienen diversos antecedentes en programación. El formato modular también permite que los PSE existentes se puedan ampliar y modificar fácilmente. [ cita requerida ]
Núcleos
Para registrarse, un núcleo debe estar completamente definido. Las definiciones de entrada y salida permiten al servidor PIPE determinar la compatibilidad con otros núcleos y módulos. El servidor PIPE marca cualquier falta de definición por incompatibilidad. [ cita requerida ]
Motor de registro y consola
El motor de registro realiza un seguimiento de todos los núcleos que pueden usarse en PSE Park. También se crea un historial de uso. Se puede desarrollar un mapa básico para ayudar a los usuarios a comprender mejor un núcleo o módulo. La consola es la interfaz principal de los usuarios con PSE Park. Es muy visual y esquemático, lo que permite a los usuarios comprender mejor los vínculos entre los módulos y los núcleos de los PSE en los que están trabajando. [ cita requerida ]
Ver también
enlaces externos
Referencias
- ^ Richard J. Fateman. "Entorno de resolución de problemas y computación simbólica" (PDF) . Universidad de California, Berkeley . Consultado el 3 de noviembre de 2015 .
- ^ a b c Jack Dongarra. "Entornos de resolución de problemas para cómputo científico paralelo" (PDF) . Laboratorio Nacional de la Universidad de Tennessee / Oak Ridge . Consultado el 3 de noviembre de 2015 .
- ^ a b c CE Goodyer; M. Berzins; PK Jimack; Escalas LE. "Optimización numérica basada en cuadrículas en un entorno de resolución de problemas" (PDF) . La Universidad de Leeds . Consultado el 3 de noviembre de 2015 .
- ^ Mark Walkley; Jason Wood y Ken Brodlie. "Un entorno cooperativo distribuido de resolución de problemas" (PDF) . La Universidad de Leeds . Consultado el 3 de noviembre de 2015 .
- ^ a b c d e Stan Kurkovsky, Bhagyavati, Arris Ray. "Modelado de un entorno de resolución de problemas basado en la red para dispositivos móviles". Universidad Estatal de Columbus. CiteSeerX 10.1.1.86.6377 . Cite journal requiere
|journal=
( ayuda )CS1 maint: varios nombres: lista de autores ( enlace ) - ^ Stan Kurkovsky, Bhagyavati, Arris Ray (2015). "Modelado de un entorno de resolución de problemas basado en la red para dispositivos móviles". arXiv : 1503.04501 [ physics.comp-ph ].CS1 maint: varios nombres: lista de autores ( enlace )