What is Wave
Wave is an application framework that ties together a set of algorithms,
written in any programming language,
to a scriptable, datacentric GUI application.
Data lineage management
The centerpiece of Wave is data lineage management.
From every piece of data it is known what it was computed from, by which algorithm and
with which parameters.
This enables full accountability for the final result.
It also enables automatic minimal recomputation, should any of the parameters or pieces of data change.
Multiple, interconnected versions of data can be retained to allow comparative evaluation and
parameter optimization.
GUI aspect
Wave's GUI offers an explorer-like view on engineering data.
Relations between data are shown, and the underlying processes and
their parameters can be accessed by clicking on the data.
Data can be hierarchically stored, typed and grouped.
It can be selectively shown according to any combination of these hierarchies.
Script aspect
As the user is working interactively with the data, an equivalent Python script is built up.
Editing the script to add some loops, allows exploration of a large number of alternatives
without manual intervention.
As data lineage management is fully functional when running the script,
inspection afterwards, via the GUI, will reveal the underlying parameters to each result.
Some experiences
Wave is a new implementation of principles that are some twenty years old now.
Although Wave itself is still under construction,
the experience gained by a previous introduction of datalineage management
in an engineering firm, many years ago, is probably typical.
Some early adopters immediately saw the advantages and used it from the first day.
Others were hesitant, since to them it meant an unfamiliar way of working.
When contact with that firm was renewed some five years later, the system was used pervasively.
On the question, wether operation was perceived as complex, the answer was negative:
It just seemed natural to the users.
This threshold effect has been observed in comparable situations.
What is the status of Wave
Some ninety-eight percent of the required functionality is ready.
And the code should be refactored to benefit from Eden's Module concept, that was added after the fact.
What this means in practice is that Wave (as opposed to Eden) is not ready for prime time yet.
What are the system requirements to develop and run Wave applications
Wave-0.1-alpha-4 works best with Eden-0.1-beta-1, IronPython 1.0, Python 2.5, DotNet 2.0 and Windows XP.