In my workflow I tend to create a class, add attributes and operations with specific types i imagine as i am mapping out my design, and afterwards i will create the types that the attributes use if i am happy with the design of this class at that time. Example:
- Id : CustomerIdentity
GetStatus() : AccountStatus
Here we can see I create the Account class and one attribute is of type CustomerIdentity and one operation returns an AccountStatus type.
So to enter this in the modeller i pretty much type as you see on Add Attribute “Id : CustomerIdentity” for example. In doing so this creates attribute of that name and of that Type which is clearly seen in the Open Specification for the Attribute.
It does not however add this type to the Model. Fair enough at this point, it might not know anything about it, however, we have a type specified that is not in the Model.
So now I will go create the class, CustomerIdentity. Here is the rub. Upon doing so, the attribute/operation STILL referers to that type, except it is not the type in the model which can be evidenced by renaming the model type and noting the Attribute type does not update. The only way i found to hook it back up is by changing the attribute type to something else and then back to CustomerIdentity. Now it uses the correct one from the model.
So basically I have these orphaned types in the diagram that have no underlying modelled type.
How to find these orphaned unmodelled types in a large diagram? Is there any way to automatically reassociate them with their modelled type after the fact?
Thanks for any tips or help.