Triana was originally designed to help the gravitational-wave scientists to be able to spontaneously create and run data analysis algorithms on the data at its source. There are several reasons why a system like Triana was thought to be desirable. Such a component-based object-oriented approach allows scientists to easily create new algorithms that conform to an agreed and defined set of data types and can adapt to different internal parameters e.g. size, resolutions etc. This coupled with the graphical interface means units can be connected arbitrarily without the need for recompilation, which would be the case if non-conforming algorithms were used. Therefore algorithms only need to be integrated once. By designing components in such a way, it makes it easy to create individual user interfaces for each component to allow the modification of its internal parameters. This is highly desirable for quick-look dataflow assembly and Triana has a built-in Wizard to help programmers build user interfaces without writing the code directly. Such an approach also allows users to organise units/components graphically within toolboxes in a directory-type structure for ease of browsing. Such features coupled with the graphical approach encourages reusability of existing units and allows simple type-safe orchestration of data analysis pipelines on-the-fly without the need for code-level reconfiguration.
There are in total around 600 local units available for use within the core distributed of Triana, which span many domains, such as signal, image, text and audio processing, and a number of internal scripts for dynamic reconfiguration of distributed workflows. Throughout the years of development, Triana has accumulated a number of features and has become graphically extremely powerful. Much care has been taken in the design of the usability of its GUI for connecting, editing (unit parameters and workspace drag and drop, copy/paste, etc) and for grouping (aggregating) components on-the-fly without the need for recompilation. Triana is highly configurable and customisable and can be used graphically or on the command line.
Triana is truly extensible, dynamic and organic. To find out more about this please click here.