How scientists make use of computers to explore data is of central importance. Existing methods are largely ad-hoc using spreadsheets for data manipulation and separate algorithms packages for analysis. Where successful processes need to be automated, the traditional bioinformatics approach has been to create bespoke applications using scripting languages such as Perl. Recent approaches to representing discovery processes have been limited to using workflow languages such as WSFL to define service composition for execution. These methodologies are labour intensive and problematic since the designer of the process is rarely the person who implements it as an application.