Before exporting or sharing a package as an independent used project, you need to identify and solve package dependencies first. More specifically, you have to make sure that the package does not depend on any external elements (except other used projects). Furthermore, cyclic dependencies between several used projects are not allowed.
There are three types of dependencies:
The used project depends on the external elements which have relationships with the model elements from the used project packages.
If a used project's element has a relationship with an external element and that relationship is contained in the used project package, an error message appears when exporting the used package.
Such dependencies on external elements are displayed in the Model Browser:
In this situation, a modeling tool can suggest moving the relationship into the parent package of this external element. For example, the package Items is a parent of a class Book, so the relationship can be moved from the Items into the package Library:
Some movements can be achieved by clicking Solve in the Package Dependencies panel.
Even though the used project element has a relationship with an external element, that relationship is contained in an external package:
In this case, the dependency on an external element is displayed in the Model Browser:
The package can be exported as the used project because the relationship is contained in an external package.
If the used project element has a relationship with an external element it is irrelevant in the context of UML (for instance, the external model uses the used project, but not vice versa) and that relationship is contained in an external model, the package can be exported into an independent used project:
The used project depends on the external elements which have references to the model elements from the used project packages.
In this case, the package Items cannot be exported to an independent project because this package has reference to the Library package.
The diagram depends on all model elements displayed within it.
If the diagram is contained in the package Items and depends on external elements, this package cannot be exported to a separate project.
For more information about the package dependencies on external elements, see The used project depends on external elements.
In this case, if the diagram is not important to the used project, it can be moved from the used project package into any external package by dragging-and-dropping it within the Model Browser:
The package Items can now be exported into an independent project.
Teamwork Server or Teamwork Cloud is an ideal solution for a collaborative work on the same project. For more information about using a modeling tool in the collaborative environment, see Collaborative modeling.