0% found this document useful (0 votes)
4K views783 pages

MagicDraw UserManual

MAGICDRAW USER'S MANUAL version 16 is a user's guide. It contains information on how to install, configure, and use MagicDraw.

Uploaded by

JanvanZyl
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4K views783 pages

MagicDraw UserManual

MAGICDRAW USER'S MANUAL version 16 is a user's guide. It contains information on how to install, configure, and use MagicDraw.

Uploaded by

JanvanZyl
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

USER’S MANUAL

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 Copyright © 1998-2010 No Magic, Inc.


CONTENTS
Installation Procedure 41
Windows 2000/2003/NT/XP/Vista*/7 42
Unix 42
MAC OS X 42
All other platforms instructions (no install version) 42
On Windows platform: 42
On Unix or Mac OS X platform: 42
Licensing Information 43
Removing Unused Licenses 43
MagicDraw Configuration 44
MagicDraw configuration files location 44
NEW! Unlocking MagicDraw 46
NEW! Activating the commercial license after the purchase (v16.9 or later) 47
Commercial license activation process 48
Online activation 48
Offline activation 50
Commercial license types 51
Host ID 51
Determining a Host ID using lmhostid 51
Identification 52
Registration 54
Deactivation 54
Deactivating from the License Activation Management screen 55
License Deactivation ID 55
Confirmed deactivation case 55
Rehost limit 56
User Registration 56
Registration Workflow 57
Adding a License 58
Registering 58
Confirming Your Registration 59
Logging in to Your Dedicated Area at www.magicdraw.com 59
Bug Report 60
Troubleshooting 61
Updating 62
Auto-Check for Updates dialog box 62

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

4 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Data branch 79
Code engineering sets 80
Diagrams tree 81
Inheritance tree 82
Model Extensions tree 83
Search Results Tree 84
Working with Elements in the Model Browser 84
Multiple selection 85
Zoom panel 86
Documentation panel 87
Properties panel 87
Customizing Environment Options 89
General Options Tab 90
Diagram Options Tab 94
Browser Options Tab 97
Teamwork Options Tab 98
Floating Options Tab 99
CVS Options Tab 100
Update Options Tab 101
Network Options Tab 102
Keyboard Options Tab 103
Plugins Options Tab 104
Resources Options Tab 105
Path Variables Options Tab 106
Spelling Tab 106
Launchers Options Tab 107
Experience Options Tab 108
External Tools Options Tab 109
Eclipse UML2 (v1.x) XMI Options Tab 110
Eclipse UML2 (v2.x/v3.x) XMI Options Tab 112
Macros Options Tab 114
NEW! Report Wizard Options Tab 114
Look and Feel: Controlling the Interface 117
Single and Multiple Windows interface styles 118
Assigning Shortcut Keys 118

4 WORKING WITH PROJECTS 119


Creating a Project 119
Creating a new project 119
Working with multiple projects 120
Creating a new project from the existing source code 121
Creating a new project from a previously created template 122
Creating a new Use Case project 123
Saving a Project 124
Autosave 125
Opening a Project 126
Importing a Project 126
Exporting a Project 126
Exporting a project as a template 127
Exporting a project as an Eclipse UML2 (v1.x) XMI file 127
Exporting a project as an Eclipse UML2 (v2.x) XMI file 127

5 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Exporting to BPEL 128
Setting Project Options 131
Project Options 131
Searching 133
Java Regular Expressions 137
Metacharacters 137
Character Sets 137
Grouping 137
Quantifiers 137
Boundary Matchers 138
Embedded Flag Expressions 138
Replacing 139
Project Partitioning 140
Partitioning the model 140
Exporting the module of a project 141
Sharing the module of a project 142
Managing modules (the Modules dialog box) 143
Analyzing Dependencies Among Elements 144
Using the module of a project 144
The Use Module Wizard 144
Reusing model parts between models 146
Reloading the module of a project 147
Importing the module of a project 148
Working with partially loaded projects 148
Advanced Concepts 149
Indexing 149
Missing elements for the proxies (orphaned proxies) 150
Displaying orphaned proxies in a project 151
Searching for orphan proxies 151
Resolving orphaned proxies 151
Creating New Substitute 152
Deleting orphan proxies 153
Exporting a Project as MOF 153
MOF Domain model 154
MOF export 154
Metamodeling template 155
Validation constraints 155
Ecore Support 155
Introduction 155
Preparing Ecore Models 156
Annotation modeling 159
Exporting 161
Validation 163
Importing 163
Working with Standard Profiles 164
Standard Profiles as System Resources 164
Plugin and Profile Versions 164
Standard Profiles in Teamwork Server 164

5 DIAGRAMMING 166
Working with Diagrams 166

6 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Diagram Basics 166
Diagrams Dialog Box 168
Diagram Properties 169
Diagram Name and its Context Name Synchronization 171
Diagram Frame 172
Drawing the Shapes of the Diagrams 174
Table with Diagram Information 175
Changing the diagram type 175
Working with Shapes of Model Elements 177
Working with Paths and Relationships 180
Inserting a Shape on the Path 182
Creating Relations from the Model 183
Smart Manipulation 184
Selection and Multiple Selections 186
Copying/Pasting Text or Images to Diagrams 188
Nesting Image Shapes 189
Dragging, Copying, Cutting, and Pasting 189
Zooming 196
Using the Grid 197
Layout 197
Orthogonal Layout Tool 198
Hierarchic Layout Tool 199
Tree Layout Tool 200
Organic Layout Tool 202
Circular Layout Tool 203
Orthogonal Path Router 204
Organic Path Router 204
Class Diagram Layout Tool 205
Activity Diagram Layout Tool 206
Business Process Diagram Layout tool 207
Quick Diagram Layout feature 209
Label layout in the diagram 209
Default label positions 209
Labels positions after moving a path, shape or related element 209
Showing Diagrams in Full Screen 211
Floating Diagram Window 212
Saving as an Image 212
Setting image saving options 214
Printing 214
Print Range tab 215
Print Options Tab 216
Print Header/Footer Tab 218

6 WORKING WITH MODEL ELEMENTS 219


Specification Window 219
Functions of Specification Window 221
Specification Window Toolbar 222
NEW! Quick filter field 224
Specification window tabs 225
General tab 225

7 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Documentation/Hyperlinks tab 226
Attributes tab 228
Usage in Diagrams tab 228
Operations tab 229
Template Parameters tab 230
Relations tab 231
Tags tab 232
Constraints tab 234
Traceability tab 234
Buttons available in the Specification window 235
Default Property Values 235
Sharing the default property values 236
Formatting Symbols 237
Displaying icon or image 238
Style Engine 240
Symbol Property Styles Tree 240
Working with Properties Styles 246
Properties extension by diagram 247
Properties Inheritance 249
General Style Properties 249
Shape, Path and Diagram Properties 249
Stereotype properties 250
Defining Hyperlinks Between Elements 252
Adding a hyperlink to the model element 252
Edit Hyperlink dialog box 255
Owner of the Model Element 256
Owner display mode 257
Qualified name starting from model library 258
Relations Changes Ownership when Client or Supplier is Moved to Other Owner 258
Selecting an Element 259
Element selection views 259
Element search criteria and modes 260
Element creation mode 261
Elements multiple selection 262
Refactoring 262
Converting an Element 262
Replacing an Element 263
HTML Editor 264
Copying/Opening Element URLs 271

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

8 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
resolution 285
Usage scenario 4 - Representing DSL elements in the Merged results 291
Merging concepts in details 293
Change types 293
Accepting or Rejecting changes 294
Dependent changes 294
Conflicting changes 295
Building change tree 295
Analyzing Merging Results 297
The Merge window description 297
Viewing changes in diagrams 311
Finishing projects merge 316
Controlling Merge memory usage 319
Pattern Wizard 320
Creating Setters / Getters 326
Implementing or Overriding Operations 327
Model Transformation Wizard 328
Available Transformations 329
Working with Model Transformation Wizard 329
Selecting transformation type 330
Selecting source and destination models 331
Selecting type mappings 332
Setting custom transformation properties 333
Transformation Type Mapping 334
Controlling Type Mapping Rule Behavior 335
Controlling direction 335
Multiple rules for the same source type 335
Controlling type inheritance, any, and empty types 336
Type modifiers 338
Transformation Traces and Update 338
Profile Migration Transformation 340
Profile Migration Transformation mapping 340
Starting Profile Migration Transformation 341
Sample of the Profile Migration Transformation 341
Resource Manager 344
Spelling Checker 346
Spell checking as you type 347
Spell checking for the whole project or the selected scope 349
Checking spelling for the whole project 349
Checking spelling for the selected scope 350
Analyzing the Check Spelling (the Validation Results window) 351
Solving the spell checking errors 351
Setting the spell checking options 353
Spell checking options 354
Spell checking dictionaries 355
Defining properties of the customized element to be spell checked 355
Import Data to MagicDraw 356
Import data from Rational Software Architect/Modeler using MagicDraw RSXConverter 356
Import data from Rational Rose using MagicDraw RConverter 356
Import data from other tools 356

9 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
8 MODEL ANALYSIS 357
Displaying Related Elements 358
Analyzing Usages and Dependencies 359
Understanding Used By 359
Understanding Depends On 359
Searching for Usages/Dependent Elements 359
Traceability 363
Creating Traceability Relations 364
Traceability Relations Representation 365
Traceability properties in Specification window 366
Traceability properties in Properties panel 369
Traceability properties in notes 369
Traceability properties in Go To submenu 370
Traceability properties in Traceability Report 370
Navigating between Different Levels of Abstraction 371
Analyzing Traceability Relations 372
Analysis using Relation Map 372
Analysis using Dependency Matrix 372
Predefined Traceability Rules 374
Relation Map 375
Creating the Relation Map 376
Defining Relation Map filters, layout, and depth 376
Choosing and changing context element 377
Choosing the relation criterion 378
OCL expressions editor, depicted in the figure below, allows defining an OCL expression for
gathering the collections of the result elements. 380
Binary expressions editor, depicted in the figure below, allows defining a string reference to
a java class, which searches for the result elements according to the given parameters. 381
Manipulation of Relation Map 383
Symbol Usage in Diagrams 385
Projects Comparison 386
Comparing Projects 387
Understanding model differences 388
Diagrams Comparison 390
Metrics 392
Metric Suites 393
Displaying Metrics 393
Starting Metrics 394
Metrics window 396
Exporting Metrics 396
Comparing metrics 398
Metrics Options 398
Metrics Properties 401
Dependency Matrix 402
Creating the Dependency Matrix 403
Dependency Matrix View 404
Dependency Matrix pane 406
Working with a Dependency Matrix Template 408
Dialog boxes in Dependency Matrix functionality 409
Dependency Matrix Templates dialog box 409
The Add / Remove Elements dialog box 411

10 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
The Dependency Matrix Specification dialog box, tags group 412
Analyzing Package Dependencies 412
Package Dependencies panel 414
Analyzing Dependencies Among Elements 417
Package dependencies by relationship 417
Dependencies by reference 419
Diagram dependencies 419
Unresolved dependencies 420
Validation 421
Introduction 421
Constraint Types 421
Predefined Validation Suites 422
Validating 422
Validation Results Window 425
Model Validation Example 425
Validation Rules 427
OCL Constraints 430
Binary Constraints 431
Validation Suites 431
Advanced Topics 435
Global validation rules 435
Expressions in error messages 437
Modeling other types OCL2.0 constraints/expressions 437
Unsupported OCL2.0 features 438
Adding/customizing severity levels 439
Performance Issues 439
Active Validation 439
Detecting errors in the model 440
Failure indicator 440
Marking errors in the Browser 441
Highlighting errors on the diagram 442
Handling incorrect model 442
Changing the Active Validation Options 442
The Active Validation Suites 443
Validating Parameters and Arguments Synchronization 443
Shape Ownership 443
UML model correctness 447
Validating the Orphaned Proxies (OP) 447
Customizing the Active Validation 447
Validate element that has no representation in diagram 447
Model Visualizer 449
Class Diagram Wizard 449
Package Dependency Wizard 452
Displaying package dependencies 455
Package Overview Diagram Wizard 456
Hierarchy Diagram Wizard 461
Realization Diagram Wizard 464
Activity Decomposition Hierarchy Wizard 467
Content Diagram Wizard 470
Sequence Diagram from Java Source Wizard 472

11 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
9 UML DIAGRAMS 477
Architectural Views 478
Use Case View 478
Structural View 478
Behavioral View 478
Implementation view 479
Environment view 479
Class Diagram 479
Class diagram elements 480
Use Case Diagram 485
Use Case diagram elements 486
Communication Diagram 487
Communication Diagram elements 488
Sequence Diagram 489
Sequence diagram elements 490
Combined fragments 492
Messages 494
State Machine Diagram 495
State Machine Diagram elements 496
Protocol State Machine Diagram 499
Protocol State Machine Diagram elements 499
Activity Diagram 502
Activity Diagram elements 503
Smart Activity Diagram layout 508
Dynamic centerlines 508
Diagram orientation 509
Implementation Diagram 510
Component diagram overview 510
Deployment diagram overview 511
Implementation Diagram elements 512
Composite Structure Diagram 516
Composite Structure Diagram elements 517
Displaying existing Parts on the Composite Structure diagram creation 518
Interaction Overview Diagram 519

10 EXTENSION DIAGRAMS 521


Common Elements 522
User Interface Modeling Diagram 523
The Reasons Why Prototyping is so Important? 523
Working with User Interface Modeling Diagrams 524
User Interface Modeling 524
User Interface Modeling diagram elements 525
Modifying a table 530
Modifying a tree 532
Nesting 532
Reusability 533
Specifying elements 533
Icon usage 535
Using symbol properties 536
User interface prototyping 537
Case Studies for User Interface Modeling 537

12 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Case Study 1 - Modelling User Interface for the Report Wizard Window 538
Case Study 2 - Slider Example 541
Case Study 3 - User Interface Prototyping Example 543
Content Diagram 545
Content Diagram Elements 546
Robustness Diagram 548
Robustness Diagram Elements 550
Web Diagram 550
Web Diagram Elements 552
CORBA IDL Diagram 554
CORBA IDL Diagram Elements 555
Generic DDL Diagram 555
Generic DDL Diagram Elements 556
Oracle DDL Diagram 556
Oracle DDL Diagram Elements 557
WSDL Diagram 558
WSDL Diagram Elements 559
XML Schema Diagram 560
XML Schema Diagram Elements 561
Time Diagram 562
Time Diagram Elements 563
Struts Diagram 563
Struts Diagram Elements 564
Networking Diagram 565
Networking Diagram Elements 566
Business Process Diagram 568
Business Process Diagram Elements 569

11 MODEL ELEMENTS 576


Common Model Elements in the Diagrams 576
Note, Comment 577
Anchor 578
Constraint path 578
Image Shape 578
Separator 578
Documentation 579
UML Extension Elements 579
Stereotype 580
Stereotype Specification dialog box 582
Assigning a stereotype 583
Changing the stereotype display mode 584
Stereotype notation 585
Tags 585
Editing Tagged Value 586
Constraint 588
The Time and Duration Constraints 588
Working with Constraints 589
The Constraint Specification dialog box 590
OCL 591
Profiles 593
Profiles 594

