Main Page: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
Alida defines a concept for designing libraries and toolkits in data analysis. It supports and simplifies integrated algorithm development by inherently joining algorithm implementation, automatic analysis process documentation and fully generic generation of user interfaces. In Alida each data analysis or manipulation action is realized in terms of an operator that acts on given data to produce desired output data. As all operators implement a common interface definition, their input and output parameters are accessible in a standardized manner, and they can also be invoked in a predefined way. Alida's concept is well-suited to ease algorithm development and their application to real-world problems by non-expert users. Due to the operator interface definition and the unified handling of operators it is for example possible to automatically generate user interfaces for operators, i.e. graphical frontends or commandline interfaces. | Alida defines a concept for designing libraries and toolkits in data analysis. It supports and simplifies integrated algorithm development by inherently joining algorithm implementation, automatic analysis process documentation and fully generic generation of user interfaces. In Alida each data analysis or manipulation action is realized in terms of an operator that acts on given data to produce desired output data. As all operators implement a common interface definition, their input and output parameters are accessible in a standardized manner, and they can also be invoked in a predefined way. Alida's concept is well-suited to ease algorithm development and their application to real-world problems by non-expert users. Due to the operator interface definition and the unified handling of operators it is for example possible to automatically generate user interfaces for operators, i.e. graphical frontends or commandline interfaces. | ||
The Alida concept is independent of a specific programming language, however, relies on an object-oriented design. Moreover, in particular Java renders it quite easy to implement the conceptual features of Alida due to its reflection and annotation mechanisms. | The Alida concept is independent of a specific programming language, however, relies on an object-oriented design. Moreover, in particular Java renders it quite easy to implement the conceptual features of Alida due to its reflection and annotation mechanisms. | ||
The Java implementation of the Alida concept is in a quite mature state. It provides a framework for implementing and running operators. It also includes automatic process documentation and automatically generated command line and graphical user interfaces. Calls to operators not only produce data analysis results, but are at the same time registered within the framework together with all input and output objects as well as parameters settings of the various operators. These data acquired during an analysis process and the order of operator calls form a directed graph datastructure containing all relevant information for later reconstruction or verification of the analysis procedure. | |||
The Java implementation of Alida allows to make the directed graph datastructure explicit in terms of XML representations which can be visually explored with appropriate graphical frontends like Chipory, or might be stored in data bases for archival purposes. | |||
</div> | </div> | ||
</div> | </div> | ||
Line 67: | Line 69: | ||
</div> | </div> | ||
|} | |} | ||
==== C++ implementation ==== | ==== C++ implementation ==== |
Revision as of 15:48, 22 January 2016
Alida - Advanced Library for Integrated Development of Data Analysis Applications
...formerly known as Alida - Automatic Logging of Process Information in Data Analysis
What is Alida? The Alida concept is independent of a specific programming language, however, relies on an object-oriented design. Moreover, in particular Java renders it quite easy to implement the conceptual features of Alida due to its reflection and annotation mechanisms. The Java implementation of the Alida concept is in a quite mature state. It provides a framework for implementing and running operators. It also includes automatic process documentation and automatically generated command line and graphical user interfaces. Calls to operators not only produce data analysis results, but are at the same time registered within the framework together with all input and output objects as well as parameters settings of the various operators. These data acquired during an analysis process and the order of operator calls form a directed graph datastructure containing all relevant information for later reconstruction or verification of the analysis procedure. The Java implementation of Alida allows to make the directed graph datastructure explicit in terms of XML representations which can be visually explored with appropriate graphical frontends like Chipory, or might be stored in data bases for archival purposes.
Grappa
|
Latest News
The news archive can be found here.
Licensing information
Bug reports & Feature requests |
C++ implementation
The C++ implementation is mainly a proof-of-concept implementation. In its current state it is still lacking lots of features defined by the Alida concept, e.g. the automatic process documentation and automatically generated graphical user interfaces. Currently only the Java implementation is ready for use in practice.
Current releases
Java
You can download Alida's Java implementation in version 2.6 here.
You can find the API documentation for this release here.
C++
You can download Alida's prototypical (!!!) C++ implementation in version 0.1 here.
You can find the API documentation for this release here.