MagicDraw is a proprietary visual UML, SysML, BPMN, and UPDM modeling tool with team collaboration support. Features Domain specific language The domain specific language (DSL) customization engine allows for adapting MagicDraw to a specific profile and modeling domain, thus allowing the customization of multiple GUIs, model initialization, adding semantic rules, and creating one’s own specification dialogs and smart manipulators. The ability to use multiple specific customizations helps to make MagicDraw better oriented to specific platforms, technologies or domains, and can even hide UML entirely. Active validation allows the checking of domain specific models in real time and suggests help and can even fix some issues. DSL elements can be converted to any subtype or a more general type using the “Convert to” function. DSL allows custom derived properties to be created that allow extending a UML metamodel or its profile. All DSL'ed elements can be numbered by using the generic numbering mechanism. The elements can be numbered in consecutive or multi-level style. The separator or prefix of number can be changed during the element numbering. Model decomposition Model Decomposition is a function which can split projects and other work into independent parts. Lazy loading allows the specification of modules that should not be loaded into memory by default when a project is started. Module elements are only loaded as they are specifically requested. Read-Write modules allow module editing of a fragmented model. It is also used during model refactoring. Since MagicDraw has the ability to have flexible control over the dependencies between model parts, it is possible to continue working with the product without resolving dependencies between model parts. Indexing – ability to create an index of an unloaded module. It allows using part of the elements of the module without loading it. Template based documentation generation Fully customizable templates can be created in the style and format preferred by the user. Reports can be exported into variety of file formats (OpenDocument (*.odt), RTF (*.rtf), Microsoft Word (*.docx), Microsoft Excel (*.xlsx), Microsoft PowerPoint (*.pptx), XML, HTML, XHTML). Reports can be personalized with characters, paragraphs, and fonts that are supported by a chosen file format. MagicDraw has the ability to import RTF documents or parts of them into reports (Import tool), to get Teamwork Project Information and upload reports to a remote location. It includes JavaScript Tool which enables report templates to evaluate or run JavaScript codes from templates and external