13 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Working with profiles 594
Creating Profiles 594
Using and Importing Profiles 594
Exporting Profiles 595
Action 595
Accept Event Action 595
Call Behavior Action 597
Call Operation Action 597
Opaque Action 599
Send Signal Action 599
Working with actions 600
Advancing actions: applying duration constraint 601
Actor 602
Association 603
Association End 606
Advancing actions: navigable owned association ends 610
Association in Use Case Diagrams 611
Attribute 611
Class 615
Working with classes 615
Creating A Structured Class 617
Design Patterns 618
Class presentation options 618
Collaboration 620
Combined Fragment 622
Component 623
Connector 625
Containment 628
Data type 629
Enumeration 630
Primitive 631
Decision Node 632
Dependency 632
Template Binding dependency 633
Abstraction 634
Usage 634
Package Merge 635
Package Import 635
Element Import 635
Access 635
Deployment 636
Deployment Specification 636
Exception Handler 636
Extend 637
Flow Final Node 638
Fragment 639
Alternative Fragment 639
Combined Fragment 640
Function Behavior 641
Gate 642
The formal gate and actual gate usage in the sequence diagram 644

14 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Generalization 645
Generalizable elements 646
Generalization sets 646
Include 650
Information Flow 651
Information Item 652
Instance 653
Instance Specification 656
Interaction Use 657
Interface 657
Provided and Required Interfaces 658
Provided and Required Interfaces in the Composite Structure diagram 659
Provided/required interfaces in the Component diagram 660
Internal transition 661
Lifeline 661
Lifeline in the Sequence Diagram 663
Link 663
Manifestations 664
Message 664
Assigning/Creating operation for message 668
Assigning/Creating signal reception for message 669
Predecessors and activators 669
Message in Sequence Diagram 670
Creating nested activation 670
Model 672
Node 673
Structured activity node 675
Activity parameter node 676
Expansion Region and Expansion Nodes 676
If, Loop and Sequence Conditional Nodes 676
Object 677
Object Flow 677
Object Node 678
Opaque Behavior 679
Operation 679
Package 684
Working with packages 684
Parameter 687
Parameters synchronization with Arguments 687
Rules of synchronization between parameters and arguments 688
Synchronization between Operation parameters and Behavior parameters 689
Synchronization between Activity parameters and Activity Parameter Nodes 691
Synchronization between Operation parameters and pins on Call Operation Action 693
Synchronization between Behavior parameters and pins of Call Behavior Action 693
Synchronization between Interaction parameters and Interaction Use arguments 695
Synchronization between Operation parameters and Message arguments 695
Synchronization between Interaction Parameters and Lifelines 697
The Parameters Synchronization dialog box 698
Port 703
Pseudo State 706
Initial 706

15 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Final state 706
Terminate 707
Entry Point 707
Exit Point 707
Deep History 707
Shallow History 707
Junction 707
Choice 707
Fork/Join 708
Realization 708
Reception 710
Send Signal Action 711
State 712
Changing State to Composite/submachine/orthogonal State 715
Composite State 715
Submachine 716
Adding connection point reference 716
Defining State Invariant 717
Assigning behavior to state 717
Subsystem 717
Swimlane 718
Template / Parameterized class 721
Transition 722
Event types 724
Enhanced Event assignment to transition 724
Use Case 725
Use Case Extension 726
Value Specification 728

12 APPENDIX I: MENUS, BUTTONS, AND ICONS 729


Menu System 730
File menu 730
Edit menu 732
View menu 735
Layout menu 736
Diagrams menu 739
Options menu 739
Tools menu 741
Analyze menu 744
Teamwork menu 745
Window menu 745
Help menu 746
Main Toolbars 746
File Toolbar 748
Diagrams Toolbar 749
Custom Diagrams Toolbar 749
Diagrams Navigation Toolbar 751
Opened Projects Toolbar 751
Perspectives Toolbar 752
Validation Toolbar 752

16 Copyright © 1998-2010 No Magic, Inc..


CONTENTS
Create Diagram Toolbars 752
Browser Window 754
Floating, Auto-hide and Close Buttons 754
Buttons from the Containment Tree 755
Buttons from the Inheritance Tree 756
Buttons from the Diagrams Tree 756
Buttons from the Model Extensions Tree 757
Buttons from the Search Results Tree 757
Icons of general elements 757
Icons of relationships 767
Icons from Modules and Profile mechanism 770

13 APPENDIX II: UML 2.3 SUPPORT 772


Introduction 772
Metamodel Changes 772
Notation Changes 774
Opening up Older Models 775
Index 776

17 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW

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

About MagicDraw and UML


Today’s graphical software can be extremely complex in its structure and architecture, but that does not mean
it must be difficult to use. We have learned much from the hardware industry, where everything you see is
scattered pieces. This approach also works well in the software world – objects at a higher abstraction level are
treated like “software pieces.” To simplify the process further, we may use pictures instead of textual
descriptions to show the relationships between objects in a complex system. Though pictures work better than
textual descriptions alone, experience has proven that communicating complex ideas effectively requires more
than simple flowcharts.

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

18 Copyright © 1998-2010 No Magic, Inc.


1 INTRODUCING MAGICDRAW
MagicDraw Editions and Features

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 and Features


A detailed list of MagicDraw features can be found at:
http://www.magicdraw.com/files/brochures/a4/MagicDrawDataSheet.pdf

MagicDraw Editions

MagicDraw Personal Edition

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

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.

MagicDraw Architect Edition

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.

19 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Editions and Features

MagicDraw Professional Edition

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

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

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.

Printing and image export capabilities are also included.

MagicDraw Reader Edition

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.

Other MagicDraw Features and Add-ons

Reports Generation

20 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Editions and Features

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”.

Code and Database Engineering

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.

MagicDraw code engineering features can be very useful in several situations:


• You already have code that needs to be reversed to a model.
• You wish to have the implementation of the created model.
• You need to merge your models and 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“.

21 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Editions and Features

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

MagicDraw supports the following integrations:


• Eclipse
• RAD
• BEA Workshop
• IntelliJ
• JBuilder
• NetBeans
• OAW
• AndroMDA
• ProActivity
• CVS
• CaliberRM

For more information about MagicDraw integrations, see “MagicDraw Integrations UserGuide.pdf”.

MagicDraw Customization

MagicDraw introduces several advanced customization engines, based on UML Profiles:


• Custom Diagram Wizard allows creating your own diagram types for custom profile. You may
include your own toolbars, stereotyped elements, symbol styles, and custom smart
manipulators. Such customization is saved in the special “diagram descriptor” that could be
exchanged between users. This allows others to use your custom diagrams.
• Domain Specific Language Customization Engine (DSL customization engine) allows “tuning”
domain specific profiles, customizing multiple GUI, model initialization, and semantic rules,
creating your own specification dialogs. DSL customization is model-driven approach, based
on UML profiling. Customization is saved as a UML model.
• Advanced UML Profiling allows the use of some profiling enhancements that are not defined in
UML, but helps to solve some common problems like tag grouping, unwanted stereotypes, tags
hiding, etc.

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.

22 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Editions and Features

For the third party add-ons, check out https://secure.nomagic.com/third_party_plugins

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.

More information at https://secure.nomagic.com/updm_plugin

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.

More information at https://secure.nomagic.com/sysml

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.

More information at https://secure.nomagic.com/cameodatahub

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.

More information at https://secure.nomagic.com/cameo_soa

Cameo Data Modeler

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.

More information at https://secure.nomagic.com/cameo_data_modeler

23 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Editions and Features

Cameo Business Modeler

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.

More information at https://secure.nomagic.com/cameobusinessmodeler

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.

More information at https://secure.nomagic.com/merge

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.

More information at https://secure.nomagic.com/magicrq

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.

More information at https://secure.nomagic.com/paramagic

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.

More information at https://secure.nomagic.com/dodaf

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.

More information at https://secure.nomagic.com/methodology_wizards

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.

More information at https://secure.nomagic.com/marte_profile

24 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Welcome Screen

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.

More information at https://secure.nomagic.com/csv_import_plugin

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.

More information at https://secure.nomagic.com/spem_plugin

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.

Enterprise Architect Import Plugin

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.

For information on working with RConverter, see “NM_MagicDraw_RConverter_UserManual.pdf”.

MagicDraw Welcome Screen


The Welcome screen is displayed in the MagicDraw desktop when no projects are opened. It helps to manage
projects, provides quick access to the product descriptions, samples, the latest news and updates. See the
Welcome screen in Figure 1 on page 26.

To open the Welcome screen from the Help main menu, choose the Show Welcome Screen command (note
that no projects should be opened).

25 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Welcome Screen

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.

Figure 1 -- The MagicDraw Welcome Screen

Manage Projects

• Click Create New Project, to create a blank project.


• Click Open Project, to open existing project.
• The Recent Projects list contains list of the recently opened 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.

What’s New tab

Click the description to open the following items:


• Introduction to MagicDraw. The introductory MagicDraw sample is opened.

26 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Welcome Screen

• New and noteworthy. The www.magicdraw.com/newandnoteworthy webpage is opened. See


the list of a new MagicDraw features for the newest version.
• MagicDraw news. The MagicDraw News Reader is opened. For more information, see
“MagicDraw News Reader” on page 30.
• MagicDraw updates. The Updates Information dialog box opens, with a list of the latest
updates. Here you will be able to see what updates are available and update to a newer
version.
• MagicDraw home page. Click this link to navigate to the www.magicdraw.com webpage.

Figure 2 -- The Welcome Screen, What’s New tab

Resources and Plugins

• Review available plugins. The www.magicdraw.com/plugin page is opened. All available


plugins descriptions are available in this page.

27 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Welcome Screen

• 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.

Figure 3 -- The Welcome Screen, Resources and Plugins tab

28 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Welcome Screen

Samples

Quick navigation to MagicDraw samples. All samples from <MagicDraw installation folder> \samples directory
are accessible in this page.

Figure 4 -- The Welcome Screen, Samples tab

29 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw News Reader

MagicDraw News Reader


Information about the latest MagicDraw events is provided in the new MagicDraw News Reader. The News
Reader is accessible from the MagicDraw Help main menu, the MagicDraw News Reader command (see
Figure 5 on page 31).

MagicDraw News Reader informs about:


• No Magic News. All news regarding company news, product news, new services provided, etc.
• New Versions. Messages about new MagicDraw releases, betas, service packs, plug-ins.
• Resources. Messages about MagicDraw resources updates.

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).

Reading news in the MagicDraw News Reader

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.

Click the Open in Browser link to read description on www.magicdraw.com website.

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.

Setting options of the MagicDraw News Reader

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.

30 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

Figure 5 -- MagicDraw News Reader

Figure 6 -- Envelope icon informs about news in MagicDraw News Reader

MagicDraw Documentation and Support


MagicDraw provides several kinds of documentation. Choose the way you want to learn.

The main source of information about MagicDraw is www.magicdraw.com and documentation can be
downloaded from www.magicdraw.com/documentation.

31 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

New and Noteworthy


For information on MagicDraw new features, see New and Noteworthy at http://www.magicdraw.com/newand-
noteworthy.

Manuals and User Guides


You can find the MagicDraw manual and user guides in “<MagicDraw installation>\manual” folder.

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 Associated to User’s Actions


MagicDraw now provides hints to help you MagicDraw (Figure 7 on page 32). Hints related to your actions will
open and inform you about the functionality that is available in MagicDraw and show you how to perform some
operations more effectively.

Hints are displayed in the lower right-hand corner of the MagicDraw application. Figure below shows an exam-
ple of a hint.

Figure 7 -- Hints Associated to User’s Actions

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.

To change hints display mode

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.

32 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

Productivity Tips Displayed in Progress Window


MagicDraw now displays productivity tips in a progress window whenever it performs a long task (Figure 8 on
page 33).

Figure 8 -- Productivity Tip

To show or hide productivity while running long task:

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.

To open the Quick Start tutorials:

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).

33 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

Figure 9 -- The New Project Dialog

34 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

Figure 10 -- Quick Start Tutorials for UML Diagrams

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.

You are welcome to post your comments and questions here.

35 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

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.

Knowledge Base. New issue registration


• Knowledge base and New issues registration - https://support.nomagic.com.
[email protected] - e-mail address for questions regarding academic or site license
discounts and quotes.
[email protected] - e-mail address for the other contacts.

The support system https://support.nomagic.com provides:


• Submitted issues status tracking.
• Ability to submit private and public questions, suggestions, improvements, and problems.
• Ability to search through the existing public issues, view status of your issues, provide your
vote for suggestions.

We provide free professional support for:


• Registered users with a valid No Magic Software Assurance contract (SA). SA provides you
with technical support, software upgrades and maintenance releases at no additional cost for a
contract period.
• Pre-sales users during the evaluation period.
• New customers for 30 days.
• Inquiries about registration, licensing and product updates.

Customer support levels

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.

Support level Applies for Ensured support


Limited support Customer with no Software Assur- Self-help: FAQ, Knowledge base, docu-
ance (SA) mentation, online demos, No Magic
Community Forum.
Full support • Customer with SA Response within business hours, with
• Inquiries about registration, 24 - 48 hours response time.
licensing, and product updates.
• With valid evaluation key.
• 30 days after purchase.

Premium support VIP customer* (marked as VIP) Response within business hours, with
24 hours response time.

36 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

* VIP customer usually is our partner.


Note: During the support period covered by our SA, you can also report any software problems
or errors. If it is determined that a reported reproducible issue in the software actually
exists, and this significantly impacts the usability of the software, No Magic agrees to
make reasonable efforts to provide a usable workaround solution or to correct the issue in
an upcoming maintenance release or update.

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.

Reporting issues directly from MagicDraw

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.

To report an issue directly from MagicDraw

1. On the help menu, click Report an Issue.


2. Fill in the first and last names together with your email address.

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.

3. Choose the product, issue type, and component.


4. Describe your issue by providing as much information as possible.

NOTE Please note that we provide a professional support for registered


MagicDraw users with the valid No Magic Software Assurance Con-
tract (SA). SA provides you with technical support together with the
major software updates and maintenance releases at no cost
throughout the contract period. Issues are normally handled within
one or two business days during regular business hours.

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.

37 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

• 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.

Figure 11 -- Report an Issue dialog box, Submit Form tab

To report an issue when application is unresponsive

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.

38 Copyright © 1998-2010 No Magic, Inc..


1 INTRODUCING MAGICDRAW
MagicDraw Documentation and Support

View and submit internal errors

If an error occurs, an error message will appear at the bottom of the MagicDraw window.

Figure 12 -- Message, about MagicDraw internal error.

To view internal errors

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

1. Open the Unhandled Errors dialog box.


2. Click the Submit button in the Unhandled Errors dialog box. The Submit Error dialog box
appears.
3. Fill in Your name, Your e-mail and Bug description fields and click the Send button. The
error will be sent to the MagicDraw support team.

39 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D

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:

Resource type Minimum Recommended


