![]() |
Monarch |
||||||
| KNB Home | Data | People | Informatics | Biocomplexity | Education | Software | |
|
Monarch: Online Analytical Pipeling Application |
|
|
Monarch is a flexible tool for exploratory analysis of data. Its goal is to support analysis and synthesis of arbitrary data files via structured semantic metadata. Monarch utilizes powerful back-end analytical environments like SAS, R and MatLab to run analysis pipelines on the data itself. A pipeline is a series of analytical steps where the output of one step maps to the input of the next step in the pipeline (see image below). Monarch allows individual pipeline steps to be executed on different analytical environments so that the strengths of different environments can be taken full advantage of. The pipeline itself then provides a reproducible audit trail of analyses and transformations performed on the data. This will allow different scientists to reproduce and extend analyses on their (and others') data in a structured manor. |
|
| Analysis Pipeline | |
This image shows how pipeline steps are mapped together from the initial runtime data binding to the final output generation. The runtime data binding is done by reading a metadata description of the data file and generating the needed data definition code in the language of the first analytical engine to process the pipeline. We are hoping that the metadata description will be written in Ecological Metadata Language however, Monarch uses a plugin system for reading metadata so theoretically any metadata language that identifies critical attribute and entity information should usable. |
|
| Architecture | |
Monarch is currently designed to be accessible via a servlet interface, although this is not strictly necessary. The design is such that Monarch should be portable to multiple interfaces. The servlet interface seems the most relevant at this point. Monarch uses a plugin interface for two separate subsystems. The metadata interpretation subsystem takes in the metadata and data (a data package) and interprets it into a form usable by Monarch. This plugin interface allows Monarch to be flexible enough to recognize different types of metadata markup and interpret them. When a new metadata standard (or a new version of a current one) is created, only a plugin to interpret it must be written. The other plugin interface is for executing code on the external analytical engines (AE). Each AE has different methods for execution and data definition, so when a step is specified, the language (and hence the AE) is specified so that the system knows which plugin to load when it comes time to execute it. This also makes it easy to add additional AEs as they come along or change versions. |
|
| Download | |
|
Please note that this is pre-release software and can only be installed from source code. It can be built using the Apache Ant build system. |
|
Web Contact: jones@nceas.ucsb.edu