MagicDraw UserManual
MagicDraw UserManual
version 16.9
No Magic, Inc.
2010
All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be
shared, copied, or reproduced by any means. All information copyright 1998-2010 by No Magic, Inc. All Rights
Reserved.
CONTENTS 0
Contents 3
1 INTRODUCING MAGICDRAW 18
About MagicDraw and UML 18
MagicDraw Editions and Features 19
MagicDraw Editions 19
MagicDraw Personal Edition 19
MagicDraw Standard Edition 19
MagicDraw Architect Edition 19
MagicDraw Professional Edition 20
MagicDraw Enterprise Edition 20
MagicDraw Community Edition 20
MagicDraw Reader Edition 20
Other MagicDraw Features and Add-ons 20
Reports Generation 20
Floating License 21
Teamwork Server 21
Code and Database Engineering 21
OpenAPI 22
Integrations 22
MagicDraw Customization 22
MagicDraw Plugins 22
MagicDraw RConverter 25
MagicDraw Welcome Screen 25
MagicDraw News Reader 30
MagicDraw Documentation and Support 31
New and Noteworthy 32
Manuals and User Guides 32
Help 32
Hints Associated to User’s Actions 32
Productivity Tips Displayed in Progress Window 33
Tutorials 33
Other Documentation 35
Support 35
FAQ 35
Forum 35
Knowledge Base. New issue registration 36
Customer support levels 36
End-of-life policy 37
Reporting issues directly from MagicDraw 37
View and submit internal errors 39
2 GETTING STARTED 40
System Requirements 40
Java Virtual Machine (JVM) 40
Operating System - dependent issues 41
3 USING MAGICDRAW 63
Customizing and Selecting Perspective 63
Customizing MagicDraw Perspectives 64
MagicDraw Startup dialog box 65
Select Perspective dialog box 66
Customize Perspectives dialog box 67
Understanding MagicDraw User Interface (UI) 69
Menus 70
Toolbars 70
Main toolbars 71
Create Diagram toolbars 71
Customizing toolbars 72
Using the Model Browser 73
Containment tree 76
5 DIAGRAMMING 166
Working with Diagrams 166
7 TOOLS 272
Model Merge 273
Definitions 273
Introduction to Merging 273
3-way merge 274
2-way merge 274
Model Merge Concepts 275
Model Merge demonstration 275
Usage scenario 1 - 3-way Merge and Analysis 275
Usage scenario 2 - merging in Teamwork System 279
Usage scenario 3 - Copying changes from the branch to Trunk (in Teamwork) with conflict
In the “Introducing MagicDraw” chapter, you will find the introductory information about MagicDraw.
• “About MagicDraw and UML” on page 18
• “MagicDraw Editions and Features” on page 19
• “MagicDraw Welcome Screen” on page 25
• “MagicDraw News Reader” on page 30
• “MagicDraw Documentation and Support” on page 31
Early methodologies, such as Booch notation, OMT, and others served the same purpose: to graphically
express the software’s architecture information. However, these methodologies accomplished this in slightly
different ways and with different levels of thoroughness. In 1994, Grady Booch, Jim Raumbaugh, and Ivar
Jacobson came together to unify their varied methods and experience. The UML (Unified Modeling Language)
was the fruit of their joint effort. UML was crafted with two objectives: To reflect the best practices of the
industry and to demystify the process of software system modeling.
In short, UML provides standardized pictures of your software applications and allows your development team
to quickly grasp the functionality contained within the application. UML is a language and a process with
neutral notation. This means that you can use it to design your entire OO system in any programming language
and any software development process.
The development of a model for an industrial-strength software system, prior to its construction or renovation,
is as essential as having a blueprint for a large building. Good models are vital for effective communication
among project teams.
In the early 1990s, the tools for OO software modeling emerged, followed by the development of the visual
modeling approach. Visual modeling means that you first design your system by drawing diagrams (blueprints)
and then employ tools to convert those diagrams into code. The value of such an approach is that the often
tedious framework coding is done automatically, freeing the programmer to focus on design issues. The
transition from the design to the implementation phase is smoother and more straightforward. Moreover, using
the features of reverse engineering and code generation, the developer can move back and forth between the
code and the design that is being expressed in the diagrams.
Today, visual modeling tools provide many features that replace some of the more tedious tasks for the
designer, programmer, and documentation writer. Some of the leading tools provide so-called round-trip code
engineering capabilities – the structure of reverse engineered code is changed in the modeling tool and is
generated back without the implementation of specific information (e.g. method bodies, comments) being lost.
MagicDraw is a visual UML modeling and CASE tool with teamwork support. Designed for Business Analysts,
Software Analysts, Programmers, QA Engineers, and Documentation Writers, this dynamic and versatile
development tool facilitates analysis and design of Object Oriented (OO) systems and databases. It provides
the industry's best code engineering mechanism (with full round-trip support for Java, C#, C++, WSDL, XML
Schema, and CORBA IDL programming languages), as well as database schema modeling, DDL generation
and reverse engineering facilities.
As of version 16.8, MagicDraw supports UML v2.3. For the detailed information about supported changes of
UML specification from version 2.2 to 2.3, see “Appendix II: UML 2.3 Support” on page 772.
MagicDraw Editions
MagicDraw Personal Edition contains powerful UML diagramming capabilities, including full UML 2 support and
extensibility features, basic reporting functionality, and image export. Exported files are stored in XMI format.
All model elements can be accessed via the MagicDraw Open API.
In this edition, you will find everything you need to draw, edit, and publish your UML models.
Personal Edition is available only in a standalone version and is not designed for use with MagicDraw
Teamwork Server.
MagicDraw Standard Edition provides all of the Features of Personal Edition and adds WAE, content, and
Robustness diagrams. Standard Edition also adds model analysis and facilitation features, customizable and
extendable patterns, integrations with most popular IDEs, and a set of predefined model templates and UML
profiles.
Standard Edition supports UNISYS XMI and the latest Model Driven Architecture (MDA) tool offerings. UNISYS
XMI diagramming extensions allow the interchange of MagicDraw models with other UML modeling tools.
Standard Edition is available in standalone, floating and mobile license versions and is fully compatible with
MagicDraw Teamwork Server.
Standard Edition is ideally suited for analysts and architects who need various model extensions and modeling
facilitations.
The Architect Edition is specially packaged to provide the optimal price and technical features necessary for
architects that do not need the full capabilities of the Enterprise Edition. This edition combines the common
functionality of the Standard Edition together with some powerful options from the Enterprise Edition. These
include: advanced modeling facilitations and analysis, reverse engineering and code generation for DDL,
WSDL, CORBA IDL and XML. Architects have less need for IDE integrations as well as Java and C++ code
engineering, so these capabilities are not included.
Professional Edition is built on the Standard Edition capabilities and is available in one of three programming
language specific versions-Java, C++ and C#. In addition to the Standard Edition features, Professional Edition
adds code generation and reverse engineering functionality. Depending on the language version selected, the
user will receive:
• Java version - Code engineering for Java, Java bytecode. Integration with Java IDEs.
• C++ version - Code engineering for C++.
• C# version - Code engineering for C#, CIL (MSIL).
Professional Edition is ideal for anyone who wants to generate code from an existing model or create a UML
model from an existing project.
MagicDraw Enterprise Edition represents the top of the line in the MagicDraw family of products, as well as the
ultimate solution for all your modeling needs. Enterprise Edition combines all of the functionality of the Personal
and Standard Editions, and all three versions of the Professional Edition, into a comprehensive state-of-the-art
UML programming solution. But the Enterprise Edition does not stop there, adding code engineering and
diagramming functionality in CORBA IDL, EJB, WSDL and XML schema. For working with DB structure,
Enterprise Edition not only provides code engineering and diagramming, but also provides structure retrieval
via JDBC.
Enterprise Edition is a must when working with multiple development technologies and databases.
The MagicDraw family of award-winning products represents the most powerful and best value in the UML
modeling industry today.
MagicDraw Community Edition is free for developers working on non-commercial projects. It has a minimal
functionality set and only the class diagram has no limitations. Other diagrams allow saving a project with 25
use cases, 25 states, 25 classifier roles, 25 action states, 25 instances, 25 nodes, and 25 components.
Community Edition is designed for creating static structure models when XMI output is needed and it is ideally
suited for Open Source projects.
MagicDraw Reader Edition is made for reading and previewing UML models created with MagicDraw and it is
free of charge. It is extremely useful when you want to share your ideas expressed in UML with partners,
colleagues, or clients, who do not have a copy of MagicDraw. Printing and image export capabilities are also
included.
Since MagicDraw version 14.0, Reader Edition has the ability to open and review Teamwork Server projects.
Reports Generation
You will find a complete description of the MagicDraw Report Wizard, related OpenAPI, and tutorial
in”MagicDraw ReportWizard UserGuide.pdf”.
Floating License
The Floating license agreement does not limit the number of clients you can install on different computers. It
only limits the number of applications that can run at the same time. To control loaded applications, a server is
required. The server can be installed on several computers, but simultaneously can be started only on the one
of them. The license key of the floating server provides information to the server about how many applications
may run simultaneously for the particular MagicDraw edition. If you upgrade the MagicDraw version, you do not
have to obtain a new license key for the server. The Administrator’s Console is used to manage client connec-
tions and configure the server.
For more information about MagicDraw Floating License, see “MagicDraw FloatingLicense UserGuide.pdf”.
Teamwork Server
NOTE The Teamwork Server is available with MagicDraw application (Stan-
dard, Professional, Architect, and Enterprise editions).
With MagicDraw Teamwork Server, you can assign as many developers as needed to work simultaneously on
the same project using multiple workstations. The resulting Teamwork project is saved on the server for sharing
by other MagicDraw applications. Users with administrator rights can create new users by giving them their own
login name and various permissions to work on projects. Depending on permissions, users can update, com-
mit, edit, create, and delete model elements, diagrams, and projects.
To enable Teamwork support, you should install and run the MagicDraw Teamwork Server software. Each
MagicDraw application acts as a client in the Teamwork system.
Teamwork Server functionality is available with MagicDraw client Standard, Professional, and Enterprise Edi-
tions only. MagicDraw Reader Edition is allowed to open and review teamwork projects.
For more information about Teamwork License Server, see “MagicDraw Teamwork UserGuide.pdf”.
MagicDraw code engineering provides a simple and intuitive graphical interface for merging code and UML
models, as well as preparing both code skeletons out of UML models and models from code.
The tool may generate code from models and create models out of code (reverse). Changes in the existing
code can be reflected in the model, and model changes may also be seen in your code. Independent changes
to a model and code can be merged without destroying data in the code or model.
MagicDraw UML code engineering supports Java, Java Bytecode, C++ (ANSI, CLI, Managed), C#, CIL, CIL
Disassembler, CORBA IDL, DDL (Cloudscape, DB2, Microsoft Access, Microsoft SQL server, MySQL, Oracle,
Pervasive, Pointbase, PostgreSQL, Standard SQL, Sybase), XML Schema, WSDL, and EJB 2.0 notation.
For more information on working with code engineering and databases, see “MagicDraw Code&DatabaseEngi-
neering UserGuide.pdf“.
OpenAPI
This document describes the MagicDraw Open Java API and provides instructions on how to write your own
plug-ins, create actions in the menus and toolbars, change UML model elements, and create new patterns.
For more information on working with OpenAPI, see “MagicDraw OpenAPI UserGuide.pdf”.
Integrations
For more information about MagicDraw integrations, see “MagicDraw Integrations UserGuide.pdf”.
MagicDraw Customization
For more information about MagicDraw customization, see “UML Profiling and DSL UserGuide.pdf”.
MagicDraw Plugins
For the full MagicDraw plugins list, see the following website: www.magicdraw.com/plugin.
NOTE For information about MagicDraw and Plugins compatibility see the fol-
lowing website: http://www.magicdraw.com/compatibility. The table
shows which versions of MagicDraw and MagicDraw Plugins can work
together.
UPDM
The UPDM plugin supports all Unified Profile for DoDAF and MODAF (UPDM) products, sample project for
UPDM, UPDM usability features, DoDAF & MODAF project templates and MagicDraw® perspectives. The
“DoDAF Architect” perspective enables for editing DoDAF specific elements and DoDAF products. Alterna-
tively, DoDAF users may use the “Power User” perspective that enables all UPDM products. The “MODAF
Architect” perspective includes MODAF specific elements and all UPDM products. Previous legacy DoDAF
projects (using the non-UPDM DoDAF plugin) are automatically converted to the new UPDM projects.
SysML
The SysML plugin includes SysML profile, template, all SysML diagrams, SysML samples project, SysML
usability features, and System Engineer perspective. The System Engineer perspective (the specific mode of
the MagicDraw user interface for SysML modeling) includes SysML specific menus, toolbars, diagrams, speci-
fication dialogs and user interface.
Cameo DataHub
Cameo DataHub is a tool that allows the user to import, export, synchronize, and make references between
Cameo Requirements+, MagicDraw, SysML Plugin, DoDAF Plugin, Telelogic DOORS, Rational RequisitePro,
and CSV files.
Cameo SOA+
Cameo™ SOA+ leverages the Unified Modeling Language® (UML®) along with the latest SOA modeling stan-
dard, SoaML™, to provide both architects and developers an integrated solution for creating optimal SOA
architectures and implementations. Cameo™ SOA+ brings together SOA at both the business and technology
levels to address the full spectrum of services. From Enterprise and Business Architectures to implementing,
using and composing services on your favorite enterprise service bus (ESB) or application server, this inte-
grated plug-in is versatile enough for both personal and team-based development. SoaML™ helps create and
use services based on new and existing capabilities using composite services.
Cameo Data Modeler plugin for MagicDraw® provides support for Entity-Relationship modeling. It expands pre-
vious Business Entity-Relationship diagram (a limited form of ER diagram) to full featured Entity-Relationship
diagram - including extended entity-relationship concepts - generalization support.
Cameo Business Modeler plugin for MagicDraw provides support for BPMN 2.0 profile, diagrams, user per-
spective, usability features for BPMN modeling, manual, samples, and import from BPMN 1.1 models that were
created with MagicDraw. All four BPMN 2.0 diagrams are supported.
Merge
Model Merge enables copying changes between different project versions. This functionality is usually needed
when there are several branches that reflect different releases or versions of the product, e.g. when certain
fixes have to be copied from a release branch to the mainstream development.
MagicRQ
MagicRQ plugin for MagicDraw is the first true Requirements Hub that can move requirements between Telel-
ogic's DOORS or IBM Rational® RequisitePro® seamlessly. All of the requirements information is moved into
MagicDraw for maximum traceability and interaction.
ParaMagic
ParaMagic plugin using the quantitative information and constraint relationships displayed in SysML diagrams,
model-builders can run simulations from the earliest stages of system design. In traditional domains of system
engineering like aerospace and transportation, users can explore system performance, estimate cost and allo-
cate resources. Developers leveraging MagicDraw's DoDAF and business modeling capabilities can add para-
metric simulation using SysML submodels for defense planning, business process analysis and computational
finance.
DoDAF
The DoDAF plugin includes DoDAF profile, template, all DoDAF diagrams, DoDAF documentation generation
feature, DoDAF samples project, DoDAF usability features, and DoDAF Architect perspective. The DoDAF
Architect perspective (the specific mode of the MagicDraw user interface for DoDAF modeling) includes DoDAF
specific menus, toolbars, diagrams, specification dialogs and user interface.
Methodology Wizards
Methodology Wizards Plugin automates modeling tasks and extends methodology support in MagicDraw. This
Wizard guides you through model creation process according to a set methodology.
MARTE Profile
This specification of a UML® profile adds capabilities to UML for model-driven development of Real Time and
Embedded Systems (RTES). This extension, called the UML profile for MARTE (in short MARTE), provides
support for specification, design, and verification/validation stages. This new profile is intended to replace the
existing UML Profile for Schedulability, Performance and Time.
CSV Import
The CSV Import plugin is a MagicDraw plugin that will read values in a comma separated values (CSV) file and
create model elements, diagrams and relationships from that data. MagicDraw users will have the capability to
create MagicDraw models from their data stored in spreadsheets, relational databases and other repositories.
SPEM
SPEM - Adopted standard for software engineering process description. Standard provides generic elements
those allow to describe any software development process. The purpose of SPEM is to support the definition of
software development processes specifically including those processes that involve or mandate the use of
UML. The SPEM plugin includes SPEM profile, template, all SPEM diagrams and properties customization.
SoaML Profile
Service oriented architecture Modeling Language (SoaML) profile.The goals of SoaML are to support the activ-
ities of service modeling and design and to fit into an overall model-driven development.
MagicDraw has the capability to import UML models that conform to various XMI versions (including XMI 2.1)
from other tools. Sparx Systems Enterprise Architect (EA) is one of those tools. EA provides a XMI export func-
tionality which makes it possible to export UML2.1(XMI2.1). However, the XMI exported from EA contains some
XMI conflicts and EA-specific data that do not conform to UML standards. The main purposes of Enterprise
Architect Import Plugin are thus to solve XMI conflicts between EA and MagicDraw that cause problems when
loading the XMI to MagicDraw and also to transform some EA-specific data to the form of UML elements with
stereotypes.
MagicDraw RConverter
MagicDraw RConverter generates data files in Rational Rose’s (*.mdl) to MagicDraw’s (*.xml). By obtaining
information from Rational Rose via Rational Rose API (REI) and using VB6.0 to calculate the change, the
resulting file is saved in the MagicDraw file (xml file extension) format.
To open the Welcome screen from the Help main menu, choose the Show Welcome Screen command (note
that no projects should be opened).
The Show Welcome Screen option is added to the Environment Options dialog box, General branch, Dis-
play group. Using this option you can set whether the Welcome Screen will be displayed.
Manage Projects
Latest News
• Click on the particular news to read more detailed description. The news will be displayed in
the MagicDraw News Reader. For more information, see “MagicDraw News Reader” on
page 30.
• Install available resources. Click to open the Resource/Plugin Manager window. Download
and install available resources and plugins using this manager. For more information, see
“Resource Manager” on page 344.
• MagicDraw manuals. Click to open the <MagicDraw installation directory>\manuals folder,
which contains MagicDraw manuals.
• Online demos. The www.magicdraw.com/viewlets webpage is opened. View demos, which
introduces MagicDraw and MagicDraw features.
• MagicDraw eSchool. The http://school.nomagic.com/ webpage is opened.
Samples
Quick navigation to MagicDraw samples. All samples from <MagicDraw installation folder> \samples directory
are accessible in this page.
When some news is available, a small envelope icon will be displayed at the right of MagicDraw status bar.
Click on this icon to invoke the MagicDraw News Reader (see Figure 6 on page 31).
Select the news channel at the left side of the MagicDraw News Reader and then select one of the news in the
list. Bellow the title of the selected news, the description is presented. Unread messages are displayed in bold.
To refresh news, click the Refresh button at the left top corner of the MagicDraw News Reader window.
To mark all the selected items as read, click the Mark item as read button.
To change the checking period, change the Check for MagicDraw News property in the Environment
Options dialog box, General section. Property provides the following options:
• Once a day
• Once a week
• Once a month
• Do not check.
The main source of information about MagicDraw is www.magicdraw.com and documentation can be
downloaded from www.magicdraw.com/documentation.
Help
The integrated help within MagicDraw is based on JavaHelp. MagicDraw help provides detailed descriptions of
all MagicDraw dialog boxes, commands, and shortcut menus. You will also find a How-to list, as well as main
descriptions and examples of all UML model elements.
Hints are displayed in the lower right-hand corner of the MagicDraw application. Figure below shows an exam-
ple of a hint.
Hint is displayed for a 10 seconds or for a period while mouse is rolled on hint. Small icon will be dis-
played in a status bar after hint will hide. Clicking on this icon, you can open hint again.
Change the Hints display mode property in the Environment Options dialog box, General
branch, Display group.
The Hints display mode property specifies whether hints on MagicDraw functionality related to user actions
will be displayed. Custom hint set does not include hints, that are asked not to be shown by user. Select option
Display all hints again to reset custom hint set to show all hints. Selecting value Show all hints again will
delete the list of the hints that should not be displayed.
Select or clear the Show tips while running long tasks property in the Environment Options
dialog box, General branch, General group.
Tutorials
Quick Start tutorials for UML diagrams provide the step-by-step on-screen instructions on how to work with
UML diagrams and start modeling with MagicDraw. They also give the links to the associated information in the
other MagicDraw user’s documentation and to the worldwide tutorials sources as well.
Try the Quick Start tutorials for the new diagram, Class diagram, Use Case diagram, Activity diagram,
Sequence diagram, and others.
1. From the File menu, select New Project. The New Project dialog will open (Figure 9 on
page 34).
2. Select the Project from Template icon on the left-hand side of the New Project dialog.
3. Select Guide to UML Diagrams Project > Guide to UML Diagrams Project in the Select tem-
plate tree.
4. Click OK. The MagicDraw project with its tutorials will open (Figure 10 on page 35).
Other Documentation
• The readme.html file is located in the main MagicDraw installation directory. Readme
documents are also available for MagicDraw integrations.
• Viewlets. View online demos introducing MagicDraw and particular functionalities. You may
find online demos at www.magicdraw.com/viewlets.
• Samples. In the MagicDraw installation directory (samples directory), you will find the samples
of MagicDraw projects.
Support
FAQ
Before calling or registering an issue, please have a look in our FAQ section. It is constantly updated and may
contain an answer to your question.
Forum
Discuss and get answers about No Magic products in No Magic Community Forum. With respect to the grow-
ing interest in No Magic products, we have expanded the capabilities that had been provided by our news-
groups and have moved the content to the online Forum.
Note: If you are interested in old discussions from the newsgroups, you can find them in the Forum as well as
in the newsgroups in a read-only mode.
• If you are a new user, ask questions and get started on learning about UML and MagicDraw by
the NEW USER section.
• Discuss issues related to technologies and processes in the STANDARDS/
METHODOLOGIES section.
• Share your professional experience in terms of using MagicDraw, including installation and
running, MagicDraw OpenAPI, scripting, integrations with other 3rd party tools, etc. in the
MAGICDRAW section.
• Find new product versions, updates, and major events in the ANNOUNCEMENT section.
• Post your suggestions for improvements and new features that you would like to see added to
the Forum in the OTHER section, the Suggestions subsection.
A customer support level determines customer access rights and the response time for support requests. To
find out yours customer support level, please, visit the knowledgebase - https://support.nomagic.com.
Premium support VIP customer* (marked as VIP) Response within business hours, with
24 hours response time.
End-of-life policy
Public service packs are primarily released for the newest version. As we understand that switching from one
version to another can take some time, in case of significant issues we provide service packs (or private
patches) for up to one year old versions when applicable.
We support and provide patches to older versions only when you own Software Assurance (SA) contracts
https://secure.nomagic.com/software_assurance only on your purchased products, so please be sure you are
covered.
We always strongly recommend using the newest version as it contains all newest fixes, usability features, new
capabilities, and support for standards and technologies.
We highly recommend to submit report any problem, suggest improvements, or ask about new features directly
from MagicDraw. Report will create an issue in to our Online Customer Support System https://
support.nomagic.com.
These reports help us address issues in a more timely manner, as well as speeding up maintenance releases
that are free of known defects.
NOTE NEW! If you supplied the email address used when registering at
www.magicdraw.com, you will be able to track the status of your sub-
mitted issue in our Online Customer Support System located at
https://support.nomagic.com. If you used another email address,
you will only receive email notifications of status changes.
5. In the Attachments tab, select files you would like to send together with your issue report:
• Attach log file - the log file will be sent together with your issue report.
• Attach project file - the opened and last saved project file will be sent together with
your issue report.
• Attach used modules - modules that have been used in the opened project file will
be sent together with your issue report.
• Attach diagrams images - choose diagrams, whose images you would like to send
together with your issue report. Also specify the images format.
6. If you are registered user, track you issue at https://support.nomagic.com.
NOTE If you are already registered personal information will be filled into the
Report an Issue dialog.
If MagicDraw becomes unresponsive, a separately executable tool is provided for analyzing the status of the
process to aide in bug submission. In these situations, manually start the submitbug.exe file (located in the
<MagicDraw installation directory>\bin folder) and follow directions. After submitbug.exe is started, the Report
an Issue dialog box opens. For more information about the Report an Issue dialog box, see “To report an
issue directly from MagicDraw” on page 37.
If an error occurs, an error message will appear at the bottom of the MagicDraw window.
To view internal errors you have to open the Unhandled Errors dialog box. There are three
methods for to open the Unhandled Errors dialog.
• Click the View and submit internal errors button in the message window.
• From the Help main menu, choose the View and Submit internal errors command.
• Click the notification icon on the status bar.
Note: The View and Submit internal errors command is only active in the Help menu and the
red button at the bottom of the status bar only exists if the Submit errors dialog box contains
errors.
To submit an error
In the Getting Started chapter, you will find information about how to install, update, register, and configure
MagicDraw.
1. "System Requirements", on page 40
2. "Installation Procedure", on page 41
3. “Licensing Information” on page 43
4. "MagicDraw Configuration", on page 44
5. “NEW! Unlocking MagicDraw” on page 46
6. “NEW! Activating the commercial license after the purchase (v16.9 or later)” on page 47
7. "User Registration", on page 56
8. “Updating” on page 62
System Requirements
To run MagicDraw UML, your system must meet the following requirements:
MagicDraw is a stable environment, if it is configured properly and if a stable JVM is used. USE THE RECOM-
MENDED JVM TO AVOID MOST PROBLEMS. All recommendations are written below. Because MagicDraw
is a Java application, most of the stability and performance depends on the JVM implementation. Refer to the
JVM specification and problems description, if you have problems on a specific OS.
JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x, and 1.5.x are not supported.
You can review your system and the JVM information in the About dialog box, Environment tab (from the
Help menu, select About). The JDK version can also be encountered from the command line by typing:
java -version
All platforms:
Change line in file mduml.properties (this file is in <MagicDraw installation directory>/bin folder):
JAVA_HOME = <path to new JDK>
NOTE Integrated MagicDraw runs on the JVM specified by the IDE. In order
to change the JVM, you need to modify the startup properties for the
IDE that MagicDraw integrates with. If you are running MagicDraw inte-
grated with IDE, read the appropriate readme.html for specific integra-
tion. This file can be found in <MAGICDRAW installation directory>/
integrations/<IDE directory>.
By default all MagicDraw output info goes into a file. The output can be redirected to the console
instead of a log file.
All platforms:
Pass application argument (not java property) -verbose.
Add argument into the JAVA_ARGS line in the mduml.properties file (this file is in <MagicDraw
installation directory>/bin folder):
APP_ARGS =-verbose
Because MagicDraw is 100% Pure Java, it is platform independent and runs on a variety of operating systems.
However, for Java applications to interact properly with the operating system, Java Virtual Machine (JVM) soft-
ware is required. JVM software varies depending on the operating system and MagicDraw may perform inade-
quately with the wrong one.
The performance of Java applications depends on the performance of the Java Virtual Machine. A badly
designed Machine may degrade the performance of MagicDraw. It could even cause MagicDraw to fail or
crash. To avoid these problems, we recommend that you use the following Virtual Machines:
• Sun (JDK standard) for Linux. JDK 1.6.0_20 is recommended.
• Sun (JDK standard) for Windows (95/98, 2000, 2003, NT, Vista, 7). JDK 1.6.0_20 is
recommended.
• We recommend Mac OS X Leopard or Mac OS X Snow Leopard and Java 1.6.0_20 for both
32-bit and 64-bit Mac OS X.
Installation Procedure
First, obtain the MagicDraw installation files. You can download the latest version from the MagicDraw homep-
age (http://www.magicdraw.com/.) Because MagicDraw is a Java application, you will need more than the
installation files to run the tool successfully. You can also install JVM together with MagicDraw or you may
already have it installed. Information about the latest Java ports is available at http://www.magicdraw.com/
jvm_list.htm.
NOTE If an installation is for Windows, and has a JVM you do not need any-
thing else.
Windows 2000/2003/NT/XP/Vista*/7
After downloading, double-click MD_UML_<version>_win.exe.
The Setup Wizard automatically adds MagicDraw UML shortcuts to the start menu and the desktop. You may
also execute the shortcuts from the installation directory.
Unix
After downloading, open a shell and go to the directory where you downloaded the installer.
At the prompt type: sh ./MD_UML_<version>_unix.sh.
MAC OS X
We recommend Mac OS X Leopard or Mac OS X Snow Leopard and Java 1.6.0_20 for both 32-bit and 64-bit
Mac OS X.
After downloading, double-click MD_UML_<version>_mac.dmg and install the application by dropping the
launcher to the Applications folder (or somewhere else).
We suggest to create additional folders for different MagicDraw versions in MAC OS X Applications folder in
case do not overwrite old client with the new one. After installing MagicDraw to several folders you will be able
to import the old MagicDraw version configuration.
After downloading, extract the contents of the zip. These files require some modifications prior to launching
them.
On Windows platform:
• Launch mduml.exe in bin directory to start MagicDraw.
Licensing Information
Information about installed or needed licenses and the status is presented in the MagicDraw About screen with
the ability to remove unused licenses (see Figure 13 on page 44).
Information Description
item
User ID User ID is displayed in the About dialog box, Licensing tab. Please refer to user
ID when contacting support or sales.
Not installed If license is not installed, "Not installed" text is displayed after the license name.
indication
Not started If licenses is installed but not started "Not started" text is displayed after license
indication name and reason is be given. Possible reasons:
• Required resource is not installed.
• Plugin startup failed.
• Other.
If you have any questions or issues, please report them using the Report an Issue dialog. For
more information, see “View and submit internal errors” on page 39.
MagicDraw Configuration
You may check the exact path to the configuration files in the MagicDraw About screen, Environment tab,
Configuration files line (invoke the About screen from the Help main menu, About MagicDraw command).
Add argument to JAVA_ARGS line in the file mduml.properties file (this file is in <MagicDraw
installation directory>/bin):
JAVA_ARGS=-DLOCALCONFIG=false
You may define custom path for configuration files in two ways:
• In the mduml.properties file, JAVA_ARGS line add the property
-Dlocalconfig.location=<custom path>
To unlock MagicDraw:
1. After downloading MagicDraw v16.9 or later, you will get license key file to your mailbox.
2. Save this key file into the local file system before starting MagicDraw.
3. When starting MagicDraw for the first time, you will be asked to choose the license key file.
Click the Select Licenses Key Files button and select the file from the directory you have
saved the file.
4. System will automatically start MagicDraw and you will be able to use it.
After updating to v16.9, you will be requested to activate and receive the commercial licenses dedicated for the
particular machine.
Flexera Software FLEXnet licensing system, the industry leader helping to manage and secure flexible soft-
ware licensing, is used to manage No Magic products licenses.
All the updated information about the commercial license activation you may also find at http://
www.magicdraw.com/CommercialLicenseActivation.
• “Identification” on page 52
• “Registration” on page 54
• “Deactivation” on page 54
Online activation
Choose online activation and enable commercial activated (without expiration) licenses automatically.
1. Click the Activate button in the License Manager dialog of the application.
Offline activation
Alternatively, you may select offline activation, get the Host ID, enter it in the license owner account and then
download the commercial activated license.
1. Click the Activate button in the License Manager dialog of the application.
2. Click Offline Activation.
3. Host ID is shown.
Related topics
Commercial license types
Host ID
Identification
Registration
Deactivation
Example: MagicDraw_16_9_Professional_C#_Standalone_
Activated_key_for_<name>_<surname>.txt
After the purchase transaction has been completed, you will receive the commercial not activated license.
They are used ONLY to determine the account on www.magicdraw.com from which activated keys should be
requested. Any other license, evaluation, demo, or commercial can be used for identification of the license
owner account during activation.
Commercial not activated license requires activation. It allows using the application for 7 days according to
obtained licenses, before requesting the activation. After the online or offline activation you will get the com-
mercial activated license.
After the online activation, commercial activated license will be applied automatically and you will be able to use
the application on the particular machine.
During the offline activation you will be required to enter a Host ID <link to Host ID section> in the license owner
account at www.magicdraw.com/LicenseActivationManagement. You can then download the commercial acti-
vated license and select it from the application.
Related topics
Commercial license activation process
Host ID
Identification
Registration
Deactivation
Host ID
A Host ID is the value of a specific system attribute (MAC / Ethernet address) that uniquely identifies the host /
machine under which an application is running. A Host ID is used for the locked to particular machine license.
Only commercial activated licenses are locked to the particular machine.
For the Host ID determining instructions refer to “Determining a Host ID (for offline activation)” on page 50.
One of the ways for determining Ethernet address (Host ID) is using lmhostid utility. This way can be useful
when the list of Host IDs of multiple machines should be discovered, even before installing the applications
itself. If you are a system administrator, you can provide end users with commercial activated licenses without
requesting licenses from them.
The lmhostid is a command line utility, which prints the Host ID that is required. The Lmhostid utility is available
as an executable called lmutil. Download it for a particular OS from http://www.globes.com/support/
fnp_utilities_download.htm.
Run lmutil with lmhostid parameter from the command line. Lmhostid displays the default hostid for the current
platform.
For exact commands for specific OS refer to: License Administration Guide (Obtaining System Hostids).
Related topics
Commercial license activation process
Commercial license types
Identification
Registration
Deactivation
Identification
To determine a license owner, the user identification is requested during activation process.
Identification is requested only if you have not added any license key file, have not registered your installation,
or have not performed identification.
• Login name based identification. Use the license owner login name and password to identify
on which account on www.magicdraw.com your purchases are.
Ones identification is performed, it will not be requested the next time during activation.
NOTE In case you need to change identification records, just apply the new license key file. The
last applied license key file is used for the identification.
Related topics
Commercial license activation process
Commercial license types
Host ID
Registration
Deactivation
Registration
The user registration is required during activation process in order to obtain the commercial activated license.
Related topics
User Registration
Commercial license activation process
Commercial license types
Host ID
Identification
Deactivation
Deactivation
The deactivation is the process, which allows returning commercial activated licenses. You may remove and
return all activated (locked to the particular machine), not used commercial licenses by deactivating them.
1. Click the Deactivate button in the License Manager dialog of the application or uninstall the
application.
2. Commercial licenses will be deactivated automatically and returned online.
If the online licenses return is not available, licenses will be deactivated and offline deactivation
- licenses return message with License Deactivation ID - will be shown. To update the account
information manually, return the used license by entering the License Deactivation ID to the
license owner account at www.magicdraw.com/LicenseActivationManagement.
3. The application is deactivated and licenses are returned.
You can deactivate licenses not only from application, but also from the License Activation Management screen
in the license owner account at www.magicdraw.com/LicenseActivationManagement.
NOTE The deactivation from the License Activation Management screen should be used only if
the deactivation from application side is not available: installation has been lost or cor-
rupted.
NOTE The number of available, not confirmed, deactivations from the License Activation Man-
agement screen is 1 for the each obtained license per year. The Confirmed deactivation
case from the application side will not decrease the rehost limit.
License Deactivation ID
License Deactivation ID is the value of a specific system attribute that uniquely identifies license deactivation/
return from the particular host/machine under which application was running. The License Deactivation ID is
used for the license offline deactivation.
1. Click the Deactivate button in the License Manager dialog of the application.
2. The license Deactivation ID will be shown if the online deactivation will not be available.
The license deactivation, about which confirmation is received in the license owner account at
www.magicdraw.com/LicenseActivationManagement is treated as confirmed deactivation case.
The deactivation confirmation can be received either online, during online deactivation, or offline, with the help
of the License Deactivation ID, which is shown during the offline deactivation.
The deactivation from the License Activation Management screen without the License Deactivation ID, is
treated as NOT confirmed deactivation and decreases the rehost limit. An exception is, if after such the deacti-
vation, automatic confirmation is received from the application side that the license has been also deactivated
on the application side.
Rehost limit
The rehost limit is the number of available, not confirmed, deactivations from the License Activation Manage-
ment screen. By default such number is 1 for the each obtained license per year. The confirmed deactivation
case from the application side will not decrease the rehost limit.
If the rehost limit is exceeded you can request extension from your dedicated account executive by filling the
reason of the request and clicking the Request Rehost Increase button.
You may moving of the activated (locked to the particular machine) licenses from one machine to another is
called rehosting.
To rehost a license
Related topics
Commercial license activation process
Commercial license types
Host ID
Identification
Registration
User Registration
User Registration allows you to access dedicated resources on MagicDraw Website such as dedicated online
support, answers database, new products evaluation, and beta products.
The Registration window will open the first time MagicDraw is started (Figure 17 on page 57). You can com-
plete Product Registration at any time by selecting Register on the MagicDraw Help menu.
NOTES • No Magic, Inc. respects your privacy. We will only use your personal
information for communications and management of your online
account, and the products you register with your account.
• Registration for the owners of commercial licenses is mandatory.
Registration Workflow
The registration process is straightforward. After a new key application, you will be requested to register your
installation. If you have successfully sent the online registration form, you will receive an e-mail with a link to
confirm your registration and the correctness of information furnished through online registration.
Adding a License
MagicDraw always checks the registration status at startup after license has been provided, an unlock key has
been added, or a Floating server has been selected.
Registering
If you are not a registered user, MagicDraw will open the Registration dialog at startup, prompting you to reg-
ister.
NOTE You do not have to complete the online User Registration to use
MagicDraw, however, it is recommended to do so to receive the bene-
fits available for a registered user. You can complete Product Registra-
tion at any time by clicking Register on the MagicDraw Help menu.
NOTES • You can click the Confirm Later button to register at a later time
and close the Registration Confirmation dialog.
• A message reminding about Registration Confirmation will appear at
MagicDraw startup if you do not complete the registration process.
• No Magic, Inc. respects your privacy. We will only use your personal
information for communications and management of your online
account, and the products you register with your account.
An e-mail with registration data and a confirmation link will be sent to the e-mail address provided during regis-
tration. Click the confirmation link to confirm the registration process and create or navigate (if it has been cre-
ated) to your dedicated area at www.magicdraw.com.
Use your login name and password received upon confirming your registration to log in to the user dedicated
area at www.magicdraw.com.
Your registration will enable us to provide you with the following professional services:
• Dedicated customer support for all problems, questions, and suggestions.
• Access to early releases and evaluations.
• New versions, patches, and updates.
After a period of 30 days has passed since the date of your registration or a new license from the same
licensed owner has been applied, you will be requested to confirm that you are the one using the software
installation at MagicDraw startup. A profiled Registration Confirmation dialog will open. Check the correct-
ness of data and click the Confirm button.
If you are registering as a new user, with different profile information, the Update Existing Profile question will
appear. You can either update your existing profile or identify yourself as a different user using the product
installation.
Bug Report
If you are a registered user, your personal information will be provided in the Report an Issue dialog. Submit
notifications of software errors dialog is available from Help menu > Report an Issue....
If the provided information does not correspond to the information you have provided during registration, once
you click the Send button to submit the bug, you will be asked to register or update your information. The Reg-
istration dialog will open and profiled with your personal information from previous registration with changes
from the Report an Issue dialog or details from the Report an Issue dialog if you have not yet registered.
For more information about bug reporting, see “Reporting issues directly from MagicDraw” on page 37.
Troubleshooting
Issue Solution
Registration is requested on each The Registration Confirmation dialog will open each
startup time MagicDraw starts until you register the product
installation.
The registration process is straightforward and requires
minimum data for you to access dedicated online support,
answers database, new products evaluation, and beta
products.
Clicking the Confirm Later button will close the Registra-
tion Confirmation dialog.
Registration confirmation is requested If you do not click the registration confirmation link, instal-
at each startup lation will not be confirmed.
You may request a new confirmation email from the regis-
tration confirmation message.
No email with a confirmation link is Your spam or virus filter may filter out the e-mail with a
received confirmation link. If that is the case, you can request a
new confirmation e-mail by clicking Help > Register on
the MagicDraw main menu.
The No connection to registration Check your internet connection and try to reconnect.
server message opens NOTE: User Registration is encouraged, but is not
required to use MagicDraw.
You are getting can not connect to Check your internet connection and try to reconnect.
server message on registration dialog NOTE: User Registration is encouraged, but is not
invocation from Help menu -> Regis- required to use MagicDraw.
tration
The Registration dialog does not • You have already registered and the period of 30 days
opens at Startup since the date of your last registration has not been
used up.
• There are network limitations to check your registration
status.
Note: User Registration is encouraged, but is not
required to use the MagicDraw.
Updating
An automatic updates feature is implemented in MagicDraw. Notification and update of all the patches can be
done automatically.
1. Open the Environment Options dialog box, Update pane. For a detailed description of this
dialog box, see “Update Options Tab” on page 101.
2. Select a period when MagicDraw should check for updates from the Check for Updates drop-
down list box: Manually, On startup, Once a day, Once a week, Once a month. It is recom-
mended to check for updates once a month.
NOTE You may also manually check for updates: go to the Help menu and
select the Check for Updates command.
In “Using MagicDraw”, you will find information about how to define MagicDraw according to perspective, an
introduction to the MagicDraw User Interface, and defining your environment.
• "Customizing and Selecting Perspective", on page 63.
• "Understanding MagicDraw User Interface (UI)", on page 69.
• "Customizing Environment Options", on page 89.
• "Look and Feel: Controlling the Interface", on page 117
• "Assigning Shortcut Keys", on page 118.
Due to the growing number of MagicDraw features, many features may be configured for standard or expert
user. MagicDraw can satisfy the needs of different software development process roles. In order to better
satisfy user needs, MagicDraw configuration depends on Perspective.
Perspectives allow:
• The selection of a predefined MagicDraw configuration and features according to your
software development process role.
• Finding features faster, because there are less of them.
• To choosing a suitable MagicDraw experience mode with a single click.
• Customizing a set of predefined features and configuration based on user needs.
• Launch MagicDraw for the first time. The MagicDraw Startup dialog box will appear with the
possibility to switch between perspectives. Select the desired perspective from the list and click
the OK button.
• From the Options menu, choose Perspectives and then click Perspectives. The Select
Perspective dialog box opens. Select the desired perspective and click the Apply button.
• On the Perspectives toolbar, select the desired perspective from the available perspectives
list.
NOTE For more information about the Perspectives toolbar, see “Perspec-
tives Toolbar” on page 752.
MagicDraw has six customizable areas in different perspectives. Each of these areas has a set of commands,
which can be shown in standard/expert mode, or hidden:
• Main menu;
• Main toolbars;
• Diagram toolbars;
• Diagram modeling elements toolbar;
• Context menu actions;
• Reports.
1. In the Customize Perspectives dialog box, select the perspective and click the Edit button
near the selected MagicDraw area. The appropriate Customize dialog box opens.
2. Expand tree sections and select radio buttons beside items in the tree depending on your
choice for Standard and Expert, Expert only or Hidden modes.
3. Click OK to save changes, then OK in the Customize Perspectives dialog box, and then
Apply in the Select Perspective dialog box (if needed).
• From the toolbar shortcut menu, select/clear the Expert Menu Mode or Expert Toolbar Mode
check box.
• From the diagram buttons toolbar menu, select/clear Expert Mode check box.
Rename Selected The Enter Perspective Name dialog box opens. Change name of the
Perspective perspective and click OK. Renaming can also be performed using the
F2 shortcut key.
Import New The Open dialog box appears. Select *.umd extension file and click
Perspective Open to import the perspective into the MagicDraw environment.
Export Selected The Save dialog box opens. Type a name for the created perspective
Perspective and click Save to store it as *.umd extension file.
Nearly all MagicDraw commands can be accessed from multiple places within MagicDraw:
• Main menu
• Main toolbars
• Model Browser
• Diagram toolbars
The table below shows the accessibility of several commands in various ways:
Function Accessibility
Main operations of • Edit menu.
editing (copy, cut, • Main toolbar buttons.
paste, delete)
• Shortcut keys.
• Shortcut menu commands from Browser.
NOTES The Symbol shortcut menu is also accessible from the Edit menu,
Symbol.
The toolbar of a particular diagram presents the paths and shapes
available for the corresponding diagram. If an arrow is placed on the
diagram toolbar button, select a button representing the corre-
sponding model element by right-clicking the button.
Menus
The description of all menu commands you may find in Section “Menu System” on page 730
You may customize menu items by selecting and/or modifying perspectives. More information about customiz-
ing perspectives, you may find in Section “Customizing and Selecting Perspective” on page 63.
NOTE Various plugins might bring additional menu items.
Toolbars
Toolbars help to speed up your work with MagicDraw, when performing commonly used tasks. There are main
toolbars and diagram toolbars in the main window of MagicDraw.
• Right-click the toolbars area and then select or clear the check boxes of the toolbars you want
to be displayed or hidden.
You may also save your own toolbars configuration and set it as a default one (for more information see "Cus-
tomizing toolbars", on page 72).
Main toolbars
For detailed information about the commands of the main toolbars, see "Main Toolbars", on page 746.
For detailed information about the commands of the diagram toolbars, see “Create Diagram Toolbars” on
page 752.
Customizing toolbars
1. From the toolbars configuration shortcut menu, choose Customize. The Customize Toolbars
dialog opens.
2. Click Add > New Toolbar.
3. Type the name for a new toolbar.
4. Click OK.
1. From the toolbars configuration shortcut menu, choose Customize. The Customize Toolbars
dialog opens.
2. Click Add > Button.
3. Select the desired command.
4. Click OK.
Button Function
Add Adds a new button or a toolbar.
Edit The Edit Icon dialog opens. Click the “...” button to add an icon to the
selected toolbar button.
Remove Removes the selected button from the toolbar section.
Up Moves the selected button up the toolbar list.
Down Moves the selected button down the toolbar list.
Reset to Defaults Resets changes made to the toolbar back to the default settings.
The Model Browser provides a visual representation of the hierarchy of your model elements. The items in this
hierarchy are either:
• Compressed - a plus sign next to an icon indicates that the icon is compressed, which means
that it contains other model elements. This is the default setting when you start your
application. Click the plus sign to expand the icon and view its subordinate items.
• Expanded - a minus sign next to an icon indicates that the icon is fully expanded. Click the
minus sign to collapse the item.
If there is no sign next to an icon, it does not contain other model elements.
The Model Browser is a hierarchical navigation tool that allows you to manage your model data, including
packages, components, classes, all UML diagrams, extension mechanisms, and other data. The Model
Browser may be used as an alternative tool to the menus and toolbars that are in MagicDraw. It is easier to
work with project diagrams and data elements using the Model Browser. The Model Browser performs the
following operations:
• Creation and specification of model elements without viewing them.
• Copying, cutting, and pasting of model elements.
• Opening and deleting of model elements.
• Dragging and dropping of model elements to the Diagram pane and inside the Model Browser.
• Dragging and dropping of data in the Code engineering sets (you may create data in the Data
branch, drag it to the Code Engineering sets, and then the round trip object is created
automatically).
• Hierarchical viewing of all model elements.
• Trace viewing for the selected model element.
• Symbol creation for the selected model element in the current diagram.
• Managing diagrams.
• Managing extension mechanisms such as constraints, stereotypes, and tagged values.
• Java reversing of a class directly from the classpath.
• Adjusting the code engineering sets.
• Code generation for particular sets.
• Filtering of the visible items, by any model type,(e.g. class, package, operation, component,
state and others - for both views and dates), when the Filter from the Model Browser shortcut
menu is selected.
• Sorting of the visible items for the selected model element.
• Sorting of all model elements.
• Displaying search results.
When at least one Project is open, the Model Browser is placed to the left side of the main window. Beginning
with MagicDraw version 7.5, it is possible to move the Model Browser to any place on the the MagicDraw
application. Also, all tabs can be viewed separately and you may set up the Model Browser according to your
needs by hiding the desired tabs.
1. From the Options menu, select Environment. The Environment Options dialog opens.
2. Click on the Browser tab.
3. In the Browser environmet options pane, change the Browser Position property to Right or
Left.
• From the Window menu, choose the tab you want to close/open.
1. From the Options menu, select Environment. The Environment Options dialog opens.
2. Click on the Browser tab.
3. In the Browser environmet options pane, set the Sort Always check box to “true” (default
“true”).
Containment tree
To show full information of operations, attributes, and relationships in the Containment Tree
To show/hide Modules
To improve accessibility the Filter button has been added to the Containment Tree toolbar (Figure 29 on
page 78). Previously the Filter menu was accessible only from the Containment tree shortcut menu (Figure 30
on page 78).
The Items Filter dialog allows you to choose what types of elements to be displayed in the Containment tree
(Figure 31 on page 79).
• In the Containment tab, click the Open in New Tab button . New tab with package name
and tree contents will be opened in the Model Browser.
Data branch
The Data branch represents the model and structure of a project. All model elements are stored in packages.
This helps you distribute data into logical groups. By default, all new model element data (inner structure) are
stored in the Data package. You may create your own packages for storing your model element data.
The Data branch also contains the File View package, UML Standard Profile with stereotypes and data types,
and Relations package (appears only when at least one path is drawn on the diagram pane).
The File View package is where the components are placed during code engineering.
The UML Standard Profile contains a list of stereotypes, data types, and elements from the UML 2
metamodel.
1. In the Containment tree, from the package shortcut menu, choose New Element and select the
desired element from the list.
2. Type the name of the element directly in the Containment tree.
For more information about managing model elements from the Browser, see [UPDATE]“Working with
Elements in the Model Browser” on page 84.
The Code engineering sets branch is a gateway between your source code and model data. Using sets, you
can perform Java, C++, IDL, DDL, EJB, CIL, and C# round-trip code engineering (code generation + reverse
engineering).
1. Right-click the Code Engineering Sets item and select New from the item shortcut menu or
open the Code Engineering Sets dialog box and click the New button. The New Set dialog
box opens.
2. Type the set name and select the programming language from the drop-down list (by default -
Java).
3. Click OK to finish the set creation.
• Select Edit from the set shortcut menu. The Round Trip Set dialog box opens. Add/remove
files or classes from the Code engineering set.
• Select Rename from the set shortcut menu and type the set name.
• Select Properties from the set shortcut menu. The CG Properties Editor for Data dialog box
opens.
• From the Edit menu, select Undo or press the shortcut keys CTRL+Z.
1. Select Generate from the set shortcut menu. The Code Generation Options dialog box
opens.
2. Adjust the code generation options.
3. Click OK. The Messages Window dialog box opens. Information about generated files is
shown.
To check syntax
• Select Check Syntax from the set shortcut menu. If no errors are found, then a message box
opens stating there are no syntax errors in the model.
TIP! All functions listed above can be performed in the Code Engineering Sets
dialog box.
1. In the Options menu, select Environment, then select the Launchers group in the dialog box
that opens.
2. In the Default launchers field, click the “...” button and select the directory where the text editor
is located.
3. Click OK.
Diagrams tree
The Diagrams tree in the Browser represents the external structure of a diagram.
In the Diagrams tree, with the selected diagrams, you can perform the operations listed below.
• Select Open from the item shortcut menu or double-click the item in the diagram.
• Select Specification from the diagram shortcut menu. The corresponding Diagram
Specification dialog box opens. Type the diagram name and click OK.
TIP! In the Diagram Specification dialog box you can add documentation to the
diagram, view the relationships in which the diagram participates, and define
hyperliks, stereotypes, constraints, and tagged values.
• Select Print from the diagram item shortcut menu. If the diagram is empty, it will not be printed.
Inheritance tree
The Inheritance tree represents classifiers, packages, data types, and stereotypes hierarchy within your
project. Inheritance according to the UML Specification is shown using the generalization relationship.
• In the Inheritance Tree tab, click the Show Stereotypes in Browser button .
1. Select Environment command from the Options menu. The Environment Options dialog box
opens.
2. In the Browser tab, set the Show Stereotypes in Browser check box to “true” (default “false”).
• In the Inheritance Tree tab, click the Show only Hierarchies button . If the classifier has
no generalization relationship, it will not be visible on the tree.
1. Select Environment command from the Options menu. The Environment Options dialog box
opens.
2. In the Browser tab, set the Show Only Hierarchies check box to “true/false” (default “false”).
• In the Inheritance Tree tab, click the Invert Tree button . The current view in the
Inheritance tab shows classifiers, more specific classifiers are shown as their children. After
inverting a tree, the classifiers tree view will be change to show the child as a root classifier.
1. SelectChoose Environment command from the Options menu. The Environment Options
dialog box opens.
2. In the Browser tab, set the Invert Tree check box to “true/false” (default “false”).
The Model Extensions Tree contains all Stereotypes that are predefined and created manually in the project.
In this tree you can create, review, copy/paste, and delete extension mechanisms.
It is mainly used for the work of a team using Teamwork server for locking for edit/unlocking extension
mechanisms.
• From the Model Extensions Tree shortcut menu, select the Group by Profiles check box.
The Search Results tree shows results of a search, which may be performed through the [UPDATE]Find dialog
box.
For information about how to perform a search, see “Searching” on page 133.
To open the Find dialog box from the Search Results Tree
• Click the Clear Results button or select the Clear Results button from the Search
Results tab.
To copy/cut and paste the selected model element in the Model Browser
To copy/cut and paste the selected model element among different projects
1. Make sure that the place you wish to drag the item is visible.
2. Drag the selected item to the destination and drop it.
TIP! You may draw a symbol by dragging and dropping an item to the Diagram
pane.
For more information about how to filter items, see “To filter types of elements to be displayed” on page 77.
Multiple selection
A group of model elements can be selected within the Browser tree and you can edit all the selected model
elements at the same time.
• Hold down the SHIFT key and click the last element you wish to include in the multiple
selection.
• For more precise selection, hold down the CTRL key and click (while holding the key down)
with the mouse on the elements you wish to select.
• Click the mouse pointer in the area you want to select all elements and press the shortcut keys
CTRL+A.
NOTE All selected model elements can be moved or deleted as a single selected
element. While moving the group of elements, a border appears denoting the
area you have selected. Be careful when deleting multiple elements because
no confirmation dialog box will appear.
Zoom panel
The Zoom panel enables you to preview any selected diagram. To select a diagram go to Model Browser >
Containment/Diagram tree. You can also use this panel for zooming in or out the active diagram.
NOTE By default the zoom slider is not visible. To display the zoom slider in the
Zoom panel, go to Options > Environment. In the Environment Options
window select the Browser tab. Then select the Show diagram zoom
slider check box.
• In the Zoom panel, drag the blue square to the desired part of the diagram. The desired
diagram part will be displayed in the diagram window.
• In the Zoom panel, on the blue squire, click the Fit in Window button .
Documentation panel
The Documentation panel shows the information associated with the selected model element in the Model
Browser or on a diagram pane.
NOTE If there is no documentation for the selected element, the text area is empty.
• In the Documentation panel, click on the text area and type the text.
Properties panel
The Properties panel in the Model Browser has been available since MagicDraw version 8.0 was released. It
enables you to quickly access the basic information about the selected element or diagram.
All Property panel tabs, except the one for traceability properties, has two modes: Standard and Expert.
Choose the mode that best suits your needs.
Change the appropriate fields according to your preferences. If the check box is selected, the description False
changes to True.
Synchronize Synchronizes the diagram name with the diagram context name. For example, an
diagram name with activity diagram is automaticaly named after the name of the activity, which owns
it’s context name the diagram.
Help
Help font Choose the font that will be used in the Help window.
Help server port The default Help server port is 1111. Change it, if some other server is using this
port.
Specifications
Strip Multiline Text If selected, shows striped multiline text.
Specification Select one of the following options:
opening mode • In the same window
• In a new window
Recent Specify the list size for specifications. Possible range 1 to 20.
specifications list
size
Specifications Specify the history size for open element specifications. Possible range 1 to 20.
history size
Active Validation
Enable Active Enables the active validation on run time.
Validation
Auto completion If selected, the list of available elements to choose , element types, or stereo-
includes types includes metaclasses (in MagicDraw metaclasses are placed in the UML
metaclasses Standard Profile. Default value is false. [update]
Auto completion When selected, the list of available elements to choose, element types, or stereo-
includes elements types includes elements, which are placed in profiles and modules. Default value
from profiles and is true.
modules
NOTE: This option toggles all profiles except UML Standard Profile. [update]
Zoom step size Type in the step value of zooming your diagram views. Step value should be in the
range from 0.1 to 1.0.
Inform about the If any elements exist in the Relation Map, when changing a context element,
removal of existing show information message.
elements, when
changing a context
element
Show question Show the question dialog, which asks to preserve or not manually suppressed/
dialog when expanded branches and hidden elements when restoring layout.
restoring layouttrue
Preserve manually When restoring layout, preserve manually suppressed/expanded branches and
suppressed / hidden elements.
expanded branches
and hidden
elements true
Show auto-checking If selected, shows the confirmation dialog each time before auto-check-
confirmation dialog ing.
box
Column Function
Name The name of the plugin.
Provider The name of the company which provides the plugin.
Version Version number of the selected plugin.
Loaded Indicates if the plugin is correctly loaded.
Enabled Shows the status of the plugin. If true, the selected plugin is activated in
MagicDraw.
Column Function
Name Any name for a path variable.
Value Path to the folder.
Description Description of the path variable.
Spelling Tab
The description of the Spelling tab, you may find in Section “Setting the spell checking options” on page 353.
Smart Manipulator Toggles visibility of buttons in the smart manipulators menu depend-
Expert Mode ing on which mode they were set to appear.
Column Function
Name Name of the command, which will appear in the external toolbar.
Command line The command line is executed upon selection. The command line can
include the project file name variable, $project_file$, if it depends on the
MagicDraw project file name.
Save before run Actions, which can be made with a project (save/export) before starting
external tools that use a MagicDraw project file. Possible choices:
• Save project.
• Do not save.
• Eclipse UML2 (v1.x) XMI.
• Eclipse UML2 (v2.x) XMI.
• Eclipse UML2 (v3.x) XMI.
Figure 55 -- Environment Options dialog. Eclipse UML2 (v1.x) XMI options tab
Import/ Export
Preserve IDs on • Do not preserve
• Export
• Import
• Export/Import
Show element If selected, the warnings showing the elements’ (metaclasses and
mapping warning dat types) mappings between MagicDraw and Eclipse UML2 will
appear when exporting or importing a model.
Display warnings in If selected, warnings related to project export will be listed in the
Message Window Message Window.
Import
Use stereotype In the Eclipse UML2 models, the stereotypes have both names and
keyword as name keywords. If selected, the keywords will be used as names for the
stereotypes, when importing a model from the Eclipse UML2.
Figure 56 -- Environment Options dialog. Eclipse UML2 (v2.x/v3.x) XMI options tab
Change not eCore Changes the stereotype’s property type to String on export, if the
datatype to String type is not eCore datatype.
Import/ Export
Preserve IDs on • Do not preserve
• Export
• Import
• Export/Import
Show element If selected, the warnings showing the elements’ (metaclasses and
mapping warning dat types) mappings between MagicDraw and Eclipse UML2 will
appear when exporting or importing a model.
Display warnings in If selected, warnings related to project export will be listed in the
Message Window Message Window.
Import
Use stereotype In the Eclipse UML2 models, the stereotypes have both names and
keyword as name keywords. If selected, the keywords will be used as names for the
stereotypes, when importing a model from the Eclipse UML2.
For detailed information about Macro Engine, see “MagicDraw MacroEngine UserGuide.pdf”.
You can configure report engine properties, such as template process size, template pool size, various velosity
and debug report template properties.
Column Function
Name A report engine property name.
Column Function
Value A report engine property value.
Template mappings associate a template type with the template engine. The report engine allows you to deter-
mine how to handle different types of files, such as JS or DOCBOOK file. All you have to do is specify a file-
name extension and select an engine name. The report engine also allows developers to add a user custom
engine into this option.
Column Function
File extension A filename extension of the template mapping.
IMPORTANT! The filename extension is case-insensitive.
Template type A template type of the template mapping.
IMPORTANT! The template type is case-sensitive.
Button Function
Edit Opens the Template Mappings dialog to edit the selected template
mapping.
Add Opens the Template Mappings dialog to create a new template map-
ping.
Remove Removes the selected template mapping from the list.
You can either make available or make unavailable the MRZIP template file automatic deployment option by
selecting or clearing the Monitor template folder check box.
For detailed information about Report Wizard options and configurations, see section “10. Report Wizard Envi-
ronment Options” in “MagicDraw ReportWizard UserGuide.pdf”.
• From the Options menu, choose Look and Feel and then choose the style you wish to apply.
The chosen style will not look exactly like the applications in those operating systems because every style of
graphical interface is implemented within a Swing library, but it will look quite similar.
Depending on the operating system you use, some choices might be unavailable for you. For example,
Windows9x/NT users may not switch to the Mac interface style.
Note that themes listed in Look and Feel Themes are valid only for the Metal style. You can choose any of the
following themes:
After choosing the Custom theme, the Properties dialog for setting your own options will be openend.
Beginning with MagicDraw version 7.5, the modern JIDE library is implemented (called Single Window interface
style). Using the JIDE interface style, it is possible to work with the Browser window in a more flexible way, use
documentation, zoom, and dock message windows above the main window. You can arrange the Browser
window in combinations or even hide the desired Browser windows.
Also, you may use the different Multiple Windows style. It allows you to manage all windows independently, as
if they belong to different applications. For instance, you can overlap the windows across each other, resize
them independently, and so on. There is no main window containing all the other windows.
• From the Options menu, select Interface Style, and then select one of the desired interface
styles: Single Window or Multiple Windows.
• From the Model Browser shortcut menu, select Floating and move the window to any desired
position.
For more information about the Keyboard tab, see “Keyboard Options Tab” on page 103.
The term “project” is used to describe the problem that must be solved, including all the possible solutions for
how the problem can be resolved and finally developed. All work in MagicDrawTM UML is organized into proj-
ects. Project is the top entity where all model-related data (the set of diagrams) is held. Project data is orga-
nized by object orientation, which makes its management intuitive and in accordance with the problem that is
being solved.
Creating a Project
View Online Demo MagicDraw Basics
You can also create your own packages for holding the model elements. By default, packages cannot be
deleted or renamed in a project (except for the File View package).
To start a new project, you must create a new workspace for it.
All open projects are held in separate workspaces. Different active projects may exchange data. Entities from
one project can be copied or moved to another.
• In the Projects drop-down combo box, click the additional project you wish to open.
• Select Projects from the File menu, click the name of the project you wish to open.
Select Close All Projects from the File menu. The Question message box appears.
• Use the Cut, Copy, and Paste commands in the Edit menu, or the appropriate shortcut keys:
Ctrl+X, Ctrl+C, Ctrl+V or the toolbar buttons.
• Drag-and-drop the created model element from the Browser tree to the Diagram pane.
NOTE Data may only be exchanged between projects that are currently open
within MagicDraw. You may not copy/paste elements between
instances of different tools that are currently running or to other appli-
cations.
Figure 61 -- New Project dialog box - New Project from Existing Source
5. The Round Trip Set dialog box opens. Add the source files to enable code engineering to
reverse them into a newly created project.
C++, CIL, Java, C#, DDL, EJB, WSDL, XML Schema, Metamodeling, RUP extensions, CORBA IDL, and UML-
WebExtension templates are available in the New Project dialog box.
4. Select the template from the templates tree and click OK.
The newly created project from a template will contain specific model elements and stereotypes.
Click the “...” button to select the location to store a newly created project in your computer.
The newly created project will automatically load the UseCase Description Profile. Also Actor,
High-Level Use Case and System-Level Use Case packages will be created in the Data tree.
Additional properties will be displayed in the newly created use cases Specification dialog box.
Saving a Project
IMPORTANT! The native MagicDraw format is *.mdzip and *.mdxml. Saving in *.xml,
*.xml.zip format will also be allowed.
To save changes for later sessions, revised projects must be saved. While saving, you can edit the name of the
project and the file format.
1. From the File menu, select the Save Project or Save Project As command. Alternatively, you
can click the Save button on the main toolbar or press the shortcut keys CTRL+S. The Save
dialog box opens.
2. Select the destination directory (where you wish to save the project) and type the chosen file
name.
3. Select the format for saving a project: Packed MagicDraw File Format (*.mdzip) (default),
MagicDraw File Format (*.mdxml), or XML (*.xml).
Autosave
After you stop working with MagicDraw, an idle time passes and the current project is saved to a special file
called the AutoRecovery file.
If the application is terminated normally, the AutoRecovery file is removed. If the application crashes, the
AutoRecovery file is left. On startup, MagicDraw checks for an AutoRecovery file. If it exists, MagicDraw sug-
gests loading the project from this file.
To save an AutoRecovery file of the open project(s) when a system is not in use.
Opening a Project
IMPORTANT! The native MagicDraw format is *.mdxml, or *.mdzip.
1. From the File menu, select Open Project or click the Open Project button on the main toolbar.
2. In the Open dialog box, select the project you wish to open and click Open.
TIP: Drag-and-drop the project you wish to open directly from the open window to MagicDraw and the
project is started immediately.
Double-click a project file with the *.mdxml or *.mdzip extension, it will open a new MagicDraw
application window.
NOTES: If the Open Last Project on Startup check box in the Environment
Options dialog box is selected, the last project you worked with will be
opened right after MagicDraw starts.
XMI v2.1 is the native MagicDraw file format for model storage. But this
format does not specify how to store diagrams. So, if you use
MagicDraw to open an XMI file exported from another tool, only the
model will be loaded (not diagrams or views). MagicDraw can not
"import" XMI, it can only open it.
For model interchange you should use the RConverter. For more about
RConverter, See “Reusing model parts between models” on page 146.
You may load more than one project within the same MagicDraw session. A separate workspace will be cre-
ated for each project that is opened.
Importing a Project
To import a previously created project to an open project
Exporting a Project
You can export part of a project as a module and share it with other users/projects.
For more information about data partitioning, see “Project Partitioning” on page 140.
For more information about exporting project as MOF, see “Exporting a Project as MOF” on page 153.
For more information about Ecore support, see “Ecore Support” on page 155.
You can save (export) the created project as a template and use the same project for creating other new proj-
ects.
1. Open a project you want to export as a template. From the File menu, select Export and then
Template.
2. The Export Template dialog box opens.
3. Type the name and a description of the template.
4. Click OK.
The export of a MagicDraw model to an Eclipse based UML2 (v1.x) compatible XMI file enables the inter-
change of the UML v2 models for the further manipulations and transformations with the most popular MDA
tools, i.e., AndroMDA, OpenArchitectureWare, etc.
1. Open a project you want to export as an Eclipse UML2 (v1.x) XMI file.
2. On the File menu, click Export To > Eclipse UML2 (v1.x) XMI file.
3. Select a directory for the exported project files location.
4. Click OK. The project and profiles will be saved in *.uml2 extension.
The export of a MagicDraw model to an Eclipse based UML2 (v2.x) compatible XMI file enables the inter-
change of UML v2 models for the further manipulations and transformations with the most popular MDA tools,
i.e., AndroMDA, OpenArchitectureWare, etc.
1. Open a project you want to export as an Eclipse UML2 (v2.x) XMI file.
2. On the File menu, click Export To > Eclipse UML2 (v2.x) XMI file.
3. Select a directory for the exported project files location.
4. Click OK. The project and profiles will be saved with the *.uml extension.
Exporting to BPEL
The Business Process Execution Language (BPEL) is an XML schema language for specifying the automated
business processes bidirectionally between multiple enterprises using Web Service technology. The BPEL is
suitable for all technical staff to manipulate data of process and execute the business process.
The MagicDraw UML BPEL Export exports the Business Process diagram to the valuable BPEL, based on
BPEL specification v.1.1.
The Business Process Diagram (BPD) is a helpful tool for business analysts/users to generate a model for
business processes. Different from other UML diagrams such as an Activity Diagram or a Use Case Diagram,
the BP diagram allows technical staff to easily understand and implement business diagrams. To optimize the
valuation of BPD, converting BPD to the execution form (BPEL), which can use the benefit of Web Service, is
quite a challenge.
If the BPEL export can not be performed, a Message Window appears with a detailed description of problems.
After exporting the BPMN notations from the BPD diagram to the BPEL files, some additional process data and
Web Services information require manipulation in order to deploy the BPEL files on the vendor-specific servers.
It is because BPEL version 1.1 is not a standard yet. There are still many open issues and questions about
implementation. Each vendor has made their own decision on specific implementation on the open issues and
those questions. BEA is the chosen vendor of this version of MagicDraw BPEL Export. This MagicDraw BPEL
Export version will focus on the BEA Web Logic Workshop (WLW) and the BEA Web Logic Integration (WLI);
therefore the limitations and open issues from BEA are concerned.
In order to export a BP Diagram based on BPMN specification version 1.0 to a BPEL file based on BPEL4WS
Version 1.1 specification with a flavor of BEA, the validation rules for mapping between two standards are
required and can be found below.
Ignored Notations
Note, Note HTML, Text Box, Text Box HTML, Anchor to Note, Constraint, Separator, RectangularShape and
Group will be ignored and will not be mapped.
UnMappable Notations
Start Event None, Intermediate Event None, Intermediate Event Link, Intermediate Event Cancel, Intermediate
Event Multiple, End Event None, End Event Cancel, End Event Multiple, Compensation Task, Gateway Com-
plex, Manual Task, Reference Task, Expanded Sub-Process Compensation, Collapsed Sub-Process Compen-
sation, Collapsed Ad-Hoc Sub-Process, Expanded Ad-Hoc Sub-Process, Association, Directional Association,
Compensation Association, Message Flow, Data Object, Horizontal Pool, and Vertical Pool cannot be mapped.
Event Notations
Start Event
• A process level must have one and only one Start Event notation.
• Start Event notation must be a source of Sequence Flow. This means the Start Event notation
must have an outgoing Sequence Flow.
End Event
• At lease one End Event notation must be present in the diagram.
• Multiple End Events are allowed in the diagram.
• Every branch of the process must have the End Event notation. However, in Expanded Sub-
Process notation, the End Event None notation can be used as the ending point.
Intermediate Event
• Intermediate Event notation must be between Start Event and End Event notations.
• Only Message, Timer, Error, and Rule Intermediate Event can be used in normal flow.
• Intermediate Message, Timer, Error, and Rule must have only one incoming Flow.
• Intermediate Event must have only one outgoing Sequence Flow.
• Intermediate Event Link will not be mapped because the methodology of mapping needs to
track the flow to the element. Therefore, if the Intermediate Event Link does not have a flow to
it, it will not be recognized.
Gateway
• If a Gateway has only one incoming and one outgoing Sequence Flow, the gateway is not
needed in the BP Diagram.
• A Gateway cannot have both multiple incoming Sequence Flows and multiple outgoing
Sequence Flows. If it has multiple incoming Sequence Flows, it must have only one outgoing
Sequence Flow. If it has multiple outgoing Sequence Flows, it must have only one incoming
Sequence Flow.
outgoing Condition Sequence Flow with condition expression. The normal Sequence Flow
cannot be an outgoing Flow from a Data-based XOR, which acts as a convergence.
• If there are more than one incoming Sequence Flows to a Data-based XOR Gateway and only
one outgoing Sequence Flow, the Data-based XOR Gateway will act as a divergence. The only
outgoing Sequence Flow from a Data-based XOR Gateway must be a normal Sequence Flow
and not a Condition Sequence Flow or Default Sequence Flow.
EventBased XOR
• For an EventBased XOR Gateway, the outgoing Sequence Flow can only target a Task, with
the TaskType set to Receive or an Intermediate Event with a Trigger attribute set to Message,
Timer, or Rule.
• If there is only one incoming Sequence Flow to an Event-based XOR Gateway and more than
one outgoing Sequence Flow, the Event-based XOR Gateway will act as a convergence. The
only outgoing Sequence Flows from an Event-based XOR Gateway must be a normal
Sequence Flows and not a Condition Sequence Flow or Default Sequence Flow.
• If there are more than one incoming Sequence Flows to an Event-based XOR Gateway and
only one outgoing Sequence Flow, the Event-based XOR Gateway will act as a divergence.
The only outgoing Sequence Flow from an Event-based XOR Gateway must be a normal
Sequence Flow and not a Condition Sequence Flow or Default Sequence Flow.
• If the outgoing Sequence Flow targets a Receive Task, then an Intermediate Event with a
Trigger Message cannot be a target of the other outgoing Sequence Flow of this Event-based
XOR Gateway.
Inclusive OR
• If there is only one incoming Sequence Flow to an Inclusive OR Gateway and more than one
outgoing Sequence Flow, the Inclusive OR Gateway will act as a convergence. An Inclusive
OR Gateway must have one outgoing Default Sequence Flow and at least one outgoing
Conditional Sequence Flow with condition expression. The normal Sequence Flow cannot be
an outgoing Flow from an Inclusive OR, which acts as a convergence.
• If there are more than one incoming Sequence Flows to an Inclusive OR Gateway and only one
outgoing Sequence Flow, the Inclusive OR Gateway will act as a divergence. The only outgoing
Sequence Flow from an Inclusive OR Gateway must be a normal Sequence Flow and not a
Condition Sequence Flow or Default Sequence Flow.
Parallel AND
• If there is only one incoming Sequence Flow to a Parallel AND Gateway and more than one
outgoing Sequence Flow, the Parallel AND Gateway will act as a convergence (Parallel AND
Fork). The only outgoing Sequence Flows from a Parallel AND Gateway must be a normal
Sequence Flows and not a Condition Sequence Flow or Default Sequence Flow.
• If there are more than one incoming Sequence Flows to a Parallel AND Gateway and only one
outgoing Sequence Flow, the Parallel AND Gateway will act as a divergence (Parallel AND
Join). The only outgoing Sequence Flow from a Parallel AND Gateway must be a normal
Sequence Flow and not a Condition Sequence Flow or Default Sequence Flow.
Sequence Flow
• All notations, except Start Event must have an incoming Sequence Flow
• All notations, except End Event, must have an outgoing Sequence Flow.
• Isolate notation is prohibited in the diagram. This means that any notations without any
incoming and outgoing flow are not allowed in the diagram.
• All notations, except Gateway, must not have more than one incoming Sequence Flow.
• Default Sequence Flow and Condition Sequence Flow are only allowed to be used with the
Gateway notation.
Project Options
The Project Options dialog box is used for defining properties for the model elements (shapes and paths) and
diagrams, for creating your own project style, for importing or exporting a created project style, for applying the
default element properties, and for defining code engineering options.
From the Options main menu, select Project. The Project Options dialog box opens.
The Project Options dialog box has several collections of customizable options:
General Project • In the Modules Path text box, enter the path where by
Options default modules will be stored. Define the default packages
where the extension elements will be stored. Also, if desired,
you can select the package every time when creating a new
extension element, the dialog box asking about the storage
place will open. In the Modules Path text box, enter the path
where, by default, modules will be stored.
• If the Auto synchronize Parameters and Arguments
check box is selected, arguments will be created on
parameters creation and they will be synchronized. After
Auto synchronize Parameters and Arguments check box
is cleared parameters and arguments are not synchronized
anymore. By default the Auto synchronize Parameters and
Arguments check box is selected. For more information
about parameters and arguments synchronization see
“Parameters synchronization with Arguments” on page 687.
• The Qualified name display style option:
- Absolute.
- Model Library relative (Model Library is a
package with modelLibrary stereotype).
- Model relative means that element's qualified
name shown on its symbol (not property)
should be cropped from the nearest model
found in hierarchy without its name.
- Model or model library relative option
combines two options "Model relative" and
"Model Library relative" in one option.
Diagram Info Customize how and what information will be displayed in the
Diagram Info table.
Symbols Properties Expands the tree hierarchy of all the styles defined within the
Styles project. You can create as many of these styles as you like.
NOTE To apply the changed project options to an open project,
click the Apply button.
For more information about the style engine, see “Style Engine”
on page 240.
Default model You may define model element properties in the Project
properties Options dialog box, in the Default model properties branch.
Select the exact element in the tree and change the property
value in the right side pane. To reset the element properties to
the default value, click the Reset to Defaults button. To reset
the property values for all elements select the Default model
properties branch and click the Reset to Defaults button.
For more information about setting the default element property
values, see “Default Property Values” on page 235.
Code Engineering Define general code engineering options, as well as options
specific to languages. For more information, see Code Engi-
neering user’s guide.
To find elements to change, browse the options tree in the Project Options dialog box. The items in this hier-
archy are either:
• Compressed - a plus sign next to an icon indicates that the icon is compressed, and contains
other model elements. This is the default setting when you start your application. Click the plus
sign to expand the icon and view its subordinate items.
• Expanded - a minus sign next to an icon indicates that the icon is fully expanded. Click the
minus sign to collapse the item.
If there is no sign next to an icon, it does not contain other model elements.
Searching
The MagicDraw search mechanism enables searching within model elements data, symbols, and extensions.
You may also search for usages and dependant elements of the selected elements. This functionality is
described in the “Tooltip text” on page 190.
Filters in the autocompletion dialog allow the filtering of rarely used items, such as “metaclasses” and “elements
from modules”. This allows comfortable and clear usage of the autocompletion dialog for modeling, without
active usage of the elements from profiles and it increases modeling speed.
At the bottom of the drop-down list box, you will find buttons to perform filtering:
• The Auto completion includes metaclasses button. When pressed, the list of available
elements, element types, or stereotypes includes metaclasses (in MagicDraw metaclasses are
placed in the UML Standard Profile) appears.
• The Auto completion includes elements from profiles and modules button. When
pressed, the list of available elements, element types or stereotypes includes elements, which
are placed in modules appears. (Note! This option toggles all profiles except the UML Standard
Profile.)
• The Auto completion uses camel case button. When pressed, you may search for elements
via the capital letter patterns. For example, instead of typing ArrayIndexOutOfBoundsException
you may type AIOOBE.
1. From the Edit menu, select Find, or press corresponding shortcut key Ctrl+F, or click the Find
button on the main toolbar. The Find dialog box opens.
2. Type the "*" symbol in the Name text box.
3. Click the "..." button near the Type text box to open the Select Element/Symbol Type drop-
down combo box. Select the types of elements and click OK. The Model elements in this box
are listed according to the metamodel.
4. Click the Find button to start search. The search results will appear in the Search Tree in the
Browser.
TIP! To generalize the beginning or ending of the name, add the "?" symbol
to the front or to the end of the string.
1. Choose Find from the Edit menu or press the corresponding shortcut key Ctrl+F or click the
Search tab in the Browser.
2. In the Name text box, type the name of the element. If you want to find all elements of the
selected type, enter the "*" symbol in the Name text box.
3. Click the "..." button near the Type text box to open the Select Model Element/Symbol Type
drop-down combo box. Select the types of elements and click OK. The Model elements in this
box are listed according to the metamodel.
4. To start a search, click the Find button. The search results will appear in the Search Results
tree in the Browser.
TIP! To generalize the beginning or ending of the name, add the "?" symbol
to the front or to the end of the string.
NOTE If the Clear Previous Results check box is cleared, new results are
appended to the previous search results in the tree.
TIP! Select Search Data Unused in Diagrams check box to find only ele-
ments without shapes.
Search in the active diagram using the Find or Quick find dialog is a time saving feature.
You can search for the symbols of elements, which are drawn in the open diagram:
1. Select the Find in Diagram command from the diagram shortcut menu. The Find dialog box
opens. In the Find dialog box, the Limit results to active diagram check box is selected.
2. Type the element name for the symbol you are searching for. Click the Find button.
3. In the Search Results tree, double click on the element and the symbol of this element is
selected on the diagram pane.
-or-
• Press the Shift+F key. The Find dialog box opens.
• Press the Ctrl+Shift+F key to open the Quick find dialog.
Search Elements
Element Function
Name Type the name of the item you wish to find.
NOTE: You may define wildcards <*> and <?> for the
search. For example, if you define the following input
string <a*b>, the system looks for items with <a> at
the beginning and <b> at the end of the string. If you
define the string as <?agicDraw>, all strings
containing <agicDraw> will be found.
Type Select an element type from the proposed items, or leave the
default value of <any>.
Scope Specify a package where the content search will be performed.
Limit results to The search scope is limited to the symbols of active diagrams. The
active diagram Check box is disabled if all diagrams are closed or if the active dia-
gram is empty.
The default value is false.
If the Find dialog box is opened from the diagram shortcut menu,
the Limit results to active diagrams check box is selected.
NOTE: The Limit results to active diagrams check box does not
exist in the Find dialog box when it is opened from the model com-
paring dialog.
Value Select or input a value of the Tagged Value or Constraint Value.
NOTE: Only available for Search Element by Tagged Value and
Constraint Value tab.
Load elements If the model has diagrams or modules that are not loaded, select
(not loaded) this check box to load all elements to be included in the search.
and
autoloadable NOTE: Elements will not be included in the search if the module
modules load mode is set to Manual load.
Case Sensitive Search for items that have capitalization exactly as defined in the
string entered in the Item to Find box.
When the check box is cleared, MagicDraw does not distinguish
between uppercase and lowercase characters of the item name
entered in the Name box while searching.
Match Whole Search for items with names that exactly match the string entered in
Words Only the Item to Find box.
When the check box is cleared, MagicDraw searches for items with
names matching the first part of the string entered in the Name field.
Search Data Only searches elements that do not contain symbols in any dia-
Unused in gram.
Diagrams
Java Regular In the “Java Regular Expressions” on page 137, you can find sev-
Expression eral expressions that will help you to make a search in MagicDraw.
Clear Previous Removes all previous search results from the Browser tree.
Results
Find Searches for items and displays the results in the found items list
field. If MagicDraw does not find any items, a message is dis-
played.
Close Exits the dialog box.
Help Displays MagicDraw Help.
Metacharacters
There are several characters supported, which are used to form search patterns ([{\^$|)?*+.
Character Sets
[abc] Any character of a, b, or c.
[^abc] Any character except a, b, or c (negation).
[a-z] All characters from a to z (range).
[a-z[A-Z]] All characters from a to z and A to Z (union).
[a-z&&[r-z]] Characters from r to z (intersection).
[a-z&&[^r-z]] Characters from a to q (subtraction).
. Any character.
\d Any digit character.
\D Any non digit character.
\s White space character (\t\n\x0B\f\r).
\S Any non white character.
\w Word character (a-z, A-Z,_,0-9).
\W Any non word character.
Example:
Regular expression: [ABC][^\s]\d
Matched text: any sequence starting with an "A", "B", or "C" symbol, followed by any non white
space character and any digit.
Grouping
Example:
Regular Expression: ABC|(\dABC)
Matched text: any text containing ABC symbol set or ABC symbol set beginning with any digit
symbol.
Quantifiers
Example:
Regular expression: Cla(s{2})
Matched text:any sequence starting with “Cla” symbols, followed by “s” symbol two times. It will
match any text containing the string “Class”.
Boundary Matchers
Boundary matchers help to match strings more precisely. Boundary matchers help by matching a particular
word, beginning or end of line, or beginning or end of the input.
^ Beginning of the line.
$ The end of the line.
\b A word boundary.
\B A non word boundary.
\A Beginning of the input.
\z End of the input.
Example:
Regular expression: \bCla(s{2})\b
Matched text:any sequence starting with “Cla” symbols, followed by “s” symbol two times. It will
match any text containing string “Class” as whole word (“Classs” won't be matched).
Example:
Regular expression: (?m)^\bCla(s{2})\b
Matched text: any sequence from a new line, starting with “Cla” symbols, followed by “s” symbol
two times.
References
http://java.sun.com/docs/books/tutorial/extra/regex/index.html
Replacing
The Find and Replace functionality allows replacing one specified model value with another value.
To replace a value:
1. From the Edit menu, select Find and Replace. The Find and Replace dialog box opens.
5. Click the Replace button to start the replacement. On each property replacement the question
appears. You may choose to replace value, replace all values or not replace.
NOTE You will see the error when changing value to not valid:
• For example, if value type is boolean, you may replace values from true to
false or from false to true, but if you will try to replace the value true or false
to other, for example, to Motor, an error message will be displayed.
• You will not be allowed to change the Integer value to String when it is a part
of the value. For example, if you have the 120 value and trying to replace 20
with AB, an error message will be displayed.
Project Partitioning
View Online Demo Shared Packages
Partitioning has a package level granularity. Smaller elements cannot be split into separate modules. In princi-
ple each package in a containment tree could be partitioned into a separate module, however this is excessive.
The decision on how to split a model into parts should be made carefully. You should isolate model parts, which
form some cohesive, logically complete piece of structure (subsystem, code library, profile) and have light inter-
dependencies.
When there are many one-way dependencies to some model part (parts A, B, C depend on part D, but part D
does not depend on any of the parts A, B, C), this part is a good candidate for placement into module.
When one big project is used to store all the modeling information of the project models (use case models, high
level architectural models of the project, detailed implementation level class, sequence, state, etc.), it may be
useful to partition the models according to the modeling domains (use cases in one module, architectural mod-
els in another, implementation level models in yet another). This allows unloading unnecessary modules while
working on one part or another (saving computer and improving performance), but still retain the relationships
between domains and load modules, on demand.
NOTE Avoid partitioning a model into parts, which have circular dependen-
cies.
(A B or A->B->C->A situations)!
Usually programmers are very adept at splitting large code bases into libraries. The very same criteria should
be applied to splitting the large models into modules.
Modules are often used for profile storing, however a module is not a profile and it is important not to mix the
two. Any model part can be stored in the module.
Using the Export Module dialog box, you can partition the model and save the content of a selected package
as a separate module. Once exported, the package and its containing elements are read-only and the module
name is displayed in brackets next to the package name in the Browser tree.
1. From the File main menu, select Export, and then select Module. The Export Profile/Module
dialog box opens.
2. In the All Data list, select the package you want to save as a separate module. Click Add. The
package is added to the Selected Objects list.
3. If desired, type a description of the module in the Profile Module Description window. This
description is displayed in the documentation of the package.
4. Click OK.
1. In the Browser tree, select the package you want to save as a separate module (you can also
select multiple packages).
2. From the package shortcut menu, select Modules, and then select Export Module. The
Export Module dialog box opens.
3. In the All Data list, select the package you want to save as a separate module. Click Add. The
package is added to the Selected Objects list.
4. If desired, type the description of the module in the Profile Module Description window. This
description is displayed in the documentation of the package.
5. Click OK.
MagicDraw will check for dependencies from the exported part of the model to the part of the model not. You
will have to resolve them. The dependency resolution process is the same as for dependency resolution
between shared and parts of the module not shared.
When dependencies are resolved, MagicDraw will ask for the file and export the module.
Alternatively, if you have several small, related projects, you can join them together into a larger, partitioned
project to work with all the information from one place. This is achieved by using the Use Module command
that was previously mentioned.
NOTE: Only packages can be exported as modules. To export the created dia-
gram, you must move it to a package containing elements to export.
Not all module contents are visible in the project being used. The Module has a shared part and private part.
Only contents of the shared part are visible in the project being used. The concept is similar to the public/private
parts of modules in programming languages (e.g. Pascal).
Only the package selected is shared and everything else is not shared.
When the module with shared package(s) is used in the project, the shared part(s) is mounted into the module
of the project. Each shared package can have a different mount point. Modules of profiles are typically mounted
directly under the top level Data element of the package being used, however this can be changed.
Example:
Shared package “util” from the module can be mounted on the “com::company” path in the main
project - to form the “com::company::util” path. The Preferred Path of the Shared Package (can
be tuned in the Shared Packages dialog box) of the module, serves as a hint for MagicDraw on
where to mount the package.
Modules form a recursive data structure - the main project uses one or several modules; these modules in turn
can use other modules; those other modules can use yet another set of modules and so on. All model pieces
from these modules are gathered and connected into the integral model, which is shown in the model Browser
when the main project is opened.
Preferred Path Carries the information about the path where the shared pack-
age should be placed in the project using it.
Mounted On Holds the packages of the project on which the corresponding
module share is mounted. Click the “...” button to change
package or create a new one.
Use Module Enabled, when the module is selected as read-write. Allows
the use of the module in the selected module.
Remove Removes module from the project.
Import Imports module to the project.
Reload Reloads module in the project.
Unload Unloads module from the project.
Open as Project Opens the selected project as a module.
Options The Project Options dialog box opens.
All the information about analyzing and checking package dependencies you may find in the Section “Analyzing
Package Dependencies” (see on page -412)
Figure 71 -- The Use Module Wizard, Select Module step, the From file system radio button
Figure 72 -- The Use Module Wizard, Select Module step, the From predefined location radio button
For more information about the options in this step, see “Managing modules (the Modules dialog box)” on
page 143.
When models are properly partitioned, model parts can be reused in other projects.
For example, a common situation in Java software projects is this layout of the packages (in project A):
Common and util packages are good candidates for refactoring into modules. Then in project B these modules
can be reused.
The usage mode can be specified in the Use Module Wizard, Step 2. By default, the module is used in the proj-
ect in read-only mode.
1. From the Options main menu, select Module. The Module Options dialog box opens.
2. Select module in the tree and change the Module Accessibility option from read-only to read-
write or vice versa. Click OK.
You can change content of a module and make its inner elements editable by selecting Open Module As Proj-
ect (from the module shortcut menu, Modules submenu). The module opens as a separate project.
The decision to use a module as read-only or read-write depends on the maturity of the module and the organi-
zation ownership/responsibility rules for the projects, developing modules.
If the library in the module is mature (changes to it are not expected/likely/possible) it should be used in read-
only mode.
If the module is owned by a team, working on one project, and this team is responsible for this module and the
module is reused in another project, the module should be used in the other project as read-only. This prevents
inadvertent changes to the library.
In the case where a module is actively developed and evolves together with the projects that are using it, a
module should be used read-write.
In this case, if there are multiple projects using the module, you should be careful and remember, that your
changes to the module will be reflected in other projects, therefore care should be exercised. Usage of team-
work server might be advisable in this case. And, of course, there can be mixed usage situations - when a mod-
ule is used read-only in some projects and read-write in others.
In the Browser tree, from the exported module shortcut menu, select Modules, and then select
Reload Module.
NOTE: If you open your module as a project, be sure to save any changes you
have made (by using the Save command). All modifications appear
after reloading the module in the other open project, which includes
your module as a component.
From the package shortcut menu in the Browser, select Modules and then Import Module.
All the model elements from the module will be copied into the main project, and the module will
be unlinked from the project.
This feature allows some memory to be saved and improved performance when working with very large proj-
ects. “Large” for MagicDraw is several thousands of classes and other complex elements. If counting all the
small elements, such as properties, methods, method parameters, ~50K of elements is considered a large proj-
ect. A good example of a large module is a module having a model of Java rt.jar reversed into it. Also diagrams
are large elements - 20 or more complex diagrams should be considered large.
When working with a large project partitioned into several modules, at any moment a module can be unloaded.
When editing a project, if you see that the module will not be used for some time (perhaps you are working on a
different part of the large project), you can unload it - this will save resources.
From the module shortcut menu, select Modules and then Unload Module.
An unloaded module can be loaded at any time.
From the module shortcut menu, select Modules and then Load Module.
When the module is unloaded, there are some model elements left in the place where the module was
mounted. These elements are not editable, and they have a small M in the upper right corner of their icon.
These are the so-called "proxy" elements of the real elements from the module. Instead of the real model ele-
ments, the proxy carries only the name and kind of the model element information - it is a lightweight surrogate
for the real model element. The proxies are left in the place of those module elements, which are referenced
from the main project. These proxies are normal and necessary to maintain project integrity (so that there are
no dangling ends of relationships, types of properties do not disappear, etc.).
1. From the Options main menu, select Module. The Module Options dialog box opens.
2. Select a module in the tree and change Module Load Mode by selecting the appropriate radio
button.
Modules, which are used very frequently, should be set in the Always load mode.
Modules, which are used only occasionally, should be set in the Autoload mode (or Autoload with prompt if you
like to have more control on the loading behavior).
Modules, which are used only very rarely, can be put in the Manual load mode. Another frequent case where
modules can be set into Manual load mode is when modules represent some software library, which is not
expected to change. See the paragraph 1.6.1 Indexing below.
Advanced Concepts
Indexing
Indexing can be considered as an intermediate form of work, between working with a fully loaded module and
working with the module unloaded.
When a module is unloaded/not loaded in the project, only necessary proxy elements are shown in the place of
the module. However, there is a possibility to retain more proxies from the unloaded module than is kept by
default. There is one case, where this functionality is particularly useful.
Consider the large software library module in a project. Let’s say, only the various classes are used in 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, structural information of the library classes (their properties and meth-
ods) is not important. If proxies of all classes could be retained when the module is unloaded, this library mod-
ule could be used in the main project in the unloaded state (saving a considerable amount of computer
resources). The indexing feature allows achieving this functionality.
2. From the Options menu, select Project. The Project Options dialog box opens. Select the
Indexing section.
3. Select the Common Indexing radio button. This enables indexing of the module and deter-
mines what information will be indexed.
4. 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 what 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 module unloading will also diminish. Hence, a balance is
needed when customizing the index. It is usually better to use the common indexing variant.
Click OK.
5. In the project using the indexed module, go to the options of this module (Options menu -
>Modules) and select the Use Module Index check box for that module.
Such setup causes all the classes of the module to be visible as proxies when the module is not loaded (it is
also advisable to change the loading mode of this module to Manual loading).
These proxies can be used as normal model elements in the project using them, without ever loading the mod-
ule. They can be set as types of properties of the classes in the main project, they can be set as an association
ends, classes may be derived from them, etc. If you ever need more information from that module, you can load
it at any time to access the full data in the module.
An example could be in the module holding standard Java classes (rt.jar was reversed into it). This module is
large, having all the details of standard Java classes. Many of these details are unused in the project; fre-
quently only class information is used in the project for modeling tasks.
proxy” in place of the missing element - a surrogate/not real element in place where real element was once in
the past.
• NEW! A special Tool Tip is displayed for every orphaned proxy. The Tool Tip
describes the reason why the orphaned proxy has been created and gives a
suggestion how to resolve it.
• NEW! Active Validation founds and marks orphaned proxies as validation errors in
the projects.
Run a search (Ctrl+F) and check the Orphaned Proxies Only check box. This will give you all the orphan
proxies in your model in the search results.
• Right-click the orphaned proxy in the search result or Containment Tree and select the menu
item Orphaned Proxy Resolution.
2. Replace With. This resolution replaces all references to the orphaned proxy with references to
the chosen element.
3. Create New Substitute. This resolution “resurrects” the element which is missing.
Note: This resolution is disabled when the orphaned proxy containing module is read-only.
4. NEW! Find Proxy Usages. This command works as a helper to the other resolutions. It lists all
usages of the orphaned proxy in the project. This also helps to identify from which module there
are usages of orphaned proxies.
Which one of them to choose depends on wherever these missing elements are necessary or are they unnec-
essary.
If they are necessary (i.e. you want these elements to exist; they must be there), this means that they were
deleted by mistake at some point in the past. Maybe MagicDraw can not find the required module? Or elements
were moved to some other module? Or maybe the old version of the module is used, which hasn't got these
elements? The causes may be numerous.
NEW! MagicDraw can help to identify why orphaned proxy appeared, as it remembers, if possible, the last exis-
tence of the real element in the module. There are tree main causes of orphaned proxies:
• If an element was removed from the module or moved from the shared part of the module to
the unshared part. In this case all such orphaned proxies shall be located under the module
shared package where that module is being used.
Resolving such orphaned proxies must be done in the proxy-containing module. This module is
provided in the Tool Tip of the orphaned proxy.
• If elements in the module of the shared part have some references to the elements that are
located not in the shared part of the module. In this case, all such orphaned proxies shall be
located not under the proxy-containing module package (which is provided in the Tool Tip of
the orphaned proxy). To check if this is the case, open the proxy containing module as a project
and execute the module dependency checker: Tools->Dependency Checker. If the
dependency checker finds any errors, try to fix them.
• If elements in the module of the shared part have some references to the elements that are
located in another project. This could happen if the module was mounted in the project in the
read-write mode and somebody added a reference to the project data. In such case, there will
be no orphaned proxies in that project, but if the module is being opened as a project, orphaned
proxies are created for such another-project elements.
To resolve the orphaned proxies into the real element, you have to find. where real elements are in your mod-
ules/main project.
• If they were moved to some other module, you have to use that module into your main project
(File>Use module).
• If real elements were in the part of the module which was unshared, share this module part
again.
• If MagicDraw can not find the module on disk, it should ask you to provide path to it on project
load.
• If elements were deleted from the module/main project, you have to roll back to the previous
version of the module/project (in your version control system or Teamwork server, or wherever
you back your files up into) which still had these elements.
As the last resort, if you have no version saved, where these elements still exist, you can try to “resurrect” them.
Right-click each proxy>Orphaned Proxy Resolution>Create New Substitute. MagicDraw will recreate the
missing element from the bits of information it still has (which is not much - ID, name and kind of the element).
If these elements are unnecessary (i.e. you want them to disappear; they must not be there), this means that
they were deleted properly. Now all we have to do is clear the dangling references, which still exist in the other
modules/main project to these non existing elements.
NOTES: •Note that if references to these non existing elements are in the
modules, which are mounted read-only, this action can not clear them.
NEW! MagicDraw will list the modules that still has references to the
orphaned proxy but currently could not be removed (because
module(s) are mounted as read-only).
•Clear Proxy Usages or Del button resolution method works
temporarily only- when project is loaded next time orphan proxies will
reappear. To delete proxies fully you have to open each module as
project and clean orphan proxies there.
• To export the model into the MOF, from the File main menu, select Export and then MOF.
• To import the MOF from the File main menu, select Open Project and select to open *.emof or
*.cmof file.
• None of the model features that are available only in UML will be exported (behavioral models
in particular, etc).
Domain model for CMOF can be glanced at the MOF2.0 spec, 06-01-01.pdf document from OMG.
MOF export
Under File->Export->MOF group there are 2 items – MOF Whole Model, MOF Selection.
To export the whole model into the MOF, from the File main menu, select Export, MOF, and then MOF Whole
Model. The Select Target File dialog box opens (see Figure 74 on page 154).
At the right side of dialog box you can choose to export EMOF or CMOF. The extension of file is by default
.cmof or .emof correspondingly. After this the whole model is exported except the model parts marked as auxil-
iary resources (UML standard profile, Metamodeling profile, etc).
Select or clear the Validate check box for validating the MOF model export. When export runs, the exported
model is also checked using the appropriate (CMOF/EMOF) validation suite. For more information about MOF
model validation, see “Validation constraints” on page 155.
To export the selected part of the model into the MOF, from the File main menu, select Export, MOF, and then
MOF Selection. The Select Packages to Export dialog box opens (see Figure 75 on page 155). Select one or
multiple packages to choose the model part to be exported. After this the selected model part (package granu-
larity level) is exported to CMOF or EMOF correspondingly.
After the package selection, click OK and the Select Target File dialog box opens. Detailed description, see
above “Exporting the whole MOF model” on page 154.
Metamodeling template
You can create a new project using a Metamodeling template. Template contains Metamodeling profile usage.
It can be used as a starting point for developing your own metamodels. Also look at the Ecore Metamodel
Example in the samples directory for a larger example of how to use the profile.
For more information about templates usage, see "Creating a new project from a previously created template",
on page 122.
Validation constraints
There are 2 new validation suites for testing the model being exported to MOF (1 each for CMOF and EMOF).
These suites contain batches of rules, which display warnings about elements not being exported. Rules are
run together with model export (if the Validate check box is checked).
Rules are warnings only - they warn about elements not being exported (diagrams, behavioral elements etc)
but do not preclude the model from being exported. Unsuitable elements are simply skipped.
Ecore Support
Introduction
Ecore model is one type of models that Eclipse Modeling Framework (EMF) supports. This type of models is
also colloquially called EMF models (even though EMF supports many types of models e.g. UML model). Ecore
models can be used for various purposes. Ecore models can be used for metamodeling purposes, where it's
expressive power is roughly similar (slightly higher) to EMOF. Ecore can also be used for simple class modeling
purposes as a subset of UML.
MagicDraw has Ecore export functionality. Ecore models, prepared in MagicDraw can be exported as Ecore
models for further processing with other EMF tools - generation of model repositories, code, XML parsing and
storing etc.
If you already have some UML model or CMOF/EMOF model, which you want to develop into Ecore model, you
can just attach the Ecore profile from MagicDraw's profiles directory (select File>Use Module from main menu,
choose Ecore_Profile.xml from MagicDraw profiles). If your Ecore model references some standard Ecore
elements (such as standard data types - like EShort, or standard metaclasses - like EStructuralFeature), you
also need to use standard Ecore library (select File>Use Module from main menu, choose Ecore.mdzip from
MagicDraw model libraries).
There are no separate custom diagrams for Ecore model editing. You can use the same Class diagrams as you
use for your UML models. Since Ecore is almost a subset of UML (with a few additions), familiar UML elements
are used for modeling. You can also develop Ecore models without using Ecore profile at all - if your Ecore
model uses only UML-specific information, you can develop it using plain UML and export it to Ecore without a
problem.
Ecore is even more similar to EMOF. Ecore profile is built on and depends on Metamodeling profile (which
implements EMOF modeling). Element properties, that are relevant to MOF (Package namespace URI and
Property isID settings) are also relevant in Ecore. You can also have one model and export it as Ecore and then
export it also as EMOF.
Class, DataType, Enumeration, Package, Operation, Parameter have direct one-to-one correspondence
between UML and Ecore.
Ecore has two flavors of structural features - EAttribute and EReference where UML has just one - Property.
Fortunately differentiation between attribute and reference is unambiguous and automatically resolved (prop-
erty, whose type is data type is treated as EAttribute; property, whose type is class is treated as EReference),
hence user does not need worry about this - he can simply use properties.
There are no standalone Association, Generalization model elements in Ecore, but there is analogous informa-
tion in Ecore (two EReferences, pointing to each other by their opposite fields is equivalent to association;
EClass::eSuperTypes field is equivalent to generalization). Hence it is possible and meaningful to draw associ-
ations and generalizations in your model for exporting this information to Ecore.
Ecore generics (templates) are also supported. You can use UML template support to model Ecore generics.
While modeling is not trivial (and not one-to-one due to weak semantics of Ecore's EGenericType), it is possible
to model all cases of template types, even ones with complexly nested type bounds - like for example, Sort-
edList<T extends Comparable<? super T>>.
Your models can also contain any other UML elements, which are not present in Ecore. These elements are
simply skipped during export to Ecore. A warning is given about these elements - see “Validation” on page 163.
There are a few Ecore-specific properties, which are brought in when Ecore profile is used. These properties
are used to capture Ecore specific information, not existing in UML. MOF-specific properties are also relevant
for Ecore. These special properties are overviewed below:
Ecore package has an additional nsUri (shared with MOF models) and nsPrefix fields:
Ecore classifier (class, data type, enumeration) has an additional instanceClassName, instanceTypeName
fields:
Ecore attributes and references (modeled as UML property) have additional volatile, transient, unsettable, ID
(only for attributes, shared with MOF models), and resolveProxies (only for references) fields:
Annotation modeling
Ecore annotations are modeled as UML comments. For simple annotations no additional actions are neces-
sary.
However Ecore annotations have more powerful semantics than UML comments - they can have internal sub-
structure. In particular they can have and additional key-value map. For this additional information, there is a
special <<EcoreAnnotation>> stereotype, that can be applied on an annotating comment. After this application,
key-value map can be entered in a separate node of the specification window. Key-value pairs are stored as
internal subcomment elements of the annotation. This process is illustrated in the pictures below:
Ecore annotations also have one additional feature - they can also hold an arbitrary content in their contents
filed. This field can hold anything - up to and including entire submodels. contents field modeling is not sup-
ported in the current MagicDraw release.
Exporting
Exporting of Ecore models is very similar to exporting of the EMOF/CMOF models. After Ecore model is pre-
pared, you can export either whole model or only selected package(s) to *.ecore file format.
To export whole model, use File>Export To>EMF Ecore File>Ecore Whole Model menu item. Choose desti-
nation file in the opened dialog and press Export.
To export part of the model, use File>Export To>EMF Ecore File>Ecore Selection menu item. Choose pack-
ages you want to export in the opened dialog. Afterwards export target file has to be specified - you will be
directed to the same file chooser dialog as for exporting whole project.
You can validate the model being exported - see “Validation” on page 163.
Usages of standard data types from UML - String, Boolean, Integer, UnlimitedNatural are exported as stan-
dard Ecore data types - EString, EBoolean, EInt, EInt correspondingly.
Usages of standard types from MagicDraw profile - boolean, byte, char, date, double, float, int, long, short
are exported as Ecore type usages - EBoolean, EByte, EChar, EDate, EDouble, EFloat, EInt, ELong,
EShort correspondingly. void usage is exported as absence of type.
References to standard Ecore model elements, defined in Ecore model library in MagicDraw (standard data-
types like EInt, metaclasses like EStructuralFeature) are exported as references to standard elements from
Ecore metamodel (Ecore.ecore, resource identifier http://www.eclipse.org/emf/2002/Ecore)
Exporting preserves module structure. When you export project, only direct contents of that project are
exported - any modules used in the project are not exported. References from project to modules are exported
as Ecore references. Hence the export result is Ecore file/model containing direct contents of the MagicDraw
project and referencing other Ecore files/modules wherever there is a reference to module content in
MagicDraw project. To export modules to Ecore, you have to open each module as project and trigger Ecore
export (note that it is recommended, that modules be exported to Ecore before exporting main project to Ecore
- for the reasons described below).
There is one important complication when dealing with projects consisting of modules. It arises because Ecore
references, crossing resource boundary (when element in one file references element in another file), are qual-
ified-name based, not id based - as is the case with CMOF, EMOF or UML. When exporting project with refer-
ences to elements in other projects/modules, export tool must know the full path of elements in the module's
Ecore file. This information cannot be obtained normally. The following approach is adopted to resolve this
problem:
• When module is exported to Ecore ("module" here means - any project, which has it's contents
shared - because any such project can be used as module in another project), information
about the paths/qualified names of the elements is stored in special stereotypes/tags of shared
packages (EcoreExportServiceInformation stereotype, ecoreExportPath tag). This also means
that the project is modified during export. This is a little counterintuitive, but we need to save
this information for later usage. You need to save your MagicDraw project afterwards, to
preserve these changes.
• When a project is exported to Ecore and this project references elements from module,
exporter uses information about element path, which was stored when module was exported to
Ecore. If this information is missing (e.g. project is being exported before modules are
exported), exporter tool tries to guess the correct element path in the module and gives a
warning in the messages window about this.
Because of this complication, it is strongly recommended that modules are exported to Ecore first and projects,
using those modules, are exported after that.
Validation
You can check the Validate check box to run validation during export - in the same manner as validation is
done for CMOF/EMOF export. Validation will be run during export, and all the UML elements, that are not suit-
able for Ecore export, will be highlighted. Validation just produces warnings about not suitable/skipped ele-
ments; having warnings does not preclude the export itself.
You can also run this validation suite at any time while you are developing Ecore model - from main menu,
select Analyze>Validation>Validation menu item, then choose Ecore Validation in the Validation Suite field
and set the scope accordingly.
Importing
There is currently no possibility to import Ecore files directly. Ecore files could be imported using EMOF import
functionality. In Eclipse environment open *.ecore file and save it as *.emof. Eclipse will export Ecore file in
EMOF format, which can be opened in MagicDraw. Please note that this indirect way looses some Ecore-spe-
cific model details, which are not existent in EMOF.
We are highly do not recommend to modify our provided standard profiles and libraries as it could cause prob-
lems on version updates and even plugins and core MagicDraw tool malfunctions and model corruptions.
Standard profiles are usually upgraded to support newest versions of the specification of the standards they
represent (e.g SysML 1.2 or UML 2.2 versions) in every MagicDraw release cycle. The MagicDraw application
and plugins code and behavior are modified accordingly, to reflect these changes.
There is a very high probability that the new version of MagicDraw or plugins can't work with older or newer pro-
file versions and may cause unpredictable behavior of even model distortions.
(E.g. MagicDraw SysML 16.5 requires to use SysML Profile of version 16.5, as it could malfunction when using
SysML Profile from version 16.0 or 16.6).
To protect user from such cases, every MagicDraw project starting from version 16.6 knows which profiles or
plugins versions were used to create it and are required to load data correctly.
Every standard profile has version number. Normally it is the same as MagicDraw (or plugin) release version
number.
MagicDraw requires to use corresponding version of the profile with corresponding software version so will
warn you if your used plugins or profiles are missing or obsolete.
Resource Manager with selected missing resources will be launched automatically, so you will be able to install
missing plugins/profiles in few clicks.
If new versions of plugins are not purchased or you simply don't want to install, but need to take a look at the
project content, warnings may be ignored and project may be loaded. In this case, proxy elements for missing
profile elements will be created to retain missing references. Missing custom diagrams will be loaded as regular
UML diagrams or will be restricted for review. Do not save such project! Use it for preview only.
Old projects will be loaded/converted without any warnings if you have newest versions of corresponding plu-
gins and profiles as MagicDraw is always backward compatible.
solves multiple profiles usage/modification/update issues in teamwork and at the same time increases team-
work performance, as standard profiles will not be transferred via networks.
For more information about Standard Profiles in Teamwork Server, see MagicDraw Teamwork UserGuide.pdf.
This chapter offers an overview of working with diagrams and symbols. In general, the topics discussed apply
to all supported diagram types.
When working with diagrams it is helpful to keep in mind the following concepts:
• A shape refers to a notation of a model element, such as a package, class, state, use case,
object, or others.
• A path refers to the notation for the various kinds of relationships such as associations,
aggregations, dependency, message, and links.
• Both paths and shapes are defined as symbols.
Diagram Basics
To open a diagram
TIP 1! To load all diagrams that have been created in the project, from the
Diagrams menu, select Load All Diagrams.
TIP 2! To open the list of diagrams that were most recently closed, from the
View menu, select Recently Closed Diagrams and double-click the
diagram you want to open. The F12 key also activates this command.
TIP 3! In the General pane of the Environment Options dialog box, you can
select a method for loading diagrams while opening a project. Three
options are available:
• Load all Diagrams – loads all diagrams that exist in
the project.
• Load Only Open Diagrams – loads only diagrams that
were not closed in earlier usages of the project.
• Do not Load Diagrams – all diagrams are not loaded
and closed after opening a project.
To close a diagram
Click the Close Diagram button on the diagram pane or select Close Diagram from the
diagram shortcut menu.
1. Select the open diagram tab and drag it to the diagram pane. The shortcut menu with com-
mands appears.
2. Select New Horizontal Group or New Vertical Group to split diagram pane and have more
than one diagram opened at the same time.
• Commands can be found in the diagram tab shortcut menu, when so many diagrams are
opened that diagram tabs are filled in the toolbar line.
To rename a diagram
In the corresponding Diagram Specification dialog box, type a new diagram name.
In the corresponding diagram Specification dialog box, near the Context box, click the “...”
button. Then, the element Selection dialog box appears. Select the diagram context. More
information about element Selection dialog, see Section “Selecting an Element” on page 259.
From the Diagrams menu, select one of the diagrams. Depending on the type of diagram, the
dialog box that opens has a corresponding title.
Element Function
name
Name The names of all created corresponding diagrams in the open project.
Owner The name of the package that owns the diagram.
Edit The Diagram Specification dialog box opens. Type the diagram name, select a
package, and click OK.
Add Creates a new diagram. The Create Diagram dialog box opens. Type the dia-
gram name, select a package, and click OK.
Remove Deletes the selected diagram.
Open Opens the selected diagram.
Close Saves all actions performed during the session and exits the dialog box.
Help Displays the MagicDraw Help.
Diagram Properties
Customize the diagram style (color, grid) in the Diagram Properties dialog box.
• Select Diagram Properties from the diagram shortcut menu. The Properties dialog box
opens.
• From the Edit menu, select Symbol, and then select Diagram Properties.
• Press SHIFT+ENTER.
For example, create an Activity diagram. Type a name for the Activity diagram, for example, Receive. The
name of the Activity automatically changes to Receive. And conversely - change the name of the Activity and
the Activity diagram name will be changed automatically. This is synchronization of a diagram name and its
context name:
Clear the Synchronize the diagram name with it’s context name check box in the
Environment Options dialog box, General branch, and Editing group.
NOTE If the second diagram will be created in the branch, diagram names will
not be synchronized.
Diagram Frame
According to UML specifications, the diagram may have a diagram frame. The frame is primarily used in cases
where a diagrammed element has graphical border elements (like ports, gates).
Beginning with MagicDraw version 12.0, each UML diagram has a contents area. The diagram frame is primar-
ily used in cases where the diagrammed element has graphical border elements (like ports for classes and
components, entry/exit points on statemachines).
By default, the diagram frame is displayed in the diagram pane when a new diagram is created. The frame is
rectangle for all diagrams, except State and Activity. State machine and Activity diagram frames have rounded
corners.
The frame can be resized manually by selecting and dragging the corners or borders.
From the diagram pane shortcut menu, select/clear the Show Diagram Frame check box.
1. From the Options main menu, select Project. The Project Options dialog box opens.
2. Select the Diagrams group and change the properties in the right window, Diagram Frame
properties group.
• From the diagram frame shortcut menu, select Diagram Properties or press SHIFT+ENTER
to open the Properties dialog box. Change the properties in the Diagram Frame properties
group.
To display the context stereotype instead of the diagram stereotype on the diagram frame
In the diagram Properties dialog box, Diagram Frame properties group, select one of the Use
Stereotype property options:
• Diagram. Diagram stereotype is displayed in the diagram frame and on the diagram
shape. This is the default property.
• Context. Context stereotype is displayed instead of the diagram stereotype in the
diagram frame or on the diagram shape.
NOTES •For more information about the context of a diagram, see “To change
diagram context” on page 168.
•The Use Stereotype property is associated with the Show
Stereotypes property. If you want to change the stereotype and its icon
visibility use the Show Stereotypes property. For more information
about the Show Stereotypes property, see “Changing the stereotype
display mode” on page 584.
More information about working with shapes you may find in Section “Working with Shapes of Model Elements”
on page 177.
1. From the diagram shape shortcut menu, open the Symbol Properties dialog box.
2. Select the Show Stereotypes, Show Constraints, or Show Tagged Values check boxes.
In the diagram heading you cannot display the full diagram type name, but an abbreviated diagram name.
1. From the diagram info table shortcut menu, select Customize, or from the Options menu,
select Project. The Project Options dialog box opens.
2. Open the Diagram Info pane.
3. In the Source pane, select the type of information you want to include in the table: Standard
Mode or Custom Mode.
4. Standard Mode contains the following fields that will be shown in the table: Author, Creation
date, Modification date, and all other tag definitions that can be assigned to the diagram.
In the Custom Mode field, you may create your own table or any other object in HTML.
5. Preview the selected table or other created object in the Preview pane.
You can also convert multiple the same type diagrams – select them in the Browser and choose command
Change Type To.
1. Click the shape button on the diagram toolbar, or press the appropriate shortcut key for the
shape you wish to draw (the button remains pressed). For a detailed description of diagram
toolbars, see “You may customize menu items by selecting and/or modifying perspectives.
More information about customizing perspectives, you may find in Section “Customizing and
Selecting Perspective” on page 63.” on page 70.
2. Click the desired location on the diagram pane. The new shape is placed on the diagram pane
at the point you click.
OR
• Click the shape button on the diagram toolbar, hold down the left mouse button, and drag
shape from the toolbar to the diagram. The new shape is placed on the diagram pane at the
point you will release the mouse.
• Create the desired model element in the Browser tree. From the created item shortcut menu,
select Create Symbol or drag and drop the selected model element to the diagram pane.
1. Click the shape button on the diagram toolbar, or press the appropriate shortcut key for the
shape you wish to draw (the button remains pressed.)
2. Click the Sticky button on the diagram toolbar (shortcut key is Z.)
3. Click the desired location on the diagram pane. The new shape is placed on the diagram at the
point you click (the button remains pressed.)
4. Click the next location on the diagram pane. The next shape is placed on the diagram pane.
Repeat this until you draw the desired number of shapes.
5. To undo the shapes, click the Sticky button on the diagram toolbar (shortcut key is Z).
1. Double-click the shape or select Specification from the shape shortcut menu. The correspond-
ing Specification dialog box opens.
2. Type the shape name in the Name text box and click Close.
• Type the shape name directly on the selected shape on the Diagram pane.
• Type the shape name after slowly double-clicking the shape in the Browser tree.
• From the shortcut menu of the desired item in the Browser tree, select Create Symbol. Or,
drag and drop the selected model element onto the diagram pane.
• Type the same name for multiple shapes directly on the shape after the text cursor appears in
that area.
• On the diagram pane, click on the element and then click on the element name area. The
autocompletion list with already created elements appears.
• Type the first letter(s) of your searched element and the list is reduced according to the letters
you typed. For, example, if you are searching for Profile class, type the Pro letters and all
classes, which begins with Pro will be shown in the list.,
You can also press the Ctrl+Space or Ctrl+Backspace to invoke the autocompletion list.
Filters in the autocompletion dialog allow the filtering of rarely used items as "metaclasses" and "elements from
profiles". This allows comfortable and clear usage of the autocompletion dialog for modeling without active
usage of elements from profiles and it increases modeling speed.
At the bottom of the drop-down list box, you will find buttons to perform filtering:
• The Auto completion includes metaclasses button. When pressed, the list of available
elements, element types, or stereotypes includes metaclasses (in MagicDraw metaclasses are
placed in the UML Standard Profile) appears.
• The Auto completion includes elements from profiles and modules button. When
pressed, the list of available elements, element types or stereotypes includes elements, which
are placed in modules appears. (Note! This option toggles all profiles except the UML Standard
Profile.)
• The Auto completion uses camel case button. When pressed, you may search for elements
via the capital letter patterns. For example, instead of typing ArrayIndexOutOfBoundsException
you may type AIOOBE.
You may quickly assign a type for the attribute, operation, parameter, instance, and lifeline using the autocom-
pletion list:
1. On the diagram pane in the element name area type ":" and now you may assign the element
its type:
• Type the name of a non-existant element. A new class and the assigned type are created in the
project.
• Type the name of an already existing classifier and it will be assigned as the type.
• If in the project two classifiers exist with the same title after the classifier name is typed, the
Select Classifier dialog box opens. Select the element you want to assign as type.
2. On the diagram pane in the element name area type ":" and press Ctrl+Space or Ctrl+Back-
space. The list of possible elements to assign opens. To find the element in the list by name,
type its name.
• From the Edit menu, select Delete (both data and symbol are deleted.)
• On the main toolbar, click Delete (both data and symbol are deleted.)
• Press CTRL+D keys (both data and symbol are deleted.)
• Press Delete key (only the symbol is deleted, leaving the data intact.)
NOTE When deleting paths by pressing the DELETE key, the Delete Data?
message appears. To delete the relationship data from the model, click
Yes.
1. Click the appropriate path button on the diagram toolbar for the relationship you wish to draw.
For a detailed description of the diagram toolbars, see “You may customize menu items by
selecting and/or modifying perspectives. More information about customizing perspectives, you
may find in Section “Customizing and Selecting Perspective” on page 63.” on page 70.
2. Click the first (source) shape of the path.
3. Drag the path to the second (target) shape of the path and drop it there.
• To remove the selected path from the diagram, press Delete. After the deletion, the relationship
will no longer be referenced by the deleted path (symbol), but still can be referenced by other
appropriated symbols.
• To remove the selected relationship from the model, press Ctrl + D.
Line jumps represent an intersection of lines. If you have a large diagram with lots of intersecting paths, line
jumps make the diagram easier to understand.
By default line jumps are not displayed.You can configure a diagram to display line jumps in the following way:
1. From the diagram shortcut menu, choose Diagram Properties. The Properties dialog box
appears.
2. Change the Add Line Jumps To property.
Changing the Add Line Jumps To property for a particular diagram from within the diagram Properties dialog
box, will change line jumps for the current diagram only. For more information about how to change line jumps
for the whole project, see“Style Engine” on page 240 .
In the State and Activity diagrams you may split a path into two paths, by drawing a symbol on it. This is valid
for Transition / Control Flow / Object Flow relationships and allowed to connect with these path elements.
1. Select the symbol you want to insert or click the diagram toolbar button to create a new one.
2. Drag it on the path. The path is highlighted in blue.
3. Drop the symbol. A Message dialog box appears asking if you want to insert the symbol on the
path.
Possible solutions:
• Before <path type>. Symbol is inserted before the path. It means a new path is created, then
the dropped element symbol is drawn and then the existing path is drawn. For example:
Password read transition is drawn from Read Name state to Verification state. If you want to
insert the Read password state before the Password read transition, drop the Read password
state on the transition and in the open dialog, click the Before Transition button.
• After <path type>. Symbol is inserted before path. It means, the existing path is created, then
the dropped element symbol is drawn, and then a new path is drawn. For example: Name read
transition is drawn from Read Name state to Verification state. If you want to insert the Read
password state after the Name read transition, drop the Read password state on the transition
and in the open dialog, click the After Transition button.
Select the Remember my choice check box and the next time an element will be inserted before or after the
path, depending on your selection made this time.
1. From an element shortcut menu in the browser, select New Relation and then select the
desired link from the group of Outgoing or Incoming relations. The Create New <relation
name> To (From) dialog box opens.
2. In the model element tree, select an element to (from) which you want to create a relation. Click
OK. The link will appear in the Browser. Type the name or leave it unnamed.
-or-
1. In the element Specification dialog box, select the Relations group.
2. Click the Outgoing or Incoming button and then select the desired link from the list. The Cre-
ate New <relation name> To (From) dialog box opens.
3. In the model element tree, select an element to (from) which you want to create a relation. Click
OK. The link will appear in the Relations group.
-or-
1. On the diagram pane, select an element and then select the desired link from the smart manip-
ulator relations list that opens.
2. Right-click to open the target element list and select the Select From Model command. The
Create New <relation name> To dialog box opens.
3. In the model element tree, select an element to which you want to create a relation. Click OK.
The link will be drawn on the diagram pane.
Smart Manipulation
View Online Smart Manipulators
Demo
Smart Manipulation is a feature designed to make working with MagicDraw even easier. Use Smart Manipula-
tion to suppress attributes and operations, set an auto-size option, reset a label position on a path, and draw
relationships with most commonly used elements. MagicDraw offers varying smart mechanisms depending on
the shapes involved.
2. Smart Manipulator toolbar, which appears when elements are selected on the diagram pane.
In the Smart Manipulator toolbar, smart manipulators are divided into standard and extra modes. You can tog-
gle between these two modes by clicking the Expand button - the arrow symbol - located at the bottom of every
Smart Manipulator toolbar. The program remembers your mode choice and displays it for all elements.
Use the Smart Manipulators toolbar to quickly perform simple actions and create new elements.
1. Select a symbol on the diagram pane. The Smart Manipulator toolbar appears. In the toolbar,
select the relationship you want to draw. The drawing of the selected relationship is initiated and
the mouse cursor displays the new element which will be created.
For example, create a class symbol. In the class Smart Manipulator toolbar, select the Directed Association
relationship for drawing. The drawing of this Directed Association relationship is initiated and the mouse cursor
displays a class icon. Click the left mouse button. The element displayed on the mouse cursor is created
together with the relationship.
2. Use the Smart Manipulator toolbar to select which element you want to draw at the other end of
relationship. In the toolbar, select the relationship and then click the right mouse button. The list
of elements available for creating appears. Select the element from the list and it will be cre-
ated.
NOTE NEW! Autosizing is automatically switched off when the shape is being
resized by the user.
1. From the Options menu, select Environment. The Environment Options dialog box opens.
2. In the Diagram pane, Smart Manipulators group, clear the Show Smart Manipulation check
box and click OK.
1. Select the element from the diagram pane, which is drawn on an incorrect ownership (which is
highlighted in red). The Smart Manipulator toolbar appears.
2. Click the red button, which is at the top of the Smart Manipulator toolbar. The menu with the
possible problem solving solutions appears.
Press ALT and click the shape. All shapes of the same type are selected.
From the Edit menu, select Select All (shortcut keys CTRL+A.)To make multiple selections
To select a group of shapes drag the cursor diagonally across the area you wish to select. This is a simple and
fast way to select a group of shapes on the diagram.
After the selection process represented in the Figure 1, the following shapes are selected, as shown in Figure
2.
To quickly change the group selection mode from Partial coverage to Complete coverage mode or conversely:
• Press the Ctrl key and then drag the cursor diagonally across the area you want to select.
OR
1. From the Options main menu, select Environment. The Environment Options dialog box
appears.
2. In the Diagram branch, Symbols Manipulation group, change the property of the Group
selection mode option.
NOTES • This copy and paste feature functionality has been extended,
allowing you to drag and drop from other applications such as Web
browsers.
• The Paste Special dialog will open only if the clipboard contains any
text or images, text, or HTML text formats.
Dragged images will be nested by the following elements: Package, Model, Subsystem, Instance, Node, Part,
Combined Fragment, Composite State (State diagram), Interruptible Activity Region, Structured Activity Node,
Expansion Region, and Conditional Node (Activity diagram).
Figure 96 -- Samples of Images Nested to the Products Package and Server Component
Select the symbols and drag them to the desired area on the diagram pane.
Hold down the CTRL key while dragging the selected shape to the area where you wish to make
a copy.
Drag and drop items from the browser to the diagram pane
1. In the Browser tree, select the created model element you wish to draw.
2. Drag it to the desired location on the diagram pane and drop it there.
NOTES •You may select several model elements and draw them on the
diagram pane.
•If the selected model elements are not compatible with the open
diagram, you will not be allowed to draw those model elements.
NOTE: You may copy/paste many (but not all) model elements among various
diagrams.
To paste one or more copied model elements by creating new data and symbols
From the Edit menu, select the Paste With New Data command (shortcut keys CTRL+E.)
To copy the selected model elements and paste to MS Office or other application
TIP! You can drag and drop source code files from the native file manager
to a MagicDraw Code Engineering Set.
NOTE You can copy or cut and paste the text only when using the shortcut
keys CTRL+C or CTRL+X and CTRL+V. When you use the buttons or
commands, the whole element is copied/cut and pasted.
Tooltip text
MagicDraw now displays a tooltip that shows supplementary information of what will happen whenever you
drag any elements (Figure 98 on page 191, Figure 99 on page 192, Figure 101 on page 193).
The improved drag-and-drop capability allows you to drag any files from your file system to any element in the
browser or in a diagram. A hyperlink will be automatically created for the element to which the file is dragged,
allowing you to open the file by double-clicking the element.
Figure 98 on page 191 show how a hyperlink from the Products package to the Products_description.doc file is
created.
You can now drag MagicDraw project file from your file system and drop it on a diagram or any non-element.
MagicDraw project will open (Figure 99 on page 192).
You can now drag an image file from your file system to an element in the browser or in a diagram (Figure 100
on page 192). The image will be set as the value of the Image property of the element (Figure 101 on
page 193).
Figure 100 -- Image was Dragged and Dropped to the Class Shape
You can now drag any elements to any properties in the Specification dialog. For example, you can drag a
Class element from the Containment tree to the Type property in the Operation Specification dialog. The
Specification dialog will then assign that Class element as the type of the Operation element. In this case, the
step-by-step example is as follows:
1. Open the Customer Class specification dialog, the Operations branch, and select the getPro-
file Operation.
2. Select the CustomerProfile class in the Containment tree () and drag it to the Type property
area in the open Customer Class specification dialog (Figure 102 on page 194). The getProfile
operation type will be assigned to the CustomerProfile class.
You can now drag any elements from the Specification dialog to a diagram or to the browser. For example:
1. Open the Class specification dialog.
2. Select User Class, which is assigned as the Base Classifier (Figure 19).
3. Either (i) drag it to a diagram in the empty diagram pane to create a User Class symbol.
• Or (ii) drag it to the existing shape to create a new Attribute with Type.
You can now drag Stereotype from Browser or Diagram on any other element to apply it.
• You can now drag an Operation from the browser to a Message in a Sequence diagram. The
message will become a Call Message with once the operation has been assigned.
• Dragging a Signal to a Message in a Sequence diagram will convert the Message into a Send
Signal Message and assign the Signal to the Message.
You can now drag an Event element to a Transition element in a State Machine diagram. A Trigger with this
Event will be created for that Transition element.
Zooming
Zooming allows you to select a particular part of a diagram, zoom into it, and make changes while working with
a finer level of detail. You can also gain an overview of a diagram by zooming out from it.
• From the View menu or from the diagram shortcut menu, select Fit in Window (shortcut keys
CTRL+W.)
• In the Browser Zoom tab, click Fit in Window .
• From the View menu or from the diagram shortcut menu, select Zoom In (shortcut keys
CTRL+NumPad PLUS SIGN (+) or scroll.)
• From the View menu or from the diagram shortcut menu, select Zoom Out (shortcut keys
CTRL+NumPad MINUS SIGN (-) or scroll.)
• From the View menu or from the diagram shortcut menu, select Zoom 1:1 (shortcut keys
CTRL+NumPad SLASH MARK (/).)
Select the shapes and then from either the View menu or the diagram shortcut menu, select
Zoom to Selection (shortcut keys CTRL+NumPad ASTERICS MARK (*).)
1. From the Options menu, select Environment. The Environment Options dialog box opens.
2. Open the Diagram pane and change the Zoom Step Size property. The maximum number is
1.0 (you may zoom a diagram twice.)
NOTE You may also zoom in or out of the diagram using the zoom panel in the
Browser window. For the detailed description, see “Zoom panel” on
page 86.
From either the View menu or from the diagram shortcut menu, select Grid and then select/clear
the Show Grid check box.
From either the View menu or from the diagram shortcut menu, select Grid and then select/clear
the Snap Paths to Grid check box.
From either the View menu or from the diagram shortcut menu, select Grid and then select/clear
the Snap Shapes to Grid check box.
1. From either the View menu or from the