1. A method for composing an application resource model for a data stream processing system, the method comprising steps of: obtaining one or more operator-level metrics from an execution of a data stream processing application in accordance with a first configuration by learning a communication overhead function associated with communication between two or more processing elements, wherein the application is executed by one or more nodes of the data stream processing system and the application is comprised of one or more processing elements that are comprised of multiple operators, wherein two or more of the multiple operators are combined in a first combination to form a processing element, and wherein the first combination of operators is in accordance with the first configuration; generating one or more operator-level resource functions from the first combination of operators in accordance with the first configuration based on the obtained one or more operator-level metrics; and generating a processing element-level resource function using the one or more generated operator-level resource functions to predict a model for the processing element formed by a second combination of two or more of the multiple operators, the processing element-level resource function representing an application resource model usable for predicting one or more characteristics of the application executed in accordance with a second configuration; wherein the generating steps are executed on a computing system comprising a processor and a memory, wherein one or more software modules for implementing the generating steps are loaded from the memory and executed by the processor resulting in the generation of the application resource model.