Kepler es un sistema de software libre para diseñar, ejecutar, reutilizar, evolucionar, archivar y compartir flujos de trabajo científicos . [2] [3] [4] Las instalaciones de Kepler proporcionan monitoreo de procesos y datos, información de procedencia y movimiento de datos a alta velocidad. Los flujos de trabajo en general, y los flujos de trabajo científicos en particular, son gráficos dirigidos donde los nodos representan componentes computacionales discretos y los bordes representan caminos a lo largo de los cuales los datos y resultados pueden fluir entre los componentes. [5] En Kepler, los nodos se denominan "Actores" y los bordes se denominan "canales". Kepler incluye una interfaz gráfica de usuario para componer flujos de trabajo en un entorno de escritorio, un motor de tiempo de ejecución para ejecutar flujos de trabajo dentro de la GUI e independientemente de una línea de comandos, y una opción de computación distribuida que permite que las tareas de flujo de trabajo se distribuyan entre nodos de cómputo en un clúster de computadoras o cuadrícula de cómputo . El sistema Kepler apunta principalmente al uso de una metáfora de flujo de trabajo para organizar tareas computacionales que están dirigidas hacia objetivos particulares de análisis y modelado científico. Así, los flujos de trabajo científicos de Kepler generalmente modelan el flujo de datos de un paso a otro en una serie de cálculos que logran algún objetivo científico.
Un flujo de trabajo científico es el proceso de combinar datos y procesos en un conjunto de pasos estructurados y configurables que implementan soluciones computacionales semiautomatizadas para un problema científico. Los sistemas de flujo de trabajo científico suelen proporcionar interfaces gráficas de usuario para combinar diferentes tecnologías junto con métodos eficientes para usarlas y, de esta manera, aumentar la eficiencia de los científicos.
Kepler proporciona acceso directo a datos científicos que se han archivado en muchos de los archivos de datos de uso común. Por ejemplo, Kepler proporciona acceso a datos almacenados en el servidor Metacat de la Red de conocimiento para la biocomplejidad (KNB) [6] y descritos mediante el lenguaje de metadatos ecológicos . Las fuentes de datos adicionales que se admiten incluyen datos accesibles mediante el protocolo DiGIR, el protocolo OPeNDAP , GridFTP, JDBC , SRB y otros.
Kepler se diferencia de muchos otros sistemas de gestión de flujo de trabajo de bioinformática en que separa la estructura del modelo de flujo de trabajo de su modelo de cálculo, de modo que se pueden vincular diferentes modelos para el cálculo del flujo de trabajo a un gráfico de flujo de trabajo determinado. Kepler hereda varios modelos comunes de cálculo del sistema Ptolomeo , incluidos el flujo de datos sincrónico (SDF), el tiempo continuo (CT), la red de procesos (PN) y el flujo de datos dinámico (DDF), entre otros.
Kepler admite la jerarquía en los flujos de trabajo, lo que permite que las tareas complejas se compongan de componentes más simples. Esta característica permite a los autores de flujos de trabajo crear componentes modulares reutilizables que se pueden guardar para su uso en muchos flujos de trabajo diferentes.
Kepler proporciona un modelo para la anotación semántica de componentes de flujo de trabajo utilizando términos extraídos de una ontología . Estas anotaciones admiten muchas funciones avanzadas, incluidas capacidades de búsqueda mejoradas, validación automatizada del flujo de trabajo y edición mejorada del flujo de trabajo. [7]
Los componentes de Kepler se pueden compartir exportando el flujo de trabajo o el componente a un archivo Kepler Archive (KAR), que es una extensión del formato de archivo JAR de Java. Una vez que se crea un archivo KAR, se puede enviar por correo electrónico a colegas, compartir en sitios web o cargar en el repositorio de componentes de Kepler. El repositorio de componentes es un sistema centralizado para compartir flujos de trabajo de Kepler al que se puede acceder a través de un portal web y una interfaz de servicio web . Los usuarios pueden buscar y utilizar directamente componentes del repositorio desde la interfaz gráfica de usuario de composición de flujo de trabajo de Kepler.
La procedencia es un concepto fundamental en los flujos de trabajo científicos, ya que permite a los científicos comprender el origen de sus resultados, repetir sus experimentos y validar los procesos que se utilizaron para derivar los productos de datos. [8] Para que un flujo de trabajo pueda reproducirse, se debe registrar la información de procedencia que indique dónde se originaron los datos, cómo se modificaron y qué componentes y qué configuraciones de parámetros se utilizaron. Esto permitirá que otros científicos vuelvan a realizar el experimento y confirmen los resultados. [9]
En los sistemas actuales existe poco soporte que permita a los usuarios finales consultar información de procedencia de maneras científicamente significativas, en particular cuando los modelos avanzados de ejecución de flujo de trabajo van más allá de los simples DAG (como en las redes de procesos). [10]
El Proyecto Kepler fue creado en 2002 por miembros del proyecto Science Environment for Ecological Knowledge (SEEK) [4] y del proyecto Scientific Data Management (SDM). El proyecto fue fundado por investigadores del Centro Nacional de Análisis y Síntesis Ecológica (NCEAS) de la Universidad de California en Santa Bárbara y del Centro de Supercomputadoras de San Diego de la Universidad de California en San Diego . Kepler amplía Ptolemy II, que es un sistema de software para modelado, simulación y diseño de sistemas integrados concurrentes en tiempo real desarrollado en UC Berkeley. La colaboración en Kepler creció rápidamente a medida que los miembros de varias disciplinas científicas se dieron cuenta de los beneficios de los flujos de trabajo científicos para el análisis y el modelado y comenzaron a contribuir al sistema. A partir de 2008, los colaboradores de Kepler provienen de muchas disciplinas científicas, incluidas la ecología, la biología molecular, la genética, la física, la química, la ciencia de la conservación, la oceanografía, la hidrología, la bibliotecología, la informática y otras. Kepler es un motor de orquestación de flujo de trabajo que se utiliza para crear flujos de trabajo que faciliten en gran medida el trabajo, en forma de actor.
{{cite web}}
: CS1 maint: copia archivada como título ( enlace )