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.
- Working with UML model
- Session management
- Checking element editing permissions
- Accessing and modifying model element properties
- Creating new model elements
- Creating new relationship objects
- Editing model elements
- Adding, moving, deleting model elements
- Refactoring model elements
- Copying elements and symbols
- Identifying elements
- Finding elements by name or by meta-type
- Model traversing, Visitor pattern
- Retrieving meta information about element
- Creating textual element representation
- Retrieving element icon
- Advanced utility functions
- Event support
- Working with stereotypes and tagged values
- UML Model Implementation Using EMF