Method and system for reversible design tree transformations
First Claim
Patent Images
1. A method, in a computer system having one or more processors, for transforming a design tree, the method comprising:
- receiving a version of the design tree;
transforming, with at least one processor, the received version of the design tree into a transformed version of the design tree;
sending the transformed version of the design tree to a first transform comprising a source transform or an intermediate transform;
maintaining a mapping between elements of the received version of the design tree and elements of the transformed version of the design tree;
receiving an identity-description of a portion of the transformed version of the design tree;
transforming the received identity-description to a transformed identity-description based on the mapping of elements; and
sending the transformed identity-description to a second transform comprising an intermediate transform or a sink transform, wherein the second transform is different from the first transform,wherein the transforms form a pipeline having a modular architecture including a portion that starts with the first transform and ends with the second transform in a first direction and starts with the second transform and ends with the first transform in a second direction opposite to the first direction, andwherein each transform is reversible such that in the first direction each transform transforms versions of the design tree and in the second direction each transform transforms identity-descriptions identifying subsets of versions of the design tree.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for transforming versions of a design tree and transforming identity-descriptions relating to the versions of a design tree. The transformation system provides a pipeline of transforms for sequentially transforming versions of a design tree and transforming identity-descriptions relating to the versions of the design tree. Each transform may provide a command interface for manipulating the input version of the design tree or for setting parameters to control the transformations of a transform.
45 Citations
41 Claims
-
1. A method, in a computer system having one or more processors, for transforming a design tree, the method comprising:
-
receiving a version of the design tree; transforming, with at least one processor, the received version of the design tree into a transformed version of the design tree; sending the transformed version of the design tree to a first transform comprising a source transform or an intermediate transform; maintaining a mapping between elements of the received version of the design tree and elements of the transformed version of the design tree; receiving an identity-description of a portion of the transformed version of the design tree; transforming the received identity-description to a transformed identity-description based on the mapping of elements; and sending the transformed identity-description to a second transform comprising an intermediate transform or a sink transform, wherein the second transform is different from the first transform, wherein the transforms form a pipeline having a modular architecture including a portion that starts with the first transform and ends with the second transform in a first direction and starts with the second transform and ends with the first transform in a second direction opposite to the first direction, and wherein each transform is reversible such that in the first direction each transform transforms versions of the design tree and in the second direction each transform transforms identity-descriptions identifying subsets of versions of the design tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system, having a memory and a processor, for transforming a design tree, the computer system comprising:
-
a plurality of transforms, each transform for inputting a version of the design tree and outputting a transformed version of the design tree and for inputting identity-descriptions relating to the transformed version of the design tree and outputting transformed identity-descriptions relating to the input version of the design tree, the transforms being arranged in a pipeline such that an output version of the design tree of a first transform is the input version of the design tree of the next transform and the output identity-descriptions of the next transform are the input identity-descriptions of the first transform, wherein at least one of the transforms comprises computer-executable instructions stored in the memory for execution by the computer system, wherein the plurality of transforms includes at least one of a select transform, a filter transform, a generate logical layout transform, a generate physical layout transform, a source transform, or a sink transform, wherein the transforms form a pipeline having a modular architecture including a portion that starts with a first transform and ends with a second transform in a first direction and starts with the second transform and ends with the first transform in a second direction opposite to the first direction, and wherein each transform is reversible such that in the first direction each transform transforms versions of the design tree and in the second direction each transform transforms identity-descriptions identifying subsets of versions of the design tree. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method, in a computer system having one or more processors, for identifying a portion of a design tree, the method comprising:
-
providing a sequence of transforms, each transform for transforming, with at least one processor, an input version of the design tree to an output version of the design tree by applying the transform to the input version of the design tree and for transforming an identity-description relating to the output version of the design tree to an identity-description relating to the input version of the design tree by applying the transform to the identity-description relating to the output version of the design tree, wherein the sequence of transforms includes at least one of a select transform, a filter transform, a generate logical layout transform, a generate physical layout transform, a source transform, or a sink transform; receiving user input identifying a portion of the design tree relative to a final output version of the design tree of the sequence of transforms; and providing the received user input as an identity-description to be transformed by each transform to relate to its input version of the design tree, wherein the transforms form a pipeline having a modular architecture including a portion that starts with the first transform and ends with the second transform in a first direction and starts with the second transform and ends with the first transform in a second direction opposite to the first direction, and wherein each transform is reversible such that in the first direction each transform transforms versions of the design tree and in the second direction each transform transforms identity-descriptions identifying subsets of versions of the design tree. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method, in a computer system having one or more processors, for transforming versions of a design tree, the method comprising:
-
providing a pipeline of transforms, each transform of the pipeline of transforms being configured to input a version of the design tree and output a transformed version of the design tree and is further configured to input an identity-description relating to a version of the design tree output by the transform and output an identity-description relating to a version of the design tree input to the transform wherein at least a first transform of the pipeline of transforms is configured to output a first transformed version of the design tree to a second transform and output the first transformed version of the design tree to a third transform so that the pipeline of transforms includes at least one branch occurring at the first transform of the pipeline of transforms, wherein the first transform comprises a source transform, an intermediate transform, or a sink transform, wherein the pipeline of transforms comprises a modular architecture including a portion that starts with a first transform and ends with a second transform in a first direction and starts with the second transform and ends with the first transform in a second direction opposite to the first direction, and wherein each transform is reversible such that in the first direction each transform transforms versions of the design tree and in the second direction each transform transforms identity-descriptions identifying subsets of versions of the design tree. - View Dependent Claims (38, 39, 40)
-
-
41. A method, in a computer system having one or more processors, for transforming a design tree representing a document, the method comprising:
-
inputting by a source transform an identity-description identifying a subset of a version of the design tree and outputting by the source transform the subset of the version of the design tree identified by the input identity-description; inputting by an intermediate transform a version of the design tree and outputting by the intermediate transform a transformed version of the design tree; and inputting by the intermediate transform an identity-description identifying a subset of the transformed version of the design tree and outputting by the intermediate transform a transformed identity-description identifying a subset of the input version of the design tree, wherein the intermediate transform is reversible such that in a first direction the intermediate transform transforms, with at least one processor, versions of the design tree and in a second direction opposite to the first direction the intermediate transform transforms identity-descriptions identifying subsets of versions of the design tree; and inputting by a sink transform a version of the design tree and outputting by the sink transform an identity-description identifying a subset of the input version of the design tree wherein the transforms form a pipeline having a modular architecture starting with the source transform, continuing with the intermediate transform, and ending with the sink transform in the first direction and starting with the sink transform, continuing with the intermediate transform, and ending with the source transform in the second direction.
-
Specification