Visual Authoring Tools
Allows for composition of the computational task from components (reusable modules)
Different tools to support various programming models such as data parallel, task parallel, data flow, object oriented
No assumption on granularity
Metadata about components and support for archiving and mining the components
Support for instrumentation and steering