1. A computer implemented method for automatic workflow composition in a stream processing system, the computer implemented method comprising: providing a description language for stream processing workflow composition; providing a domain definition data structure in the description language, wherein the domain definition data structure defines all stream processing components available to the stream processing system; responsive to receiving a stream processing request, translating the stream processing request into a problem definition, wherein the problem definition defines stream properties that must be satisfied by property values associated with one or more output streams; and generating a workflow that satisfies the problem definition given the domain definition data structure.