Memory 1 GB 2 GB RAM recommended; more memory gen-
erally improves responsiveness. 4 GB RAM is
recommended for MicrosoftTM Windows Vista
and for very large projects
Disk space 500 MB 500 MB or more
Video mode 800*600 @ 64k Colors 1280*1024 @ 64k Colors
Operating system All that have Java compatible JVM 1.6.0:
Windows 95/98/NT/2000/XP/Vista/7, Linux, Mac OS X (most testing procedures
and debugging were performed on these platforms)
HTML browser Any Mozilla Firefox or IE.
Safari for Mac OS X.
Java Virtual JDK 1.6.0 Sun's JDK 1.6.0_20 for Windows and Linux.
Machine (JVM) Java 1.6.0_20 for both 32-bit and 64-bit Mac
OS X.

Java Virtual Machine (JVM)


You may have the JVM installed on your computer or install JVM together with MagicDraw specifically for the
MagicDraw application. JVM is an application that provides the interpretation of the Java bytecode Java class
files. Different operating systems may have different JVM implementations, therefore some bugs may be spe-
cific to the operating system or JVM.

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.

40 Copyright © 1998-2010 No Magic, Inc.


2 G E T T I N G STA R T E D
Installation Procedure

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

To change 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>.

To redirect output to the console instead of a log file

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

Operating System - dependent issues

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

41 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
Installation Procedure

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.

NOTE MagicDraw is working on Vista OS since MagicDraw 12.5 version.

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.

To install MagicDraw to newly created folder:


1. In the Applications folder create folder named as MagicDraw version. For example, MagicDraw
UML 16.9.
2. Drag MD_UML_<version number>_mac.dmg content to the Applications/MagicDraw UML
16.9.

All other platforms instructions (no install version)


Download MD_UML_<version>_no_install.zip.

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.

On Unix or Mac OS X platform:


• Launch ./mduml in bin directory to start MagicDraw.

42 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
Licensing Information

Be sure you have JVM installed.

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).

The following information about installed or needed licenses are available:

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.

Removing Unused Licenses


Press button Remove Unused Licenses in the About screen, Licensing tab to remove licenses of not
installed plugins.
NOTE

43 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
MagicDraw Configuration

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.

Figure 13 -- The MagicDraw About window, Licensing tab

MagicDraw Configuration

MagicDraw configuration files location


By default MagicDraw configuration and auxiliary files are stored in the user home directory - <User home
directory>/.magicdraw/<version>.

You may also save configuration files:


• In the MagicDraw installation directory.
• In your chosen directory.

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).

To store MagicDraw configuration files in the MagicDraw installation directory

Add argument to JAVA_ARGS line in the file mduml.properties file (this file is in <MagicDraw
installation directory>/bin):
JAVA_ARGS=-DLOCALCONFIG=false

44 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
MagicDraw Configuration

To store MagicDraw configuration files to your chosen location

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>

• Define custom path in a newly created file:


1 In the <User home directory>/.magicdraw/<version> folder, create a file named
magicdrawredirect.
2 In the created file, type the absolute path where the MagicDraw configuration and
auxiliary files will be saved, for example: C:\<directory name>.
NOTE If MagicDraw is configured to store files in the MagicDraw installation
directory (see the topic “To store MagicDraw configuration files in the
MagicDraw installation directory” above), files will not be stored to your
chosen location.

45 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Unlocking MagicDraw

NEW! Unlocking MagicDraw


Unlock MagicDraw with evaluation, demo, or commercial license key file.

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.

46 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

NEW! Activating the commercial license after the


purchase (v16.9 or later)
As of version 16.9, in order to improve software protection and to prove our customers' investments, the solid
product licensing is introduced. Licenses are locked to the machine. You will be able to monitor and control, on
what machines the commercial licenses are used.

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.

Figure 14 -- Activation process. How to get a commercial license.

All the updated information about the commercial license activation you may also find at http://
www.magicdraw.com/CommercialLicenseActivation.

In this section you will find the following subsections:


• “Commercial license activation process” on page 48
• “Commercial license types” on page 51
• “Host ID” on page 51

47 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

• “Identification” on page 52
• “Registration” on page 54
• “Deactivation” on page 54

Commercial license activation process


The commercial license activation is required after the purchase transaction has been completed. The activa-
tion process allows receiving the commercial license dedicated for the particular machine.
NOTES • Only commercial activated licenses are locked to the particular
machine.
• During the activation process, identification and registration is
required. Any key file (evaluation, demo, commercial not activated
and other) can be used for the identification of the license owner.
• Commercial not activated keys allow using the application for 7 days
according to obtained licenses, before requesting activation. Not
activated keys can be used during activation process for
identification of the account on which the purchases are.

Online and offline activation is available.

Online activation

Choose online activation and enable commercial activated (without expiration) licenses automatically.

48 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

To activate the license online

1. Click the Activate button in the License Manager dialog of the application.

2. Click Online Activation.

3. If you will be requested, identify yourself and register.


4. Select licenses you need to activate.

49 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

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.

To activate the commercial license offline

1. Login to the license owner account on www.magicdraw.com.


2. Click the LicenseActivationManagement ( www.magicdraw.com/LicenseActivationManage-
ment) item in the Members menu.
3. Click the Create New License Activation Record button and enter user details and Host ID of
the machine.
4. Download or send the key to your e-mail.

Determining a Host ID (for offline activation)

1. Click the Activate button in the License Manager dialog of the application.
2. Click Offline Activation.

3. Host ID is shown.

NOTE Host ID is the Ethernet address of the machine on which application


will run.

Related topics
Commercial license types
Host ID
Identification
Registration
Deactivation

50 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

Commercial license types


DEFINITIONS • Commercial not activated license is used only to determine the account on
www.magicdraw.com and allows using the application for 7 days according to
obtained licenses, before requesting the activation.

Example: MagicDraw_16_9_Professional_C#_Standalone_ Not activated key.txt

• Commercial activated license is the license without expiration, locked to the


particular machine, and can be deactivated.

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.

Determining a Host ID using lmhostid

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.

51 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

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).

NOTE If two or more Ethernet addresses are available on the particular


machine, the first one printed by the hostid command should be used.

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.

There are two methods available for the user identification:


• License file based identification. Select the license key file to identify the license owner
account. Evaluation, demo, or commercial license files can be used for the identification.

52 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

• Login name based identification. Use the license owner login name and password to identify
on which account on www.magicdraw.com your purchases are.

Figure 15 -- Identification Request dialog

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

53 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

Registration
The user registration is required during activation process in order to obtain the commercial activated license.

Figure 16 -- Registration window

The registration will help us to provide you with:


• Customer support. Issues, questions, and suggestions can be reported and existing ones
tracked on https://support.nomagic.com.
• Access to early releases and evaluations.
• New versions, patches, and updates.

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.

54 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
NEW! Activating the commercial license after the purchase (v16.9 or later)

To deactivate a license in the application

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.

NOTES • The deactivated license still will be active for 7 days.


• The returned licenses can be activated on the same or another machine.
• Online deactivation from the application side or the deactivation with the License
Deactivation ID is treated as the confirmed deactivation case and does not decrees
an available rehost limit.

Deactivating from the License Activation Management screen

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.

To deactivate an application from the license owner account:

1. Go to license owner account at www.magicdraw.com/LicenseActivationManagement.


2. Remove all products assigned for the particular installation in the Activated Products column.
3. Application will be deactivated on the next start-up. Licenses will be returned.

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.

To determine License Deactivation ID (for 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.

Confirmed deactivation case

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.

55 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
User Registration

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.

Rehosting - moving the license from one machine to another

You may moving of the activated (locked to the particular machine) licenses from one machine to another is
called rehosting.

To rehost a license

1. Deactivate the license on the old installation.


2. Install an application on the new machine.
3. Activate the license on the new installation.

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.

56 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
User Registration

Figure 17 -- The Registration Dialog

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.

Upon confirmation, a dedicated account will be created for you at www.magicdraw.com.

NOTE If you have an existing profile at www.magicdraw.com you may register


with the same user information and the same profile information will be
used for registration.

57 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
User Registration

Figure 18 -- Registration Workflow

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.

To complete Product Registration:


1. On the MagicDraw main menu, click Help > Register. The Registration dialog will open
(Figure 19 on page 59).
2. Provide the requested information in the Registration dialog (some information has been pro-
filed from the key owner profile in order to provide a more usable registration process).
3. Share your experience about the tool (optional).
4. Click Register to send data to the server and to receive a confirmation email later on.

58 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
User Registration

Figure 19 -- The Registration Dialog

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.

Confirming Your Registration

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.

Logging in 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.

59 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
User Registration

Registration Data Confirmation

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.

Figure 20 -- Registration Confirmation

NOTE You will receive no email upon confirming your registration.

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.

Figure 21 -- Updating Existing Profile

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....

60 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
User Registration

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.

NOTE If you encounter problems during the registration process, please


contact us [email protected]

61 Copyright © 1998-2010 No Magic, Inc..


2 G E T T I N G STA R T E D
Updating

Updating
An automatic updates feature is implemented in MagicDraw. Notification and update of all the patches can be
done automatically.

To enable an automatic checking for MagicDraw updates

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.

Auto-Check for Updates dialog box


The dialog box is opened when automatic checking for MagicDraw updates is enabled on the Update pane in
the Environment Options dialog box and the Show Auto-Checking Confirmation Dialog Box check box is
selected.

Element Name Function


Show this tip If selected, the dialog box is opened each time that MagicDraw
next time should be updated according to the schedule selected on the
Update pane in the Environment Options dialog box.
Check Starts checking for MagicDraw updates in the http://
www.magicdraw.com page.
Cancel Closes the dialog box without saving changes.
Help Displays MagicDraw Help.

62 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW

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.

Customizing and Selecting Perspective


Launch MagicDraw for the first time and after the application starts, the MagicDraw Startup dialog box
appears. In this dialog box you may select your work perspective.

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.

There are five perspectives in MagicDraw:


• Business Analyst - this perspective provides features for the Business Analyst. This role is
responsible for defining business architecture. Code engineering, transformations, extensions,
and other features are hidden.
• Full Featured - Perspective provides all features available in MagicDraw and installed plugins.
• Quick Start - Quick Start perspective provides basic features dedicated for modelling and not
overcrowded interface for quick learning. Code engineering, transformations and other
advance features are hidden, however easily reachable in expert mode of this perspective.
• Software Architect - this perspective provides features primarily involved in designing and
implementing projects. It is a set of roles consisting of Software Architect, Designer, Interface
designer, and Database designer. This is the default MagicDraw configuration. All
functionalities are available for expert mode.
• System Analyst - this perspective provides features primarily dedicated to obtaining
requirements and modeling the system. Analysis features are highlighted. Configuration is
modeling oriented. Code engineering, transformations and other features are hidden.

63 Copyright © 1998-2010 No Magic, Inc.


3 USING MAGICDRAW
Customizing and Selecting Perspective

To set the perspective for the MagicDraw environment

• 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.

Customizing MagicDraw Perspectives


Perspective customization allows the grouping of functional MagicDraw features to standard/expert modes.
Customization also allows the user to hide unnecessary commands, which makes MagicDraw simpler and
faster to use.

To open the Customize Perspectives dialog box

• From the Options menu, choose Perspectives and then Customize.


• In the Perspectives dialog box, click the Customize button.

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.

To customize the selected MagicDraw area in a predefined perspective

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).

To switch between Standard/Expert menu, toolbar, or diagram toolbar modes

• From the toolbar shortcut menu, select/clear the Expert Menu Mode or Expert Toolbar Mode
check box.

64 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing and Selecting Perspective

• From the diagram buttons toolbar menu, select/clear Expert Mode check box.

MagicDraw Startup dialog box


Launch MagicDraw for the first time. The MagicDraw Startup dialog box will appear with the possibility to
switch between perspectives.

Figure 22 -- MagicDraw Startup dialog box

Element Name Function


Business Analyst Possible perspectives to set, which will load a predefined MagicDraw configura-
Full Featured tion.
Quick Start
Software Architect
System Analyst
Expert If not selected, a simplified MagicDraw interface with the most popular items and
features will be opened and the specification properties will be shown in Standard
Mode.
Integrate Opens the Integrations dialog box for quick integration with the selected tool.
OK Loads MagicDraw with the selected perspective.
Help Displays MagicDraw Help.

65 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing and Selecting Perspective

Select Perspective dialog box


From the Options main menu, choose Perspectives and then Perspectives.

Figure 23 -- Select Perspective dialog box

Element Name Function


Business Analyst List of possible perspectives, which will load a predefined MagicDraw
Full Featured configuration.
Quick Start
Software Architect
System Analyst
Customize Opens the Customize Perspective dialog box.
Expert If not selected, a simplified MagicDraw interface with the most popular
items and features will be opened and the specification properties will
be shown in Standard Mode.
Apply The selected perspective will be applied for current MagicDraw mode.
Cancel Closes the dialog box without saving changes.
Help Displays MagicDraw Help.

66 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing and Selecting Perspective

Customize Perspectives dialog box


From the Options main menu, choose Perspectives and then Customize.

Figure 24 -- Customize Perspectives dialog box

Element Name Function


Clone Selected Copies the selected perspective to a new one.
Perspective

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.

Remove Selected Deletes the selected perspective from the list.


Perspective

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.

67 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing and Selecting Perspective

Element Name Function


Business Analyst List of possible perspectives, which will load the predefined MagicDraw
Software Architect configuration.
System Analyst
MagicDraw Area List of customizable toolbars and command sections.
Edit Click the Edit button to open the Customize Main Menu dialog box in
which a commands mode could be changed by selecting radio buttons.
Description Displays short description about each selected area.
Reset to Defaults Resets changes back to the default configuration.

68 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Understanding MagicDraw User Interface (UI)


MagicDraw main window has the following parts:
• Main menu
• Main toolbars
• Model Browser
• Diagram toolbars
• Diagram pallet
• Diagram pane

Figure 25 -- MagicDraw main UI structure

Nearly all MagicDraw commands can be accessed from multiple places within MagicDraw:
• Main menu
• Main toolbars
• Model Browser
• Diagram toolbars

69 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

• Shortcut menus (accessible by right-clicking)


• Shortcut keys
• Smart manipulators (accessible by selecting a symbol on the diagram pane).

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.

Opening of the • By double-clicking the model element.


Specification dialog • Specification command from the element shortcut menu on the
boxes
diagram or Browser.
• When adding one model element to another model element from the
Specification dialog box or Browser.
Defining symbols • Symbol shortcut menu -> Symbol(s) Properties.
properties (font, • Options menu -> Project.
color, etc.)
• Main toolbar buttons

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.

To show or hide different toolbars

• 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).

70 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Main toolbars

The main window of MagicDraw contains the following main toolbars:


• File (main)
• Diagrams
• Custom Diagrams
• Diagrams Navigation
• Opened Projects
• Perspectives
• Teamwork
• External Tools
• Validation

For detailed information about the commands of the main toolbars, see "Main Toolbars", on page 746.

Create Diagram toolbars

The main window of MagicDraw contains the following diagram toolbars:


• Symbol Editing
• Shape Editing
• Path Editing
• Edit
• View
• Layout

For detailed information about the commands of the diagram toolbars, see “Create Diagram Toolbars” on
page 752.

71 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Customizing toolbars

