Un entorno de resolución de problemas ( PSE, por sus siglas en inglés) 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 al ser humano para guiar la resolución del problema.
Un PSE también puede ayudar a los usuarios a formular soluciones a problemas, formular problemas, seleccionar algoritmos , simular valores numéricos, visualizar y analizar resultados.
Propósito del PSE
Muchos PSE se introdujeron en la década de 1990. Utilizan el lenguaje del campo correspondiente y a menudo emplean interfaces gráficas de usuario modernas . El objetivo es que el software sea fácil de usar para especialistas de campos distintos a la informática .
Los PSE están disponibles para problemas genéricos como la visualización de datos o grandes sistemas de ecuaciones y para campos específicos 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 de Fortran y Algol 60. Se creía que este sistema con lenguaje de alto nivel provocaría la desaparición de los programadores profesionales. Sin embargo, sorprendentemente, el PSE fue bien recibido e incluso científicos lo utilizaron para escribir programas. [ 2 ]
El Entorno de Resolución de Problemas para la Computación Científica Paralela se introdujo en 1960, siendo esta la primera Colección Organizada con una estandarización menor. [ 2 ] En 1970, PSE se investigó inicialmente para proporcionar un lenguaje de programación de alta clase en lugar de Fortran, y también surgieron los Paquetes de Trazado de Bibliotecas. El desarrollo de las Bibliotecas continuó, y se introdujo la aparición de Paquetes Computacionales y Sistemas Gráficos, que es la visualización de datos . Para la década de 1990, el hipertexto y el clic habían avanzado hacia la interoperabilidad . Más adelante, finalmente existió una industria de "componentes de software". [ 2 ]
A lo largo de las últimas décadas, se han desarrollado muchos PSE para resolver problemas y también para dar soporte a usuarios de diferentes categorías, incluyendo educación, programación general, aprendizaje de software CSE, ejecución de trabajos y computación en la nube / Grid .
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 EHL utilizando un recurso de 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 numerosos cálculos numéricos individuales en un código de optimización serial industrial. Está construido con el paquete IRIS Explorer de NAG para resolver problemas de EHL y paralelismo , y puede utilizar las bibliotecas gViz para gestionar toda la comunicación entre el PSE y la simulación. También utiliza MPI —parte de las bibliotecas de NAG—, lo que proporciona soluciones significativamente más rápidas y eficientes al combinar los niveles máximos de continuación. [ 3 ]
Además, el sistema está diseñado para permitir a los usuarios dirigir las simulaciones mediante la visualización de los resultados. Un ejemplo es el uso de mínimos locales o la superposición de detalles adicionales al entrar y salir de la simulación, y puede visualizar la información que se produce en cualquier punto crítico y, al mismo tiempo, permitir dirigir la simulación. [ 4 ]
PSEs basados en cuadrícula para dispositivos móviles
Los PSE requieren recursos informáticos sustanciales. La portabilidad de estos entornos a dispositivos móviles presenta desafíos técnicos para los desarrolladores. [ 5 ]
La computación en malla se considera una solución a los problemas de recuperación de PSE para dispositivos móviles. Esto es posible gracias a un "Servicio de Intermediación". Este servicio se inicia mediante un dispositivo que envía la información necesaria para que el PSE resuelva la tarea. El servicio de intermediación divide esta información en subtareas y la distribuye a varios dispositivos subordinados que las ejecutan. [ 5 ] La intermediación requiere un Repositorio de Agentes Activos (AAR) y una Tabla de Asignación de Tareas (TAT) que gestionan las subtareas. Un Servidor Keep-Alive se encarga de la comunicación entre el servicio de intermediación y los dispositivos subordinados. El Servidor Keep-Alive depende de una aplicación cliente ligera instalada en los dispositivos móviles participantes.
La seguridad, la transparencia y la fiabilidad son cuestiones que pueden surgir al utilizar la red para PSE basados en dispositivos móviles. [ 5 ]
Apoyo educativo
Se está produciendo una revolución en el aprendizaje en red y el e-learning para la educación, pero resulta muy difícil recopilar datos educativos y de las actividades de los estudiantes. TSUNA-TASTE, desarrollado por T. Teramoto, una empresa de educación superior, apoya los procesos de aprendizaje y educación. Este sistema puede generar un nuevo concepto de e-learning al brindar apoyo a docentes y estudiantes en la educación relacionada con la informática. Consta de cuatro partes: agentes de estudiantes, un servidor de apoyo educativo, un sistema de base de datos y un servidor web . Este sistema facilita el e-learning, ya que la información se almacena y recopila con mayor rapidez para estudiantes y docentes.
P-NCAS
El soporte para la generación de programas paralelos asistido por computadora (P-NCAS), un PSE, crea una nueva forma de reducir la complejidad de la programación. Este programa puede evitar o reducir la probabilidad de fallos en grandes programas informáticos, lo que limita la incertidumbre y los accidentes graves. Además, los problemas de ecuaciones diferenciales parciales (EDP) pueden resolverse mediante programas paralelos generados por P-NCAS. P-NCAS emplea el método de Programa Único con Múltiples Datos (SPMD) y utiliza un método de descomposición para la paralelización. Esto permite a los usuarios de P-NCAS introducir problemas descritos por EDP, algoritmos y esquemas de discretización, etc., y visualizar y editar todos los detalles mediante ventanas de edición. Finalmente, P-NCAS genera el programa paralelo en lenguaje C e incluye documentación que muestra la información introducida inicialmente. [ 5 ]
Mejora futura
Al principio, resolver problemas EHL bidimensionales era difícil debido al costo y la potencia informática disponible. El desarrollo de códigos EHL bidimensionales paralelos y ordenadores más rápidos han allanado el camino para que la resolución de problemas EHL bidimensionales sea posible. Los datos de fricción y lubricación requieren un mayor nivel de seguridad dada su sensibilidad. El control de las simulaciones puede ser difícil porque se realizan rápidamente y por miles. Esto se puede solucionar mediante un sistema de registro o un directorio. Los sistemas PSE colaborativos con múltiples usuarios tendrán dificultades para rastrear los cambios, especialmente qué cambios específicos se realizaron y cuándo se realizaron. Esto también se puede solucionar con un directorio de cambios realizados. [ 3 ]
En segundo lugar, para la mejora futura de los PSE basados en Grid para dispositivos móviles, el grupo busca generar nuevos escenarios mediante la manipulación de las variables de control disponibles. Al modificar dichas variables, el software de simulación puede crear escenarios a partir de otros, lo que permite un análisis más detallado 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 tendrá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 otro lado, dado que las aplicaciones de PSE se adentran en campos y entornos de creciente complejidad, la creación de PSE se ha vuelto tediosa y difícil.
Hirumichi Kobashi y sus colegas diseñaron un PSE (Entorno de Experiencia Personal) concebido para crear otros PSE. Este PSE se ha denominado "meta PSE" o simplemente PSE. Así nació PSE Park.
El marco
La arquitectura de PSE Park hace hincapié en la flexibilidad y la extensibilidad . Estas características la convierten en una plataforma atractiva para usuarios con distintos niveles de experiencia, desde principiantes hasta desarrolladores.
PSE Park proporciona estas funcionalidades a través de su repositorio de funciones. El repositorio contiene los módulos necesarios para construir PSE. Algunos de los módulos más básicos, llamados Cores, sirven como base para los PSE. Los programadores tienen acceso a módulos más complejos. Los usuarios acceden a PSE Park mediante una consola vinculada a la de los programadores. Una vez registrado, el usuario tiene acceso al repositorio. Un servidor PIPE actúa como intermediario entre el usuario y PSE Park. Este servidor otorga acceso a los módulos y construye los PSE con las funciones seleccionadas.
Los desarrolladores pueden crear funciones, o incluso PSE completos, para incluirlos en el repositorio. Tanto los usuarios principiantes como los expertos pueden acceder a estos PSE predefinidos 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 se produce durante el uso y el desarrollo de los PSE.
El servidor PIPE
El servidor PIPE se diferencia de otros servidores en la forma en que gestiona los resultados intermedios. Dado que actúa como mediador en un meta-PSE, cualquier resultado o variable generada por un módulo principal se recupera como variable global para ser utilizada por el siguiente módulo. El usuario define la secuencia o jerarquía. De esta forma, las variables con el mismo nombre se actualizan al nuevo conjunto de variables.
Otra característica importante del servidor PIPE es que ejecuta cada módulo o núcleo de forma independiente. Esto significa que el lenguaje de cada módulo no tiene por qué ser el mismo que el de los demás en el PSE. Los módulos se implementan según la jerarquía definida. Esta característica ofrece una enorme flexibilidad a desarrolladores y usuarios con diferentes niveles de experiencia en programación. El formato modular también permite ampliar y modificar fácilmente los PSE existentes.
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. Cualquier falta de definición es señalada por el servidor PIPE como incompatibilidad.
Motor de registro y consola
El motor de registro gestiona todos los núcleos que pueden utilizarse en PSE Park. También se crea un historial de uso. Se puede desarrollar un mapa de núcleos 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 altamente visual y diagramática, lo que permite a los usuarios comprender mejor las conexiones entre módulos y núcleos de los PSE en los que trabajan.
Véase también
Enlaces externos
- Investigación PSE
Referencias
- ↑ Fateman, Richard J. "Entorno de resolución de problemas y computación simbólica" (PDF) . Universidad de California, Berkeley . Consultado el 3 de noviembre de 2015 .
- 1 2 3 Dongarra, Jack. "Entornos de resolución de problemas para computación científica paralela" (PDF) . Universidad de Tennessee/Laboratorio Nacional de Oak Ridge . Recuperado el 3 de noviembre de 2015 .
- 1 2 3 Goodyer, CE; Berzins, M.; Jimack, PK; Scales, LE "Optimización numérica basada en cuadrículas en un entorno de resolución de problemas" (PDF) . Universidad de Leeds . Recuperado el 3 de noviembre de 2015 .
- ↑ Walkley, Mark; Wood, Jason; Brodlie, Ken. "Un entorno de resolución de problemas cooperativo distribuido" (PDF) . Universidad de Leeds . Consultado el 3 de noviembre de 2015 .
- 1 2 3 4 5 6 Kurkovsky, Stan; Bhagyavati; Ray, Arris; Yang, Mei. "Modelado de un entorno de resolución de problemas basado en cuadrícula para dispositivos móviles" . ITCC '04: Actas de la Conferencia Internacional sobre Tecnología de la Información: Codificación y Computación . ISBN 978-0-7695-2108-4.
- Sistemas informáticos
- Resolución de problemas