Previous Topic: Adoption Between Models in Different FamiliesNext Topic: Aggregate Objects for Adoption


Adoption Between Models Within the Same Family

Adoption between models in the same family increases the number of objects that have common ancestry in the two models. An adoption does not mean that every object in the adopted model can be migrated to another family member with the expectation of a migrate, delete, or replace.

Note: As long as two models have not adopted each other, they have objects in common that do not have common ancestry.

One reason to adopt within a family is that two developers can create the same logical object independently in two models. Upon realizing the situation, someone can adopt between the two models to establish common ancestry for the object that was created redundantly.

Another reason to adopt within a family is models that overlap.

In the following illustration, Models 1, 2, and 3 represent Project models in the same family. They have been adopted using the production model as the related model, creating common ancestry among the three models for only those objects they all share with the production model (area D). The models have not adopted each other.

Models in the same family

Intersection Area

Represents

D

The set of objects for which common ancestry has been established among all three models (Model 1, Model 2, and Model 3).

A

The additional set of objects for which common ancestry would be established, if an adoption were performed between Models 1 and 2.

B

The additional set of objects for which common ancestry would be established, if an adoption were performed between Models 1 and 3.

C

The additional set of objects for which common ancestry would be established, if an adoption were performed between Models 2 and 3.

Objects in area D can be migrated to the Production model or any of the other three models with a delete/replace result. Objects in area A can be migrated to Model 3 since they are in the same family, but the objects would be created as new objects because Models 1 and 3 have not adopted each other.

To perform adoptions among Models 1, 2, and 3. If you want to migrate objects between these models in the normal delete/replace manner, the adoptions are required.