Toolbars configuration shortcut menu has the following commands:

Check box Function


Rearrangable If selected, it is possible to change the toolbar position by selecting the
dotted line in front of the desired toolbar group and dragging it to a new
location.
Hidable If selected, there is no possibility to close a separately opened toolbar
group (for example, dragged diagram pane) with the X button on the
right top corner.
Floatable If selected, the toolbar group can be dragged to any desirable position
inside the MagicDraw borders.
Expert Menu Mode If selected, all menu commands will be listed on the menu. Otherwise,
the command list will be shortened and you can expand it by clicking
the arrow on the bottom.
Expert Toolbar Mode If selected, displays all toolbar buttons, which were marked to be shown
in the Expert mode perspective.
Customize Opens the Customize Toolbars dialog.

To add a new toolbar

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.

72 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To add a new button to the selected toolbar

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.

Figure 26 -- The Customize Toolbars dialog

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.

Using the Model Browser


View Online MagicDraw Basics
Demo

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.

73 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

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.

The Model Browser window is divided into two parts:


• Containment tree/Diagrams tree/Inheritance tree/Model Extensions tree/Search Results.
The Containment tree tab groups data in the logical sets.
The Diagrams tab groups diagrams that are represented on the diagram pane according to the
diagrams type or shows them as a list.
The Inherence tree tab represents the class hierarchy of the project.
The Model Extensions tree tab represents all predefined and created constraints and
stereotypes.
The Search results tab displays search results.
• Documentation/Zoom Control part. The Documentation tab shows documentation
associated with the selected item. The Zoom Control tab is responsible for zooming the
current diagram.

74 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Figure 27 -- The Model Browser window

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.

To change the size of either part of the Model Browser

• Drag the bar that separates the two parts.

To change the Model Browser position from the Options menu

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.

75 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To close or reopen the desired tab of the Model Browser

• From the Window menu, choose the tab you want to close/open.

To reset all Model Browser tabs to the default position

• From the Window menu, choose Reset Windows Configuration command.

To sort items in Model Browser alphabetically

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

The Containment tree displays model data, grouping it in logical sets.

To open the Containment tree

• At the top of the Model Browser, click the Containment tab.


• If the Containment tree is hidden, from the Window menu, select Containment.

Figure 28 -- Containment tree

76 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To show full information of operations, attributes, and relationships in the Containment Tree

Do one of the following:


• In the Containment tab, click the Show Full Types in Browser button .
• Do the following:
1. Choose Environment command from the Options menu. The Environment
Options dialog box appears.
2. In the Browser tab, set the Show Full Types in Browser check box to “true”
(default “false”).

To show stereotypes in the Containment tree

Do one of the following:


• In the Containment tab, click the Show Stereotypes in Browser button .
• Do the following:
1. Select Environment 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”).

To show/hide Code Engineering sets branch

Do one of the following:


• In the Containment tab, click the Show Code Engineering Sets button .
• Do the following:
1. Select Environment from the Options menu. The Environment Options dialog
box opens.
2. In the Browser tab, set the Show Code Engineering Sets check box to “true”
(default “true”).

To show/hide Modules

Do one of the following:


• In the Containment tab, click the Show Modules button .
• Do the following:
1. Select Environment from the Options menu. The Environment Options dialog
box opens.
2. In the Browser tab, set the Show Modules check box to “true/false” (default
“true”).

To filter types of elements to be displayed

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).

77 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Figure 29 -- The Filter Button in the Containment Tree

Figure 30 -- The Filter command in the Model Browser shortcut menu

78 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Figure 31 -- The Items Filter dialog box

To open package contents in a new tab

• 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.

To create a new element

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.

79 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

For more information about managing model elements from the Browser, see [UPDATE]“Working with
Elements in the Model Browser” on page 84.

Code engineering sets

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).

To create a new Code engineering set

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.

To edit the selected set

• Select Edit from the set shortcut menu. The Round Trip Set dialog box opens. Add/remove
files or classes from the Code engineering set.

To rename the selected set

• Select Rename from the set shortcut menu and type the set name.

To change the code generation properties

• Select Properties from the set shortcut menu. The CG Properties Editor for Data dialog box
opens.

To delete the selected set

• Select Delete from the set shortcut menu.

To restore the deleted set

• From the Edit menu, select Undo or press the shortcut keys CTRL+Z.

To generate code from the selected set

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.

80 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To reverse the selected set

1. Select Reverse from the set shortcut menu.


2. The Reverse Options dialog box opens. Define options and click OK.
For the detailed descriptions about the reverse, see Section Reverse in the Code Engineering
User’s Guide.

To reverse files that have been changed

1. Select Refresh from the set shortcut menu.


2. The Reverse Options dialog box opens. Define the options and click OK.
For detailed description about the reverse process, see the “Reverse” Section in the Code
Engineering User’s Guide.

TIP! All functions listed above can be performed in the Code Engineering Sets
dialog box.

To select a text editor for source code

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.

Figure 32 -- Diagrams tree

In the Diagrams tree, with the selected diagrams, you can perform the operations listed below.

81 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To group diagrams according to their diagram type

• Click the Group by Diagram Type button in the Diagrams tree.


• From the shortcut menu, select the Group by Diagram Type check box.

To open the selected diagram from the Browser

• Select Open from the item shortcut menu or double-click the item in the diagram.

To delete the selected diagram

• Select Delete from the selected diagram shortcut menu.

To rename the selected 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.

To print the selected diagram

• 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.

Figure 33 -- Inheritance tree

82 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To show stereotypes in the Inheritance tree

• 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”).

To show classifier hierarchies in the Inheritance tree

• 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”).

To invert tree in the Inheritance tree

• 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”).

Model Extensions tree

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.

Figure 34 -- Model Extensions Tree

To group extensions by profiles

• In the Model Extensions Tree, click the Group by Profiles button .

83 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

• From the Model Extensions Tree shortcut menu, select the Group by Profiles check box.

To group extensions by metaclasses

• In the Model Extensions Tree, click the Group by Metaclasses button .


• From the Model Extensions Tree shortcut menu, select the Group by Metaclasses check box.

Search Results Tree

The Search Results tree shows results of a search, which may be performed through the [UPDATE]Find dialog
box.

Figure 35 -- Search Results tab

The results in the tab are dispalyed in two packages:


• From Diagrams - elements are shown that are displayed on the diagram(s).
• From Model - elements are shown that are created in the model data.

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 Find button , or press CTRL+F keys.

To clear the results of the previous search

• Click the Clear Results button or select the Clear Results button from the Search
Results tab.

Working with Elements in the Model Browser

To create an element in the Model Browser

1. In the Containment tree, right-click the package.


2. Click New Element and select the model element you wish to create.

84 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To create a diagram in the Model Browser

1. In the Containment tree, right-click the package.


2. Click New Diagram and select the diagram you wish to create.

To copy/cut and paste the selected model element in the Model Browser

1. From the element’s shortcut menu, select Copy or Cut.


2. Select the container, where you wish to put the model element.
3. From the container’s shortcut menu, select Paste.

To copy/cut and paste the selected model element among different projects

1. From the item shortcut menu, select Copy or Cut.


2. From the Opened Projects main toolbar, select the other project.
3. Select the container, where you wish to put the element.
4. From the container’s shortcut menu, select Paste.

To delete a model element from the Model Browser

• From the element’s shortcut menu, select Delete.

To drag-and-drop the selected item in the Model Browser

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.

To draw a symbol on the diagram

• From the items shortcut menu, select Create Symbol.

TIP! You may draw a symbol by dragging and dropping an item to the Diagram
pane.

To show/hide the model elements in the Model Browser

1. Do one of the following:


• From the Browser shortcut menu, select Filter.
• On the Containment tree toolbar, click Filter.
2. In the Items Filter dialog, clear the check boxes of those model elements that you would not
like to appear in the Model Browser.

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.

To make multiple selections

• Hold down the SHIFT key and click the last element you wish to include in the multiple
selection.

85 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

• 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.

To select all model elements or all browser tree items

• 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.

Figure 36 -- Zoom panel

To open the Zoom panel

Do one of the following:


• In the Model Browser, click the Zoom panel.
• On the Window menu, click Zoom.

To zoom in or out the active diagram

• In the Zoom panel, drag corners of the blue square.

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.

86 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

To access quickly any part of the diagram

• 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.

To fit the diagram to the 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.

Figure 37 -- Documentation panel

To open the Documentation panel

Do one of the following:


• In the Model Browser, click on the Documentation panel.
• On the Window menu, click Documentation.

NOTE If there is no documentation for the selected element, the text area is empty.

To write documentation for the selected model element

• 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.

To open the Properties panel

Do one of the following:


• In the Model Browser, click on the Properties panel.
• On the Window menu, click Properties.

The Properties panel includes the following tabs:

Tab name Description


Element Contains the main properties in the element’s or diagram’s specification.

87 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Understanding MagicDraw User Interface (UI)

Tab name Description


Symbol Contains the element symbol’s properties.
NOTE: This tab is available for symbols only.
Language properties Contains the same data as the Language Properties tab in the ele-
ment’s Specification window.
NOTE: This tab is available only for the elements, which are used for
code generation, e.g., class, attribute, opretion.
Traceability Contains the same data as the Traceability tab in the element’s Specifi-
cation window.
For more information about traceability, see “Traceability” on page 363.

All Property panel tabs, except the one for traceability properties, has two modes: Standard and Expert.
Choose the mode that best suits your needs.

Figure 38 -- Properties panel

88 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Figure 39 -- Customize Properties dialog box

Customizing Environment Options


You can customize MagicDraw according to your preferences: change the application settings in the
Environment Options dialog box.

To open the Environment Options dialog

• From the Options menu, select Environment.

Comon fields available in the Environment Options dialog:


NEW! Quick filter Type in this field to filter properties.
field More information about the Quick filter field you may find at Section
“NEW! Quick filter field” on page 224.
Reset to Defaults Resets all properties to the default settings.
OK Saves changes and exits the dialog box.
Cancel Exits the dialog box without saving changes.
Help Displays MagicDraw Help.

89 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

General Options Tab

Figure 40 -- Environment options dialog. General options tab

Change the appropriate fields according to your preferences. If the check box is selected, the description False
changes to True.

Property name Function


Display
Use icons in dialogs Icons are shown on the button of dialog boxes.

90 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Language Select the language for the MagicDraw GUI:
• Default – according to your application. It is set by default.
• English
• French
• German
• Japanese
• Russian
• Thai
NOTE: Restart MagicDraw to apply changes to the language property.
Hide toolbars in full The main toolbar is hidden, when the diagram full screen mode is turned on. To
screen mode display the main toolbar, clear the Hide toolbars in full screen mode check box in
the Environment Options dialog box, General pane, General group.
Show the exit full Shows the Full Screen toolbar for closing the full screen mode.
screen toolbar
Show font face in Font names that are listed in the Font drop-down list box on the main toolbar will
font list be displayed in the original font.
Mark elements with Shows active hyperlink arrow on the element symbol.
active hyperlink
Show Status Bar Shows status bar line at the bottom of the MagicDraw window.
Show Memory Shows the project memory usage line at the bottom of the MagicDraw window.
Monitor
Check for Specifies how often MagicDraw will check for news.
MagicDraw News
Show Welcome Shows the Welcome screen, if there are no opened projects.
screen
Show boolean Shows the check box labels for boolean properties.
property checkbox
text
Show Extra Features Shows features that are available only in a higher edition or not installed plugins.
Hints display mode Specifies whether hints on MagicDraw functionality related to the user actions will
be dispayed. Select one of the following options:
• Display custom hint set (default) - shows a custom hint set excluding the hints
that are selected by the user not to be shown.
• Display all hints - shows all hints.
• Do not display - displays all hints.
NOTE: Hints are displayed in the lower right-hand corner of the application.
Save/ Load
Create backup file Backup files of your projects will be created. Backups are saved with the name
pattern old_name.xml.bak or old_name.xml.zip.bak.
Save project Saves AutoRecovery file of the open project(s) when a system is not in use.
recovery data on idle
Idle time to activate Enter the system idle time (in minutes). This is the amount of time until the file
recovery save recovery save is activated.
Open last project on The last project of your previous session will be opened next time you start
startup MagicDraw.

91 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Diagrams load mode Select how to load diagrams after opening a MagicDraw project.
• Load all Diagrams – opens all diagrams that are in the project.
• Load Only Open Diagrams (default) – opens only diagrams that were not
closed in the previous use of the project.
• Do not Load Diagrams – no diagrams will be opened when opening the
project.
Save rich XMI Saves maximum additional information to an xmi file, which is not required for
MagicDraw load but may be needed when using other tools.
Save UUID If selected, the “xmi:uuid” attribute will be added for each model element in the
XMI file.
Check dependency Select one of the following options:
on module export/ • Do not check
share
• Allow dependencies (default)
• Do not allow dependencies

Blank project Default location and template file name:


template <install.root>\templates\template.xml
Global Modules Path Select the global part of the path, where the project modules are located.
TIP: There is a specific part of the path also, and it can be specified the specific
project options.
Save stereotype Specifies where in the XMI file the applied on the element stereotype’s information
information within is saved.
element
If the value is true, the stereotype’s information is stored at the end if the file.
If the value is false, the stereotype’s information is stored within the element infor-
mation.
NEW! Display title Switch on or off the title bar area in MagicDraw dialogs.
bars
General
Save settings on exit Specifies whether the altered settings within the current MagicDraw session will
be stored and applied for all future sessions.
Show tip of the day Shows the Tip of the Day dialog every time you start MagicDraw.
Show tips while Shows the Tip of the Day dialog inside the progress bar while running long tasks.
running long tasks
Recent files list size Type the number of projects to appear in the File menu. Click the file name to
open it. The maximum file list size is 10. The file name list shows files that were
used in MagicDraw.
Recent windows list Type the number of recently used windows that are listed in the Window menu.
size Click the window name to make it active. The maximum windows list size is 10.
Undo list size Type the number of actions that will be available for undo/redo operations. They
will be listed in undo/redo drop down lists on the main toolbar. The maximum
undo/redo list size is 500.
Enable view and Enables viewing and submitting internal errors.
submit internal NOTE: In order to escape negative after-effects, which are possible, please, keep
errors
this option selected.
Image Export
Save diagram Saves the diagram with background. By default, the diagram background is white
background in after saving as image.
image

92 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


JPEG Compression This is a JPEG format option.
Quality
Use SVG <text> tag This is an SVG format option.
for text output
Image resolution This property is DPI property value with numeric value range from 1 to 4800.
(DPI) Default value is 72.
Exported image size Define image size in percent. Default value is 100%. For example; if 200% is
[%] defined, then the view is enlarged (zoomed) before generating an image. Raster
image will not loose quality as additional pixels are introduced.
TIFF Color Space This is a TIFF format option.
TIFF Compression This is a TIFF format option.
Editing
Update parameter’s Synchronizes the parameter’s properties with the referenced argument’s updates.
properties while it
has reference on
other argument
Opaque Expression Select one of the following options:
default language • English
• OCL

Opaque Expression Select one of the following options:


displaying lines • 1
• 2
• 3
• 4
• 5
• All Lines

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

