Patent ID: 8943482
Filing Date: 2015-01-27
Classification: G06F

Abstract:
1. A method for constructing executable code for a new instance of an existing component-based application, the method comprising: receiving, by a compiler executing in a computer system, a request to compile source code for the new instance of the existing component-based application, wherein the request identifies the source code, and wherein the source code comprises a plurality of source code components, each of the plurality of source code components implementing a different component of the new instance of the existing component-based application, and wherein the source code comprises a change to at least one, but less than all, of the plurality of source code components relative to a previous instance of the existing component-based application; and performing, by the compiler, a series of steps for each source code component in the plurality of source code components in the new instance of the existing component-based application, the series of steps comprising: deriving a derived signature for the source code component, wherein the derived signature describes all configuration parameters of the source code component that are necessary for the compiler to generate the executable code for the source code component in accordance with the new instance, wherein the derived signature comprises a string-based representation of metadata that describes the configuration parameters of the source code component, wherein the configuration parameters of the source code component bind a specific setting to a modifiable aspect of an operator that operates on incoming data, wherein the modifiable aspect comprises at least one of: a stream schema of the operator, a filtering predicate of the operator, a join setting of the operator, or a, group-by setting of the operator, wherein the deriving comprises: identifying a compile-time evaluatable constant expression in the metadata that describes the configuration parameters of the source code component; and replacing the compile-time evaluatable constant expression with a place holder in the derived signature, where the place holder is loaded at runtime; retrieving a stored signature corresponding to a current instance of executable code for the source code component, where the stored signature describes all configuration parameters of the current instance that were necessary for the compiler to generate the executable code for the current instance; directly comparing the derived signature with the stored signature; compiling the source code component into the executable code responsive to the derived signature not matching the stored signature, when the source code component is one of the at least one of the plurality of source code components that has changed; and obtaining the executable code for the source code component from a repository when the derived signature matches the stored signature, when the source code component is not one of the at least one of the plurality of source code components that has changed, such that source code is re-generated only for the at least one source code component that has changed when constructing the executable code for the new instance of the existing component-based application.