Patent ID: 7536406

Claim:
A data transformation service, comprising: a central processing unit; and memory accessible to the central processing unit, the memory including: a data retrieval system to receive data from a source of one or more sources; a data transformation pipeline that constructs complex end-to-end transformation functionality by pipelining data flowing from the one or more of the sources to one or more destinations, the data transformation pipeline comprising: a plurality of resource-using component objects; a graphical user interface which facilitates development of data transformation functionality, the graphical user interface representing a data transformation as a package represented as a series of interconnected nodes in a graph, wherein each node corresponds to a respective resource-using component object selected by the user from among the plurality of the resource-using components objects to be parts of the package, and when the parts of the package are executed the package transforms data according to an input/output functionality of the resource-using component objects which are included in the package; an interpreter that traverses the graph and translates the graph into a data flow execution plan and at least one work list, said at least one work list comprising at least one work item; and a pipeline engine to build the data flow execution based on the data flow execution plan, said data flow execution plan comprising a set of components instantiated from the plurality of the resource-using component objects; a reference tracker used by a pipeline component and operating in an object model, wherein the reference tracker: determines a relation between a resource-using component object and a resource; populates a tracking list, listing each resource that is to be tracked for an impact analysis, the tracking list including one or more resources used by the resource-using component object and one or more resources that the resource-using component object depends on; receives notification from the resource-using component object after populating the tracking list that the resource-using component object assumed a dependency on an additional resource; and adds a new entry to the tracking list specifying the dependency of the resource-using component object on the additional resource in response to receiving the notification from the resource-using component object; and a program module executable by the central processing unit to determine the impact analysis indicating an impact of a statement to change a resource on one or more resource-using component objects; a destination data storage system to store data, wherein the destination data storage system stores the impact analysis.