93 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Active Validation Specify the period (in seconds) for the active validation in the model.
Period (seconds) TIP: Specify the higher period for the better performance.
Merge
Optimize for Select one of the following options:
• Speed
• Memory

Diagram Options Tab

Figure 41 -- Environment Options dialog. Diagram options tab

Property name Function


Text antialiasing Smooths the jagged edges of text.
Graphics Smooths the jagged edges of graphics.
antialiasing
Grid style Select one of the following styles of the grid: Dense or Sparse.

94 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Validate Shape Validates if the symbol owner on the diagram matches the actual element owner
Ownership in the model. Using the symbol ownership validation feature, shape ownership
problems will be highlighted on the diagram pane and you will be able to easily
see and resolve them.
For more information see “Resource Manager” on page 344.
Shape Ownership Type the period in seconds to check diagram for symbol ownership problems.
Validation Period
(seconds)
Edit name with Allows the management of stereotypes by editing the stereotype name directly on
stereotypes the Diagram pane.
Show manipulation Enable error highlighting of the modeling process. This helps you to see the errors
highlighting in the model at drawing time. The valid and invalid actions will be highlighted in
different colors (defaults are red for invalid actions, blue for valid actions).
Allow class Operations and attributes can be selected, then dragged & dropped to another
members selection class.
Optimize paths When a path is drawn in various directions, this option removes loops from the
path.
Apply stereotype Applies the created stereotype style to a symbol when adding the stereotype to an
style for all symbols element.
Apply stereotype Applies the stereotype style in teamwork for unlocked diagrams.
style for symbols in
unlocked diagrams
Mark selected labels Mark path labels after a path is selected.
Display paths on When dragging and dropping an element from the Browser or executing a Create
element drop Symbol action, the path to the existing symbols is created.
Insert Element Splits the path into two paths by drawing a symbol on it and inserts this symbol
according to the choice. Possible choices:
• Before path
• After path
• Do not insert
• Ask where to insert
NOTE: This is valid only in state and activity diagrams.
Set preferred size Specifies if shape size shall be set to preferred after one of shape’s compart-
after hiding ments is supressed in the diagram. Possible choices:
compartment
• Never;
• Always;
• If no connected paths (default).

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.

95 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Center on the Centers zooming according to mouse arrow.
mouse location
when zooming
Show Smart Set smart manipulator visibility. For a detailed description about the smart manip-
Manipulations ulation feature, see “Smart Manipulation” on page 184
Mouse’s Left Button Possible choices:
Action Create element - target element is created during the creation of a path after a
mouse click on the diagram pane.
Make a break point - set a break point for the path after a mouse click.
Smart Manipulator Set the smart manipulators fade time in seconds.
fade time on mouse
over
Smart Manipulator Possible choices:
appearance • Mouse Over
• Shift

Show Names in Shows element names in toolbars near icon.


Toolbar
Toolbar Position Change toolbar appearance near diagram pane. Possible choices:
• Right
• Left

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

96 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Browser Options Tab

Figure 42 -- Environment Options dialog. Browser options tab

Property name Function


Browser position In the drop-down list, select Left if you wish the browser to appear on the left side
of the workspace. Select Right if you wish the browser to appear on the right side
of the workspace.
Show code Shows code engineering set items in the browser.
engineering sets
Show full types in Shows the full attributes, operations, and relationships data.
browser
Show Auxiliary Shows/hides the profiles, modules with applied <<auxiliaryResources>> stereo-
Resources type in the Browser.
Show message on If Show Auxiliary Resources option is false and profiles/modules are not dis-
auxiliary modules played in the Browser, while exporting module, a message will appear.
visibility during use
Sort always Always sort browser items alphabetically.
Show applied Shows stereotypes that are assigned to the model elements.
stereotypes in
browser
Show changes in Highlight edited or added model elements and diagrams in the Browser.
browser
Show hyperlinks in Shows hyperlinks that are assigned to the model elements.
browser

97 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Group by diagram Groups diagrams according to diagram type in the Diagrams tree.
type
Show Only When selected, classifiers without hierarchies are not displayed in Inheritance
Hierarchies tree. In this case, Inheritance tree displays only classifiers connected with the
generalization relationship.
Invert Tree When selected, hierarchies are inverted so that at the top of the hierarchy, the
specific element is displayed.
Display warning Displays warning when element was not found in the Inheritance tree.
when element is not
found in inheritance
tree
Group by Profiles Stereotypes, tagged values, and constraints are grouped by profiles in the Model
Extensions Tree.
Group by Groups stereotypes by Metaclass in the Model Extensions Tree.
Metaclasses
Show diagram zoom Shows zoom slider in the Zoom Control tab.
slider

Teamwork Options Tab

Figure 43 -- Environment Options dialog. Teamwork options tab

Property name Function


Auto login to server The user automatically logs on to the Teamwork Server when MagicDraw starts.
Teamwork server Shows the name of your teamwork server.
name

98 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Show modules The warning appears when two modules (or module and a project) use the same
versions conflict submodules.
warning
Include project You can copy a project element URL to a clipboard and share it with other as a
version information quick reference to model elements. Select option to include project version infor-
to element URL
mation to element URL. For more information about Copying/Opening Element
URLs, see “Copying/Opening Element URLs” on page 271.

Floating Options Tab


This tab is available only if you use FLEXnet license server.

Figure 44 -- Environment Options dialog box. Floating options tab

Property name Function


FLEXnet license Specify the name of the FLEXnet license server.
server name
FLEXnet license Enter the port number of the FLEXnet license server. The server can be started on
server port many different ports.
Auto login to If selected, automatically logs in to the FLEXnet license server, when MagicDraw
FLEXnet license starts.
server
Borrowing period Specify a period of time for borrowing licences from the server and using them
(hours) offline.
NOTE: The maximum license borrowing period is one year.

99 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Ask if run If selected, when starting the application, the user will be asked, if he or she wants
MagicDraw without to run MagicDraw without so-called unavailable plugins, if there are some.
unavailable plugins
An unavailable plugin is the one, whose license is not available in the FLEXnet
license server.

CVS Options Tab

Figure 45 -- Environment Options dialog. CVS options tab

Property name Function


Add project to CVS When a new project is saved, it will be added to the CVS checked out directory.
after saving The Add Project to CVS dialog box appears.
Commit project to Commits project to CVS after saving it. The Commit Project to CVS dialog box
CVS after saving opens.
Update project from Updates the project from CVS before loading. The Update CVS Project dialog
CVS before loading box opens.
Location of .cvspass The path where the .cvspass is located. You may type it or choose the path from
the Open dialog box.
Local folder The path where the module will be saved on checkout action. You may type it or
choose the path from the Open dialog box.

100 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Update Options Tab

Figure 46 -- Environment Options dialog. Update options tab

Property name Function


Check for Updates Select the period for checking MagicDraw for updates:
• Manually
• On startup
• Once a day
• Once a week
• Once a month (recommended)

Show auto-checking If selected, shows the confirmation dialog each time before auto-check-
confirmation dialog ing.
box

101 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Network Options Tab

Figure 47 -- Environment Options dialog. Network options tab

Property name Function


Use HTTP proxy If selected, uses the HTTP Proxy Server when MagicDraw is checking
server for updates.
HTTP proxy server Type the HTTP Proxy Server name or IP address.
address
HTTP proxy server Type the port of the HTTP Proxy Server. The default number is 8080.
port
HTTP proxy server Type the name of the HTTP Proxy Server user.
user
Authenticate HTTP Authenticates the HTTP Proxy Server.
proxy server
Timeout (seconds, 0 Seconds to wait before cancelling a connection attempt.
- infinite)

102 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Keyboard Options Tab

Figure 48 -- Environment Options dialog. Keyboard options tab

Lists and fields available in this tab:


Category The list of all available categories of the keys (File, Edit, Tools, etc.). The default
item in this choice is always All Categories. Selecting the category opens its con-
tent in the Commands list.
Commands The list of commands from the selected category. If All Categories is selected in
the Categories list, all commands of an application are shown in this list. Com-
mands are sorted alphabetically. Selecting the command shows the preset short-
cut keys in the Current keys list.
Current keys The list of keys assigned to the selected command.
Press new shortcut The field for entering a new shortcut key. Puts a human representation of any key
key pressed in the field. If the key pressed is already assigned to another command,
the Currently Assigned To label appears with the current command name using
that key.
Currently assigned Shows the name of the command for the new key entered when this key is
to already assigned to some other command. By default is hidden. This label is only
visible if the entered key is already assigned to another command.

Buttons available in this tab:


Assign Assigns the key entered to the selected command. The key entered
is added to the Current Keys list.

103 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Remove Removes the selected keys from the selected command.


Remove All Removes all keys from the selected command.

Plugins Options Tab

Figure 49 -- Environment Options dialog. Plugins options tab

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.

Buttons available in this tab:


Disable/ Enable Disables or enables the selected plugin.

104 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Resources Options Tab


Displays the external resources such as dtd, xsd, etc. that are used in MagicDraw.

Figure 50 -- Environment Options dialog. Resources options tab

Property name Function


Configure External Define external resources that will be used in XML parsing.
Resources
Location The location of the external resource.
URI The URI of the external resource.
Edit Edit the location and the URI of the resource in the External
Resource dialog box.
Add Add a new external resource.
Remove Remove the selected resource form the list.
Configure Ignored
Resources
URI The URI of the external resource that will not be ignored in
MagicDraw.
Edit Edit the URI of the ignored external resource in the External
Resource dialog box.
Add Add a new external resource that will be ignored.
Remove Remove the selected ignored resource from the list.

105 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Path Variables Options Tab

Figure 51 -- Environment Options dialog. Path Variables options tab

Column Function
Name Any name for a path variable.
Value Path to the folder.
Description Description of the path variable.

Buttons available in this pane:


Edit In the list, select an existing path variable. Double click on the item in
the list, or click the Edit button. The Path Variables dialog box opens.
Edit the path variable.
Add The Path Variables dialog box opens. Specify a name, value, and
description for the new path variable.
Remove Remove the selected path variable.
Show suggestion to In all places where path variables can be used, after specifying absolute
use path variables path is suggested to use proper path variables. For this, the Use Path
Variables dialog box will open.

Spelling Tab
The description of the Spelling tab, you may find in Section “Setting the spell checking options” on page 353.

106 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Launchers Options Tab

Figure 52 -- Environment Options dialog. Launchers options tab

Fields available in this pane:

Default Launcher The Launcher Properties dialog opens.


Default Browser The Launcher Properties dialog opens.
Defined Launchers

Buttons available in this pane:


Edit Opens the Launcher Properties dialog box for editing launcher infor-
mation.
Add Adds a launcher in the Launcher Properties dialog box.
Remove Removes a launcher from the list.

107 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Experience Options Tab

Figure 53 -- Environment Options dialog. Experience options tab

Property name Function


Main Menu Expert Toggles visibility of the main menu by adding/removing arrows to
Mode expand menus.
Context Menu Toggles visibility of the context menu actions by adding/hiding them,
Expert Mode depending on which mode they were set to appear.
Main Toolbar Expert Toggles visibility of the toolbar menu buttons by adding/hiding them
Mode depending on which mode they were set to appear.
Diagram Main Toggles visibility of the diagram toolbar menu buttons by adding/hid-
Toolbar Expert Mode ing them depending on which mode they were set to appear.
Diagram Elements Toggles visibility of the diagram elements toolbar menu buttons by
Toolbar Expert Mode adding/hiding them depending on which mode they were set to
appear.
Properties Mode Possible choices:
• Standard
• Expert
• All

Smart Manipulator Toggles visibility of buttons in the smart manipulators menu depend-
Expert Mode ing on which mode they were set to appear.

108 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

External Tools Options Tab

Figure 54 -- Environment Options dialog. External tools options tab

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.

Buttons available in this pane:


Edit The External Tool dialog opens. You may change the name, icon, com-
mand line text , and project save/export options here.
Add The External Tool dialog box opens for new external tool configuration.
Remove Removes the selected external tool from the list.

109 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Eclipse UML2 (v1.x) XMI Options Tab

Figure 55 -- Environment Options dialog. Eclipse UML2 (v1.x) XMI options tab

Property name Function


Export
Export Model to Exports MagicDraw models (without diagrams) to UML2 format.
Eclipse UML2 XMI Possible choices:
on project save
• Do not Export
• Ask Before Export
• Always Export

Ask to overwrite If selected, a message is displayed for requesting confirmation to


exported files overwrite previously exported files.
Show stereotype If selected, the warnings will appear when exporting a model to the
property type Eclipse UML2 XMI file after the stereotype property type has been
change warning changed.
Show 'Stereotypes If selected, the warnings that the stereotype will not be applied to the
from the same element, if this element is in the same profile with the stereotype, will
profile' warning appear when exporting.

110 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Apply all profiles to If selected, all the exported profiles will be applied to the root model.
root Model If cleared, all the exported profiles will be applied to the nearest nest-
ing package.
Export Element Tag Possible choices:
as • Qualified Name
• Name
• ID

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.

111 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Eclipse UML2 (v2.x/v3.x) XMI Options Tab

Figure 56 -- Environment Options dialog. Eclipse UML2 (v2.x/v3.x) XMI options tab

Property name Function


Export
Export Model to Exports MagicDraw models (without diagrams) to UML2 format.
Eclipse UML2 XMI Possible choices:
on project save
• Do not Export
• Ask Before Export
• Always Export

Ask to overwrite If selected, a message is displayed for requesting confirmation to


exported files overwrite previously exported files.
Show stereotype If selected, the warnings will appear when exporting a model to the
property type Eclipse UML2 XMI file after the stereotype property type has been
change warning changed.
Show 'Stereotypes If selected, warnings that the stereotype will not be applied to the
from the same element, if this element is in the same profile with the stereotype, will
profile' warning appear when exporting.

112 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Property name Function


Apply all profiles to If selected, all the exported profiles will be applied to the root model.
root Model If cleared, all the exported profiles will be applied to the nearest nest-
ing package.
Change stereotype Specifies changing the stereotype’s property type’s stereotype on
property type model export.
stereotype
Select one of the following options:
• Do not change
• Single extended metaclass only
• Common super of extended metaclasses

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.

113 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Macros Options Tab

Figure 57 -- The Environment Options dialog. Macros options tab

Property name Function


Default Macro The default macro language for the Macro Engine.
Language

For detailed information about Macro Engine, see “MagicDraw MacroEngine UserGuide.pdf”.

NEW! Report Wizard Options Tab


The Report Wizard environment options allow configuring the report engine. There are three things that you
can configure:
1. Report engine properties.
2. Template mappings.
3. Template folder.

114 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Figure 58 -- Environment Options dialog. Report Wizard options tab

1. Configuring report engine properties

You can configure report engine properties, such as template process size, template pool size, various velosity
and debug report template properties.

Columns available in the Configure report properties table:

Column Function
Name A report engine property name.

115 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Customizing Environment Options

Column Function
Value A report engine property value.

Buttons associated with the Configure report properties table:


Button Function
Edit Opens the Report Properties dialog to edit the selected report engine
property.
Add Opens the Report Properties dialog to create a new report engine
property.
Remove Removes the selected report engine property from the list.

