In projects, created by the modeling tools developed by No Magic Inc., the UML model is an implementation of the OMG UML 2.5.1 metamodel. We do not provide a very detailed description of all UML metamodel elements and their properties in this documentation or javadoc. Our UML implementation covers whole UML specification as its and also extends it by introducing some additional Elements (like Diagram). You can find all this information in the UML 2.5.1 superstructure specification on the Object Management Group official Web site at http://www.omg.org/spec/UML/.

You should use UML model interfaces from the com.nomagic.uml2.ext.magicdraw package.

Never use implementation classes like com.nomagic.uml2.ext.magicdraw.classes.mdkernel.impl.ElementImpl in your code!

The base interface of all model classes is com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element, it implements the com.nomagic.magicdraw.uml.BaseElement inteface.

All structure derived from the Element you can see in the OMG-UML 2.5.1 Superstructure Specification.

All attributes described in the UML specification are implemented and accessible through setters and getters.

 

The UML model is thread safe for reading, but still the UML model writing (modification) is not thread safe.