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 |