2. Configuring template mappings

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.

Columns available in the Configure template mappings table:

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.

Buttons associated with the Configure template mappings table:

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.

3. Monitor template folder option

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”.

116 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Look and Feel: Controlling the Interface

Look and Feel: Controlling the Interface


The appearance of MagicDraw windows, dialog boxes, menus, and everything inside them can be changed.
The Look and Feel submenu allows you to personalize the user interface of the MagicDraw. You can set your
favorite colors and fonts.

To make changes to the interface:

• From the Options menu, choose Look and Feel and then choose the style you wish to apply.

Figure 59 -- Interface styles for MagicDraw

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.

117 Copyright © 1998-2010 No Magic, Inc..


3 USING MAGICDRAW
Assigning Shortcut Keys

Single and Multiple Windows interface styles

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.

To set the interface style

• From the Options menu, select Interface Style, and then select one of the desired interface
styles: Single Window or Multiple Windows.

To make the Model Browser a separate window

• From the Model Browser shortcut menu, select Floating and move the window to any desired
position.

NOTE If the Dockable check box is selected, the floating tab


window will appear in a fixed edge position after trying to
move it outside the MagicDraw window borders.

Assigning Shortcut Keys


To assign or change a command shortcut key

1. From the Options menu, select Environment.


2. The Environment Options dialog box opens.
3. Select the Keyboard tab and assign the desired shortcut keys in the right pane of the dialog
box.

For more information about the Keyboard tab, see “Keyboard Options Tab” on page 103.

118 Copyright © 1998-2010 No Magic, Inc..


4 WO R K I N G W I T H P R O J E C TS

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.

In this Section, you will find the following chapters:


1. "Creating a Project", on page 119.
2. "Saving a Project", on page 124
3. "Opening a Project", on page 126
4. "Importing a Project", on page 126
5. "Exporting a Project", on page 126
6. "Setting Project Options", on page 131
7. "Searching", on page 133
8. "Project Partitioning", on page 140
9. “Exporting a Project as MOF” on page 153
10. “Ecore Support” on page 155
11. “Working with Standard Profiles” on page 164

Creating a Project
View Online Demo MagicDraw Basics

Creating a new project


All project information is stored in a single file. A project name matches the file name where the project is
saved.

The newly created project consists of the following packages:


• Data package is empty and holds all model elements.
• File View package contains components that are created during code engineering and
represent source files. Adding a resident element to a particular component causes that
element to be generated within the source file.
• UML Standard Profile contains stereotypes that are necessary for working with MagicDraw,
primitive data types and constraints (which are UML standard), and UML 2 metamodel
elements. The following data types are specified in MagicDraw: boolean, byte, char, date,
double, float, int, Integer, long, short, void, and string.

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.

119 Copyright © 1998-2010 No Magic, Inc.


4 WORKING WITH PROJECTS
Creating a Project

To create a new workspace for a blank project

• From the File menu, select New Project.


• On the main toolbar, click the New Project button.
• Press shortcut key CTRL+N.
In all cases, the New Project dialog box opens.
1. Select the Blank Project icon.
2. Specify the file name in the Name text box.
3. Click the “...” button to select the location to store a newly created project in your computer.
Click OK.

Working with multiple projects


Because you may need to manage several projects at the same time, MagicDraw allows you to work with sev-
eral projects simultaneously.

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.

To switch between loaded projects

• 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.

To close all open projects

Select Close All Projects from the File menu. The Question message box appears.

Figure 60 -- Question message box

Choose the way your projects will be closed:


Yes The project you are currently closing will be saved (its name appears in
the question). The dialog box is displayed again when the next project
closes.
Yes To All Save all projects without prompting. The Save dialog box will not appear
for each open project.
No Project you are currently closing will not be saved. The dialog box is dis-
played again when the next project closes.
No To All All the projects will be closed without saving or further prompting.
Cancel Cancel saving projects.

120 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Creating a Project

To exchange model entities between open projects

• 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.

Creating a new project from the existing source code


To create a new project from existing source files

• From the File menu, select New Project.


• On the main toolbar, click the New Project button.
• Press shortcut key CTRL+N.
In all cases, the New Project dialog box opens.
1. Select the New Project from Existing Source icon.
2. Specify the file name in the Name text box.
3. Click the “...” button to select the location to store a newly created project in your computer.
4. Select a code engineering language from the list by clicking the “...” button and click OK.

Figure 61 -- New Project dialog box - New Project from Existing Source

121 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Creating a Project

5. The Round Trip Set dialog box opens. Add the source files to enable code engineering to
reverse them into a newly created project.

Creating a new project from a previously created template


NOTE: This functionality is available in Standard, Professional, Architect and Enter-
prise editions only.

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.

To create a new project from a specified template

• From the File menu, select New Project.


• On the main toolbar, click the New Project button.
• Press shortcut key CTRL+N.
In all cases, the New Project dialog box opens.
1. Select the New Project from Template icon.
2. Specify the file name in the Name text box.
3. Click the “...” button to select the location to store a newly created project in your computer.

122 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Creating a Project

4. Select the template from the templates tree and click OK.

Figure 62 -- New Project dialog box - New Project from Template

The newly created project from a template will contain specific model elements and stereotypes.

TIP! All MagicDraw templates are located in the <MagicDraw installation


directory>/templates folder so you can import the desired template into
your previously created project using the Import MagicDraw Project
command from the File menu.

Creating a new Use Case project


To create a new project from existing source files

• From the File menu, select New Project.


• On the main toolbar, click the New Project button.
• Press shortcut key CTRL+N.
In all cases, the New Project dialog box opens.
1. Select the Use Case Project icon.
2. Specify the file name in the Name text box.

123 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Saving a Project

Click the “...” button to select the location to store a newly created project in your computer.

Figure 63 -- New Project dialog box - Use Case Project

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.

To save the project

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.

124 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Saving a Project

2. Select the destination directory (where you wish to save the project) and type the chosen file
name.

NOTE Default project save location is set according to your OS:


• Windows: My Documents/
• Linux: /home/<username>/
• Mac: Users/Documents/

3. Select the format for saving a project: Packed MagicDraw File Format (*.mdzip) (default),
MagicDraw File Format (*.mdxml), or XML (*.xml).

Figure 64 -- Save dialog box

NOTES • If the Create Backup File check box is selected in the


Environment Options dialog box, MagicDraw always creates a
backup file of the previously saved project. The backup is held in a
file with a name identical to that of the project. For a detailed
description of the Environment Options dialog box, see
“Customizing Environment Options” on page 89.
• If you want to save maximum additional information to an xmi file
(not required in loading to MagicDraw load, but may be useful when
using other tools), select the Rich XMI check box in the
Environment Options dialog.

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.

125 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Opening a Project

To save an AutoRecovery file of the open project(s) when a system is not in use.

1. Open the Environment Options dialog box.


2. In the General pane, select the Save Project Recovery Data on Idle check box. Enter the
system idle time (in minutes) in the Idle Time to Activate Recovery Save text box. This is
the length of time the system must be idle in order to activate an AutoRecovery save.

Opening a Project
IMPORTANT! The native MagicDraw format is *.mdxml, or *.mdzip.

To edit or review previously created projects

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

1. From the File menu, select Import.


2. The Import dialog box opens. Select the project you want to import and click OK. The diagrams
of the imported project are placed in the 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.

126 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Exporting a Project

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.

Exporting a project as a template


NOTE: This functionality is available in Standard, Professional, Architect, and
Enterprise editions only.

You can save (export) the created project as a template and use the same project for creating other new proj-
ects.

To export project as template

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.

Exporting a project as an Eclipse UML2 (v1.x) XMI file

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.

To export a project as an Eclipse UML2 (v1.x) XMI

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.

To change the export options

1. From the Options menu, select Environment.


2. C lick on the Eclipse UML2 (v1.x) XMI tab and change the options in the right side pane. For
more information, see “Eclipse UML2 (v1.x) XMI Options Tab” on page 110.

Exporting a project as an Eclipse UML2 (v2.x) XMI file

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.

To export a project as an Eclipse UML2 (v2.x) XMI

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.

127 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Exporting a Project

To change the export options

1. From the Options menu, select Environment.


2. C lick on the Eclipse UML2 (v2.x) XMI tab and change the options in the right side pane. For
more information, see “Eclipse UML2 (v2.x/v3.x) XMI Options Tab” on page 112.

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.

To export a BP diagram to BPEL

1. Create Business Process diagram.


2. From the File menu, select Export and then BPEL. The BPEL Export dialog box opens.
3. Select the existing Business Process diagram in the tree and click the Export button. The Save
dialog box opens.
4. Save the BPEL file in the selected location. A message stating the export was successful will
appear.

If the BPEL export can not be performed, a Message Window appears with a detailed description of problems.

To evaluate validation rules for export

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-

128 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Exporting a Project

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.

Task and Sub-Process


• Task and Sub-Process cannot have any Event attached to them.
• Task notations must have only one incoming Sequence Flow. In case there are multiple
incoming Sequence Flows for a Task, it is recommended to use the Gateway for convergence,
instead.
• A diagram (process) inside the Expanded Sub-Process must follow the same rules as the outer
diagram (process).
An exception to this is the End Event None can be used in the Expanded Sub-Process.
All notations inside the Expanded Sub-Process cannot have an incoming Sequence Flow or an
outgoing Sequence Flow linked directly to notations outside the Expanded Sub-Process.

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.

DataBased XOR Gateway


• If there is only one incoming Sequence Flow to the Data-based XOR Gateway and more than
one outgoing Sequence Flow, the Data-based XOR Gateway will act as a convergence. A
Data-based XOR Gateway must have one outgoing Default Sequence Flow and at least one

129 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Exporting a Project

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.

130 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Setting Project Options

• Default Sequence Flow and Condition Sequence Flow are only allowed to be used with the
Gateway notation.

Setting Project Options

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.

To define Project Options

From the Options main menu, select Project. The Project Options dialog box opens.

Figure 65 -- Project Options dialog box

131 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Setting Project Options

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.

132 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

• 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.

To quickly find the needed classifier or diagram

1. From the Edit menu, select Quick Find.


2. In the opened dialog, type the name of the classifier or diagram (also, you can select it from the
drop-down list) and choose one of the option buttons for the advanced search.

Figure 66 -- Quick Find dialog

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.

Find all elements of the same type

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.

133 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

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.

Find model elements and symbols in your project

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.

To search for symbols in an active diagram

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.

134 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

Find dialog box

Figure 67 -- Find dialog box

The Find dialog box contains five tabs:

Tab Name Tab Icon


Search Element by Name

Search Element by Stereotype

Search Element by Tagged Value

Search Element by Constraint Value

Search Element by Documentation

135 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

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.

136 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

Java Regular Expressions

Metacharacters

There are several characters supported, which are used to form search patterns ([{\^$|)?*+.

There are two ways to force a metacharacter to be treated as an ordinary character:


• + Precede the metacharacter with a backslash
• + Enclose it within \Q (starts the quote) and \E (ends it).

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).

Predefined character sets:

. 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

Capturing groups helps to treat multiple characters as a single unit.

Example:
Regular Expression: ABC|(\dABC)
Matched text: any text containing ABC symbol set or ABC symbol set beginning with any digit
symbol.

Quantifiers

Quantifiers allow specify a number of character (X) appearances.


X? Match X zero or one time.

137 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

X* Match X zero or many time.


X+ Match X one or many time.
X{n} Match X exactly n times.
X{n,} Match X at least n times.
X{n,m} Match X exactly n times, but not more than m times.

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).

Embedded Flag Expressions


Allows setting to set properties for a regular expression matcher.
(?i) Case insensitive matching.
(?x) Ignores white spaces in regular expression.
(?m) Enables multi line option. If not specified, boundary matches ^ and $
matches beginning of the input and end respectively.
(?s) Enables expression "." to match any character including line termi-
nators. If not specified, dot in expression does not match line termi-
nators.
(?u) Enable Unicode-aware case folding. When this flag is specified,
case insensitivity is applied to the Unicode standard.
(?d) Enable Unix lines mode. Only terminator '\n' is recognized in behav-
ior of ".","^","$"

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.

138 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Searching

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.

You can change the values for the following properties:


• Names
• Documentation
• Tag values
• Text included to Notes
• Text included to Text Boxes
• Expressions.

To replace a value:
1. From the Edit menu, select Find and Replace. The Find and Replace dialog box opens.

Figure 68 -- Find and Replace dialog box

2. Type the value to be replaced into the Find What field.


3. In the Replace With field, type the value that will replace the value of the found element.
4. Specify the search criteria. For more information about the search criteria, see “Searching” on
page 133.

139 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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 the model


If you developed, or are developing, a large model that has several weakly dependent parts, it is advisable to
split it into several module files. Partitioning opens up possibilities for reusing model parts in several related
projects and may improve performance on very large projects, when modules are loaded selectively.

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.

MagicDraw module functionality allows two important possibilities:


• possibility to work without all modules loaded;
• read-write 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.

140 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

Exporting the module of a project


NOTE: This functionality is available in Standard, Professional, Architect, and Enter-
prise editions only.

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.

To export any module using the File menu

1. From the File main menu, select Export, and then select Module. The Export Profile/Module
dialog box opens.

Figure 69 -- The Select Package dialog box for module exportation

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.

To export the selected module using the package shortcut menu

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.

141 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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.

This action can be thought as consisting of 3 elementary steps:


• Saving model elements into the module file.
• Sharing the entire contents of the module.
• Using the module in the main project.

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.

Sharing the module of a project


NOTE: This functionality is available in Standard, Professional, Architect and Enter-
prise editions only.

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).

To designate packages of the module as shared

• From the File main menu, select Shared Packages.


• From the package shortcut menu, select Modules and then Shared Packages. The Shared
Packages dialog box opens. Use the Add button to select more packages for multiple
simultaneous sharing, if needed. Click OK.

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.

142 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

Managing modules (the Modules dialog box)


From the Options main menu, select Modules.

Figure 70 -- The Modules dialog box

Box name Function


Module Accessability Specifies the way a module can be used in a project:
• read-only modules are not editable within the project using
it.
• read-write modules can be edited in place - directly in the
project using it.
Module Load Mode Sets the module loading mode:
• Always load (default) - modules are always loaded when
the project is opened.
• Autoload - module is not loaded when the project using it is
loaded. However, MagicDraw monitors user activities in the
project and tries to anticipate guess when the user might
want to use the model piece from the unloaded module.
• Autoload with prompt - mode is similar to Autoload.
However, MagicDraw will ask the user before loading the
module.
• Manual load - module is not loaded when the project using it
is loaded.
Use Module Index If selected, uses the indexing scope specified in the Project
Options dialog. For more information about indexing, see
“Indexing” on page 149.
Shared Package Name of the shared package.

143 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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.

Analyzing Dependencies Among Elements


A package can be exported to an independent module only if it does not depend on external elements (except
other modules). Cyclical dependencies between several modules are not allowed.

All the information about analyzing and checking package dependencies you may find in the Section “Analyzing
Package Dependencies” (see on page -412)

There are three types of dependencies:


• Dependency by relationship
• Dependency by reference
• Diagram dependencies

Using the module of a project


