Patent ID: 8793218

Claim:
A computerized method for copying a plurality of objects represented within an object-oriented enterprise engineering system, the method comprising: performing by a processor, accepting input from a user selecting a plurality of objects to be copied, such that each of at least two objects of the plurality of objects to be copied is a successor object, wherein each successor object has a predecessor-successor relationship with a corresponding predecessor object, the predecessor-successor relationship being defined such that: each successor object includes at least one parameter having a value that functionally depends on a value of a parameter of its corresponding predecessor object, such that if the value of the predecessor object parameter changes to a changed value, the value of the successor object parameter must be recalculated based on the changed value of the parameter of the predecessor object using an engineering relationship; and the predecessor-successor relationship exists from prior to commencement of the method to after completion of the method; for each successor object of the plurality of objects to be copied, automatically identifying its predecessor object, thereby identifying a plurality of identified predecessor objects, wherein automatically identifying the predecessor object comprises: retrieving, from a database, information about relationships between the successor object and other objects; and following a logical path within the retrieved information, the logical path extending between the successor object and the predecessor object; automatically partitioning the plurality of objects to be copied and the plurality of identified predecessor objects into a plurality of ordered groups of objects, such that for each object of the plurality of objects to be copied and the plurality of identified predecessor objects, its predecessor object is in one of: the same group as the object and a group preceding the group containing the object; for each group in order, during an atomic database transaction: storing, in the database, copy objects corresponding to objects in the group; and for at least one stored copy object corresponding to an object in the group, establishing a predecessor-successor relationship between the stored copy object and another object in the database, wherein the other object does not correspond to any object in the group, and wherein the relationship is established such that the stored copy object is a successor of the other object.