Entorno de resolución de problemas - Enciclopedia
Un entorno de resolución de problemas (PSE) es un software de computadora completado, integrado y especializado para resolver una clase de problemas, combinando métodos de resolución de problemas automatizados con herramientas orientadas al humano para guiar la resolución de problemas. Un PSE también puede asistir a los usuarios en formular la resolución de problemas, formular problemas, seleccionar algoritmos, simular valores numéricos, visualizar y analizar resultados.
Propósito del PSE
Muchos PSEs se introdujeron en la década de 1990. Utilizan el lenguaje del respectivo campo y a menudo emplean interfaces de usuario gráficas modernas. El objetivo es que el software sea fácil de usar para especialistas en campos diferentes a la informática. Los PSEs están disponibles para problemas genéricos como la visualización de datos o sistemas de ecuaciones grandes, y para campos de ciencia o ingeniería específicos como el diseño de turbinas de gas.
= Historia =
El Entorno de Resolución de Problemas (PSE) se lanzó unos años después del lanzamiento de Fortran y Algol 60. Se creyó que este sistema con lenguaje de alto nivel causaría la eliminación de programadores profesionales. Sin embargo, sorprendentemente, el PSE ha sido aceptado y, aunque los científicos lo utilizaron para escribir programas.
El Entorno de Resolución de Problemas para Cálculo Científico Paralelo se introdujo en 1960, donde esto fue el primer Conjunto Organizado con una estandarización mínima. En 1970, el PSE se investigó inicialmente para proporcionar un lenguaje de programación de alta calidad en lugar de Fortran, también el advento de Paquetes de Dibujado de Bibliotecas. El desarrollo de Bibliotecas continuó, y se introdujeron Paquetes de Computación Emergentes y Sistemas Gráficos, que eran para la visualización de datos. A mediados de la década de 1990, el hipertexto y la navegación con clic habían avanzado hacia la interoperabilidad. Seguidamente, finalmente existía una "Industria de Partes de Software". Durante varias décadas, recientemente, se han desarrollado muchos PSEs para resolver problemas y también para apoyar a usuarios de diferentes categorías, incluyendo la educación, programación general, aprendizaje de software de ESE, ejecución de tareas y computación en red/nuvem.
Ejemplos de PSE
= Optimización Numérica Basada en la Red
El software shell GOSPEL es un ejemplo de cómo un PSE se puede diseñar para la modelización EHL utilizando un recurso de red. Con el PSE, se puede visualizar el progreso de la optimización, así como interactuar con otras simulaciones.
El PSE paraleliza y嵌入式 muchos cálculos numéricos individuales en un código de optimización serial industrial. Se construye en el paquete IRIS Explorer de NAG para resolver problemas EHL y de Paralelismo y puede usar las bibliotecas gViz para ejecutar toda la comunicación entre el PSE y la simulación. También utiliza MPI — parte de las bibliotecas NAG — lo que proporciona soluciones significativamente más rápidas y mejores al combinar los niveles máximos de continuidad.
Además, el sistema está diseñado para permitir que los usuarios dirijan las simulaciones utilizando la salida visualizada. Un ejemplo es el uso de mínimos locales o el estratificado de detalles adicionales cuando se está cerca de una entrada y salida de la simulación y puede imaginar la información que se produce en cualquier punto y, al mismo tiempo, permitir que la simulación se dirija.
= PSE basados en la red para dispositivos móviles =
Los PSE requieren una gran cantidad de recursos que estresan incluso las computadoras más poderosas de hoy en día. Traducir PSEs en software que pueda ser utilizado para dispositivos móviles es un importante desafío que enfrentan los programadores hoy en día.
El cómputo en red se ve como una solución para los problemas de PSEs para dispositivos móviles. Esto es posible a través de un "Servicio de Brokerage". Este servicio es iniciado por un dispositivo que envía la información necesaria para que el PSE resuelva la tarea. El servicio de intermediación luego desglosa esta en subtareas que distribuye la información a varios dispositivos subordinados que ejecutan estas subtareas. El intermediario requiere un Repositorio de Agentes Activos (AAR) y una Tabla de Asignación de Tareas (TAT) que trabajan para gestionar las subtareas. Se utiliza un Servidor de Mantener Viva la Vida para manejar la comunicación entre el servicio de intermediación y los dispositivos subordinados. El servidor de mantenimiento de vida depende de una aplicación cliente ligera instalada en los dispositivos móviles participantes.
La seguridad, la transparencia y la fiabilidad son problemas que pueden surgir al utilizar la red para PSEs basados en dispositivos móviles.
= Apoyo a la Educación =
Hay una revolución en el aprendizaje basado en la red y el e-learning para la educación, pero es muy difícil recopilar datos educativos y de actividades de los estudiantes. TSUNA-TASTE, desarrollado por T. Teramoto, es un PSE que apoya los procesos de educación y aprendizaje. Este sistema puede crear una nueva idea del e-learning mediante el apoyo a profesores y estudiantes en la educación relacionada con la computadora. Consiste en cuatro partes, incluyendo agentes de estudiantes, un servidor de apoyo a la educación, un sistema de bases de datos y un servidor web. Este sistema hace que el e-learning sea más conveniente ya que la información se puede almacenar y recopilar con anterioridad para los estudiantes y los profesores.
= P-NCAS =
Un programa de generación de programas paralelos asistido por computadora (P-NCAS), es un PSE que crea una nueva forma de reducir la tarea de programación difícil para la programación de computadoras. Este programa puede evitar o reducir la posibilidad de que el software informático grande se estrelle, lo que limita la incertidumbre y los grandes accidentes en la sociedad. Además, los problemas de ecuaciones diferenciales parciales (PDEs) pueden ser resueltos por programas paralelos que se generan con el apoyo de P-NCAS. P-NCAS emplea el Single Program Multiple Data (SPMD) y utiliza un método de descomposición para la paralelización. Esto permite a los usuarios de P-NCAS ingresar problemas descritos por PDEs, algoritmos y esquemas de discretización, etc., y visualizar y editar todos los detalles a través de la visualización y las ventanas para la edición. Finalmente, el programa paralelo se generará en el lenguaje C por P-NCAS e incluirá documentos que muestren todo lo que se ingresó al principio.
Mejoras Futuras
Inicialmente, era difícil hacer problemas 2-D EHL debido al costo y al poder computacional disponible. El desarrollo de códigos 2-D EHL paralelos y computadoras más rápidas haallanado el camino para que la resolución de problemas de EHL 2-D sea posible. Los datos de fricción y lubricación necesitan un nivel más alto de seguridad debido a su sensibilidad. La contabilidad de las simulaciones puede ser difícil porque se realizan rápidamente y en miles. Esto se puede resolver con un sistema de registro o un 'directorio'. Los PSEs colaborativos con múltiples usuarios pueden encontrar dificultades para rastrear los cambios, especialmente qué cambios específicos se hicieron y cuándo se hicieron estos cambios. Esto también se puede resolver con un directorio de cambios realizados.
En segundo lugar, la mejora futura de los PSEs basados en la red para dispositivos móviles, el grupo tiene como objetivo generar nuevos escenarios a través de la manipulación de las variables de control disponibles. Al cambiar estas variables de control, el software de simulación es capaz de crear escenarios entre ellos, permitiendo una revisión más estricta de las condiciones en cada escenario. Se espera que la manipulación de tres variables genere doce escenarios diferentes.
Las variables que estamos interesados en estudiar son la estabilidad de la red y la movilidad del dispositivo. 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 primario.
Parque de PSE
A medida que los PSE se vuelven más complejos, la necesidad de recursos de computación ha aumentado dramáticamente. Por el contrario, a medida que las aplicaciones de PSE se extienden a campos y entornos de mayor 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 bautizado como un 'meta-PSE' o un PSEs. De este modo nació el Parque de PSE.
= La Estructura =
La arquitectura del Parque de PSE enfatiza la flexibilidad y la extensibilidad. Estas características lo hacen una plataforma atractiva para niveles variados de experiencia, desde usuarios principiantes hasta desarrolladores.
PSE Park ofrece esto a través de su repositorio de funciones. El repositorio contiene los módulos necesarios para construir PSEs. Algunos de los módulos más básicos, denominados Núcleos, se utilizan como la base de los PSEs. Los módulos más complejos están disponibles para su uso por parte de los programadores. Los usuarios acceden al Parque de PSE a través de una consola vinculada a los programadores. Una vez registrado, tiene acceso al repositorio. Un servidor PIPE se utiliza como mediador entre el usuario y el Parque de PSE. Esto permite el acceso a módulos y construye las funciones seleccionadas en un PSE.
Los desarrolladores pueden desarrollar funciones, o incluso todo un PSE, para incluir en el repositorio. Los usuarios principiantes y expertos pueden acceder a estos PSEs prehechos para sus propios propósitos. Dada esta arquitectura, el Parque de PSE requiere un entorno de computación en la nube para soportar la enorme cantidad de intercambio de datos que ocurre durante el uso y el desarrollo del PSE.
= El Servidor PIPE =
El servidor PIPE difiere de otros servidores en términos de cómo maneja los resultados intermedios. Dado que el servidor PIPE actúa como mediador en un meta-PSE, cualquier resultado o variable generado por un módulo núcleo se recupera como variables globales para ser utilizadas por el siguiente núcleo. La secuencia o jerarquía está definida por el usuario. De esta manera, las variables con el mismo nombre se revisan hacia un nuevo conjunto de variables.
Otra característica importante del servidor PIPE es que ejecuta cada módulo o núcleo de manera independiente. Esto significa que el lenguaje de cada módulo no tiene que ser el mismo que el de los demás en el PSE. Los módulos se implementan dependiendo de la jerarquía definida. Esta característica brinda una gran flexibilidad para los desarrolladores y usuarios con diferentes antecedentes en programación. El formato modular también permite que los PSEs existentes se extiendan y se modifiquen fácilmente.
= Núcleos =
Para poder 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 se señala por el servidor PIPE para incompatibilidad.
= Motor de Registro y Consola =
El motor de registro mantiene un registro de todos los núcleos que pueden utilizarse en el Parque de PSE. 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 el Parque de PSE. Es altamente visual y gráfica, permitiendo a los usuarios comprender mejor las conexiones entre módulos y núcleos para los PSEs en los que están trabajando.
Véase también
Virginia Tech
Prototipo
Cómputo en red
Computación en la nube
Optimización matemática
Enlaces externos
Investigación en PSE
Referencias