When a module is used in another project, its contents are linked-in and made accessible in the model tree of
the project using them as if it were part of the project.

To use a module in a project

1. From the File main menu, select Use Module.


2. In the Use Module dialog box, select the module you want to use in your project, specify the
module settings and click OK.
The model elements are still stored separately; module elements - in the module file and main
project elements - in the main project file.

The Use Module Wizard

From the File menu, select the Use Module command.

144 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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

145 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

Box name Function


From file system Allows selecting module file from your file system. Click the
“...” button next to the Module file text box, to browse to mod-
ule file (Figure 71 on page 145).
From predefined location Allows selecting modules from predefined locations. Select
project module path from a paths list, and then select module
file from the list below. Click the “...” button next to the Project
modules paths text box to add new module path to your proj-
ect. The Select Folder dialog box will open (Figure 72 on
page 145).
Module description Displays the module description.
Next Proceeds to the next step.
Finish Saves changes and closes the dialog box.
Cancel Cancels the dialog box without saving changes
Help Displays MagicDraw Help.

Figure 73 -- The Use Module Wizard, Step2 - Module Settings

For more information about the options in this step, see “Managing modules (the Modules dialog box)” on
page 143.

Reusing model parts between models

When models are properly partitioned, model parts can be reused in other projects.

146 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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.

There are two ways to use the module in the project:


• read-only modules are not editable within the project using it.
• read-write modules can be edited in place - directly in the project using it.

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.

To change module accessibility 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.

When to use read-only module?

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.

When to use read-write module?

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.

Reloading the module of a project


The best way to access the latest changes to your module is to reload it. All modifications made in the other
project for this module and then exported as modules with the same name, are reloaded in the current project.

147 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

To reload the module

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.

Importing the module of a project


If you wish to store model elements of the module in the main project file, you can import the module into the
project.

To import a module into a project

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.

Working with partially loaded projects


In MagicDraw v11.5, the possibility to work with some modules unloaded was added. Prior to this release, all
the modules were required to be loaded when the main project was loaded. If the module file was missing, it
was an error.

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.

To unload a module from a project

From the module shortcut menu, select Modules and then Unload Module.
An unloaded module can be loaded at any time.

To load a module in a project

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.).

148 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

There are 4 module loading modes:


• Always load (default) - this mode of operation closely mimics the pre-v11.5 MagicDraw
functionality. In this mode, modules are always loaded when the project is opened. They can be
unloaded if the user deems it necessary.
• Autoload - module is not loaded when the using project using it is loaded. However, MagicDraw
monitors user activities in the project and tries to anticipates when the user might want to use
the model piece from the unloaded module. E.g. if the user does the search, finds usages/
dependencies, reports, metrics, transformations, or code engineering actions with a scope that
touches the unloaded module, MagicDraw will load the module.
• Autoload with prompt - mode differs from the Autoload mode in this way: MagicDraw will ask
the user before loading the module.
• Manual load - module is not loaded when the project using it is loaded. It can be loaded, using
the aforementioned Load Module command.

To change the module loading mode

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.

To specify indexing scope

1. First open the module as a project.

149 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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.

Missing elements for the proxies (orphaned proxies)


Orphaned proxy is really an indication of the dangling reference. Appearance of the proxy is indication that
some other elements for example from outside the module (i.e. elements in the main project or other modules)
reference to the element in the module that was previously there but no longer exists. Element was deleted/
removed/somehow made unavailable in the module. In such case MagicDraw creates so called “orphaned

150 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

proxy” in place of the missing element - a surrogate/not real element in place where real element was once in
the past.

Displaying orphaned proxies in a project

MagicDraw distinguish orphaned proxies from normal elements in the project:


• Orphaned proxies are indicated with [!] adornment in the model tree.

• 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.

Searching for orphan proxies

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.

Resolving orphaned proxies

Each orphaned proxy can be resolved.

To resolve the orphaned proxy:

• Right-click the orphaned proxy in the search result or Containment Tree and select the menu
item Orphaned Proxy Resolution.

There are 4 actions you can do with the orphaned proxies:


1. Clear Proxy Usages. This resolution can also be triggered by simply pressing the Delete but-
ton. The action clears all the references to this non existing element, hence there is no more
need for the proxy to appear.

151 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Project Partitioning

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.

Creating New Substitute

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).

152 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Exporting a Project as MOF

NOTE: This action might be disabled if the substitute to be created must be in


the module, but this module read-only. In this case simply change mod-
ule to read-write in the Module Options dialog (Options>Modules)
and the action will be enabled.

Deleting orphan proxies

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.

To delete orphan proxy:


• Right-click each proxy>Orphaned Proxy Resolution>Clear Proxy Usages.
• Press Delete on the selected orphan proxy.

You can also do this en masse:


1. Run a search (Ctrl+F).
2. Check the Orphaned Proxies Only check box. This will give you all the orphan proxies in your
model in the search results.
3. Select them all and press Delete.

When references to them are cleared, orphan proxies will disappear.

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.

Exporting a Project as MOF


This feature renews the MagicDraw metamodeling portfolio. MagicDraw is able to export/import the UML model
into/from the MOF (both CMOF and EMOF) XMI format.

To export a project as a MOF

• To export the model into the MOF, from the File main menu, select Export and then MOF.

To import a project as a MOF

• To import the MOF from the File main menu, select Open Project and select to open *.emof or
*.cmof file.

Data which can not be exported

• Diagram data can not be exported.

153 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Exporting a Project as MOF

• None of the model features that are available only in UML will be exported (behavioral models
in particular, etc).

MOF Domain model

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.

Exporting the whole MOF model

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).

Figure 74 -- The Select Target File dialog box

Select directory to export the file, type the file name.

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.

Exporting the selected part of the MOF model

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

154 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

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.

Figure 75 -- The Select Packages to Export dialog box

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

155 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

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.

Preparing Ecore Models


To start modeling in Ecore, you can use “new project from template” functionality. Select File>New form main
menu, then choose Project from Template project type, and select the Metamodeling>Ecore Template tem-
plate.

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:

156 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

Figure 76 -- Ecore Package Additional Properties

Ecore classifier (class, data type, enumeration) has an additional instanceClassName, instanceTypeName
fields:

157 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

Figure 77 -- Ecore Classifier Additional Properties

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:

158 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

Figure 78 -- Ecore Attribute, Reference Additional Properties

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:

159 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

Figure 79 -- Applying EcoreAnnotation Stereotype

160 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

Figure 80 -- Filling In Annotation Details - Key - Value Map

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.

161 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

Figure 81 -- Selecting Target File for Ecore 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.

Figure 82 -- Selecting Part of the Model for Ecore Export

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.

162 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Ecore Support

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.

163 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Working with Standard Profiles

Working with Standard Profiles

Standard Profiles as System Resources


All profiles and libraries, which are bundled with MagicDraw family products are considered as standard/system
resources, which are non-modifiable and are essential for correct tool behavior.

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.

Users will be warned on any intentional or unintentional attempt to modify them:


• Open a profile as a project.
• Use a module in read-write mode.
• Import a module into a project.
• Merge projects.
• any other cases.

Plugin and Profile Versions

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.

Standard Profiles in Teamwork Server


Standard/system profiles and modules will not be added into Teamwork Server anymore, because every user
has recent versions installed locally. As profiles/modules are non-modifiable, version control is not needed. It

164 Copyright © 1998-2010 No Magic, Inc..


4 WORKING WITH PROJECTS
Working with Standard Profiles

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.

165 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING

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.

In the Diagramming chapter, you will find the following sections:


1. "Working with Diagrams", on page 166
2. "Working with Shapes of Model Elements", on page 177
3. "Working with Paths and Relationships", on page 180
4. "Smart Manipulation", on page 184
5. "Selection and Multiple Selections", on page 186
6. "Copying/Pasting Text or Images to Diagrams", on page 188
7. "Nesting Image Shapes", on page 189
8. "Dragging, Copying, Cutting, and Pasting", on page 189
9. "Zooming", on page 196
10. "Using the Grid", on page 197
11. "Layout", on page 197
12. "Showing Diagrams in Full Screen", on page 211
13. "Floating Diagram Window", on page 212
14. "Saving as an Image", on page 212
15. "Printing", on page 214

Working with Diagrams


View Online Demo MagicDraw Basics

Diagram Basics

To create a new diagram

• From the toolbar:


Click the desired diagram button on the toolbar. The Create Diagram dialog box opens. Enter
the name of the diagram and select or create a package where you wish to create your
diagram.
• From the Diagrams menu:
From the Diagrams menu, select the desired diagram. The corresponding Diagrams dialog
box opens. Click Add. The Create Diagram dialog box opens. Enter the name of the diagram
and select or create a package where you wish to create your diagram.

166 Copyright © 1998-2010 No Magic, Inc.


5 DIAGRAMMING
Working with Diagrams

• From the Browser:


Right-click the desired model element in which you would like to create a diagram and, from the
shortcut menu, select New Diagram. Type the name for diagram directly in the Browser.
• From the model element Specification dialog box:
Open the Package, Profile, Model Specification or other elements Inner Elements tab. Click
Create. The corresponding Diagram Specification dialog box opens. In this dialog box, you
can define the diagram name, enter documentation, define stereotypes, and add tagged values
and/or constraints.
NOTE You may create a diagram in the selected package, model, or profile.

To open a diagram

• From the Browser:


Select Open from the diagram item shortcut menu or double-click the diagram item.
• From the Diagrams menu:
From the Diagrams menu, select the desired diagram. The corresponding Diagrams dialog
box opens. Click the Open button.
• From the Content Diagram (available in the Standard, Professional, Architect, and Enterprise
editions only), if a diagram is added to the table of contents or a symbol of a diagram is drawn
on the Diagram Pane.
• If the diagram is assigned to a particular model element, double click this model element.

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.

Define a diagram in the corresponding Diagram Specification dialog box.

167 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

To split diagrams in new horizontal or vertical group

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 show the diagram owner on the diagram tab

1. In the package, create diagram.


2. Select the open diagram tab and right-click to open the shortcut menu.
3. Select the Show Owner check box. The package name appears on the diagram tab.

Diagram Specification dialog box

Figure 83 -- Diagram Specification dialog box

To rename a diagram

In the corresponding Diagram Specification dialog box, type a new diagram name.

To change diagram context

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.

Diagrams Dialog Box


The Diagrams dialog box is used for the following purposes:

168 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

• For viewing the owner of the diagram.


• For creating a new corresponding type of diagram.
• For editing the name and other characteristics of the diagram.
• For removing a diagram from the project.
• For opening a diagram.

To open the corresponding Diagrams dialog box

From the Diagrams menu, select one of the diagrams. Depending on the type of diagram, the
dialog box that opens has a corresponding title.

Figure 84 -- Diagrams dialog box

The Diagrams dialog box contains the following elements:

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.

To open the Diagram Properties dialog box

• Select Diagram Properties from the diagram shortcut menu. The Properties dialog box
opens.

169 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

• From the Edit menu, select Symbol, and then select Diagram Properties.
• Press SHIFT+ENTER.

Figure 85 -- Diagram Properties dialog box

The Diagram Properties dialog box contains the following elements:

Element name Function


Pen Color Change the color of paths or diagram frame line.
Text Color Change the text color of the diagram frame name.
Font Change the font style of the text.
Background Color Set the diagram background color. Click the ’...’ button. The Color
dialog box opens. Set the color in one of three different ways:
using Swatches, HSB, or RGB tabs.
Use Gradient Fill Sets the gradient for the shapes fill color.
3D Shadow Displays 3D shadow on symbols.
Show Grid Shows the grid on the Diagram pane.
Grid Size Sets grid size from 2 to 30.
Snap Paths to Grid Uses the grid on the diagram for drawing paths.
Snap Shapes to Grid Uses the grid on the diagram for drawing shapes.

170 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

Element name Function


Show Message Displays message numbers on the diagram.
Numbers
(Available only for
Activity,
Communication, and
Sequence diagrams)
Use Advanced Displays more detailed message numbering on the diagram.
Numbering
(Available only for
Activity,
Communication, and
Sequence diagrams)
Show Diagram Info Displays a table on the diagram that contains information about
the diagram (Diagram name, Author, Creation date, Modification
date, etc.). You can specify what information you want to include
in the Project Options dialog box (Options menu->Project).
Show Owner Displays diagram owner on the diagram tab.
Show Stereotypes Displays stereotypes on the diagram symbol.
Use Stereotype Utilizing the Use Stereotype property, you may choose to display
context stereotype or diagram stereotype in the diagram frame
and on the diagram shape. For more information about the Use
Stereotype property, see “To display the context stereotype
instead of the diagram stereotype on the diagram frame” on
page 173.
Stereotype Color Changes the color of the stereotyped text label.
Stereotype Font Changes the font style of the stereotyped text label.
Diagram Orientation Available for Activity and Business Process diagrams for correct
rectilinear path braking and drawing paths between shapes from
side to side, or from bottom to top shape borders.
Apply Style Selects the predefined style.
Make Default Sets the specified style as default.
OK Saves changes and exits the dialog box.
Cancel Exits the dialog box without saving changes.
Help Displays MagicDraw Help.

Diagram Name and its Context Name Synchronization


The diagram name and its context name are synchronized automatically.

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:

Synchronization works in the following cases:


• Activity and Activity diagram inside.
• Interaction and Communication or Sequence diagram inside.
• (Protocol) State Machine and (Protocol) State Machine diagram inside.
• Class and all available inner diagrams inside.

171 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

To turn off the synchronization

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.

To show/hide the diagram frame

From the diagram pane shortcut menu, select/clear the Show Diagram Frame check box.

To change the diagram frame properties

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.

Property name Function


Show Diagram Frame Displays the diagram frame on the diagram pane.
Show Abbreviated Shows full/abbreviated diagram keyword type on the
Types diagram frame header.
Show Diagram Name Shows the diagram name and icon in the diagram
frame header.
Show Parameters Diagram context element parameters are displayed in
the diagram frame header.

172 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

Property name Function


Show Context Name Diagram context element name is displayed in the dia-
gram frame header.
Show Context Type Diagram context element type is displayed in the dia-
gram frame header.
Show Diagram Type Shows the diagram type in the diagram frame header.
Show Context Kind Shows context kind, which is a keyword predefined in
UML (e.g. package, class, activity) in the diagram
frame header.
Autosize Adjusts the size of the diagram frame to the contained
information so that it uses minimum space.
NEW! Autosizing is automatically switched off when
the shape is being resized by the user.

To hide the icon on the diagram frame

1. Invoke the diagram Properties dialog box.


2. Change the Show Stereotypes property value to Text.

Figure 86 -- Diagram Frame with hidden diagram icon

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.

173 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

Drawing the Shapes of the Diagrams


UML diagrams are graphical representations of parts of the UML model. You can show any diagram shape in
all types of diagram.

More information about working with shapes you may find in Section “Working with Shapes of Model Elements”
on page 177.

To display a diagram shape on the diagram pane

1. Select the diagram in the Browser.


2. Drag the diagram and drop it in the diagram pane. The diagram symbol is displayed on the dia-
gram pane. The diagram type is written in the diagram heading - class, use case, etc.

To display stereotypes, tags, and constraints on the diagram shape

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.

