MagicDraw 19.0 LTR Documentation

If you have a large project and, due to performance issues, some used projects are not loaded, you may use indexing to work with the project smoothly. Indexing can be considered as an intermediate form of work, falling between working with a fully loaded used project and working with a not-loaded used project.


proxy is a lightweight surrogate that carries only the name and kind of the model element information. These proxies appear in the place of the original used project elements, and are dedicated to maintaining model integrity (so that there are no dangling ends of relationships, types of properties do not disappear, and so on), while the used project is not accessible (for example, you do not have permissions) or is not loaded.

When a used project is unloaded/not loaded in the project, only proxies of necessary elements are shown in place of the used project. Using indexing allows you to show more proxy elements from the unloaded project. These proxies can be used as normal model elements in the project using them without loading the used project. Keeping the used project not loaded saves a considerable amount of computer resources.  If you ever need full information from that used project, you can load it at any time.

A typical case where this functionality is useful is outlined below:

A large software library is used in a project. Only certain classes are important for the main project: some library classes are set as types of properties in the model classes, some model classes inherit from the library classes, etc. In this case, the sub-elements of the library classes (their properties and methods) are not important, and we can index classes in the library and keep it not loaded in the main project. Indexing will still show all the classes in the main project from the library.

To specify elements for indexing

  1. Open the used project (that is, not loaded) separately from the using project.
  2. From the Options menu, select Project. The Project Options dialog opens.
  3. Select the Indexing property group.
  4. Select the Common Indexing option. This enables indexing of the used project and determines what information will be indexed.

  5. When common indexing is chosen, classifiers and their inheritance relationships will be indexed. If you want more elements to be indexed, select the Custom Indexing option and fine-tune which element types (properties, methods, etc) should be indexed. The more elements you select, the more elements will be accessible in the project using them as proxies. However, your gains in performance from the used project unloading will also diminish. Thus, a balance is needed when customizing the index. It is usually better to use the common indexing variant.

    Click OK.

  6. In the project using the indexed project, go to the options of the used indexed project (from the main menu, select Options > Project Usages) and select the Use Index check box. 

  • No labels