To display the abbreviated diagram type

1. On the diagram pane select the diagram shape.


2. In the shortcut menu, select the Show Abbreviated Type check box.
-or-
• From the diagram shape shortcut menu, open the Symbol Properties dialog box and select
the Show Abbreviated Type check box.

The list of abbreviated diagram types is presented in the following table:

Diagram name Abbreviation


Use Case uc
Communication comm
Sequence sd
State Machine stm
Activity sct
Implementation impl
Composite cs
Structure

174 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

Table with Diagram Information


On the diagram, you may display a table containing various diagram details: its name, author, status, the dates
it was created and modified, etc. By default, the Diagram info table is displayed at the right top corner of the dia-
gram frame, but you can drag and drop it to any other position on the diagram.

The table includes the following fields:


• Diagram name
• Author
• Creation date
• Modification date
• Last Modified by
• Other available tag definitions

To show the table containing the diagram information

1. From the diagram shortcut menu, select Show Diagram Info.


2. The table with the predefined information will be displayed on the diagram.

To define information that will be included in the table

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.

Changing the diagram type


The diagram type may be changed to another type of diagram if both diagram types are compatible. Note: dia-
gram elements are not converted.

Changing the diagram type is usable:


• To migrate with existing project to the a diagram type which was not available till then. For
example, to migrate Class diagram to the SysML Block Definition diagram.
• To migrate with existing project from the diagram type, which will be dropped from your project.
For example, if user has decided to drop plug-in, and needs to convert plugin specific diagram
to standard MagicDraw diagrams.

175 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Diagrams

Diagram conversion scenarios:


• Any static diagram may be converted to another type of static diagram.
• Any dynamic diagram may be converted to another diagram, if both diagrams are based on the
same diagram type and diagrams are compatible.

To change the diagram type:


1. Select one or more the same type diagrams in the Browser (Containment or Diagrams tree).
2. From the shortcut menu, choose command Change Type To and select desired diagram type
from the list (see Figure 87 on page 176).

You can also convert multiple the same type diagrams – select them in the Browser and choose command
Change Type To.

Figure 87 -- Changing the diagram type

176 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Shapes of Model Elements

Working with Shapes of Model Elements


View Online MagicDraw Basics
Demo

To draw a shape on 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). 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.

To draw a number of shapes on 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).

To draw a shape for the selected item in the Browser tree

1. Activate a diagram on which you wish to draw a shape.


2. From the Browser tree, select an item you wish to draw.
3. From the item shortcut menu, select Create Symbol or drag and drop the selected model ele-
ment onto the diagram pane.

To specify the name of the shape (when it is allowed)

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.

To create several shapes with the same data

• 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.

177 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Shapes of Model Elements

1. Specify a shape name.


2. Draw another shape of the same kind on the Diagram pane.
3. Click the shape in the name area. The list of existing shape names appears.
4. Select a name for the shape from the list.

NOTES •These shapes will contain identical data.


•Auto completion for entering names is available for all elements.

IMPORTANT If you attempt to enter an existing name in the corresponding Specifi-


cation dialog box, an error message alerts you to the existence of the
current name of the shape. You may not specify a name for a new
shape if another shape of the same name and kind is already present
in the package.

To use autocompletion when typing the element name

• 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.

178 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Shapes of Model Elements

To assign an existing type or to create a new type to an element

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.

To delete the selected model element or symbol

• 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.

When you use other methods to delete relationships, the relationship


data is automatically deleted.

179 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Paths and Relationships

Working with Paths and Relationships


View Online MagicDraw Basics
Demo

To create a path between shapes

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 between shapes

• 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.

To create a number of paths

1. Click the appropriate path button on the diagram toolbar.


2. Click the Sticky button on the Diagram toolbar (shortcut key is Z.)
3. Click the first (source) shape of the path.
4. Drag the path to the second (target) shape of the path and drop it there.
5. Click the first (source) shape of the path to draw the next path.
6. Drag the path to the target shape and drop it there. The new path is created between the two
shapes. Repeat this until you create the desired number of paths of that type.
7. Click the Sticky button on the Diagram toolbar (shortcut key is Z.)

To change a path appearance style

1. Select the path.


2. Right-click the path or select Path from the Edit menu, and select the commands you need:
• To set the path as rectilinear, oblique, or bezier, select Path Style.
• To select a path style, select Change Path Style (shortcut keys CTRL+L.)
• To reset path labels to the default position, select Reset Labels Positions.
• To remove all angles of the path, select Remove Break Points.

NOTES • Every diagram has the Manipulation Highlighting feature. When


drawing a path between two model elements, you will see that those
shapes are bordered with a red or blue rectangle. The red color
indicates that the path may not be drawn between these shapes.
Blue rectangle allows a path to be drawn.
• Remove the manipulation highlighting in the Environment Options
dialog box, Diagram section, Edit group. For more information, see
“Customizing Environment Options” on page 89.
• For drawing a path, you can use smart manipulations menu, which
appears near the element symbol. Select a path and drag it to the
target shape.

180 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Paths and Relationships

To make the path corners rounded

1. Select the path.


2. From the paths shortcut menu, select the Rounded Corners check box.
• Right-click the path and select Symbol(s) Properties and in the Properties dialog box, set the
Rounded Corners property to true

To create line jumps

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.

The Add Line Jumps To property has the following options:


• None. Line jumps are not displayed. (Default value)

Figure 88 -- Diagram with no line jumps

• Horizontal Line. Line jumps are displayed on horizontal lines.

Figure 89 -- Diagram with horizontal line jumps

• Vertical Line. Line jumps are displayed on vertical lines.

Figure 90 -- Diagram with vertical line jumps

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 .

181 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Paths and Relationships

Inserting a Shape on the Path


NOTE: This functionality is available in the State and Activity diagrams.

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.

To insert a new shape splitting path on the diagram pane

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

182 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Working with Paths and Relationships

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.

• Do not insert. Action is cancelled and the dialog is closed.

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.

Creating Relations from the Model


The main purpose of this functionality is to allow connecting and create traceability, according to UML, among
elements, which are not from the same diagram. In other words, to link elements from a model without the need
to place them in the same diagram.

Advantages of this implementation:


• Working time is saved on creating a diagram just to link elements for traceability.
• Some elements cannot be added to the same diagram and linked (elements from Behavior
diagrams - Actions, States, Lifelines cannot be added to Static diagrams), this feature will allow
the linking of such elements.
• Capability to relate multiple elements to a single element quickly. This is the usual case when a
single element is represented with many elements in different abstraction levels or domains.
• The allocation relationship can provide an effective means for navigating the model by
establishing cross relationships and ensuring the various parts of the model are properly
integrated. For example, activity allocation to a bloc in SysML.
• Another example is creating an abstraction relationship with a stereotype <<trace>> between
the model elements or sets of model elements that represent the same concept in different
models.
• Smart manipulators allow connecting to any existing element quickly. Also, any Relation used
with an element has a smart manipulator included. Draw any relation from any element and you
will be able to select the existing target element from the browser.

To create a new relation for an element

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.

183 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Smart Manipulation

-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.

There are two types of Smart Manipulators:


1. Small buttons are displayed within the symbol on the diagram pane..

2. Smart Manipulator toolbar, which appears when elements are selected on the diagram pane.

184 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Smart Manipulation

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.

To create a new element connected to a particular element

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.

TIP! To create a path breakpoint use the following keyboard combination:


Ctrl key + Mouse click.

TIP! To cancel the drawing of an element, press Esc.

The Autosize option is automatically added for all shapes.

NOTE NEW! Autosizing is automatically switched off when the shape is being
resized by the user.

To hide smart manipulation

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.

To solve the detected symbol ownership problem

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.

For more information see “Resource Manager” on page 344.

185 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Selection and Multiple Selections

Selection and Multiple Selections


To select a shape

• Click the desired shape on the Diagram pane.

To deselect the selected shape

Click outside the shape on the Diagram pane.

To select all shapes of the same type

Press ALT and click the shape. All shapes of the same type are selected.

To select all shapes on the diagram

From the Edit menu, select Select All (shortcut keys CTRL+A.)To make multiple selections

1. Click the shape on the Diagram pane.


2. Hold down the SHIFT key and click another shape. Repeat until you select the desired number
of shapes.
• Drag the cursor diagonally across the area you wish to select. All shapes in the selected area
will be selected.

To select a group of shapes

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.

See the sample of the rectangular selection in Figure 1.

Figure 91 -- Rectangular selection

186 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Selection and Multiple Selections

After the selection process represented in the Figure 1, the following shapes are selected, as shown in Figure
2.

Figure 92 -- Rectangular selection result with partial selection coverage mode

The following rectangular selection modes are available:


1. Partial coverage. Symbols which are only partly covered with the rectangular selector are
selected. See Figure 2. After the selection process represented in Figure 1, the class Shipment
is selected by the rectangular selector, even though it was only partially covered.
2. Complete coverage. Only those symbols that are fully covered by the rectangular selection pro-
cess will be selected. See Figure 3. For example, after the selection process shown in the Fig-
ure 1, the class Shipment and the associations are not selected because these symbols were
not fully covered.

Figure 93 -- Rectangular selection result with complete coverage selection mode

Default selection mode is Partial coverage.

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.

To change the group selection mode for the whole project:


• In the main diagram toolbar press the Complete coverage mode for group selection button
(see Figure 94 on page 188).

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.

187 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Copying/Pasting Text or Images to Diagrams

Figure 94 -- The Complete coverage mode for group selection button

Copying/Pasting Text or Images to Diagrams


It is now possible to copy and paste text or images to a diagram. A text box and an image shape will be avail-
able for the copied text or image. MagicDraw supports HTML and plain text, .gif, .jpg, .svg, and .png image file
types. To copy and paste text or image:
1. Copy text or image(Ctrl+C).
2. Open a MagicDraw diagram.
3. Paste the copied text or image (Ctrl+P). The Paste Special dialog will open (Figure 95 on
page 188).

Figure 95 -- The Paste Special Dialog

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.

188 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Nesting Image Shapes

Nesting Image Shapes


You can now drag an image to any elements in a diagram as nested a element (Figure 96 on page 189).

To drag an image to an element:


1. Select an image in the diagram pane.
2. Drag it to the image shape.

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

Dragging, Copying, Cutting, and Pasting


Move a shape to another location on the diagram pane by dragging-and-dropping.

To drag multiple selected symbols

Select the symbols and drag them to the desired area on the diagram pane.

To copy a shape using dragging-and-dropping

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.

189 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Dragging, Copying, Cutting, and Pasting

To copy/cut and paste the selected shape on the diagram

1. From the Edit menu, select Copy/Cut (shortcut keys CTRL+C/CTRL+X.)


2. From the Edit menu, select Paste (shortcut keys CTRL+V.)

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 whole diagram and paste it to MS Office or other application

1. Select or deselect all model elements on the diagram.


2. From the Edit menu, select Copy as BMP Image, Copy as EMF Image, Copy as JPG Image,
or Copy as PNG Image (shortcut keys CTRL+SHIFT+B, CTRL+SHIFT+E, CTRL+SHIFT+J, or
CTRL+SHIFT+P)
3. Open the desired application and paste the copied diagram.

To copy the selected model elements and paste to MS Office or other application

1. Select the desired model elements on the diagram pane.


2. From the Edit menu, select Copy as BMP Image, Copy as EMF Image, Copy as JPG Image,
or Copy as PNG Image (shortcut keys CTRL+SHIFT+B, CTRL+SHIFT+E, CTRL+SHIFT+J, or
CTRL+SHIFT+P).
3. Open the desired application and paste the copied model elements.

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).

Dragging a File to an Element

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.

To drag a file on an element:


1. Select a file in your Explorer (Figure 97 on page 191).
2. Drag it to the element in the browser or in a diagram in MagicDraw (Figure 98 on page 191). A
hyperlink to the file will be created.

Figure 98 on page 191 show how a hyperlink from the Products package to the Products_description.doc file is
created.

190 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Dragging, Copying, Cutting, and Pasting

Figure 97 -- Selecting File in Your Explorer

Figure 98 -- Dragging a File to the Element and Creating a Hyperlink

Drag and drop MagicDraw file on a diagram to open project

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).

191 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Dragging, Copying, Cutting, and Pasting

Figure 99 -- Dropping MagicDraw project file to diagram

Dragging an Image to an Element

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).

The image will be set as a Stereotype icon if it is dragged to a Stereotype.

Figure 100 -- Image was Dragged and Dropped to the Class Shape

192 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Dragging, Copying, Cutting, and Pasting

Figure 101 -- The Image Property in the Class Specification Dialog

Dragging Elements in the Specification Dialog

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.

193 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Dragging, Copying, Cutting, and Pasting

Figure 102 -- Dragging Class to the Property in the Specification Dialog

Dragging elements from the Specification dialog

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.

194 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Dragging, Copying, Cutting, and Pasting

• Or (ii) drag it to the existing shape to create a new Attribute with Type.

Figure 103 -- Dragging from the Customer Class Specification Dialog

Drag and drop Stereotype

You can now drag Stereotype from Browser or Diagram on any other element to apply it.

Drag and drop in Sequence diagram

• 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.

NOTE The Lifeline type must have/inherit this operation.

• 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.

Drag-and-drop in State Machine Diagrams

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.

Drag-and-drop in Activity Diagrams

It is now possible to:


• Drag a Signal to an Activity diagram to create a Send Signal Action.
• Drag a Signal to a Send Signal Action to set or change the Signal.
• Drag an Event to an Activity diagram to create an Accept Event Action.

195 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Zooming

• Drag an Event to an Accept Event Action to set the Event.

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.

To fit the current diagram in the window

• 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 .

To zoom into the current diagram

• From the View menu or from the diagram shortcut menu, select Zoom In (shortcut keys
CTRL+NumPad PLUS SIGN (+) or scroll.)

• Click the Zoom In toolbar button .

To zoom out from the current diagram

• From the View menu or from the diagram shortcut menu, select Zoom Out (shortcut keys
CTRL+NumPad MINUS SIGN (-) or scroll.)

• Click the Zoom Out toolbar button .


TIP! You can zoom in or zoom out using the CTRL+wheel keys.

To restore the diagram to the original size

• From the View menu or from the diagram shortcut menu, select Zoom 1:1 (shortcut keys
CTRL+NumPad SLASH MARK (/).)

• Click the Zoom 1:1 toolbar button .

To view the selected shapes at maximum size

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 (*).)

To select the zoom settings

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.

196 Copyright © 1998-2010 No Magic, Inc..


5 DIAGRAMMING
Using the Grid

Using the Grid


The grid helps to arrange diagram symbols on the diagram pane. By default the grid is in the visible state.

To change the grid state (visible, not visible)

From either the View menu or from the diagram shortcut menu, select Grid and then select/clear
the Show Grid check box.

To pull a path with the intersection of gridlines

From either the View menu or from the diagram shortcut menu, select Grid and then select/clear
the Snap Paths to Grid check box.

To pull a shape with the intersection of gridlines

From either the View menu or from the diagram shortcut menu, select Grid and then select/clear
the Snap Shapes to Grid check box.

To change the grid size

1. From either the View menu or from the