0% found this document useful (0 votes)
182 views181 pages

Cameo Requirements Modeler Plugin UserGuide

Uploaded by

Erick Lopes
Copyright
© © All Rights Reserved
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)
182 views181 pages

Cameo Requirements Modeler Plugin UserGuide

Uploaded by

Erick Lopes
Copyright
© © All Rights Reserved
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
You are on page 1/ 181

Cameo Requirements Modeler

Plugin 2021x Refresh2


User Guide

No Magic, Inc., a Dassault Systèmes company, 2021


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-2021 by No Magic,
Incorporated, a Dassault Systèmes company. All Rights Reserved.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company.


Contents

Installation and licensing 7


System requirements 7
Modeling Tools* 7
FLEXnet License Server 9
Basic concepts 9
Plugin installation 10
Plugin licensing 12
Licensing scheme 13
Licensing workflow 13
Uninstalling plugins 13
Uninstalling modeling tools 13
Removing no-install package 14
Uninstalling plugins 14
Updating plugins 14
User Guide 15
Getting started 16
Understanding the user interface 17
Creating Requirements Project 57
Opening projects 59
Switching between multiple projects 61
Creating requirements 62
Creating requirements in the Containment tree 63
Creating requirements in the Requirement diagram 63
Creating requirements in the Requirement Table 64
Importing requirements 65
Importing ReqIF files 66
Interchanging of requirements using Cameo DataHub 74
Exporting requirements 75

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 3


Contents
Changing requirements exporting options 77
Applying automated pre-processing scripts before ReqIF file export 77
Exporting ReqIF files from the command-line interface 78
Relating requirements 80
Relating Requirements in the Requirement Diagram 81
Relating Requirements in the Requirement Matrices 81
Nesting requirements in the Requirements Table 82
Creating Requirement Diagram for sub-requirements 82
Modifying requirement text 83
The Stopping Distance Requirement shape with filled Text property. 83
Editing the requirement text 83
Switching the requirement text to HTML or Plain text 84
Modifying the requirement text 85
Creating the Satisfy relationship 87
Extracting Constraint from Requirement 87
Customizing requirement properties 91
The ExtendedRequirement [Class] extended by the author property is shown
in the Containment tree and diagram pane. 93
Converting requirements 93
Replacing requirements 93
Requirements numbering 93
Requirements numbering. 94
Analyzing Requirements 95
Coverage analysis 95
Change impact analysis 95
Analyzing dependencies in dependency matrix 96
Analyzing dependencies in relation map 97
Tracing requirements 98
Validation 103
Metrics 138
Using Requirement patterns glossary 140

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 4


Contents
Enabling/disabling the Requirement patterns underlining in Requirement
text 140
Defining custom condition patterns 141
Opening the predefined requirements glossary table 141
Extracting Constraint from Requirement 142
Creating the Satisfy relationship 143
Extracting Constraint from Requirement 143
Exchanging requirements with ReqIf 145
What is ReqIF? 145
ReqIF Support in MagicDraw 145
ReqIF Importer Features 146
More About ReqIF 149
Generating requirement reports 149
Generating the Word document report 149
Publishing projects to Cameo Collaborator for TWC 151
Basic requirement concepts 151
Diagram descriptions 151
Element descriptions 154
Other descriptions 161
Customizations 161
Specifying project properties 162
Assigning shortcut keys 165
Configuration files 167
Customizing environment options 170
Disabling inbound network activity 174
Most common shortcut keys 175
Setting project options 178

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 5


Purpose

Cameo Requirements Modeler Plugin is dedicated for business analysts and architects, software
engineers, enterprise architects, systems engineers, and other users, who work in model-based
requirements engineering. The plugin supports the requirements part of the OMG SysML standard and
provides means to import, export and manage requirements in the model.

The plugin supports Requirements Interchange Format (ReqIF), the industry standard enabling users to
interchange requirements among different requirements management tools. The standard is managed
by the Object Management Group and supported by major tool vendors.

Model-based requirements engineering benefits

• Easy identification of the scope and potential consequence of any change.


• Single and consistent data source: requirements, processes, and design.
• Increased quality of requirements due to the automatic validation and better visibility.
• Saved time and resources as you are working in the same environment where your models are.
• Improved team communication due to the simple and standard notation, clear diagrams, and
web-based reports.
With this plugin you can

• Import and export requirements to ReqIF files to use them with other requirements
management tools, such as
• IBM DOORS 9.4, 9.5, and 9.6
• IBM DOORS Next Generation
• PTC Integrity
• Polarion REQUIREMENTS
• Siemens Teamcenter
• Dassault Systemes Reqtify.
• Trace from requirements to other model elements of business, software, or systems architecture
and align requirements with your model.
• Analyze the impact of changes.
• Track metrics.
• Capture requirements in dedicated diagrams, matrices, and tables.
• Document requirements.
• Extend the plugin by creating new requirement types and customizing the plugin's functionality.
The Cameo Requirements Modeler Plugin documentation consists of the following sections:

Docs of other versions

• Cameo Requirements Modeler Plugin 18.41


• Cameo Requirements Modeler Plugin 18.32

1 https://docs.nomagic.com/display/CRMP184/Cameo+Requirements+Modeler+Plugin+Documentation
2 https://docs.nomagic.com/display/CRMP183/Cameo+Requirements+Modeler+Plugin+Documentation

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 6


• Cameo Requirements Modeler Plugin 18.23

Installation and licensing

In this section, you will learn about the system requirements, basic concepts, and installation and
licensing procedures.

For more information, see Installation and licensing4.

Related pages

• System requirements(see page 7)


• Basic concepts(see page 9)
• Plugin installation(see page 10)
• Plugin licensing(see page 12)
• Uninstalling plugins(see page 13)
• Updating plugins(see page 14)

System requirements

Modeling Tools*
Resource Recommended

CPU Intel Core™ i5 or higher

RAM 16GB

The memory allocation for the modeling tool by project size:

Project Elements Count Allocated Memory 2


(including used projects)

Earlier 2021x and later


versions 1

1.5 million 1 million 6GB

2.5 million 2 million 7GB

5 million 3.5 million 11GB

3 https://docs.nomagic.com/display/CRMP182/Cameo+Requirements+Modeler+Plugin+Documentation
4 https://docs.nomagic.com/display/NMDOC/Installation+and+licensing

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 7


 The amount of required memory proportionally increases if working on multiple
projects.

1
the project elements count is different due to the profiling data storing metamodel
optimized in 2021x (decrease by 40-80% in SysML and UAF projects).

2
these memory requirements are indicative and may vary by project specifics.

The operations that require more memory (1, 2, and 3.5 million of 2021x project elements
respectively):

• UPDM migration to UAF - 10GB, 10GB, 36GB


• Converting between UAF, DoDAF2, DoDAF, MODAF, NAF, NAF4 frameworks -
8GB, 9GB, 13GB
• Element/Content History - 10GB, 15GB, 27GB
• Project Merge - 11GB, 13GB, 21GB 3
• Project Clone - 12GB, 14GB, 22GB
3
strongly depends on the amount of detected changes between merged versions (in this
case, the specified required memory is for merging projects with 1.5k changes in total).

Disk space The recommended disk space for installation and configuration files is 3GB or more
depending on used plugins, project type (local or server), and project size. In addition to
this, large server projects require extra disk space for configuration files:

Project Elements Count Disk Space


(including used projects)

Earlier 2021x and


versions later

1.5 million 1 million 6GB

2.5 million 2 million 10GB

5 million 3.5 million 30GB

 The amount of required disk space proportionally increases if working on multiple


projects.

Note: Element History and Content History features usage requires significantly more disk
space due to intensive caching at the client-side.

Depending on the feature usage scenario (e.g., retrieving content history from old/distant
project versions multiple times), the disk space might increase by up to 100GB.

Display Full HD (1920x1080) or higher


resolution**

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 8


Operating Any Java SE 11-compatible operating system (Windows, Windows Server, Linux (RedHat/
Systems CentOS 7), Mac OS X).

Java Virtual Java version support5


Machine (JVM)
version

* Magic Software Architect, Magic Cyber Systems Engineer, Magic Systems of Systems Architect,
MagicDraw, Cameo Systems Modeler, Cameo Enterprise Architecture

** 800x600, 1280x1024 display resolutions are compatible with a laptop or a projector.

 Earlier versions
Windows XP and earlier versions are not supported.
Mac OS 10.6 Snow Leopard and earlier versions are not supported.

FLEXnet License Server


For system requirements, refer to the Release Note6 of the specific version.

Basic concepts
Concept Description

Using a floating license in the offline mode.


If a license is used on a machine that is intermittently connected to the license server,
Borrowing the license can be borrowed from the server and used as an offline floating license. A
license can be borrowed from a license server for the selected period of time (default
24 hours).

The maximum license borrowing period is 2 months. If you would like to limit the
maximum borrowing period, please contact your sales representative.

The files where your defined settings and environment options are stored.
Configuration When upgrading your software, you can choose one of the following:
files
• If you want to import the environment options from an earlier modeling
tool or server version, select the location and click Import.
• If you are installing the software for the first time and/or do not want to
use earlier environment options, click Use Default.

5 https://docs.nomagic.com/display/NMDOC/Java+version+support
6 https://docs.nomagic.com/display/NMDOC/Downloading+installation+files

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 9


Concept Description

A license for the dedicated Host ID/Target ID received after purchase.


License key

The floating license allows you to install and use the same license on multiple
machines. The FlexNet license server is used to manage floating licenses.
Floating license

A combination of 12 numbers and letters (also known as the MAC Address or Physical
Address), which identifies the network card of a machine. It is used to tie the license
Host ID/Target ID to a particular machine.

Seat (Nodelock). The license of a modeling tool dedicated to one working place.
License type Floating (Shareable). Allows you to install and use the same license of a modeling
tool on multiple machines.

 Please note, the license type of a modeling tool and a plugin used by this
tool must be the same.

A program developed by CATIA / No Magic to implement the FlexNet license server.


The vendor daemon tracks how many licenses are checked out and who has the
Vendor daemon licenses.

Plugin installation
Choose one of the following ways to install a plugin in a modeling tool:

• Install a plugin bundle (.rdzip) that comes with a modeling tool directly via the Resource/Plugin
Manager dialog.
• Install an individually purchased archived plugin file (.zip) via the Resource/Plugin
Manager dialog.
• Install a plugin manually
• Obtain and install a plugin from a web server

To install a plugin bundle (.rdzip) via the Resource/Plugin Manager dialog

1. Start your modeling tool.


2. From the modeling tool main menu, select Help > Resource/Plugin Manager.
3. Click the button.
4. In the Manage Resource Locations dialog, click Add. The Select Resource Location or
Distribution File dialog opens.
5. Specify the location of a plugin bundle (.rdzip) file and click Open. The resource location is added.
6. Click OK to import resources.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 10


 You can extract the .rdzip file and then add selected plugins individually(see page 11).

To install an individual plugin from an archive file (.zip) via the Resource/Plugin Manager dialog

1. Start your modeling tool.


2. From the main menu of a modeling tool, select Help > Resource/Plugin Manager.
3. Click the Import button and specify the location of an archived plugin file (.zip) and click
Open. The plugin is extracted and installed automatically.
4. Restart your modeling tool.

To install a plugin manually

1. Extract an archived plugin file (.zip) file to the same directory where your modeling tool is
installed.
2. Start the modeling tool. The plugin is applied to your modeling tool.

You can also obtain the needed resources from a web server if you do not have the .rdzip file but have
been provided with an URL by your license manager.

To specify the server where the resources and their descriptor file are located

1. Open Resource/Plugin Manager and click .


2. In the Manage Resource Locations dialog, click Add URL. The Resource Server URL dialog
opens.
3. In the open Resource Server URL dialog, type or paste the server address.

4. Click OK.
The resources from the selected location are listed in the Resource/Plugin Manager.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 11


For more information on managing resources, please see Resource Manager7.

 Getting help
If you run into any installation related problems, try the following:
checking the FAQ section8 for known problems
checking the No Magic Community forum9
contacting customer support10

Plugin licensing

The product license is identified by the license key. There are two types of license keys:

• seat (Nodelock)
• floating (Shareable)
Additionally, special licenses for the academic community are available: https://www.nomagic.com/
services/academic-research.

7 https://docs.nomagic.com/display/MD2021x/Resource+Manager
8 http://www.nomagic.com/support/faq.html
9 https://community.nomagic.com/
10 https://docs.nomagic.com/display/NMDOC/Support

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 12


Licensing scheme

Licensing workflow
Seat license

1. Determine your Host ID/Target ID.11


2. Provide it to your sales representative.
3. Get a license key.
4. Add a license key to the modeling tool.12
Floating license

1. Determine your Host ID/Target ID.13


2. Provide it to your sales representative.
3. Get a floating license key and add it to the floating license server.

 Typically, this step is performed by the license server administrator.


4. Obtain a floating license key for a modeling tool.14

15

Uninstalling plugins

Uninstalling modeling tools


Uninstall on Windows

• In the <modeling tool> installation > UninstallerData folder, double-click the Uninstall <modeling
tool> file.
Uninstall on OS X

• Right-click the <modeling tool> installation folder and from the shortcut menu, select Move to
Trash.
Uninstall on Unix

• In the <modeling tool> installation > UninstallerData folder, double-click the Uninstall <modeling
tool> file.

11 https://docs.nomagic.com/display/NMDOC/Determine+the+Host+ID
12 https://docs.nomagic.com/display/NMDOC/Adding+the+license+key
13 https://docs.nomagic.com/display/NMDOC/
Determine+the+Host+ID+or+Target+ID+of+the+machine+on+which+the+FlexNet+license+server+is+installed
14 https://docs.nomagic.com/display/NMDOC/Obtaining+a+floating+license+for+a+modeling+tool
15 https://docs.nomagic.com/display/NMDOC/Modeling+tools+and+plugins+licensing

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 13


Removing no-install package
Windows

• Delete the <modeling tool> installation folder.


OS X

• Right-click the <modeling tool> installation folder, and then, from the shortcut menu, select Move
to Trash.
Unix

• Delete the <modeling tool> installation folder.

Uninstalling plugins
1. Start the modeling tool.
2. In the Help menu, select Resource/Plugin Manager.
3. In the Resource/Plugin Manager dialog, click to select the plugin.
4. Click the Remove button.
5. When you receive the message asking if you want to remove the plugin, click OK.
6. Restart the modeling tool.

16

Updating plugins
To update your modeling tool and plugin, first, uninstall the earlier version, then install a later version
you have obtained from the 3DS software download page.

17

Related pages

• Uninstalling modeling tools and plugins18


• Downloading installation files19
• Installing modeling tools and plugins20

21

16 https://docs.nomagic.com/display/NMDOC/Uninstalling+modeling+tools+and+plugins
17 https://docs.nomagic.com/display/NMDOC/Updating+modeling+tools+and+plugins
18 https://docs.nomagic.com/display/NMDOC/Uninstalling+modeling+tools+and+plugins
19 https://docs.nomagic.com/display/NMDOC/Downloading+installation+files
20 https://docs.nomagic.com/display/NMDOC/Installing+modeling+tools+and+plugins
21 https://docs.nomagic.com/display/NMDOC/Updating+modeling+tools+and+plugins

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 14


User Guide
Welcome to the Cameo Requirements Modeler Plugin user guide! It is intended to assist you with
using this plugin. Please read the sections below or use the Quick Search box to find a specific topic.

• Getting started.(see page 16)


This section presents the basic procedures for using the tool, such as:
• creating a new Requirement project
• specifying options and properties
• customizing the environment, understand the concepts in the user interface
• using the search and filter features
• using the most common shortcut keys
• and others.
• Creating requirements.(see page 62)
This section shows how to create Requirements in the Requirement Diagram and Requirement
Table.

• Importing requirements.(see page 65)


This section describes how to import Requirements from ReqIF, CSV, Excel files, and how to use
Cameo DataHub to interchange them.

• Relating requirements.
(see page 80)This section explains how to create specific relationships between Requirements
(including Derive, Refine, Satisfy, or Verify) directly on the Requirement Diagram pane or in the
Requirement Matrices.

• Creating Requirement Diagram for sub-requirements.(see page 82)


This section demonstrates how to create a new Requirements Diagram for the sub-requirement
that becomes the owner of a new diagram and is marked with the diagram sign.

• Modifying requirement text.(see page 83)


This section presents all procedures for editing and modifying the Requirement text by using the
rich text formatting toolbar, Glossary terms, hyperlinks, and images. It also shows how to switch
the requirement text to HTML or a Plain text format.

• Customizing requirement properties.(see page 91)


This section shows how to create custom properties for the Requirements. It is closely related to
the UML Profiling and DSL Guide22 when trying to extend Requirements with custom properties.

• Converting requirements.(see page 93)


This section shows how to use the Refactor command to convert one Requirement to another
type of Requirement or any other element.

• Replacing requirements.(see page 93)


This section shows how to use the Refactor command to replace one Requirement with another
one.

• Numbering Requirements.(see page 93)


This section presents and explains how to number Requirements by automatically or manually
setting their IDs.

22 https://docs.nomagic.com/display/MD2021xR2/UML+Profiling+and+DSL+Guide

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 15


• Analyzing Requirements.(see page 95)
This section offers mechanisms (such as Dependency Matrices, Relation Maps, validation,
traceability, metrics, and others) allowing you to analyze Requirements in various formats and
ways.

• Extracting Constraint from Requirement. (see page 142)


This section shows how to use the Extract Constraint From Requirement command for
automatic constraint creation directly from the Requirement text.

• Exporting requirements.(see page 75)


This section describes how to export Requirements to ReqIF files manually, from the command-
line interface, or automatically by applying an automated pre-processing script before ReqIF file
export.

• Exchanging requirements with ReqIf(see page 145).


The Requirement Interchange Format (ReqIF) standard is an XML based international standard
adopted by Object Management Group (OMG) as a formal specification for exchanging
requirements between software tools from different vendors.

• Generating requirement reports.(see page 149)


This section explains how to generate Requirement reports in the .docx and .html/.htm formats
directly from your model.

• Basic requirement concepts.(see page 151)


This section contains all specific requirement concepts and their descriptions.

Getting started
The Cameo Requirement Modeler Plugin implements the requirements part of the OMG SysML
standard that is widely used in the system engineering. All concepts and modeling approaches that are
used in requirement modeling with the plugin are from the requirement part of the SysML standard
which can be found at http://www.omgsysml.org23. The SysML requirement part provides clear
essential means for the model-based requirements management independently from the system
engineering domain, so it could be easily adopted for all other domains as software, business, and
enterprise.

The article Requirements Writing in SysML Guide24 presents one of a possible requirements modeling
process which is adopted by No Magic, Inc. company internally for the development of all the products.

 To start working with the Cameo Requirement Modeler Plugin it must be installed in the
MagicDraw tool. How to install plugin to a modeling tool >>25
If you use the Cameo Systems Modeler26 or Cameo Enterprise Architecture27 you can start
using requirement features at once.

How to start:

23 http://www.omgsysml.org/
24 https://blog.nomagic.com/requirements-writing-in-sysml-guide/
25 https://docs.nomagic.com/display/SYSMLP2021xR2/Installing+SysML+Plugin
26 https://docs.nomagic.com/display/CSM185/Cameo+Systems+Modeler+Documentation
27 https://docs.nomagic.com/display/NMDOC/Cameo+Enterprise+Architecture

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 16


Understanding the user interface
The user interface is where you will control your software installation. The MagicDraw window contains
the following:

• Main menu28
• Main toolbars29
• Model Browser30
• Diagram toolbars31
• Diagram palette32

 Watch this demo to get familiar with MagicDraw working environment, main concepts, and
functions.

28 https://docs.nomagic.com/display/MD2021xR2/Main+menu
29 https://docs.nomagic.com/display/MD2021xR2/Toolbars
30 https://docs.nomagic.com/display/MD2021xR2/Model+Browser
31 https://docs.nomagic.com/display/MD2021xR2/Toolbars
32 https://docs.nomagic.com/display/MD2021xR2/Customizing+diagram+palette

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 17


Sorry, the widget is not supported in this export.
But you can reach it using the following URL:

https://www.youtube.com/watch?v=0B76lH-QtrM&

Related pages

Main menu
The main menu located at the top of the modeling tool window contains the following elements:

Menu Description
element

File Contains basic project management related commands, e.g., New Project33, Open Project34,
and Save Project35. Among other actions, this menu also allows you to import data from external
sources, export a project, or print diagrams36.

Edit Use this menu when working with diagrams on the Diagram pane. The Edit menu contains the
commands for selecting, cutting, copying and pasting37 symbols or entire diagrams, and finding
elements in the current project.

View Contains commands allowing you to zoom in or zoom out38 of a diagram, use and customize a
diagram grid39, manage diagram tabs (if you have several open diagrams) and customize the
toolbars40 of your modeling tool.

Layout Use this menu for managing the layout41 of the symbols on an active diagram. To enable certain
Layout menu commands, you must select more than one symbol.

Diagrams Allows you to create a new diagram42, access diagram wizards and history, and create a custom
diagram type43.

33 https://docs.nomagic.com/display/MD2021xR2/Creating+a+new+project
34 https://docs.nomagic.com/display/MD2021xR2/Opening+projects
35 https://docs.nomagic.com/display/MD2021xR2/Saving+projects
36 https://docs.nomagic.com/display/MD2021xR2/Printing
37 https://docs.nomagic.com/display/MD2021xR2/Copying+and+pasting+objects
38 https://docs.nomagic.com/display/MD2021xR2/Zooming
39 https://docs.nomagic.com/display/MD2021xR2/Using+the+grid
40 https://docs.nomagic.com/display/MD2021xR2/Toolbars
41 https://docs.nomagic.com/display/MD2021xR2/Layout
42 https://docs.nomagic.com/display/MD2021xR2/Creating+diagrams
43 https://docs.nomagic.com/display/MD2021xR2/Customizing+diagrams

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 18


Menu Description
element

Options Use this menu to specify project options44 and environment options45, select or customize
perspectives46, and choose the style for your modeling tool.

Tools Contains the set of commands allowing you to execute model transformations47 for converting
models between different modeling domains, generate reports48, evaluate expressions49 on the
actual testing model, generate code for the selected model data, create and organize macros50,
access the DataHub plugin51 and more.

Analyze Use this menu to access the wizards of different types of diagrams52, create implementation
matrices, analyze and show model dependencies, compare two project versions53, validate a
project54, display paths55 or related elements56, and perform other model analysis related
actions.

Collaborat Contains the commands for working with server projects57.


e

Window Allows you to manage the layout of different windows in your modeling tool.

Help Among other actions, this menu allows opening online documentation, managing resources, and
accessing modeling tool-related information.

 Customizable menus
You can choose which of these menus are shown/hidden by customizing modeling tool
perspectives58.

Related pages

• Understanding the user interface(see page 17)


• Toolbars(see page 20)
• Model Browser(see page 22)
• Image Library tab(see page 53)

44 https://docs.nomagic.com/display/MD2021xR2/Setting+project+options
45 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options
46 https://docs.nomagic.com/display/MD2021xR2/Customizing+Perspectives
47 https://docs.nomagic.com/display/MD2021xR2/Model+Transformation+Wizard
48 https://docs.nomagic.com/display/MD2021xR2/Generating+Reports+from+Report+Wizard
49 https://docs.nomagic.com/display/MD2021xR2/Expression+Evaluation
50 https://docs.nomagic.com/display/MD2021xR2/Macro+Engine+Documentation
51 https://docs.nomagic.com/display/CDH185
52 https://docs.nomagic.com/display/MD2021xR2/Model+Visualizer
53 https://docs.nomagic.com/display/MD2021xR2/Comparing+projects
54 https://docs.nomagic.com/display/MD2021xR2/Validation
55 https://docs.nomagic.com/display/MD2021xR2/Displaying+paths
56 https://docs.nomagic.com/display/MD2021xR2/Displaying+related+elements
57 https://docs.nomagic.com/display/MD2021xR2/Collaborative+modeling
58 https://docs.nomagic.com/display/MD2021xR2/Customizing+Perspectives

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 19


• Changing interface style(see page 55)

Toolbars
Toolbars help to speed up your work when performing commonly used tasks. Your modeling tool has
two types of toolbars:

• Main toolbars - contain commands for basic project related tasks and are located at the top of
the modeling tool window, right under the main menu.
• Diagram toolbars - contain commands for working with diagram symbols and are located at the
top of the diagram pane.

To show or hide different toolbars

• In the main menu, click View, select either Main Toolbars or Diagram Toolbars, and in the
showed menu select/clear the check boxes of the toolbars that you want to show/hide.
• Right-click the desired toolbar area and in the shortcut menu select/clear the check boxes of the
toolbars that you want to show/hide.

Customizing toolbars
You can customize existing toolbars by adding or removing buttons, and also create new custom
toolbars.

To add a new toolbar

1. Do one of the following:


• In the main menu, select View > Main Toolbars/Diagram Toolbars > Customize.
• Right-click the toolbar area, and in the shortcut menu select Customize.
2. In the Customize Toolbars dialog, select the desired toolbar group and click the Add > New
Toolbar.
3. Enter the name of the new toolbar and click OK.

After completing the above steps, a new toolbar is created in the selected toolbar group, and you can
choose to show/hide it in the shortcut menu of the respective toolbar area. Note that the newly created
toolbar does not have any buttons, so you need to add them after creating it.

To add a new button to a toolbar

1. Do one of the following:


• In the main menu, select View > Main Toolbars/Diagram Toolbars > Customize.
• Right-click the toolbar area, and in the shortcut menu select Customize.
2. In the Customize Toolbars dialog, select the desired toolbar and click the Add > Button.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 20


3. In the Add Button dialog, select the desired button or command and click OK.
4. Click OK one more time to close the Customize Toolbars dialog.

A new button is added to the selected toolbar. To add more than one button, repeat steps 2 and 3 as
many times as you need.

To remove a toolbar or button

1. Do one of the following:


• In the main menu, select View > Main Toolbars/Diagram Toolbars > Customize.
• Right-click the toolbar area, and in the shortcut menu select Customize.
2. In the Customize Toolbars dialog, select the toolbar or button you want to remove and click the
Remove button.

After completing the above steps, the selected toolbar or button is removed from the respective
toolbar area or toolbar. Toolbars that have been removed do not appear in the menu for selecting
which toolbars you want to show.

 Restoring default toolbars


To undo all the actions for customizing toolbars, open the Customize Toolbars dialog, as
described in step 1 above, and click the Reset to Defaults button.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 21


On this page

• Customizing toolbars(see page 20)

Related pages

• Understanding the user interface(see page 17)


• Main menu(see page 18)
• Model Browser(see page 22)
• Image Library tab(see page 53)
• Changing interface style(see page 55)

Model Browser
Model Browser provides a visual representation of the hierarchy of your model elements.

The items in the Model Browser hierarchy can be:

• Compressed – a plus sign next to an icon indicates that the icon is compressed. This is the
default setting. It means that the element contains other model elements. Click the plus sign to
expand the icon and view its subordinate items.
• Expanded – a minus sign next to an icon indicates that the icon is fully expanded. Click the
minus sign to collapse the item.
If there is no plus or minus 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 MagicDraw menus and toolbars. It is
easier to work with project diagrams and data elements using the Model Browser.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 22


You can perform the following operations in the Model Browser:

• Create and specify model elements.


• Copy, cut and paste model elements.
• Delete model elements.
• Drag model elements to the Diagram pane and inside the Model Browser.
• Drag data in the Code engineering sets (you may create data in the root package Model branch,
drag it to the Code Engineering sets, and then the round trip object is created automatically).
• View the hierarchy of all model elements.
• Create a symbol for the selected model element in the current diagram.
• Manage diagrams.
• Manage extension mechanisms, such as constraints, stereotypes, and tagged values.
• Java reverse of a class from the classpath.
• Adjust the code engineering sets.
• Generate code for particular sets.
• Filter visible items by any model type (for example, class, package, operation, component, state,
and others - for both views and dates).
• Sort the visible items of the selected model element.
• Sort all model elements.
• Display search results.
• Display locked elements in the server project.

The Model Browser window has the following tabs:

• Containment tab groups data into the logical sets.


• Structure tab represents deeply nested structures of the structured classifier.
• Inheritance tab represents the model hierarchy of the project.
• Diagrams tab groups diagrams according to the diagrams type or shows them as a list.
• Model Extensions tab represents all predefined and created constraints and stereotypes.
• Search Results tab displays search results.

 The Search Results tab is not displayed by default. It appears after you perform searching.
• Lock View tab represents locked elements of the server project.

 The Lock View tab is not displayed by default. It can appear if you are working on a server
project. For more information, see Representation of locked elements59.

Related pages

• Understanding the user interface(see page 17)


• Main menu(see page 18)
• Toolbars(see page 20)
• Image Library tab(see page 53)
• Changing interface style(see page 55)

59 https://docs.nomagic.com/display/MD2021xR2/Locking+model+for+edit

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 23


Using the Model Browser
Model Browser is displayed when at least one project is open. By default, Model Browser is placed at
the left side of the main window. It is possible to move the Model Browser to any place on the
MagicDraw window. Also, all tabs can be viewed separately and you can 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

• Using the Options menu


a. From the Options menu, select Environment. The Environment Options dialog opens.
b. Click on the Browser option group.
c. In the Browser environment options pane, change the Browser Position property to
Right or Left.
• Using Toggle
In the upper-right corner of the selected tab in the Model Browser, click the Toggle auto-hide
or Toggle floating button.

 This action changes the layout of the MagicDraw interface.

To close or reopen the desired tab of the Model Browser

• Using the Window menu, choose the Model Browser tab you want to close or open.

To reset all Model Browser tabs to the default position

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

To sort items in the Model Browser alphabetically

1. From the Options menu, select Environment. The Environment Options dialog opens.
2. Click the Browser option group.
3. In the Browser options pane, set the Sort Alphabetically value to true (the default value is true).

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 24


Related pages

• Model Browser(see page 22)


• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Containment tab
The Containment tab displays model data grouped in logical sets. Using the Containment tab, you can
quickly access each model element, change a model element specification, or create a new model
element.

To open the Containment tab, do one of the following

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


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

 You can change some Containment tab properties in the Environment Options dialog60
the Browser options group.

The Containment tab consists of the following two components:

• Containment tab toolbar(see page 27)


• Containment tree(see page 29)

60 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 25


The Containment tree includes

• The root package Model(see page 0):


The Relations branch
The UML Standard Profile
The Hyperlinks branch

• Code engineering sets(see page 0)

The root package Model


The root package Model in the Containment tree is the top model element wherein the entire model
structure is created. The root package Model represents the model element that is named Model. All
model elements are stored in the root package Model. You can create the structure of your project by
creating packages in the root package Model. This helps to distribute model elements into logical
groups.

Along with model elements that are created by the user, the root package Model may contain the
following default items:

• The Relations branch. This branch appears when at least one relationship is created in the
project. The Relations branch collects all relationships from the particular owner. For example, if
the Relations branch is in the root package Model, that means, all relationships from the root
package Model are listed in the Relations branch owned by the root package Model. The Relations
branch can exist in other elements which may have inner elements and relations among these
elements. For example, in packages, classes, and others.
• The UML Standard Profile package. This is a profile that is included in every MagicDraw project.
It contains a list of stereotypes, data types, and other elements from the UML 2 metamodel. By
default, the UML Standard Profile is hidden. To display the UML Standard Profile, click the Options
button, and in the shortcut menu, choose Show Auxiliary Resources.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 26


.
There can be more standard profiles (such as SysML, UPDM, Java, and others).

 We highly recommend not to modify our provided standard profiles and libraries as it
could cause problems with version updates, plugins, core MagicDraw tool malfunctions,
and model corruptions.

• The File View package. This package appears when at least one code engineering set is created.
The File View package contains components that are created on code reverse and represents
source files.
• The Hyperlinks branch. This branch appears when at least one hyperlink is added to the
particular element. The Hyperlinks branch contains the list of hyperlinks to the file, element/
symbol, or web page.

Code engineering sets

 Code engineering is available in Professional, Architect, and Enterprise editions.

Code engineering sets can be considered a gateway between your source code and model data. Using
these sets, you can perform Java, C++, IDL, CORBA IDL, and EJB 2.0 round-trip code engineering, that is,
code generation and reverse engineering.

To display Code engineering sets

• In the Containment tab toolbar, click the Options button, then click to select the Show
Code Engineering Sets check box.
In the Code engineering Set branch, you can create a new code engineering set, generate code, and
perform other actions.

Containment tab toolbar

The Containment tab toolbar contains the following buttons:

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 27


Button Tooltip text Description

Collapse All Collapse all of the currently expanded elements in


the Containment tree.

Collapse Selected Recursively Collapses only selected node and all subnodes in that
node.

Open in New Tree Opens the contents of the selected element in a new
tab of the Model Browser. The selected element
becomes the root node of the new tree.

You can choose to open elements in:

• New Containment Tree


• New Structure Tree
• New Inheritance Tree

Favorites Opens the Favorites menu for choosing to do one of


the following:

• Add a selected element to favorites


• Open the dialog for managing favorites
• Navigate to a desired favorite in the
Containment tree

Quick Find Opens the Quick Find dialog.

Options Click to open the Options menu and then select:

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 28


• Filter - opens the Items Filter dialog
wherein you can select element types to be
visible in the Containment tree.
• Show Auxiliary Resources - shows or hides
modules and profiles that are used in your
project.
• Show Applied Stereotypes - shows or
hides the applied stereotypes next to the
element name in the Containment tree.
• Show Full Types - shows or hides the full
types of typed elements (for example,
operations, attributes, relationships, and
other) in the Containment tree.
• Show Code Engineering Sets - shows or
hides the code engineering sets.

The same actions you may perform using the shortcut menu of the Containment tree.

Working with model elements in the Containment tree

You can work with elements in the Containment tree using the commands available from the selected
element's shortcut menu.

 Particular actions are available for particular elements.


The shortcut menu contains the following commands:

Command Function

Create Element61 Creates a new element inside the selected element.

 This command is available if the selected element can be


edited.

Create Diagram62 Creates a new diagram inside the selected element.

 This command is available if the selected element can be


edited.

61 https://docs.nomagic.com/display/MD2021xR2/Working+with+model+elements
62 https://docs.nomagic.com/display/MD2021xR2/Creating+diagrams

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 29


Create Relation > Creates a new relation to or from the selected element.
Outgoing / Incoming63

Specification64 Opens the element Specification window wherein you can specify
various element properties.

Validation65 Open the validation commands for checking the accuracy,


completeness, and correctness of a model.

Go To66 Opens or selects the item associated with the selected element. The
item may be a diagram, model element, or hyperlink.

Refactor67 Converts the selected element to the element indicated by a user.

Related Elements68 Opens a list of functions available for the selected element.

Tools Opens a list with tools that are available for the selected element.
Depends on the selected element.

Stereotype69 Opens the drop-down list, wherein you can apply an existing
stereotype, or create a new one.

Find70 Opens the Find dialog.

Apply Profiles Opens the list of the available to apply profiles.

 • This command is available in the package, model,


and system boundary shortcut menu.
• Only custom profiles can be applied.
• To see this command you have to expand the
shortcut menu, that is, click on the little arrow at
the bottom of the shortcut menu.

63 https://docs.nomagic.com/display/MD2021xR2/Creating+a+relationship
64 https://docs.nomagic.com/display/MD2021xR2/Specification+window
65 https://docs.nomagic.com/display/MD2021xR2/Validation
66 https://docs.nomagic.com/display/MD2021xR2/Manage+Navigation
67 https://docs.nomagic.com/display/MD2021xR2/Changing+diagram+type
68 https://docs.nomagic.com/display/MD2021xR2/Analyzing+usages+and+dependencies
69 https://docs.nomagic.com/display/MD2021xR2/Stereotype
70 https://docs.nomagic.com/display/MD2021xR2/Find+dialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 30


Project Usages71 Opens share packages and export packages to new project
commands.

 This command is available in the package and model


shortcut menu.

Generate Code Generates code for the selected item. Opens the Notification
Framework Window with the information.

Check Syntax Checks syntax in the model according to the default code
engineering language. Opens the Notification Window with the
information.

Generate Report72 Opens the list of the available report templates.

Reverse from Classpath This command is available in the Class shortcut menu.

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Structure tab
The Structure browser allows you to browse for deep nested structures of the structure classifier in
your model. For example see the image below, the node: diameter : mm represents the property:
diameter : mm of the classifier: Wheel and also the property: w : Wheel is the property of the
classifier: WheelAssembly.

71 https://docs.nomagic.com/display/MD2021xR2/Managing+used+projects
72 https://docs.nomagic.com/display/MD2021xR2/Generating+reports+from+the+Containment+tree

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 31


The Structure tab in the Model Browser.

Opening the Structure tab


To open the Structure tab

1. From the main menu, select Window >Structure.


The property nodes, which are shown inside the property node (the parent property node), are the
properties of the classifier that type the parent property node.

There are two display options in the Structure tab:

• plain(see page 33)


• inherit(see page 33)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 32


Display as Plain List option
The classifiers of structure in your model is normally displayed in a Package, Model, or Profile hierarchy.
Use the Display as Plain List option to show all classifiers of the structure in the model in the same
level without consideration of their owner. When you select the Display in Plain List option, the
classifiers are sorted by their name.

To display elements in the Structure tree as plain list

1. Click on the right of the Structure Browser.


2. Select the Display as Plain List option.

Displaying Inherited Structure option


The Structure tab can show the properties that are inherited from the generalization classifier.

To display inherited structures from the generalization classifier in the Structure tree

1. Click on the right of the Structure Browser.


2. Select the Show Inherited Structure option.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 33


On this page

• Opening the Structure tab(see page 32)


• Display as Plain List option(see page 33)
• Displaying Inherited Structure option(see page 33)

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 34


• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Inheritance tab
The Inheritance tab represents classifiers (e.g., packages, data types, and stereotypes) hierarchy within
your project. Inheritance according to the UML Specification is shown using the generalization
relationship.

 If a model element has no generalization relationship, it will not be represented in the


Inheritance tab.

To open a new Inheritance tree

1. Open the Containment, Structure, or Inheritance tab.


2. In the open tab toolbar, click and then select Open in New Inheritance Tree.

 You can change some Inheritance tab properties in the Environment Options dialog73 the
Browser options group.

The Inheritance tab consists of the following two components:

• Inheritance tab toolbar


• Inheritance tree

Inheritance tab toolbar

The Inheritance tab toolbar contains the following buttons

Button Tooltip text Description

Collapse All Collapse all currently expanded elements in the


Containment tree.

Collapse Selected Recursively Collapses only selected node and all subnodes in that
node.

73 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 35


Open in New Tree Opens the contents of the selected element in a new
tab of the Model Browser. The selected element
becomes the root node of the new tree.

You can choose to open elements in:

• New Containment Tree


• New Structure Tree
• New Inheritance Tree

Favorites Opens the Favorites menu for choosing to do one of


the following:

• Add a selected element to favorites


• Open the dialog for managing favorites
• Navigate to a desired favorite in the
Containment tree

Quick Find Opens the Quick Find dialog.

Options Click to open the Options menu and then select:

• Invert Tree - inverts the tree hierarchy -


shows the child
element at the top of the hierarchy.
• Show Applied Stereotypes - shows or
hides the applied
stereotypes next to the element name in the
Containment tree.

Working with model elements in the Inheritance tree

You can work with elements in the Inheritance tree using the commands available from the selected
element's shortcut menu. The shortcut menu contains the following commands:

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 36


Command Function

Select in Containment Tree Opens the Containment tab and selects the
current element in the Containment tree.

Select in Structure Tree Opens the Structure tab and the structured classifier is selected.

 This command is available for structured classifiers (SysML).

On this page

• Inheritance tab toolbar(see page 35)


• Working with model elements in the Inheritance tree(see page 36)

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 37


Diagrams tab
The Diagrams tab in the Model Browser represents diagrams created in your project.

In the Diagrams tab, diagrams are by default grouped by their types (see the image above).

To open the Diagrams tab, do one of the following

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


• If the Diagrams tab is hidden, from the Window menu, select Diagrams.

 You can change some Diagrams tab properties in the Environment Options dialog74 the
Browser options group.

The Diagrams tab consists of the following two components:

• Diagrams tab toolbar


• Diagrams tree

Diagrams tab toolbar


The Diagrams tab toolbar contains the following button:

Butt Tooltip text Description


on

Collapse All Collapse all of the current elements in the Containment tree.

74 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 38


Collapse Selected Collapses only the selected node and all subnodes in that node.
Recursively

Group by Diagram Groups diagrams into packages by the first symbol of their name when the
Name model contains more than 99 diagrams.

Favorites Opens the Favorites menu for choosing


to do one of the following:

• Add a selected element to favorites


• Open the dialog for managing favorites
• Navigate to a desired favorite in the Containment tree

Quick Find Opens the Quick Find dialog.

Some of these actions may be performed right in the shortcut menu of the Diagrams tree.

Working with model elements in the Diagrams tree


You can work with diagrams in the Diagrams tree using the commands available in the selected
diagram's shortcut menu. These are the commonly used commands:

Command Function

Open Opens the selected diagram.

Print Opens the Print dialog.

 Active for the open diagram only.

Select in Containment Opens the Containment tab and selects the current element in the Containment
Tree tree.

Group by Diagram Name Groups diagrams into packages by the first symbol of their name when the model
contains more than 99 diagrams.

On this page

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 39


• Diagrams tab toolbar(see page 38)
• Working with model elements in the Diagrams tree(see page 39)

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Model Extensions tab


The Model Extensions tab 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.

To open the Model Extensions tab, do one of the following

• At the top of the Model Browser, click the Model Extensions tab.
• If the Model Extensions tab is hidden, from the Window menu, select Model Extensions

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 40


 You can change some Model Extensions tab properties in the Environment Options
dialog75 the Browser options group.

Model Extensions tab consists of the following two components:

• Model Extensions tab toolbar


• Model Extensions tree

Model Extensions tab toolbar


Model Extensions tab toolbar contains the following buttons:

Button Tooltip text Description

Collapse All Collapse all of the currently elements in the


Containment tree.

Collapse Selected Recursively Collapses only selected node and all subnodes
in that node.

Group by Profiles Groups extensions by the profiles.

Group by Groups extensions by the metaclasses.


Metaclasses

Favorites Opens the Favorites menu for choosing to do


one of the following:

• Add a selected element to favorites


• Open the dialog for managing favorites
• Navigate to a desired favorite in the
Containment tree

Quick Find Opens the Quick Find dialog.

The same actions you may perform using the shortcut menu of the Model Extensions tree.

Working with model elements in the Model Extensions tree


You can work with elements in the Model Extension tree using the commands available from the
selected element's shortcut menu.

75 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 41


 For more information about commands available from the shortcut menu in the Model
Browser, see Working with model elements in the Model Browser76.

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Search Results tab


The Search Results tab is used to display search results. This tab opens only after performing the
search77 by pressing Ctrl+Shift+F, or by clicking Edit > Find.

The tab is not displayed when performing a Quick Find78.

The Search Results tab consists of two components:

• Search Results tab toolbar (see page 0)


• Search Results tree(see page 0)

76 https://docs.nomagic.com/display/MD2021xR2/Working+with+model+elements+in+the+Model+Browser
77 https://docs.nomagic.com/display/MD2021xR2/Find+dialog
78 https://docs.nomagic.com/display/MD2021xR2/Quick+Find+dialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 42


Search Results tab toolbar
The Search Results tab toolbars contains the following buttons:

Button Tool tip text Description

Collapse All Collapse all of the currently elements in the


Containment tree.

Collapse Selected Recursively Collapses only selected node and all subnodes in that
node.

Find... Opens the Find dialog.

Clear Results Clears the results of the previous search.

Rerun Search Reruns a search with the already specified search


criteria. Search results are updated according to
changes done in the model.

Save Search Results Saves as a smart package either the search options or
the search results.

Favorites Opens the Favorites menu for choosing to do one of


the following:

• Add a selected element to favorites


• Open the dialog for managing favorites
• Navigate to a desired favorite in the
Containment tree

Options Click to open the Options menu and then select:


• Show Applied Stereotypes - shows or
hides the applied stereotypes next to the
element name in the Containment tree.
• Show Full Types - shows or hides the full
types of typed elements (for example,
operations, attributes, relationships, and
other) in the Containment tree.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 43


 The same actions you may perform using the shortcut menu of the Search Results tree. For
more information about commands available from the shortcut menu in the Model Browser,
see Working with model elements in the Model Browser79.

Working with model elements in the Search Results tree


The search results in the Search Results tree are displayed in the following two packages:

• Found in loaded diagrams – symbols that have been found in the diagram(s) are displayed in
this package.
• Found in model – elements that have been found in the model data are displayed in this
package.

On this page

• Search Results tab toolbar(see page 43)


• Working with model elements in the Search Results tree(see page 44)

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Lock View tab

 The Lock View tab is displayed only when working with server projects80.

The Lock View tab is used to display what was locked in the project (locked elements, project structure,
symbol styles) and by which users. Next to the locked element, you can see the name of the user who

79 https://docs.nomagic.com/display/MD2021xR2/Working+with+model+elements+in+the+Model+Browser
80 https://docs.nomagic.com/display/MD2021xR2/Collaborative+modeling

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 44


has locked it. Using the Filter by user list in the Lock View tab toolbar, you can see the elements, locked
by the particular user.

To open the Lock View tab, do one of the following

• At the top of the Model Browser, click the Lock View tab.
• If the Containment tab is hidden, from the Window menu, select Lock View.
The Locked Elements tab consists of the following two components:

• Lock View tab toolbar


• Lock View tree

Lock View tab toolbar


The Lock View tab toolbar contains the following:

• Update Lock Information button


• Filter by user list
• Collapse All button
• Collapse Selected Recursively button

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 45


Using the Filter by user list you can select to display only the elements locked by the particular user.

Working with model elements in the Lock View tree


You can work with elements in the Lock View tree using the commands available from the selected
element's shortcut menu. The shortcut menu contains the following commands:

Command Function

Lock Locks or unlocks the particular element for edit.

Select in Containment Opens the Containment tab and selects the


Tree current element in the Containment tree.

Select in Inheritance Opens the Inheritance tab and selects


Tree the current element in the Inheritance tree.

On this page

• Lock View tab toolbar(see page 45)


• Working with model elements in the Lock View tree(see page 46)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 46


Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Zoom tab
The Zoom tab enables you to preview a selected diagram. To select a diagram, go to the Containment
or Diagram tab. You can also use the Zoom tab to zoom in or out of the active diagram.

The Zoom tab in the quick properties panel.


To open the Zoom tab, do one of the following

• In the Model Browser, click the Zoom tab.


• On the Window menu, click Zoom.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 47


To zoom in or out of the active diagram

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

To quickly access any part of the diagram

• In the Zoom tab, drag the blue square to the desired part of the diagram.
The selected diagram part will be displayed on the diagram pane.

To fit the diagram to the window

• In the Zoom tab, on the blue square , click the Fit in Window button or press CTRL+W.

To show the Diagram Zoom Slider

1. From the Options menu, select Environment. The Environment Options window opens (see
the figure above).
2. Select the Browser options group.
3. In the Browser category, select the Show Diagram Zoom Slider check box.
The Diagram Zoom Slider is displayed in the Zoom tab (see the figure above).

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)

Documentation tab
The Documentation tab shows information associated with a selected model element in the Model
Browser or on a diagram pane.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 48


The Documentation tab in the quick properties panel.
To open the Documentation tab, do one of the following

• In the Model Browser, click the Documentation tab.


• On the Window menu, click Documentation.

 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 tab, click the text area and type the text.

To turn on the HTML text

• In the Documentation tab, click the HTML check box.


The HTML toolbar opens and you can type the HTML text.

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 49


Properties tab
The Properties tab at the bottom of the Model Browser allows you to quickly access basic information
about a selected element or diagram.

An example of the Properties tab in the Quick properties panel

 Multiple selection
• If multiple elements or symbols of different kinds are selected, only their common
properties are displayed in the Properties tab.
• If more than 10 elements in the Containment tree or symbols on the diagram pane are
selected, properties are displayed only by request. You need to click the link Show
common properties for the selected items.

To open the Properties tab, do one of the following

• In the Model Browser, click the Properties tab.


• On the Window menu, click Properties.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 50


The Properties tab includes the following tabs:

Tab name Description

Element Contains the main properties of the element's or diagram's


specification.

Symbol Contains the element symbol's properties.

 This tab is available for symbols only.

Tags Contains the tagged values of the selected element.

When you click the Show Only Applied Stereotypes Tags button,
only the tabs with values are listed.

Language properties Contains the same data as the Language Properties property
group in the element's Specification window.

 This tab is available only for the elements used for code
generation, that is, class, attribute, operation.

Traceability Contains the same data as the Traceability property group in the
element's Specification window.

Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 51


• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Search Results tab(see page 42)
• Working with model elements in the Model Browser(see page 52)
• Zoom tab(see page 47)

Working with model elements in the Model Browser


In the Model Browser you can do the various actions with model elements, such as, rename, cut, copy,
delete, and others. These actions are available from the particular model element shortcut menu. See
the list of the concrete actions in the following table.

Command Function

Rename Switches the element name into the edit mode.


You can also press F2 for this.

Copy Copies the selected element.

Copy URL Copies a model element URL to a


clipboard.

Copy Element Hyperlink Copies the hyperlink of the selected element.

Cut Cuts the selected element.

Paste Pastes the copied element.

Delete Deletes the selected element.

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

1. Select the model element in the Model Browser.


2. From the model element shortcut menu, select Copy or Cut.
3. Open the project to which you want to paste the selected element(s).
4. Select the container, where you wish to paste the element(s).
5. From the container's shortcut menu, select Paste.

To change the location of an element in the Model Browser

1. Select the element in the Model Browser.


2. Drag it to the new location (possible owner).

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 52


Related pages

• Model Browser(see page 22)


• Using the Model Browser(see page 24)
• Containment tab(see page 25)
• Structure tab(see page 31)
• Diagrams tab(see page 38)
• Documentation tab(see page 48)
• Inheritance tab(see page 35)
• Lock View tab(see page 44)
• Model Extensions tab(see page 40)
• Properties tab(see page 50)
• Search Results tab(see page 42)
• Zoom tab(see page 47)

Image Library tab


The Image Library tab displays images grouped in logical sets. You can use a bundled image collection
or add your own set of images.

To open the Image Library tab

• From the Window menu, select Image Library.


The Image Library tab opens on the right side of the window.

To add your own set of images into Image Library, do either

• Compress a folder (.zip) with a set of desired images and place it in the MagicDraw installation
directory: \data\imagelibraries\commonsymbols.

 Image formats
You can add images of the following formats: .gif, .jpg, .jpeg, .svg, .png, .wmf.

• Create an Image Library plugin. Follow up an example Writing plugins81.

Using the Image Library tab, you can apply an image on symbol82.

81 https://docs.nomagic.com/display/MD2021xR2/Writing+plugins
82 https://docs.nomagic.com/display/MD2021xR2/Applying+image

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 53


The Image Library tab consist of three components:

• Quick filter(see page 55)


• Image Library tree(see page 55)
• Image Library Preview area(see page 55)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 54


Quick filter
You can search for images in the Whole hierarchy or Recently used tabs using one of the following
way:

• Simple Search: type what you want to find in the hierarchy.


• Pattern Search: type * to find any images.

 For example, type "*Bank" if you want to find "Bank" somewhere in the hierarchy.

Image Library tree


You can drag an image from the Image Library tree directly:

• On the symbol (image is applied for symbol).


• To the diagram pane (image shape is created).

Image Library Preview area


You can preview the image before applying it on the symbol in the Image Library Preview area.

Related pages

• Understanding the user interface(see page 17)


• Main menu(see page 18)
• Toolbars(see page 20)
• Model Browser(see page 22)
• Changing interface style(see page 55)

Changing interface style


You can change the appearance of your modeling tool windows, dialogs and menus. The Look and
Feel menu allows you to personalize the user interface using a number of predefined styles and
themes. You can also create a custom theme with your favorite colors and fonts.

To change the interface style

1. In the main menu of a modeling tool, select Options > Look and Feel.
2. Select the desired style from the list of available styles.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 55


The Look and Feel menu options.

 Important
• The selected style may not look exactly like the style in related operating systems.
• Depending on your operating system, some style options may be unavailable.

Creating a custom theme


Define your own interface style by creating a custom theme. The Custom theme option is located in the
Look and Feel Themes submenu which also offers 8 predefined themes. The Custom theme allows
you to specify text fonts and sizes of the desired interface elements as well as their colors.

To create a custom theme

1. In the main menu of a modeling tool, select Options > Look and Feel > Metal.
2. In the same menu, select Options > Look and Feel > Look and Feel Themes > Custom.
3. In the open dialog, change the values of the desired style properties.
4. Click OK.

 Look and Feel Themes


The themes listed in the Look and Feel Themes submenu are only available if you select the
Metal style.

On this page

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 56


• The Look and Feel menu options.(see page 56)
• Creating a custom theme(see page 56)

Related pages

• Understanding the user interface(see page 17)


• Main menu(see page 18)
• Toolbars(see page 20)
• Model Browser(see page 22)
• Image Library tab(see page 53)

Creating Requirements Project

You can create requirements using the the Requirements Project template. It contains predefined
packages, elements, and diagrams to start creating your own requirements in the model.

 The Requirements Project template is only available in MagicDraw with Cameo Requirement
Modeler Plugin installed.

To create a Requirement Project

1. Open the New Project dialog. Do one of the following:


• From the File menu, select New Project.
• On the main toolbar, click the New Project button.
• Press Ctrl + Shift + N.
2. In the New Project dialog, specify the following:
• On the left side of the dialog, under the General-Purpose Modeling domain, select the
Requirements Project.
• On the right side of the dialog, type the file name in the Name box.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 57


• On the right side of the dialog, click the button and select the location to store the
created project.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 58


3. Click OK.
The new Requirement project is created with predefined structure as shown in the image below.

Related pages

• Working with projects83

Opening projects

 The native modeling tool format is *.mdzip and *.mdxml.

83 https://docs.nomagic.com/display/MD2021xR2/Working+with+projects

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 59


Opening previously created projects
To edit or review previously created projects, do one of the following

• From the File menu, select Open Project. In the Open dialog, select the project and click Open.
• On the main toolbar, click the Open Project button.
• Drag the project from the open window of your file system to modeling tool. The project starts
immediately.
• Double-click the project file with the *.mdxml or *.mdzip extension. A new modeling tool window
opens.

 To start modeling tool with the last project you worked on, select Options > Environment and
set Open Last Project on Startup to true.

XMI 2.4 / UML 2.4 is the main file format, used by MagicDraw for storing models. This format does not
specify how to store diagrams, so MagicDraw stores and opens diagram data in XMI extension sections.
Thus if you use MagicDraw to open an XMI file exported from another UML tool, only the model will be
opened, but not diagrams or views.
Accordingly, if you open a MagicDraw file in another UML tool, diagrams or views will not be opened in
that tool (unless the tool supports MagicDraw-specific file extensions).
You may open more than one project within the same MagicDraw window. A separate workspace will
be created for each opened project.

Opening projects saved with modeling tool 17.0 or earlier


Projects saved with modeling tool 17.0 or earlier can be as well opened with modeling tool of later
versions.
To update older models, simply open them with modeling tool of later versions and then re-save them.
Models will be automatically converted to the latest format.
In case your model is stored in a project that uses other projects, you should open and re-save the used
projects first and only then do the same with the main project. Be advised that having only the used
projects successfully converted to the latest format, you may expect the smooth conversion of the
project that uses them.

If you convert only the project and leave the used projects saved in an old format, you will not be able

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 60


to modify the projects used in the read-write accessibility mode.

Related pages

• Working with projects84

Switching between multiple projects


You may need to manage several projects at the same time, and MagicDraw allows you to do that
easily. 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 open projects, do one of the following

• From File menu, select Switch Projects and then click the name of the project you want to
switch to.
• On the main toolbar, click and then select the name of the project you want to switch to.

To close all open projects

84 https://docs.nomagic.com/display/MD2021xR2/Working+with+projects

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 61


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

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 is
displayed again when the next project closes.

Yes To Save all projects without prompting. The Save dialog will not appear for each open project.
All

No Project you are currently closing will not be saved.


The dialog is displayed again when the next project closes.

No To All All the projects will be closed without saving or further prompting.

Cancel Cancel saving projects.

To exchange model elements between open projects

• Use the Cut, Copy, and Paste commands from the Edit menu or the selected element's
shortcut menu, or the appropriate shortcut keys: Ctrl + X, Ctrl + C, Ctrl + V.

Creating requirements

On this page

• Creating requirements in the Containment tree(see page 63)


• Creating requirements in the Requirement diagram(see page 63)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 62


• Creating requirements in the Requirement Table(see page 64)
• Creating a new Requirements(see page 64)
• Adding existing Requirements(see page 64)
• Adding nested Requirements(see page 65)

You can create and represent text-based requirements and relate them to other modeling elements.
The requirements can be depicted in graphical, tabular, or tree structure format. This page provides
instructions for creating requirements in the model. You can create requirements in the:

• Containment tree.(see page 63)


• Requirement Diagram(see page 63).
• Requirement Table(see page 64).

Creating requirements in the Containment tree


If you create Requirements in the Containment tree, the element is created in the Model Browser(see
page 17). After that you can represent them on the diagram pane(see page 17) by dragging them or in the
Requirement Table(see page 152) by adding an existing element.

To create requirements in the Containment tree

1. Open an existing or create a new Requirement Diagram. How to create a new diagram >85
2. In the Containment tree(see page 25), right-click the package, or another Requirement where you
want to create or nest a new Requirement.
3. From the shortcut menu, click Create Element.
4. In the Create Element dialog, select any type of Requirement.

 If you have created your own custom Requirement types, they appear under the Custom
Requirements group.

5. Type a Requirement name.


The new requirement is created in the Model Browser.

Creating requirements in the Requirement diagram


If you create Requirements directly on the diagram pane, the element is created in the Model
Browser(see page 17) as well.

To create Requirements on the Requirement Diagram pane

1. Open an existing or create a new Requirement Diagram. How to create a new diagram >86
2. On the diagram pallet(see page 17), select a Requirement or other type of requirement button and
click on the diagram pane.

 The element is created in the same package where the diagram is stored.
3. On the Requirement shape, type a name, ID, and description.
The Requirement is created and added in the table.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 63


 You can find more information about how to work in diagrams on the page Diagramming87.

 To select a different owner


1. Hold Shift, click Add New button, and select a Requirement type from the drop-down menu.
The Select Owner dialog opens, enabling you to choose a different owner.

Creating requirements in the Requirement Table


You can create new, nested requirements, or add existing ones in the Requirement Table.

Creating a new Requirements


To create a new Requirement in a Requirement Table

1. Open an existing or create a new Requirement Table. How to create a table >88
2. On the Requirement table toolbar, click the Add New button or press Insert (Ctrl+I for Mac
users). The list of Requirement types opens.
3. Click a desired requirement type. A new line above the first numbered requirement appears.
4. In that empty line, type a requirement name and specify other requirement properties.

 To select a different owner


1. Hold Shift, click Add New button, and select a Requirement type from the drop-down
menu.
The Select Owner dialog opens, enabling you to choose a different owner.

Adding existing Requirements


To add existing Requirements in a Requirement Table

1. Open an existing or create a new Requirement Table. How to create a table >89
2. Do one of the following:
• On the Requirement table toolbar, click the Add Existing button or press Ctrl + Insert
(Ctrl+I for Mac users). In the Select Requirement dialog, select the requirements you
want to represent in the table and click OK.
• Drag the entire requirements Package from the Containment tree(see page 17) and drop it
on the empty Requirement table to represent all its content in the table.

87 https://docs.nomagic.com/display/MD2021xR2/Diagramming
88 https://docs.nomagic.com/display/MD2021xR2/Creating+diagrams
89 https://docs.nomagic.com/display/MD2021xR2/Creating+diagrams

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 64


Adding nested Requirements
To add nested Requirement in the Requirement Table

1. Select Requirement you want to nest in the table.


2. Click the Add Nested button or press Alt+Insert (Alt+I for Mac users).
3. Select the desired Requirement type from the drop-down menu.

 If you have created your own custom Requirement types, they appear under the Custom
Requirements group in the drop-down menu.

 More information about how to work in tables you can find in the following pages:
• Table toolbars90
• Table Criteria area91
• Basic tasks in tables92

Related pages

• Creating diagrams93
• Opening diagrams94
• Dragging objects95
• Relating requirements(see page 80)
• Table toolbars96
• Table Criteria area97
• Basic tasks in tables98

Importing requirements

 It is recommended that you import requirements into a separate project which can be used in
other models as a used project. How to manage used projects >>99

90 https://docs.nomagic.com/display/MD2021xR2/Table+toolbars
91 https://docs.nomagic.com/display/MD2021xR2/Table+Criteria+area
92 https://docs.nomagic.com/display/MD2021xR2/Basic+tasks+in+tables
93 https://docs.nomagic.com/display/MD2021xR2/Creating+diagrams
94 https://docs.nomagic.com/display/MD2021xR2/Opening+diagrams
95 https://docs.nomagic.com/display/MD2021xR2/Dragging+objects
96 https://docs.nomagic.com/display/MD2021xR2/Table+toolbars
97 https://docs.nomagic.com/display/MD2021xR2/Table+Criteria+area
98 https://docs.nomagic.com/display/MD2021xR2/Basic+tasks+in+tables
99 https://docs.nomagic.com/display/MD2021xR2/Managing+used+projects

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 65


You can import requirements in one of the following ways:

• By importing ReqIF files.(see page 66)


• By syncing Excel or CSV files with Requirement table.100
• By importing data from Excel or CSV file.101
• By pasting into Requirement table.102
• By pasting into Requirements diagram, or Containment tree.103
• Using Cameo DataHub.(see page 74)

Related pages

Importing ReqIF files

On this page

• Importing ReqIF files(see page 66)


• Changing requirements importing options(see page 69)
• Updating requirements(see page 69)
• Managing obsolete requirement elements(see page 70)

Importing ReqIF files


You can import ReqIF files from:

• IBM DOORS 9.4, 9.5, and 9.6


• IBM DOORS Next Generation
• PTC Integrity
• Polarion REQUIREMENTS
• Siemens Teamcenter
• Dassault Systemes Reqtify

 You can import any ReqIF file – with or without specifications.

100 https://docs.nomagic.com/display/MD2021xR2/Sync+with+Excel+or+CSV+files
101 https://docs.nomagic.com/display/MD2021xR2/Importing+data+from+Excel+or+CSV+files
102 https://docs.nomagic.com/display/MD2021xR2/Basic+tasks+in+tables#Basictasksintables-
Copyingandpastingdata
103 https://docs.nomagic.com/display/MD2021xR2/Creating+elements+from+other+resources

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 66


To import a ReqIF requirement file

1. Open a project wherein you want to import requirements.


2. From the File menu, select Import From > Requirement Interchange Format (ReqIF) File.
3. In the opened Load dialog, browse for your ReqIF file and click Open.
4. The ReqIF file is imported.

 If Requirements in the ReqIF file have ID prefixes, they are set automatically after import only
for imported Requirements. Manage ID prefixes when numbering Requirements(see page 93).

Sorry, the widget is not supported in this export.


But you can reach it using the following URL:

https://www.youtube.com/watch?v=w12dprJkT_0

When the ReqIF file is imported, a notification message appears, stating the quantity of imported or
updated elements. If you import a ReqIF file without specification, the message doesn't contain the line
that indicates new or updated specifications. You also see no option Show imported specification
table(s).

If you imported a ReqIF file with the specification, you can view the list of imported elements. To do
that, click the Show imported specification table(s) link in the opened notification message. The list is
displayed in a generic table format.

To change import options, click the You can change import and mapping options here link in the
opened notification message.

 The notification message is displayed for a fixed duration, but you can find all project
notification messages in the Notification Window. To open the Notification Window, click
Window > Notification Window, or press Ctrl + M.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 67


Imported requirements are presented in the Containment tree. The requirement specification is
represented as a model package and requirements are represented as model elements.

If there are images or files attached to the ReqIF file, they are marked with the «AttachedFile»
stereotype and placed in a separate package as model elements after the import.

 All images in the BMP file format are automatically converted to the PNG format.

 If there are any deleted elements in the source file, they are automatically marked with the
«deprecated» stereotype once imported onto the modeling tool.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 68


Changing requirements importing options
Changing requirements importing options is beneficial if you have a custom requirement type defined,
or you are importing another type of data instead of requirements, for example, test cases.

 A requirement type is limited to class and class extended types.


You can change the following import options:

• Specify an element type to create for the objects you are importing
• Specify a relationship type to create for the relationships you are importing
• Specify a path to the resource location
• Choose whether to import all properties into the model or not and form a list of ignored and not
imported properties

To change ReqIF file importing options

 We recommend changing importing options before requirements are imported and no


changes are made in the project, because after you have changed importing options, you need
to remove the requirements you have imported and re-import it.

1. Click Options > Project. The Project Options dialog opens.


2. In the options group list, select General, then scroll down to the ReqIF options group.
3. Click a desired option specification cell to change it's value.
4. Click OK after you are finished.

Updating requirements

It is common to modify requirements after importing them. Importing requirements in a ReqIF format
allows updating the requirements present in the model without any data loss – all changes are
identified.

To update ReqIF file by importing a new file

1. Open a project wherein you want to update requirements.


2. Import a ReqIF file with updated requirements.

To update requirements from the project

1. Open the project containing imported requirements.


2. In the Containment tree, select a requirement specification package and open it's shortcut
menu.
3. Click Tools > ReqIF > Update From Requirements Interchange Format (ReqIF) File.
4. In the opened Load dialog, browse for your ReqIF file and click Open. The ReqIF file is updated.
After requirements have been updated, you get a notification message informing about an update
status. If you update a ReqIF file without specification, the message doesn't contain the line that
indicates new or updated specifications. You also see no option Show imported specification table(s).

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 69


In the change log table, you can see the detailed list of updated elements.

During update, no elements are removed, only new elements are added and statuses of all elements
are updated. Elements not present in an updated ReqIF file are marked as obsolete.

Managing obsolete requirement elements

In the model, obsolete elements are marked with an exclamation mark in a yellow triangle. A
«deprecated» stereotype is applied to such requirement elements automatically.

Removing Obsolete Elements


In the project, you can choose to remove only the selected obsolete element or all obsolete elements at
a time. To remove one selected obsolete element, use the validating procedure(see page 0) that is
described in the following section.

To remove all obsolete elements

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


2. From the shortcut menu, select Tools > ReqIF > Remove Obsolete Elements.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 70


Searching for obsolete elements

To search for obsolete elements

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


2. From the shortcut menu, select Validation > Obsolete Elements and one of the following:
• Remove Obsolete Elements – removes the selected obsolete elements from a project
• Ignore – ignores obsolescence from the element and leaves it in the model
• Select in Validation Results – opens the Active Validation Results panel wherein you
can perform appropriate validation actions.

Related pages

• Applying automated post-processing scripts after ReqIF file import(see page 71)
• Importing ReqIF files from the command-line interface(see page 72)

Applying automated post-processing scripts after ReqIF file import


After the ReqIF file import, you can apply an automated post-processing script to your project in order
to modify requirements and create custom mapping upon requirements interchange through ReqIF.

 In order to see the scripts and execute them, you must be using ReqIF Profile. To set the
profile, go to File > Use Project, then scroll to select ReqIF Profile.mdzip and click Finish.

To apply the post-processing rules

1. From the Options menu, select Project.


2. In the options group list, select General, then scroll down to the ReqIF options group.
3. Under the ReqIF Import category, find Post-processing rules and select the one you want to
apply.
4. Click OK.

Post-processing Rule Description

Fill Empty Requirement Name When applied to a requirement with an unspecified Name
property, the rule picks the data from Element ID and uses
it as the element name.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 71


Post-processing Rule Description

Set CustomID as ID When applied to a requirement with an empty Element ID,


the rule sets the specified CustomID as an element ID.

Importing ReqIF files from the command-line interface


Importing from the command-line interface is useful when you want to import files automatically, e.g.,
once a day at midnight.

To import a ReqIF file from the command-line interface

1. Open the Command Prompt window


2. Go to the <model editor installation directory>/plugins/com.nomagic.requirements directory
containing the reqifimport.exe file.
3. At the command prompt, type the following command and specify the values of the required
arguments:
reqifimport project_descriptor=<project URL> reqif_file=<path to ReqIF
file> owner=<element hyperlink or qualified name>
Where:
• project_descriptor is the URL of a project.
How to get a project descriptor?

i. Start your modeling tool and open the required project.


ii. In the main menu, go to File > Project Properties and select the General tab.
iii. Find the project descriptor specified in the Project Descriptor box at the bottom
of the Project Properties dialog and copy it to the clipboard.
• reqif_file is the path to the ReqIF file you want to import.

 If there is a space in a path, surround the argument and its value with escaped
quote (\").

• owner is the hyperlink or qualified name of the owner element. If newly imported
elements are not contained by the Specification element, they are placed under the
specified owner. Note that the owner argument is optional.
How to get the hyperlink of an element?

i. Start your modeling tool and open the required project.


ii. In the Containment tree, right-click an element and select Copy Element
Hyperlink.
The hyperlink of the element is now copied to the clipboard.

4. Press Enter.
Now after opening the project you have imported the ReqIF file into, the imported data is already
present in the Containment tree of the project.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 72


Using a properties file
To make importing from the command-line interface quicker you can specify arguments in a properties
file, which can be easily edited or reused.

To import a ReqIF file from the command-line interface using a properties file

1. Create a properties file and specify the values of the following arguments:
• project_descriptor
• reqif_file
• owner

See the example of a properties file below.

1 project_descriptor=file:/C:/Users/johnsmith/Downloads/MagicDraw_185/
samples/requirements/MagicLibrary%20requirements.mdzip
2 #
3 # Specify the project URL.
4 # To get a project descriptor, open a project and in the main menu
go to File > Project Properties > General.
5 #
6 reqif_file=C:/Users/johnsmith/Documents/project_requirements.reqif
7 #
8 # Specify the path to the ReqIF file.
9 # NOTE: If there is a space in a path, surround the argument and its
value with escaped quote (\").
10 #
11 owner=mdel://eee_1045467100313_135436_1
12 #
13 # Specify the hyperlink or qualified name of the owner element.
14 # To get the hyperlink of an element, open a project, right-click
the element in the Containment tree and select "Copy Element
Hyperlink".
15 # NOTE: This argument is optional.
16 #

 When creating a properties file on Windows OS, use only / or \\ as a path separator,
otherwise the command will fail.

2. Open the Command Prompt window.


3. Go to the <model editor installation directory>/plugins/com.nomagic.requirements directory
containing the reqifimport.exe file.
4. At the command prompt, type the following command and specify the value of the
properties_file argument.
reqifimport properties_file=<path to properties file>
Where properties_file is the path to the properties file to be used.

5. Press Enter.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 73


Now after opening the project you have imported the ReqIF file into, the imported data is already
present in the Containment tree of the project.

Interchanging of requirements using Cameo DataHub

The Cameo DataHub is a dedicated solution for the requirements synchronization between different
sources, such as MagicDraw, Rational DOORS®, CSV files, and other. Cameo DataHub is a data bridge
that allows for data importing and exporting, automatic synchronization and creation of references
between requirements and other artifacts. It allows to use different import and synchronization
methods while importing or exporting requirements.

Came DataHub allows to:

• Associate and synchronize data.


• Change the monitoring statuses such as active, pending update, and pending delete whenever
associated data items are modified or deleted.
• Impact monitoring. Whenever the referenced data item changes, Cameo DataHub reports the
suspect status to direct traceability from each requirement to the respective design artifact.
• Define mappings between data and its’ properties.

 The Cameo DataHub must be installed before taking the following actions. How to install
Cameo DataHub >104

To interchange of requirements using Cameo DataHub

1. Open an existing project or create a new one.


2. On the main menu, click Tools > Requirements > DataHub and select a desired action.

 For more information about working with Cameo DataHub, see Cameo DataHub
documentation105 and Cameo DataHub Tutorial106.

Sorry, the widget is not supported in this export.


But you can reach it using the following URL:

https://www.youtube.com/watch?v=w12dprJkT_0

104 https://docs.nomagic.com/display/CDH2021xR2/Installation
105 https://docs.nomagic.com/display/CDH2021xR2/User+Guide
106 https://docs.nomagic.com/display/CDH2021xR2/Tutorial

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 74


Related pages

• Installing Cameo DataHub107


• Cameo DataHub documentation108
• Cameo DataHub Tutorial109
• Importing requirements(see page 65)

Exporting requirements

You can export ReqIF files to be used with:

• IBM DOORS 9.4, 9.5, and 9.6


• IBM DOORS Next Generation
• PTC Integrity
• Polarion REQUIREMENTS
• Siemens Teamcenter
• Dassault Systemes Reqtify
Exporting requirements to ReqIF files ensures that all html formatting, images, and hyperlinks are
represented in ReqIF format file properly. You can choose to export project elements or specifications,
also, advanced users can create automated exports and scheduled exports from Teamwork Server or
Teamwork Cloud projects. It should be noted that the exported files keep their original names.

It is recommended to export requirements into a separate project which can be later used in other
models as a used project.

To export requirements to a ReqIF file

1. Open a project from which you want to export requirements.


2. From the File menu, select Export To > Requirement Interchange Format (ReqIF) File.
3. Choose to export one of the following:

• Elements - if you want to export the plain list of requirements.


• Specifications - if you want to export requirements and hierarchical relationships
between them.

 If you choose to export Specifications, make sure you have at least one package
with the «Specification» stereotype applied. To apply the stereotype, your project
has to use the ReqIF Profile. When you try to export specifications from the project
that doesn't have the ReqIF Profile used in it, you get the message asking if you
want to use the profile. In this case, click Yes, apply the «Specification» stereotype
to the required packages and repeat the export procedure.

107 https://docs.nomagic.com/display/CDH2021xR2/Installation
108 https://docs.nomagic.com/display/CDH2021xR2/User+Guide
109 https://docs.nomagic.com/display/CDH2021xR2/Tutorial

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 75


4. In the open Select Elements / Select Specification Package dialog, select the elements or

specification packages you want to export and click or (if you want to add
elements recursively). Then they appear in the Selected elements list on the right side of the
dialog.
5. When you're done selecting, click OK.
6. In the Select ReqIF file dialog, select the output location for the exported ReqIF file, then select
the file you want to export or type the file name to create a new one.
7. In the ReqIF Flavor pane on the right of the Select ReqIF file dialog, select the flavor of your
exported ReqIF file.

 If you cannot find the needed ReqIF Flavor on the list, please choose MagicDraw.
8. Click Export.

 Images attached to the model are exported to the ReqIF file automatically as well.

When the ReqIF file is exported, a notification message appears, stating the quantity of exported
specifications, elements and relationships. If you choose to export elements only, the message doesn't
contain lines that indicate exported specifications and relationships.

Click the Note: you can change import/export and mapping options here link in the notification
message, if you want to change these options.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 76


 The notification message is displayed for a fixed duration, but you can find all project
notification messages in the Notification Window. To open the Notification Window, click
Window > Notification Window, or press Ctrl + M.

Changing requirements exporting options


Changing requirements exporting options is beneficial if you have a custom requirement type defined,
or you are exporting not a requirement file but another type of data, for example, test cases.

 A requirement type is limited to class and class extended types.


You can change the following export options:

• Specify an element type to create for the objects you are exporting
• Specify a relationship type to create for the relationships you are exporting
• Specify a path to the output location for exported resources (images, documents, etc.)
• Choose whether to export all properties or not and form a list of ignored and not exported
properties

To change ReqIF file exporting options

1. Click Options > Project. The Project Options dialog opens.


2. In the options group list, select General, then scroll down to the ReqIF options group.
3. Click a desired option specification cell to change it's value.
4. Click OK after you are finished.
Related pages

• Applying automated pre-processing scripts before ReqIF file export(see page 77)
• Exporting ReqIF files from the command-line interface(see page 78)

Applying automated pre-processing scripts before ReqIF file export


Prior to the ReqIF file export, you can apply an automated pre-processing script to your project in order
to modify requirements and create custom mapping upon requirements interchange through ReqIF.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 77


 In order to see the scripts and execute them, you must be using ReqIF Profile. To set the
profile, go to File > Use Project, then scroll to select ReqIF Profile.mdzip and click Finish.

To apply the pre-processing rule

1. From the Options menu, select Project.


2. In the options group list, select General, then scroll down to the ReqIF options group.
3. Under ReqIF Export, find Pre-processing rules and select the one you want to apply.
4. Click OK.

Pre-processing Rule Description

Restore Empty Requirement Name When applied to a requirement with a specified Name
property, the rule removes the element name upon export.

Exporting ReqIF files from the command-line interface


Exporting from the command-line interface is useful when you want to export files automatically, e.g.,
once a day at midnight.

To export a ReqIF file from the command-line interface

1. Open the Command Prompt window


2. Go to the <model editor installation directory>/plugins/com.nomagic.requirements directory
containing the reqifexport.exe file.
3. At the command prompt, type the following command and specify the values of the required
arguments:
reqifexport project_descriptor=<project URL> reqif_file=<path to ReqIF
file> export_type=<specifications|elements> elements=
<hyperlinks or qualified names of elements> source_tool_id=<ReqIF flavor>
Where:
• project_descriptor is the URL of a project.
How to get a project descriptor?

i. Start your modeling tool and open the required project.


ii. In the main menu, go to File > Project Properties and select the General tab.
iii. Find the project descriptor specified in the Project Descriptor box at the bottom
of the Project Properties dialog and copy it to the clipboard.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 78


• reqif_file is the path to the ReqIF file you want to export.

 If there is a space in a path, surround the argument and its value with escaped
quote (\").

• export_type is the type of exported data. The valid value of this argument:

• elements - if you want to export the plain list of requirements.


• specifications - if you want to export requirements and hierarchical
relationships between them.
• elements are hyperlinks or qualified names (or the combination of both) of the elements
to be exported. They must be separated by semicolon (;) symbols.
How to get the hyperlink of an element?

i. Start your modeling tool and open the required project.


ii. In the Containment tree, right-click an element and select Copy Element
Hyperlink.
The hyperlink of the element is now copied to the clipboard.

 If you want to export Specifications, make sure you specify packages with the
«Specification» stereotype applied. To apply the stereotype, your project has to
use the ReqIF Profile. if you try to export packages that don't have the
«Specification» stereotype, the command will fail.

• source_tool_id is the flavor of the ReqIF file. Currently supported flavors are MagicDraw,
IBM Rational DOORS, Polarion, Teamcenter and Reqtify. Note that the source_tool_id
argument is optional.
4. Press Enter.
The ReqIF file with the desired data is now exported to the specified directory.

Using a properties file


To make exporting from the command-line interface quicker you can specify arguments in a properties
file, which can be easily edited or reused.

To export a ReqIF file from the command-line interface using a properties file

1. Create a properties file and specify the values of the following arguments:
• project_descriptor
• reqif_file
• export_type
• elements
• source_tool_id

See the example of a properties file below.

1 project_descriptor=file:/C:/Users/johnsmith/Downloads/MagicDraw_185/
samples/requirements/MagicLibrary%20requirements.mdzip
2 #

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 79


3 # Specify the project URL.
4 # To get a project descriptor, open a project and in the main menu
go to File > Project Properties > General.
5 #
6 reqif_file=C:/Users/johnsmith/Documents/Project_Requirements/
project_requirements.reqif
7 #
8 # Specify the path to the ReqIF file.
9 # NOTE: If there is a space in a path, surround the argument and its
value with escaped quote (\").
10 #
11 export_type=elements
12 #
13 # Specify the type of exported data. The value of the argument can
be "specifications" or "elements".
14 #
15 elements=mdel://_17_0_2_8f90291_1308667744583_445317_24132;mdel://
_17_0_2_8f90291_1308667618344_111153_24071
16 #
17 # Specify the hyperlinks or qualified names (or the combination of
both) of the elements to be exported.
18 # To get the hyperlink of an element, open a project, right-click
the element in the Containment tree and select "Copy Element
Hyperlink".
19 #
20 source_tool_id=MagicDraw
21 #
22 # Specify the flavor of the ReqIF file. Supported flavors are:
"MagicDraw", "IBM Rational DOORS", "Polarion", "Teamcenter" and
"Reqtify".
23 # NOTE: This argument is optional.
24 #

 When creating a properties file on Windows OS, use only / or \\ as a path separator,
otherwise the command will fail.

2. Open the Command Prompt window.


3. Go to the <model editor installation directory>/plugins/com.nomagic.requirements directory
containing the reqifexport.exe file.
4. At the command prompt, type the following command and specify the value of
the properties_file argument.
reqifexport properties_file=<path to properties file>
Where properties_file is the path to the properties file to be used.

5. Press Enter.
The ReqIF file with the desired data is now exported to the specified directory.

Relating requirements

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 80


On this page

• Relating Requirements in the Requirement Diagram(see page 81)


• Relating Requirements in the Requirement Matrices(see page 81)

You can create relationships directly on the Requirement Diagram pane or in the Requirement Matrices
such as Derive, Refine, Satisfy, or Verify.

Relating Requirements in the Requirement Diagram

To relate requirements on the Requirement Diagram pane

1. Open an existing or create a new Requirement Diagram. How to create a new diagram >110
2. Represent requirements on the Requirement diagram.
3. Select a relation type either from the diagram pane or the smart manipulator of the selected
requirement shape on the diagram pane.
4. Draw the selected relation from one requirement element to other.

Relating Requirements in the Requirement Matrices

To create a relation in the Requirement Matrices

1. Create a corresponding matrix or open an existing one. How to create a matrix >111
2. In the intersection cell do one of the following:
• Double click the intersection cell. The appropriate relation is created.
• Right-click the intersection cell and, on the shortcut menu, and click the relation name.
The relation is created.

 You can create more than one relation in the same cell.

Related pages

• Creating requirements(see page 62)


• Derive Requirement Matrix112
• Refine Requirement Matrix113

110 https://docs.nomagic.com/display/MD2021xR2/Creating+diagrams
111 https://docs.nomagic.com/display/SYSMLP2021xR2/Creating+matrices
112 https://docs.nomagic.com/display/CRMP2021xR2/Derive+Requirement+Matrix
113 https://docs.nomagic.com/display/CRMP2021xR2/Refine+Requirement+Matrix

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 81


• Satisfy Requirement Matrix114
• Verify Requirement Matrix115
• Derive(see page 157)
• Copy(see page 157)
• Trace(see page 159)
• Verify(see page 159)
• Refine(see page 160)
• Satisfy(see page 160)

Nesting requirements in the Requirements Table

 If you want to import nested structure of requirements, you must define the Owner property
before the import, with the name or id of the requirement that owns it in the Excel file.
When importing a nested structure of requirements from an Excel file you need to map the
Owner column (defined in the excel file) with the Owner property. Learn more how to import
data from Excel/CSV file >>116

To nest Requirement

1. Select a Requirement you want to nest in the Requirements Table.


2. Click the Nest button on the table toolbar.
The selected Requirement is owned by the requirement in the previous row.

To unnest Requirement

1. Select a Requirement you want to unnest in the Requirements Table.


2. Click the Unnest button on the table toolbar.
The selected requirement is owned by the owner of the current one.

Creating Requirement Diagram for sub-requirements


You can create a Requirements Diagram for sub-requirements of the selected requirement directly on
the diagram pane.

To create Requirements Diagram for sub-requirements

1. Select a Requirement shape on the diagram pane.


2. On the smart manipulator, click the Create diagram for sub-requirements button.

114 https://docs.nomagic.com/display/CRMP2021xR2/Satisfy+Requirement+Matrix
115 https://docs.nomagic.com/display/CRMP2021xR2/Verify+Requirement+Matrix
116 https://docs.nomagic.com/display/MD2021xR2/Importing+data+from+Excel+or+CSV+files

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 82


A new requirements diagram for the sub-requirements is created having the same name as the
selected requirement. The selected requirement is an owner of sub-requirements diagram and is
marked with the diagram sign.

 Double click the owner symbol to open a diagram for sub-requirements and use navigation
buttons on the diagram toolbar to move back or forward through diagrams.

Modifying requirement text

On this page

• Editing the requirement text(see page 83)


• Switching the requirement text to HTML or Plain text(see page 84)
• Modifying the requirement text(see page 85)
• Rich text formatting(see page 85)
• Using Glossary terms(see page 86)
• Defining hyperlinks(see page 88)
• Inserting images into HTML text(see page 89)

The requirement always contains two properties: id and text. This section describes how to modify the
text property of the requirement.

The Stopping Distance Requirement shape with filled Text property.

Editing the requirement text


You can edit the requirement text directly on shapes and in cells, or use the Text dialog.

To open the edit mode of the requirement text, do one of the following

• On the diagram pane(see page 17), select the Text box on the Requirement shape. Click the text box
again. The edit mode opens on the shape.
• In the Requirements table, double-click the Text cell. The edit mode opens on the cell.
• In the Requirements table, double-click the Text cell, and select . The Text dialog opens.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 83


• Open Specification window117 of the Requirement, select the Text property, and click . The
Text dialog opens.

Switching the requirement text to HTML or Plain text


You can change the requirement text to HTML or Plain text directly on the Requirement shape or in the
Text dialog.

To switch the requirement text to HTML or Plain text directly on the Requirement shape

1. On the diagram pane, select the text box on the Requirement shape.
2. Click one of the following buttons appearing on the lower left corner of the shape:
• HTML - converts the text to HTML text.

• Plain - converts the text to plain text.

To switch the requirement text to HTML or Plain text in the Text dialog

1. Open the Text dialog:


• In the Requirements table, double-click the Text cell, and select .
118
• Open Specification window of the Requirement, select the Text property, and click .
2. In the Text dialog tootbar, do one of the following:

117 https://docs.nomagic.com/display/MD2021xR2/Specification+window
118 https://docs.nomagic.com/display/MD2021xR2/Specification+window

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 84


• Select the HTML check box to convert the text to HTML text.

• Clear the HTML check box to convert the text to plain text.

3. Click OK.

Modifying the requirement text


You can modify the Requirement text in the following ways:

• Rich text formatting(see page 85)


• Using Glossary terms(see page 86)
• Defining Hyperlinks(see page 88)
• Inserting images into HTML text(see page 89)

Rich text formatting


If you switch the requirement text to HTML(see page 84), you can use the toolbar in the Text dialog to
format it as rich text.

To open the rich text formatting toolbar

• On the diagram pane(see page 17), select the Text box on the Requirement shape. Click the text box
again.
• In the Requirements table, double-click the Requirement Text cell, and select .
• Open Specification window119 of the Requirement, select the Text property, and click .
If the Requirement text is in HTML format, the rich text formatting toolbar appears as shown in
the following image.

119 https://docs.nomagic.com/display/MD2021xR2/Specification+window

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 85


 HTML text editors
Learn more about how to work with HTML texts:
• Advanced HTML Editor dialog120
• HTML editor121

Using Glossary terms


You can use the terms from the Glossary Table to ensure the same definitions of the concepts. How to
work with Glossary table >>122

If you want to extract a Constraint from a Requirement, you must use the special condition terms when
defining the Requirement text.

 The full procedure for extracting a Constraint from a Requirement is provided in the section
Extracting Constraint from Requirement(see page 142).

The Extracting Constraint from Requirement functionality provides the ability to verify Requirements
easier when trying to prove the assertion is true (or false). A glossary mechanism extracts the constraint
directly from the Requirement text. If you want to create constraints and associate them with the
requirements automatically, you can use the extract Constraint from Requirement text functionality.

To extract Constraint123 value from Requirement124 text

1. Use the Requirements patterns glossary in Requirement text.(see page 140)


2. Create the Satisfy relationship between the specific value of design element and requirement.(see
page 87)

120 https://docs.nomagic.com/display/MD2021xR2/Advanced+HTML+Editor+dialog
121 https://docs.nomagic.com/display/MD2021xR2/HTML+editor
122 https://docs.nomagic.com/display/MD2021xR2/Glossary+table
123 https://docs.nomagic.com/display/MD185/Constraint
124 https://docs.nomagic.com/display/SYSMLP185/Requirement

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 86


Extract Constraint from Requirement text(see page 87).
3.

Creating the Satisfy relationship


The specific value of the design element must satisfy the Requirement. As shown below, the
distanceOnQuickCharge value of the High-voltage Battery Block satisfies the Quick charge mode distance
Requirement.

Extracting Constraint from Requirement


To extract a Constraint from a Requirement

1. Right-click a value property in the compartment area of the element shape.


2. Select Tools > Extract Constraint From Requirement.
The constraint is created automatically with a value and condition pattern defined in the
Requirement.

In the example below, the text "at least 70" of the Quick charge mode distance Requirement is
automatically parsed to "distanceOnQuickCharge >= 70" and solved as a constraint.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 87


After selecting the Extract Constraint From Requirement command, the constraint
{distanceOnQuickCharge >=70.0} is automatically created. It satisfies the requirement text "at least 70".

Defining hyperlinks
You can add a hyperlink on the requirement text. How to add hyperlinks in text read in the Hyperlinks
in text125 page.

125 https://docs.nomagic.com/display/MD2021xR2/Hyperlinks+in+texts

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 88


Inserting images into HTML text
To insert an image into HTML text

From the Containment tree

• When the image is already an AttachedFile, please refer to Working with attached files126.

By using the Advanced HTML Editor

1. Open the Advanced HTML Editor127.


2. On the toolbar, click Insert Image button , then click one of the following:

• From File – to browse the image in your file system or paste the attached image
file URL into the Picture source field.
• From Attached File – to open the Select Elements dialog and select the
appropriate parent element to which the AttachedFile image should be attached.
• From Image Library – to use images from a bundled image collection or your own
added sets of images.

3. Click OK twice to close both dialogs.

By pasting or dragging the image file from file system

1. Open the image file location, select the file(s) you want to insert, then do one of the following:

• copy/paste them to the HTML Editor. In the Paste Special menu, select Image to paste
image and attach it to the project or Image (without attaching) to paste it only for
referencing in the diagram.
• drag them to the HTML Editor. In the Select Image Owner, select the appropriate
parent element to which the AttachedFile image should be attached. If you click Cancel,
the image will be displayed in the diagram, but not attached to the project.

2. Click OK to close the dialogs.

 If you chose to not attach the image, it is displayed in the HTML Editor, but when you
delete the file from your file system, it is no longer displayed. That also means other
users you want to share the project with won't be able to see the image if they open
the project from another device. This option is very useful when the file you want to
insert is large and you don't want to increase the project size.

 This feature works on both the HTML Editor and Advanced HTML Editor.

By pasting or dragging an image from a web browser

126 https://docs.nomagic.com/display/MD2021xR2/Working+with+attached+files#Workingwithattachedfiles-
InsertingintoHTMLtext
127 https://docs.nomagic.com/display/MD2021xR2/Advanced+HTML+Editor+dialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 89


1. Do either:

• copy/paste the image to the HTML Editor. In the Paste Special menu, select Image to
paste image and attach it to the project or HTML Text to paste it only for referencing in
the diagram.
• drag the image to the HTML Editor.

2. Click OK to close the dialogs.

 This feature works only on the HTML Editor.

 This feature works only with Google Chrome and Mozilla Firefox.

By pasting or dragging rich text with an image

1. Do either:

• copy/paste content to the HTML Editor. In the Paste Special menu, select HTML Text
to choose whether paste it only for referencing in the diagram or attach it to the
project, or select Image to paste and attach it to the project, or select Plain Text to
paste only text without an image.
• drag the image to the HTML Editor. In the Select Image Owner, select the appropriate
parent element to which the AttachedFile image should be attached. If you click Cancel,
the image will be displayed in the diagram, but not attached to the project.

2. Click OK to close the dialogs.

 This feature works only on HTML Editor.

 Only rich text from MS Office files is supported.

 If the image from the rich text document is not stored in your file system, you are not
asked to choose whether to attach the file or not.

To insert multiple image files

1. Open the image files location, select the files you want to insert, then do either:

• copy/paste them to the HTML Editor. In the Paste Special menu, select Image to paste
images and attach them to the project or Image (without attaching) to paste them only
for referencing in the diagram.
• drag them to the HTML Editor. In the Select Image Owner, select the appropriate parent
element to which the AttachedFile images should be attached.

2. Click OK to close the dialogs.

 This feature works on both HTML Editor and Advanced HTML Editor.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 90


Related pages

• Extracting Constraint from Requirement(see page 142)


• Advanced HTML Editor dialog128
• HTML editor129
• Text Box130
• Basic tasks in tables131
• Defining hyperlinks132

Customizing requirement properties


You can create specific properties in requirements specifications. This will help identify the
requirement’s version, complexity, priority, severity, status, and other properties. Use the UML Profiling
and DSL Guide133 to extend Requirements with custom properties. Add custom properties to the
general properties list by extending the ExtendedRequirement(see page 155) class.

 Customizing procedure details are described in Creating Customization Data134 and Using
Customization Data135 in the UML Profiling and DSL Guide136.

To create custom properties

1. In your project, create a Package for your custom properties.


How to create a new package

To create a new package

a. In the Containment tree, right-click the element.

 The element should be a namespace, such as a package, class, or requirement.


b. Select Create Element > Package.
c. Type a name for the new Package (e.g. Custom Properties).
d. Press Enter.

2. In that package, create a new stereotype. How to create a new stereotype >>137
3. Apply a metaclass Class to the created stereotype.
How to apply metaclass for a stereotype

128 https://docs.nomagic.com/display/MD2021xR2/Advanced+HTML+Editor+dialog
129 https://docs.nomagic.com/display/MD2021xR2/HTML+editor
130 https://docs.nomagic.com/display/MD2021xR2/Text+Box
131 https://docs.nomagic.com/display/MD2021xR2/Basic+tasks+in+tables
132 https://docs.nomagic.com/display/MD2021xR2/Defining+hyperlinks
133 https://docs.nomagic.com/display/MD2021xR2/UML+Profiling+and+DSL+Guide
134 https://docs.nomagic.com/display/MD2021xR2/Creating+Customization+Data
135 https://docs.nomagic.com/display/MD2021xR2/Using+Customization+Data
136 https://docs.nomagic.com/display/MD2021xR2/UML+Profiling+and+DSL+Guide
137 https://docs.nomagic.com/display/MD190/Stereotype#Stereotype-Creatingastereotype

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 91


To apply a metaclass to a stereotype

a. In the Containment tree, right-click the newly created stereotype.


b. From the shortcut menu, select Metaclass.
c. In the Metaclass dialog, select a Class.
d. Click Apply.

4. For the stereotype with the applied metaclass Class, create custom properties.
How to create custom properties for a stereotype

To create custom properties for a stereotype

a. In the Containment tree, right-click stereotype.


b. From the shortcut menu, select Create Element.
c. In the Create Element dialog, select Property.
d.Type a property name and specify a value type.

5. Extend the ExtendedRequirement class using properties created in the stereotype (i.e., you must
relate the stereotype with the Generalization relationship to the ExtendedRequirement class).
How to extend ExtendedRequirement class by custom properties

To extend the ExtendedRequirement class using custom properties

a. In the Containment tree, right-click stereotype.


b. From the shortcut menu, select Create Relation > Outgoing.
c. In the Outgoing dialog, select Generalization.
d. In the Create New Generalization To dialog, select the List tab, clear the Apply Filter
check box, and select the ExtendedRequirement [Class].
e. Click OK.

6. On the main toolbar138, click Save Project button and restart your project.
Your custom properties are added to the general requirement properties. You can assign values
to them in the Requirement’s Specification window139 or in the Properties panel.
The following figure depicts how the stereotype related to the ExtendedRequirement [Class] looks
in the Containment tree(see page 25) and diagram pane(see page 17).

138 https://docs.nomagic.com/display/MD2021xR2/Understanding+the+user+interface
139 https://docs.nomagic.com/display/MD2021xR2/Specification+window

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 92


The ExtendedRequirement [Class] extended by the author property is
shown in the Containment tree and diagram pane.

Converting requirements
To convert elements

1. From the selected element's shortcut menu, select Refactor > Convert To. The list with available
conversion target types opens.
2. Do one of the following:
• Select the element type from the commonly used element type list. The element is
converted.
• Select More Elements to see the whole list of available conversion targets. In the opened
More Elements dialog, select the element type you need and click OK. The element is
converted and selected element type is included as commonly used element type.

Replacing requirements
To replace one element with another

1. Select a symbol on the diagram pane or an element in the Model Browser and open its shortcut
menu.
2. Click Refactor > Replace With. The warning message appears:
• Click Yes to continue the element replacement. The properties and inner elements of the
original element will be lost.
• Click No to cancel the element replacement. The selected element will not be replaced.
3. If you decided to continue the replacement, the element selection dialog opens.
4. In the element selection dialog, select the element with which you want to replace the original
element.
5. Click OK. The original element is replaced with the target element.

Requirements numbering

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 93


When you create Requirements they are numbered by default with their unique IDs. The default
Requirement IDs in the modeling tool are hierarchical numbers: 1, 1.1, 1.1.1, etc. See the following
figure.

Requirements numbering.
The special validation rules ensure that each Requirement ID in your project is unique. For example, it
is valuable when working with Teamwork Server or Teamwork Cloud and Requirements appear with
the same IDs after commits. The validation rules check that and show errors.

If you want a different Requirement numbering than the default, you can customize 140it manually by
using the Element Numbering dialog141. However, it is not recommended.

140 https://docs.nomagic.com/display/MD2021xR2/Generic+numbering+mechanism
141 https://docs.nomagic.com/display/MD185/Element+Numbering+dialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 94


Analyzing Requirements
The requirements analysis encompasses those tasks that determine the needs or conditions a new or
altered product or project must meet. It considers the possibly conflicting requirements of the various
stakeholders by analyzing, documenting, validating and managing software or system requirements.
Requirements analysis is critical to the success or failure of a systems or software project.

You can analyze requirements using the following tools:

• Usages and Dependencies. Discovers the Requirements usage and dependencies on other
model parts: traceability, change impact analysis.
• Dependency Matrix. Checks the Gap analysis, Change Impact analysis, Requirements
completeness and correctness.
• Model validation. Checks Requirements completeness and correctness based on build in or
custom validation suites.
• Traceability. Tracks, visualizes, navigates, and analyzes the elements involved in traceability
relations.
• Relation Map. Visualizes the relations of multilevel requirements: traceability, coverage analysis.
• Generic and Requirements Tables. Makes the coverage analysis in a compact format.
• Report Wizard. Analysis (e.g. coverage) and estimation (e.g. functional points method) based on
built in or custom documentation generation templates.
The following sections describe the procedures for analyzing requirements:

• Coverage analysis(see page 95)


• Change impact analysis(see page 95)
• Analyzing dependencies in dependency matrix(see page 96)
• Analyzing dependencies in relation map(see page 97)
• Tracing requirements(see page 98)
• Validation(see page 103)
• Metrics(see page 138)

Coverage analysis
The Coverage analysis provides coverage information at immediate higher or lower levels by analyzing
traceability properties values. Coverage analysis visualizes and verifies that requirements are covered
with design, implementation, test cases, or other subjects.

Test cases not only plan how to verify each requirement, but also identify a relation between the
requirement and test case and show the coverage to ensure that each requirement will be
appropriately tested.

Change impact analysis


Impact analysis minimizes the risk of introducing undesirable effects to the system by increasing your
understanding of how the proposed change might affect the elements in the system change. Once a
change is proposed its impact should be identified.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 95


Traceability links and visualization of related elements display dependencies of requirements and help
you see the full impact of a proposed change in those requirements.

Analyzing dependencies in dependency matrix

You can create, analyze, and modify requirement relations in the matrix, which provides a compact
visual view for analysis. Using a dependency matrix, you can also edit relations between a selected
requirement and model element (i.e., add or remove a desired relation).

The Dependency Matrix enables:

• The visualization of more than one element relations from different diagrams.
• The capability to create domain-specific matrices and their templates.
• Ready-to-use matrix templates: traceability of elements and behavior diagrams, traceability of
requirements, traceability of requirements and elements refining, satisfying, verifying them, and
others.
• Faster creation of traceability links between elements (for example, between requirements and
the architecture or requirements and test cases). This improvement saves a huge amount of time
in comparison to linking elements in diagrams.
To create a dependency matrix

1. From a requirements specification package shortcut menu in the Containment tree, select
Create Diagram and then select one of the following:
• Derive Requirement Matrix to create a Dependency Matrix to analyze, create, and
modify derivation relations between a derived requirement and a source requirement.
• Refine Requirement Matrix to create a Dependency Matrix to analyze, create, and
modify refined relations between a requirement and a model element or a set of elements
refining the requirement.
• Satisfy Requirement Matrix to create a Dependency Matrix to analyze, create, and
modify satisfaction relations between requirements and model elements fulfilling the
requirements.
• Verify Requirement Matrix to create a Dependency Matrix to analyze, create, or modify
verification relations between requirements and named elements that can determine
whether the systems fulfill the requirements.
2. Type a diagram name.
3. Select criteria and a scope to be represented in the matrix.

 You can specify requirements to be represented as rows and class elements to be


represented as columns.

4. Click the Refresh button.


The following figure shows how particular requirements satisfy particular model class elements.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 96


Example of a dependency matrix.

You can also remove redundant or create missing dependencies using a dependency matrix. For
detailed instructions on how to use dependency matrixes, see Dependency Matrix142.

Related pages

• Dependency Matrix143
• Requirement matrices(see page 154)

Analyzing dependencies in relation map

A relation map allows visual analysis among multiple levels of abstraction, such as how requirements
are satisfied by other model elements. The relation map enables you to show existing relationships,
visualize multilevel relationships, observe traceability from requirements to implementation, or any
other analysis you need.

The relation map is useful for:

• Making fast analysis and overview of a model.

142 https://docs.nomagic.com/display/MD2021xR2/Dependency+Matrix
143 https://docs.nomagic.com/display/MD2021xR2/Dependency+Matrix

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 97


• Observing traceability from requirements to implementation all the way through different levels
of abstraction (such as analysis, design, etc.).
• Discovering the requirements structure.

 You are not allowed to edit relations in the relation map diagram.

To create a relation map

1. From a package or requirement shortcut menu in the Containment tree, select Create Diagram
and then select one of the following:
• Requirement Containment Map.
• Requirement Derivation Map.
2. Type a diagram name.
3. Specify a relation criterion, element type, and scope.
4. Click the Refresh button.
The following figure shows how particular requirements satisfy particular model class elements.

Example of relation map


For detailed instructions on how to use relation maps, see Relation Map144.

Related pages

• Relation Map145

Tracing requirements

144 https://docs.nomagic.com/display/MD2021xR2/Relation+Map
145 https://docs.nomagic.com/display/MD2021xR2/Relation+Map

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 98


On this page

• Traceability relations in Specification window(see page 99)


• Traceability relations in Properties panel(see page 100)
• Representing traceability on Notes(see page 101)
• Tracing relations using Go To command(see page 102)

 The traceability solution is available in Architect and Enterprise editions.


The traceability relations help determine how your requirements or other model artifacts are satisfied.
As they change, you can use traceability relations to monitor the impact of these changes. You can
visualize traceability relations using MagicDraw features, such as the Dependency Matrix or Relation
Map. Requirements tracing is a background for analysis and is concerned with recovering the sources
of requirements and predicting the effects of requirements. Tracing is fundamental to performing
impact analysis when requirements change. A requirement should be traceable backwards to the
criteria and stakeholders which motivated it (from functional requirements to business requirements).
A requirement should also be traceable forwards into the design entities that satisfy it.

Traceability makes it easier for you to:

• Find, navigate and define the realization and specification of elements from different levels of
abstraction:
• Understand why an element exists, how the element is realized, and clarify the purpose of the
element.
• Validate the system functionality (to see if it meets customer requirements and if any
superfluous functionality has been implemented).
• Improve a customer's understanding of the system and thus his/her acceptance of the system.
• Have single places for relations analysis used in traceability.
• Check artifact coverage and completeness.
• Bridge the gap between levels of abstraction.
• Trace elements by using out-of-the-box predefined traceability suites.
For detailed instructions on how to use the traceability solution, see Traceability146.

Traceability relations in Specification window


In the selected element's Specification window, you can see traceability relations as properties. You can
also create your own specific properties and edit them here.

To trace element relations in the Specification window

1. Open the Specification window of the selected element.


2. Scroll through the general requirement's properties to get to the Traceability properties list.

146 https://docs.nomagic.com/display/MD2021xR2/Traceability

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 99


Traceability property group in element's specification window
For more information about using a Specification window, see Specification window147.

Traceability relations in Properties panel


The same traceability properties are displayed in a Properties panel.

To trace element relations in the Properties panel

1. Select the element in the Model Browser148 or the shape on the diagram pane.
2. In the Model Browser, click the Properties panel > Element tab and scroll through the
properties to get to the Traceability properties list.

147 https://docs.nomagic.com/display/MD2021xR2/Specification+window
148 https://docs.nomagic.com/display/MD2021xR2/Model+Browser

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 100


Traceability property group in element's properties panel.

For more information about using the Properties panel, see Properties tab149.

Representing traceability on Notes

To trace element relations in a Note

1. Select the element's shape on the diagram pane.


2. Connect a note to the selected shape.

149 https://docs.nomagic.com/display/MD2021xR2/Properties+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 101


3. Right-click the note and click Edit Compartments on the shortcut menu,or select a note and click
the Edit Element Properties button appearing on the right side of the note.

4. In the Compartment Edit dialog, click the Element Properties tab, select the traceability
properties you want to represent on a note and move them from the Hidden to Selected list.
5. Click OK when you are done.
Selected traceability properties are presented on a note.

Traceability properties on a note

Tracing relations using Go To command

The Go To command allows you to easily find and navigate to the related elements through the
traceability relations.

To trace element relations using the Go To command

1. Select the Requirement in the Containment tree or the shape on the diagram pane.
2. Right-click the selected Requirement. On the shortcut menu, click Go To > Traceability >
Specification / Realization / Owner / Other and select the desired element.
This element is selected in the Containment tree.

For more information about traceability, see Traceability150.

150 https://docs.nomagic.com/display/MD2021xR2/Traceability

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 102


Validation

On this page

• Purpose(see page 103)


• Validation suites(see page 103)
• Validating your model(see page 103)
• Invalid elements representation(see page 104)

Purpose
Validation checks the accuracy, completeness, and correctness of a model, marks invalid elements in
the model, and suggests solutions.

Validation suites
Models are validated against a set of validation rules. Each validation rule captures an imperative
condition that must be checked against the model. Validation rules are grouped into meaningful groups
called validation suites. There are predefined validation suites that you can customize. You can also
create your own rules and group them into suites. Some validation rules are active; that is, they run all
the time. Validation rules and suites can be exported into a separate project in order to reuse them.
They are stored in the Teamwork Server or Teamwork Cloud server for exchange.

• Learn more about MagicDraw predefined validation suites >>151


• Learn more about SysML validation suites >>152
• Learn more about MagicDraw active validation suites >>153
• Learn more about SysML active validation suites >>154
• Learn more about Requirements validation suites >>(see page 105)
• Learn how to create new validation suites >>(see page 121)
• Learn how to create new validation rule >>(see page 126)
• Learn more about global validation rules >>(see page 136)

Validating your model


The validation can run on the entire model or on a selected part of it. All the elements in that scope are
checked against relevant validation rules, and elements that violate these rules are reported in the
Validation Results panel(see page 113). They are also marked in the Model Browser(see page 22), and their
symbols are highlighted. Diagrams, tables, matrices, and relation maps displaying these highlighted
symbols have the validation results marker bar.

151 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
152 https://docs.nomagic.com/display/SYSMLP2021xR2/SysML+validation+suites
153 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
154 https://docs.nomagic.com/display/SYSMLP2021xR2/SysML+active+validation+suites

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 103


• Learn how to start the validation >>(see page 112)
• Learn more about validation results marker bar >>(see page 113)
• Learn more about Validation Results panel >>(see page 113)
• Learn more about Validation dialog >>(see page 118)

Invalid elements representation


The invalid elements are marked as follows:

• - error or fatal error.


• - warning.
• - debug or info.

 Learn how to customize severity levels >>(see page 129)


You can see invalid elements in the following areas:

• In the Model Browser(see page 22) an invalid element is marked with a small symbol that depends
on the failure severity.

• On the diagram pane(see page 17) an invalid symbol is highlighted.

• In the validation results marker bar(see page 113) every marker of an invalid symbol is colored
according to the violation severity.

• On the status bar(see page 17) the failure indicator displays the severity icon, number of errors, and
the first letter of the error severity (F - fatal error; E - error; W - warning; D - debug; I - info).

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 104


 Solvers of invalid elements
You can analyze invalid elements and solve problems by selecting appropriate commands from
the invalid element or symbol shortcut menu or in the Validation Results panel(see page 113).

Sorry, the widget is not supported in this export.


But you can reach it using the following URL:

https://www.youtube.com/watch?v=YgyeNgpR7TA

Related pages

• Requirements validation suites(see page 105)


• Requirements validation rules(see page 106)
• Starting the validation(see page 112)
• Validation results marker bar(see page 113)
• Validation Results panel(see page 113)
• Validation dialog(see page 118)
• Custom validation(see page 120)

Requirements validation suites

You can validate your model against a set of constraints called validation suites.

 Each Profile contains its own validation suites. You can create your own validation suites(see
page 121).

You can meet the following Requirements validation suites in the Validation dialog(see page 118) or
Validation Suites dialog(see page 123):

• ActiveValSuite - Requirements contains active validation rules about Copy (see page
157)relationship and Test Case(see page 159). The active validation suites enable you to see if a
model is correct and complete immediately. It instantly displays any errors in the model and
suggests appropriate solutions. The active validation suites have «activeValidationSuite»
stereotype applied. Learn how to work with active validation suites >>155
• ValSuite - Requirements contains predefined Requirements validation rules about Copy (see page
157)relationship, Derive Requirement, Requirement(see page 156), and Test Case(see page 159). You
need to perform the validation manually to check your model against the predefined validation

155 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 105


suites. The predefined validation suites have «validationSuite» stereotype applied. Learn how to
work with predefined validation suites >>156
• ValSuite - Suspect Links contains predefined Requirements validation rules about suspect
links157. You need to perform the validation manually to check your model against the
predefined validation suites. The predefined validation suites have «validationSuite» stereotype
applied. Learn how to work with predefined validation suites >>158

 You can find predefined validation suites in the Containment tree(see page 25) when the Show
Auxiliary Resources option is enabled, expand the MD Customization for Requirements
Package> Requirement constraints Package. The Requirement constraints Package is divided into
separate Packages and contain an appropriate validation rules(see page 106).
To show the auxiliary resources

• In the Model Browser159, click and enable the Show Auxiliary Resources option.

Related pages

• MagicDraw predefined validation suites160


• MagicDraw active validation suites161
• SysML validation suites162
• SysML active validation suites163

Requirements validation rules


This page contains all constraints for the Requirements implemented in the tool as validation rules.

The Requirements validation suites and active validation suites include the following validation rules:

• Invalid Copy of requirement(see page 107)


• Invalid return parameter type(see page 107)
• Invalid Slave Requirement text(see page 107)
• Invalid stereotype(s) of client/supplier of Copy(see page 108)
• Missing Recursive copy of sub-requirement(see page 108)
• Recursive loop of Copy dependencies(see page 109)
• Invalid source or target of DeriveReqt(see page 109)
• Invalid generalization of Requirement(see page 110)
• Invalid owned attribute of Requirement(see page 110)
• Invalid owned operation of Requirement(see page 111)

156 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
157 https://docs.nomagic.com/display/MD2021xR2/Suspect+Links
158 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
159 https://docs.nomagic.com/display/MD2021xR2/Model+Browser
160 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
161 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
162 https://docs.nomagic.com/display/SYSMLP2021xR2/SysML+validation+suites
163 https://docs.nomagic.com/display/SYSMLP2021xR2/SysML+active+validation+suites

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 106


• Missing requirement stereotype(see page 111)
• Suspect Unlinked Requirement(see page 111)

Invalid Copy of requirement


Abbreviation

Copy[A]

Description

A requirement can’t copy more than one requirement.

Severity

warning

Context element

Copy

Solvers

Example

Invalid return parameter type


Abbreviation

TestCase[1]

Description

The type of return parameter of the stereotyped model element must be VerdictKind. (note: this is
consistent with the UML Testing Profile).

Severity

warning

Context element

Behavior

Solvers

Example

Invalid Slave Requirement text


Abbreviation

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 107


Copy[2]

Description

The text property of the client requirement is constrained to be a copy of the text property of the
supplier requirement.

Severity

warning

Context element

Copy

Solvers

Example

Invalid stereotype(s) of client/supplier of Copy


Abbreviation

Copy[1]

Description

A Copy dependency may only be created between two classes that have the “requirement” stereotype,
or a subtype of the “requirement” stereotype applied.

Severity

warning

Context element

Copy

Solvers

Example

Missing Recursive copy of sub-requirement


Abbreviation

Copy[C]

Description

If the supplier requirement has sub requirements, copies of the sub requirements are made recursively
in the context of the client requirement and Copy dependencies are created between each sub

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 108


requirement and the associated copy.

Severity

info

Context element

Copy

Solvers

Example

Recursive loop of Copy dependencies


Abbreviation

Copy[B]

Description

Copy dependencies should not from a cyclic graph.

Severity

warning

Context element

Copy

Solvers

Example

Invalid source or target of DeriveReqt


Abbreviation

DeriveReqt[1] and DeriveReqt[2]

Description

A DeriveReqt dependency may only be created between two classes that have the "requirement"
stereotype, or a sub-type of the "requirement" stereotype applied.

Severity

warning

Context element

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 109


Derive Requirement

Solvers

Example

Invalid generalization of Requirement


Abbreviation

Requirement[4]

Description

Classes stereotyped by «requirement» may not participate in generalizations.

Severity

warning

Context element

Generalization

Solvers

Example

Invalid owned attribute of Requirement


Abbreviation

Requirement[2]

Description

The property owned Attribute must be empty.

Severity

warning

Context element

Requirement

Solvers

Example

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 110


Invalid owned operation of Requirement
Abbreviation

Requirement[1]

Description

The property owned Operation must be empty.

Severity

warning

Context element

Requirement

Solvers

Example

Missing requirement stereotype


Abbreviation

Requirement[5]

Description

A nested classifier of a class stereotyped by «requirement» must also be stereotyped by «requirement».

Severity

warning

Context element

Classifier

Solvers

Example

Suspect Unlinked Requirement


Abbreviation

UnlinkReq

Description

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 111


An unlinked element was found.

Severity

warning

Context element

Abstract Requirement

Solvers

Example

Starting the validation


Validation can run on:

• The entire model, or its part (e.g. several packages).(see page 112)
• Diagram, table, matrix, or relation map(see page 112)
• Elements(see page 112)

To start the validation of the entire model or its part

1. Open the Validation dialog. How to open the Validation dialog >>164
2. Specify the following options:
- Validation Suite.
- Validate For.
- Minimal Severity.
Learn more about each of the option >>165
3. Click Validate.
The model or its part is validated against the selected validation suite.

To validate the diagram, table, matrix, or relation map

• On the toolbar of diagram, table, matrix, or map, click the Validate Diagram button .
• Right-click the diagram, table, matrix, or map in the Containment tree166, select Validation >
Validate Diagram.

To validate the element(s)

164 https://docs.nomagic.com/display/MD2021xR2/Validation+dialog
165 https://docs.nomagic.com/display/MD2021xR2/Validation+dialog
166 https://docs.nomagic.com/display/MD2021xR2/Containment+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 112


1. Right-click the element in the Containment tree167.
2. In the shortcut menu, point to Validation and select:
• Validate Element - to validate only selected element.
• Validate Elements Recursively - to validate all child elements of the selected element.

Validation results marker bar


The validation results marker bar appears at the right side of a diagram pane, if the diagram contains
symbols of invalid elements.

The markers are shown even for the items that are not currently visible on the screen (you may need to
scroll down to see them). The marker bar shrinks to fit the screen and displays relative positions of
annotated symbols on the axis of ordinates. Every marker is colored according to the violation severity.

Clicking a marker on the bar selects the appropriate symbol on the diagram pane. Moving the mouse
over the marker eye (the red square at the top-right corner of the diagram pane) opens the summary
of the diagram validation results.

Validation Results panel

On this page

• Introduction(see page 114)


• Opening the Validation Results panel(see page 114)
• Description of Validation Results panel areas(see page 115)

167 https://docs.nomagic.com/display/MD2021xR2/Containment+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 113


• Toolbar(see page 115)
• Validation results area(see page 117)
• Summary of severity area(see page 118)

Introduction
The Validation Results panel and Active Validation Results panel display the results of the validation:
invalid element, severity, explanation of the validation rule and its abbreviation. The Active Validation
Results panel shows the results of active validation suites168, while the Validation Results panel shows
predefined validation suites169.

The Validation Results and Active Validation Results panels.

Opening the Validation Results panel


The Validation Results panel opens automatically after the validation has ended. How to start the
validation >>170

168 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
169 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
170 https://docs.nomagic.com/display/MD2021xR2/Starting+the+validation

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 114


Since the active validation suites always check your model's correctness, you must open the Active
Validation Results panel to see the results of active validation.

To open the Active Validation Results panel

• On the status bar171, click the failure indicator (e.g. ).

 If you cannot see the failure indicator on the status bar, your model is correct according
to active validation suites.

Description of Validation Results panel areas


The Validation Results panel consists of the following areas:

• • Toolbar(see page 115)


• Validation results area(see page 117)
• Summary of severity area(see page 118)

The Validation Results panel areas: toolbar, validation results, and summary of severity areas.

Toolbar
The toolbar allows you to manage the validation results. All buttons are described in the following
table.

171 https://docs.nomagic.com/display/MD2021xR2/Understanding+the+user+interface

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 115


Button Button name Description
icon

Expand All Click to expand recursively all the elements in the validation results
area.

Collapse All Click to collapse recursively all the elements in the validation results
area.

Navigate to Validated Click the button to select the element in the Containment tree172.
Object (Alt+B)
Click the arrow next to the button to open the menu of the following
navigation commands:

• Open Specification - opens Specification window173


of the selected element in the validation results area.
• Go To - opens a submenu whose commands allow
you to track and navigate to the elements.
• Select Rule in The Containment Tree - selects the
failed validation rule in the Containment tree174 of the
selected element in the validation results area.
• Add to Search Results - selects an element in the
Search Results tree175.

Solve Click to open the list of available commands to solve a selected


element violation in the validation results area.

Ignore Click to ignore a selected element violation in the validation results


area. In server projects, you can select whether to ignore the
violation for you as a project user or for all users who works on that
server project.

The button is available when you select an unignored element in the


validation results area.

Click the arrow next to the button to open the menu of the following
commands:

• Ignore Validation Rule - ignores the validation rule of a


selected element in the validation results area.
• Ignore Validation Suite - ignores the validation suite of a
selected element in the validation results area.

172 https://docs.nomagic.com/display/MD2021xR2/Containment+tab
173 https://docs.nomagic.com/display/MD2021xR2/Specification+window
174 https://docs.nomagic.com/display/MD2021xR2/Containment+tab
175 https://docs.nomagic.com/display/MD2021xR2/Search+Results+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 116


Button Button name Description
icon

Unignore Click to make a selected element in the validation results area


violation unignored.

The button is available when you select an ignored element in the


validation results area.

Display the full path of the Click to show the full path of all elements in the validation results
elements area.

Run validation with Click to run the validation with current settings.
current settings

Run validation with new Click to open the Validation dialog176 and run the validation with
settings new settings.

Export Click to export the list of validation results either to .html or .csv file.

Validation results area


The validation results area provides a list of violated elements. This area contains the following
columns:

• Element - elements that violate the validation rule.


• Severity - severity level of the validation rule.
• Abbreviation - a short word, phase, or acronym of the validation rule used for sorting/filtering.
• Message - description of the invalid situation when a validation rule fails.
• Is Ignored - indicator of whether the violation is ignored or not.
You can use the validation results area to:

• Manage validation results(see page 117)


• Sort validation results(see page 118)
• Filter validation results(see page 118)

To manage validation results

• Right-click the element in the validation results area and select one of the following commands
from the shortcut menu:
• Solver name
• Ignore

176 https://docs.nomagic.com/display/MD2021xR2/Validation+dialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 117


• Navigate to Validated Object
• Open Specification
• Go To
• Select Rule in The Containment Tree

 All those commands are described in the table above(see page 115).

To sort the validation results

• Click the header of the column you want to sort the validation results. A small arrow appears on
the column header:

• - ascending sorting.

• - descending sorting.

To filter the validation results

1. Point to the header of a column whose value you want to select for filtering the validation results.
2. Click at the right of the column header and select a value from the drop-down list.

Summary of severity area


The summary of the severity area displays the number and severity of violated elements in expanded
packages. If you collapse the package in the validation results area, the number of violated elements
are excluded from the count.

Validation dialog

On this page

• Introduction(see page 119)


• Opening the Validation dialog(see page 119)
• Description of Validation dialog options(see page 120)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 118


Introduction
The Validation dialog allows you to limit the scope of the constraints to validate against your model.
Since the active validation suites177 check your model all the time, the validation according predefined
validation suites178must be started by using this dialog. If you select the All Validation Suite as the
Validation Suite in the Validation dialog, your model is validated against all predefined179 and active
validation suites180 at the same time. To limit the scope of the constraints to be validated against, select
a more specific validation suite, such as Numbering Validation. The model or its part will be validated
against the selected validation suite only. The Validation Results panel181 shows the results, listing all
elements that do not conform to some constraints (invalid elements) in the selected validation suite.

The Validation dialog. Its options (1,2,3,4,5) are described below.

Opening the Validation dialog


To open the Validation dialog

1. Do one of the following:


- On the main menu, select Analyze > Validation > Validate.
- On the Validation toolbar, click .
2. In the Validation dialog, specify the options. Descriptions of options >>(see page 120)

177 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
178 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
179 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
180 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
181 https://docs.nomagic.com/display/MD2021xR2/Validation+Results+panel

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 119


3. Click Validate.
The model or its part is validated against the selected validation suite. The results are shown in
the Validation Results panel182.

 You can run the validation for the entire diagram, table, matrix, relation map, or elements.
Learn how to start the validation >>183

Description of Validation dialog options


The Validation dialog consists of the following:

• The Validation Suite drop-down list (#1 in the image above) allows you to select a validation
suite that you want to validate the model or its part against.

 The list of available validation suites depends on the open project; the validation suites
and validation rules are stored in the model as regular model elements.

• The Validate For drop-down list (#2 in the image above) allows you to choose:
• Whole Project to run validation on the entire model.
• Validation Selection to run validation on special packages and/or elements. Then click
the ... button and select the scope for validation.

 Validation is always recursive. If you select a package for validation, you do not
need to select its inner elements.

• The Minimal Severity drop-down list (#3 in the image above) allows you to select the minimal
severity level: debug, info, warning, error, fatal. Debug is the lowest possible severity level.
• Clear the Exclude elements from projects used in read-only mode check box (#4 in the image
above) if you want to run validation on the elements stored in the read-only project usages.
• Clear the Exclude elements from additional content check box (#5 in the image above) if you
want to include the content of Smart Packages while running the passive validation.
• The Validation Suites button (#6 in the image above) opens the Validation Suites dialog184.

Custom validation
You can extend existing validation suites that come with Profile185by customizing existing or creating
your own validation suites and rules.

Find an appropriate topic:

• Creating validation suites(see page 121)


• Validation Suites dialog(see page 123)
• Creating new validation rules(see page 126)
• Creating new Constraint element(see page 127)
• Specifying Constraint Element property(see page 127)
• Applying «invariant» and «validationRule» stereotype(see page 127)
• Specifying the validation rule properties(see page 128)

182 https://docs.nomagic.com/display/MD2021xR2/Validation+Results+panel
183 https://docs.nomagic.com/display/MD2021xR2/Starting+the+validation
184 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog
185 https://docs.nomagic.com/display/MD2021xR2/Profile

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 120


• Customizing severity levels(see page 129)
• Defining Constraint condition(see page 134)
• Global validation rules(see page 136)

Creating validation suites


The validation suite defines the set of validation rules applied when running the validation. The
purpose of the validation suites is to group validation rules (constraints) without duplicating them.
When creating a new validation suite you must choose the active or inactive validation suite you want
to create, depending on the applied stereotype:

• «validationSuite» is dedicated for inactive validation rules. Learn more about predefined
validation suites >>186
• «activeValidationSuite» is dedicated for active validation rules. Learn more about active validation
suites >>187
You can:

• Create your own validation suites.(see page 121)


• Clone existing validation suites.(see page 122)
• Include/exclude the validation rules to/from validation suites.(see page 122)

 Sharing
You can share validation suites by exporting validation suites Package188 and then use it in
another project.189

To create a new validation suite

1. Open the Validation Suites dialog. How to open the Validation Suites dialog >>190
2. Do the one of the following:
- In the toolbar191, click and select Validation Suite or Active Validation Suite command.
- Right-click the Validation Suites area192 and select Create Validation Suite or Create Active
Validation Suite command.
3. In the Select Owner dialog, choose the owner for the new validation suite Package, and click OK.
4. In the Rename dialog, type the name of the new validation suite Package, and click OK.
An empty validation suite Package is created and is located in your model. You can include
validation rules from other validation suites. How to include validation rules >>(see page 122)

 Alternative

186 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
187 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
188 https://docs.nomagic.com/display/MD2021xR2/Exporting+packages+to+new+projects
189 https://docs.nomagic.com/display/MD2021xR2/Managing+used+projects
190 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog#ValidationSuitesdialog-
OpeningtheValidationSuitesdialog
191 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog
192 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 121


An alternative way is to create a new or select existing Package element and apply one of
the following stereotypes:
- «validationSuite»
- «activeValidationSuite»
How to apply a stereotype >>193

To clone existing validation suites

1. Open the Validation Suites dialog. How to open the Validation Suites dialog >>194
2. In the Validation Suites area195, select the validation suite Package you want to modify.
3. Do the one of the following:
- In the toolbar196, click .
- Right-click it and select Clone Validation Suite command.
4. In the Select Owner dialog, choose the owner for the cloned validation suite Package, and click
OK.
5. In the Rename dialog, type the name of the cloned validation suite Package, and click OK.
The clone of the existing validation suite Package is created and contains the same validation
rules as the original. You can include or exclude validation rules from the cloned validation suites
Package. How to include/exclude validation rules >>(see page 122)

To include/exclude the validation rules to/from a validation suite Package

1. Open the Validation Suites dialog. How to open the Validation Suites dialog >>197
2. In the Validation Suites area198, select the newly created or cloned validation suite Package.

 You cannot include/exclude the validation rules to/from read-only validation suites.
3. In the Validation Rules area199, select/clear the check boxes for the entire Package or an
appropriate validation rule to include/exclude validation rules to/from the new validation suites
Package.
The validation suites Package contains only selected validation rules.

 Additional information
After you include/exclude the validation rules (constraints), the appropriate Package
Import200 relation is created/deleted in the model. You can check that in the
Containment tree201, under newly created or cloned validation suites Package, Relations

193 https://docs.nomagic.com/display/MD2021xR2/Stereotype#Stereotype-Applyingastereotype
194 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog#ValidationSuitesdialog-
OpeningtheValidationSuitesdialog
195 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog
196 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog
197 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog#ValidationSuitesdialog-
OpeningtheValidationSuitesdialog
198 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog
199 https://docs.nomagic.com/display/MD2021xR2/Validation+Suites+dialog
200 https://docs.nomagic.com/display/MD2021xR2/Package+import
201 https://docs.nomagic.com/display/MD2021xR2/Containment+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 122


group. In the image below, the Numbering Validation, Path Overlapping, and Pins
Displaying validation suites with all Constraints are included in the newly created Specific
constraints validation suite via the Package Import relation.

Validation Suites dialog

On this page

• Introduction(see page 123)


• Opening the Validation Suites dialog(see page 124)
• Description of Validation Suites dialog areas(see page 124)
• Toolbar(see page 124)
• Validation Suites area(see page 125)
• Validation Rules area(see page 125)

Introduction
The Validation Suites dialog allows you to create new suites, clone read-only validation suites, include
one suite to another, and include/exclude already existing validation rules in validation suites.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 123


The Validation Suites dialog areas: toolbar, Validation Suites, and Validation Rules areas.
Opening the Validation Suites dialog
To open the Validation Suites dialog

• Do either:
- From the main menu, select Analyze > Validation > Validation Suites.
- Open the Validation dialog202 and click the Validation Suites button.
Description of Validation Suites dialog areas
The Validation Suites dialog consists of the following areas:

• • Toolbar(see page 124)


• Validation Suites area(see page 125)
• Validation Rules area(see page 125)

Toolbar
The toolbar allows you to manage the validation suites. All buttons are described in the following table.

202 https://docs.nomagic.com/display/MD2021xR2/Validation+dialog#Validationdialog-OpeningtheValidationdialog

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 124


Button Button name Description
icon

Create New Click to create a new validation suite. This button contains the following
Validation Suite commands:

• Validation Suite - creates a new validation suite, stored in your


model as a Package with «validationSuite» stereotype applied. The
validation rules stored in this suite will check if a model is correct
and complete only when you start your model validation manually.
How to start validation >>203
• Active Validation Suite - creates a new active validation suite
stored in your model as a Package with «activeValidationSuite»
stereotype applied. The validation rules stored in this suite will be
active and check if a model is correct and complete immediately.
Learn more about active validation suites >>204

Clone Validation Click to clone an already existing validation suite with its validation rules. It is
Suite stored in your model as a Package with «validationSuite» stereotype applied.

Rename (F2) Click to rename the package of new or cloned validation suites.

Remove Click to delete the new or cloned validation suites from the model.

Validation Suites area


The Validation Suites area shows a list of all validation suites that comes with a profile (read-only) or
your own created validation suites (editable).

 Each profile contains its own validation suites.


You can manage validation suites directly in the Validation Suites area by using the toolbar buttons(see
page 124) or shortcut menu commands: Create Validation Suite, Create Active Validation Suite, Clone
Validation Suite, Rename (F2), or Remove.

 All those commands are described in the table above(see page 124).
Validation Rules area
The Validation Rules area contains:

• Constraints Tree displaying the structure of the validation suite Packages with their validation
rules. It allows you to include/exclude validation rules to/from a newly created or cloned
validation suite Package. For this select/clear the check box before the entire Package or an
appropriate validation rule.

203 https://docs.nomagic.com/display/MD2021xR2/Starting+the+validation
204 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 125


 You cannot include/exclude the validation rules to/from read-only validation suites.
• Buttons:

Button Description

Edit Click to open the Specification window205 of the selected element in the Constraint Tree.

Load Click to load the used project206 with its validation rules.

Creating new validation rules

You can create your own validation rules in the model and use them to check your model or keep them
only for documentation purpose. You can locate new validation rules anywhere in your model, but
usually they are created for the classifier, stereotype, or metaclass.

To create a new validation rule

1. Create new Constraint element.207


2. Apply «validationRule» stereotype.208
3. Specify Constraint Element property.209
4. Specify the validation rule properties.210
5. Define Constraint expression.211
The new validation rule is created in the model.

 Managing new validation rule


You can include a new validation rule to your own created validation suite.
• How to create validation suite >>212
• How to include the validation rules to validation suite Package >>213
You can manage new validation rules in your model as any other elements.
• How to work with model elements >>214

205 https://docs.nomagic.com/display/MD2021xR2/Specification+window
206 https://docs.nomagic.com/display/MD2021xR2/Managing+used+projects
207 https://docs.nomagic.com/display/MD2021xR2/Creating+new+Constraint+element
208 https://docs.nomagic.com/display/MD2021xR2/Applying+validationRule+stereotype
209 https://docs.nomagic.com/display/MD2021xR2/Specifying+Constraint+Element+property
210 https://docs.nomagic.com/display/MD2021xR2/Specifying+the+validation+rule+properties
211 https://docs.nomagic.com/display/MD2021xR2/Defining+Constraint+condition
212 https://docs.nomagic.com/display/MD2021xR2/Creating+validation+suites
213 https://docs.nomagic.com/display/MD2021xR2/Creating+validation+suites#Creatingvalidationsuites-fill
214 https://docs.nomagic.com/display/MD2021xR2/Working+with+model+elements

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 126


Related pages

• Creating new Constraint element(see page 127)


• Specifying Constraint Element property(see page 127)
• Applying «invariant» and «validationRule» stereotype(see page 127)
• Specifying the validation rule properties(see page 128)
• Defining Constraint condition(see page 134)
• Global validation rules(see page 136)

Related pages in Developer Guide

• Creating validation rules215

Creating new Constraint element

Specifying Constraint Element property


You must ensure that the constrained element is specified and points to the necessary classifier. Each
validation rule modeled as a Constraint has a Constrained Element property. This property
determines the type of element this rule applies to. If you create the Constraint for a classifier or
stereotype216, this property is filled automatically. Otherwise, you need to specify it manually, shown in
the following procedure:

To specify a constrained element manually

1. Open the Constraint Specification window. How to open the Specification window >>217
2. Find the Constrained Element property and select it's value box.
3. Click and select an appropriate element from the Select Elements dialog.

 For constraints on metaclasses, select an appropriate element from the UML Standard
Profile > UML2 Metamodel. Only the single Constrained Element property value is
supported for validation rules.

4. Click OK.
The Constrained Element property value is specified.

Applying «invariant» and «validationRule» stereotype


After the Constraint element is created, you must apply:

• «validationRule» stereotype. It is derived from the «invariant » stereotype. It expands the


Constraint properties with the ability to specify the following information: severity level (for
sorting/filtering), abbreviation string (a short string, for easy recognition) and error message
(complete description of error explanation). How to specify the validation rules properties >>218

215 https://docs.nomagic.com/display/MD2021xR2/Creating+validation+rules
216 https://docs.nomagic.com/display/MD2021xR2/Creating+new+Constraint+element
217 https://docs.nomagic.com/display/MD2021xR2/Specification+window
218 https://docs.nomagic.com/display/MD2021xR2/Specifying+the+validation+rule+properties

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 127


To apply a stereotype, do one of the following:

• In the corresponding element's Specification window219, click the Applied Stereotype property
specification cell, then click , and select stereotypes from the open list. After you have
selected, click Apply.
• In the element's shortcut menu, select Stereotype and select a stereotype that you wish to
apply. Click Apply when you are done.
• On the diagram pane, select an element and in that element's name area, type the stereotype
name between brackets « ». The element's name comes after the stereotype.

 If you want to name the element Books and assign it the «table» stereotype, in the
element's name area type the following: «table» Books. The name completion for the
stereotypes works in the name editing mode, press Ctrl+Spacebar or Ctrl+Backspace to
get a list of available stereotypes.

You can change the order of the stereotypes applied to the element. The symbol style of the first
stereotype in the list will be applied to the element.

Specifying the validation rule properties


If you applied the «validationRule» stereotype to the Constraint element, you must specify the following
validation rule properties in its Specification window: Abbreviation, Error Message, and Severity.

To specify the validation rule properties

1. Open the Constraint Specification window. How to open the Specification window >>220
2. On the right side of the window, find the Validation Rule group.
3. Specify the following properties:
• Abbreviation. Select the Abbreviation property value box, click and type a
short word, phase, acronym of the validation rule. It allows you to distinguish the
validation rules among other rules when sorting or filtering.
• Error Message. Select the Error Message property value box, click and type the
description of the invalid situation when this validation rule fails.

 If you need to define the variable error message, you can embed expressions
directly in the Error Message value box by using curly brackets - {}. Everything
between them is treated as an expression and evaluated for each validation
result. Expressions are treated as OCL2.0 expressions by default, but you can also
use binary expressions: {bin: <binary expression>}. For example, in the following
error message the budget is calculated according to variables. The result of the
expression is provided as number in the Validation Results panel221, e.g. Budget
not balanced - overbudget by $500.

219 https://docs.nomagic.com/display/MD2021xR2/Specification+window
220 https://docs.nomagic.com/display/MD2021xR2/Specification+window
221 https://docs.nomagic.com/display/MD2021xR2/Validation+Results+panel

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 128


Budget not balanced - overbudget by {
ResearchProject::allInstances().budget->sum() -
Sponsor::allInstances().contribution->sum()}$

You can insert a hyperlink. Learn more about defining hyperlinks >>222

• Severity. Select the Severity property value and from the drop-down list select one of the
following severity levels:
• debug - for missing information of a constrained element that is dedicated for the
developer.
• info - for missing information of a constrained element that is dedicated mostly for
the end-user.
• warning - for incorrect situations that can cause errors. It is used for less severe
situations than the error.
• error - for incorrect situations that must be solved.
• fatal - for critical errors such as model corruption or model is invalid according to
the UML metamodel. This severity level is mostly reserved for future use.

 The icons on invalid elements in the model depend on the selected severity
level described above. Learn more about invalid elements representation
>>223
You can customize severity levels. How to customize severity levels >>224

4. Click Close.
The validation rule properties are specified.
Customizing severity levels
You can customize the default severity levels (such as debug, info, warning, error, fatal) by creating
new and and additional levels. For this you must edit the SeverityKind Enumeration225element, located
in the UML Standard Profile.

 We do not recommend changing the UML Standard Profile.


To customize severity levels

1. Edit the UML Standard Profile.(see page 130)


2. Create new or modify default severity levels.(see page 131)
3. Define new icon for severity level.(see page 132)
4. Apply new icon for severity level.(see page 133)
After you create the custom severity level or modify the default severity, you can select it from from the
drop-down list of the Severity property when specifying the validation rule properties226. In the
following figure the new severity level named critical can be selected as a value of the Severity property
in the Specification window of validation rule (Constraint element). The value order in the Severity
drop-down list is the same as they are listed in the SeverityKind Enumeration element.

222 https://docs.nomagic.com/display/MD2021xR2/Defining+hyperlinks
223 https://docs.nomagic.com/display/MD2021xR2/Validation#Validation-Invalidelementsrepresentation
224 https://docs.nomagic.com/display/MD2021xR2/Customizing+severity+levels
225 https://docs.nomagic.com/display/MD2021xR2/Enumeration
226 https://docs.nomagic.com/display/MD2021xR2/Specifying+the+validation+rule+properties

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 129


The custom severity level named critical in the drop-down list of the Severity property in the validation
rule specification.

Editing the UML Standard Profile


To edit the UML Standard Profile

1. Open a project.
2. In the Containment tree227, click and enable to show the Show Auxiliary Resources in the
Model Browser228.
3. Right-click the UML Standard Profile Package.

227 https://docs.nomagic.com/display/MD2021xR2/Containment+tab
228 https://docs.nomagic.com/display/MD2021xR2/Model+Browser

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 130


4. Select Project Usages > Open. Learn how to manage project usages >>229
The UML Standard Profile is now editable.
Creating new or modifying default severity levels

 You can create new or modify default severity levels only if the UML Standard Profile is
editable. To see how to edit the profile read the procedure above(see page 130).

Each Enumeration Literal created for the Enumeration element corresponds to available severity levels.

To modify default severity levels (Enumeration Literals)

1. In the Containment tree230, click + to expand the UML Standard Profile Package > Validation Profile
Package.
2. Double-click the SeverityKind Enumeration element to open its Specification window231.
3. On the left side of the Specification window, select the Enumeration Literals property group232.

4. On the right side of the Specification window, select severity level from the list:
- Click to open Specification window233.
- Click the Up/Down button to move the severity level up/down in the list.

 Severity levels are listed in ascending order according to severity importance.

229 https://docs.nomagic.com/display/MD2021xR2/Managing+project+usages
230 https://docs.nomagic.com/display/MD2021xR2/Containment+tab
231 https://docs.nomagic.com/display/MD2021xR2/Specification+window
232 https://docs.nomagic.com/display/MD2021xR2/Specification+window
233 https://docs.nomagic.com/display/MD2021xR2/Specification+window

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 131


- Click the Clone button to create the same severity level. The Specification window of newly
created Enumeration Literal opens. Type its unique name.
- Click the Delete button to remove the selected severity level from the model.
5. Click Close.
The default severity levels are modified.

To create a new severity level (Enumeration Literal)

1. In the Containment tree234, click + to expand the UML Standard Profile Package > Validation Profile
Package.
2. Double-click the SeverityKind Enumeration element to open its Specification window235.
3. On the left side of the Specification window, select the Enumeration Literals property group236.
4. On the right side of the Specification window, click the Create button. The Specification window
of the newly created Enumeration Literal opens.
5. In the Name property, type the name of the new severity level (e.g. critical).
6. Click Close.
The new severity level is created and can be modified by using buttons(see page 131).

Defining new icon for severity level


You can define a different icon for a custom or default severity levels (Enumeration Literals). For this,
you must create a new stereotype and specify its Icon and Metaclass properties.

To define a new icon for the severity level (Enumeration Literals)

234 https://docs.nomagic.com/display/MD2021xR2/Containment+tab
235 https://docs.nomagic.com/display/MD2021xR2/Specification+window
236 https://docs.nomagic.com/display/MD2021xR2/Specification+window

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 132


1. In the Containment tree237, right-click the Validation Profile Package, and select Create Element >
Stereotype.
2. Type its name (e.g. criticalIcon) and press Enter.
3. Double-click newly created Stereotype.
4. In the Specification window238 of Stereotype specify the following properties:
- Select the Icon property value, click to select an image from the Image Library239, or to
select an image from your file system.
- Select the Metaclass property value, click and select EnumerationLiteral.

5. Click Close.
The new stereotype with a new icon is created and ready to be applied to a severity level. How to
apply it >>(see page 133)
Applying new icon for severity level
After you define the new icon for severity level, you can apply it to custom or default severity levels
(Enumeration Literals). This icon is shown when representing invalid elements240 of your model.

To apply a new icon to a severity level

1. In the Containment tree241, click + to expand the UML Standard Profile Package > Validation Profile
Package > SeverityKind Enumeration element.

237 https://docs.nomagic.com/display/MD2021xR2/Containment+tab
238 https://docs.nomagic.com/display/MD2021xR2/Specification+window
239 https://docs.nomagic.com/display/MD2021xR2/Image+Library+tab
240 https://docs.nomagic.com/display/MD2021xR2/Validation
241 https://docs.nomagic.com/display/MD2021xR2/Containment+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 133


2. Double-click the severity level (Enumeration Literals element) to which you want to apply a new
icon.
3. In its Specification window242, select the Applied Stereotype property value.
4. Click and select the newly created stereotype (e.g. criticalIcon) dedicated for this severity
level.
5. Select Apply.
6. Click Close.
The new icon for the severity level is applied. In the figure below, the criticalIcon stereotype is
applied to the new critical EnumerationLiteral element.

Defining Constraint condition


You must specify the validation condition for a validation rule. This condition must be true when
evaluated in order for the Constraint to be satisfied. The result of a validation rule must be of the
boolean type.

To define a Constraint condition

1. Open the Constraint Specification window. How to open the Specification window >>243
2. Find the Specification property and select its value box.
3. Click .The Specification dialog opens.
, select one of the following languages:
4. From the Language list
OCL244 2.0 is used for validation rules, specified in OCL language. Learn how to create
OCL2.0 validation rule in Developer Guide >>245

 OCL Header

242 https://docs.nomagic.com/display/MD2021xR2/Specification+window
243 https://docs.nomagic.com/display/MD2021xR2/Specification+window
244 https://docs.nomagic.com/display/MD2021xR2/Object+Constraint+Language
245 https://docs.nomagic.com/display/MD2021xR2/Create+OCL2.0+validation+rule

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 134


If you select the OCL2.0 language, the header of the expression from the
constraint information is generated automatically
according to the following rules: context <constrained element> <constraint type>
<constraint name if any>:. See the following image.

Constraint types
Since the Constraint is stereotyped by «validationRule» which is derived from
«invariant » stereotype, inv is shown in the header.
Only inv constraints can be evaluated.
Other types of Constraints
are not evaluated, butcan be modeled for documentation purposes:
• def – for the expression of the constraint with «definition» stereotype
applied.
• init, derive - for the expression of the default value of the property.

 The derive expressions can be evaluated indirectly when the


validation rule (inv constraint) is referencing the property and the
validation rule is evaluated.

• pre, post, body - for the expression of the appropriate fields of operation.

OCL Performance
When evaluating the validation rule defined in OCL language, the validation on the
first run can have a delay of 20-30 seconds (depending on the computer
performance) while the Java compiler is loading. Subsequent validations will run
faster than the first one.
If the validation process is run heavily on medium-large projects, increasing the
default Java VM size is advisable. By default, the VM size is set to 400MB in
MagicDraw; increasing this to 600 (or 800 if the computer has sufficient RAM)
might improve the performance.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 135


• Binary is used for more advanced expressions not easily expressed in OCL.These
expressions are written in Java, compiled, and specified in the MagicDraw classpath. These
expressions can then be specified as validation rule expressions. Learn more about binary
validation rule in Developer Guide >>246
Scripts of JavaScript, Jython, JRuby, Groovy, and BeanShell. Learn more about script
• writing in Creating executable opaque behaviors247.
Since constraints cannot have parameters, you may skip the information about managing
parameters.
• StructuredExpression. Learn more about specifying criteria for querying model >>248

In the Body box, type the expression of the selected language syntax.
5.

 MagicDraw can evaluate only those validation rules whose expression is defined in one
of the languages listed above. The other languages can be used only for documentation
purposes.

 You can add hyperlinks in the Body box. How to define hyperlinks >>249
You can define expressions for global validation rules. Learn more about global
validation rules >>250

(optional) Click the Evaluation Mode button to to execute an expression on the actual testing
model while editing. How to use the Evaluation Mode >>251
6.
7. Click OK.
The Constraint condition is defined.

Global validation rules


Global validation rules check the result of an element set, while validation rules contained in predefined
validation suites252 or active validation suites253 are dedicated to check a separate element. You can
create global validation rules in the same way as other validation rules by defining an appropriate
condition in the Specification property.

• How to create validation rules >254


• How to define Constraint expression >>255
For example, the balanced budget validation rule (Constraint specification is shown in the following
figure) is a global validation rule. It is created for the classifier of the ReseachProject Class. The balanced
budget validation rule condition, defined by using OCL2.0 language in the Specification property,
expresses that the sum of the expenses of all projects must be less than the sum of all Sponsor

246 https://docs.nomagic.com/display/MD2021xR2/Binary+validation+rule
247 https://docs.nomagic.com/display/MD2021xR2/Creating+executable+opaque+behaviors
248 https://docs.nomagic.com/display/MD2021xR2/Specifying+criteria+for+querying+model
249 https://docs.nomagic.com/display/MD2021xR2/Defining+hyperlinks
250 https://docs.nomagic.com/display/MD2021xR2/Global+validation+rules
251 https://docs.nomagic.com/display/MD2021xR2/Expression+Evaluation
252 https://docs.nomagic.com/display/MD2021xR2/Predefined+validation+suites
253 https://docs.nomagic.com/display/MD2021xR2/Active+validation+suites
254 https://docs.nomagic.com/display/MD2021xR2/Creating+new+validation+rules
255 https://docs.nomagic.com/display/MD2021xR2/Defining+Constraint+condition

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 136


contributions. This validation rule is global because it includes all instances in the model, rather than
only the particular instance of ResearchProject that violates the rule.

 Sample model
An example of a global validation rule can be found in the model validation sample model >
Classifiers Validation Rules Class diagram256. To open this sample do one of the following:
• Download model validation.mdzip257.
• Find in the modeling tool <modeling tool installation directory>\samples\product
features\model validation.mdzip.

The specification of the global validation rule named balanced budget.

256 https://docs.nomagic.com/display/MD2021xR2/Class+diagram
7 https://docs.nomagic.com/download/attachments/82745594/model%20validation.mdzip?
25
api=v2&modificationDate=1513353053644&version=1

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 137


After the validation finishes, the global validation rule is marked as <model> in the Validation Results
panel258 > Element column. This means that the entire model, not the separate element, violates the
rule.

The representation of global validation rule in the Validation Results panel.

Metrics

A metric is information about a specific aspect of the model. A collection of various metrics can be used
to evaluate the current state of your model. When calculated at regular intervals, they can help track
the evolution of the model's development.

There are two metric suites dedicated to coverage analysis:

• The Design metric suite checks incoming satisfy relations.


• The Test cases metric suite checks incoming verify relations.

Example of metrics table.


When working with requirements, it is useful to know what and how many requirements are covered
by design elements (satisfy relations), by test cases (verify relations), are user requirements covered
with system requirements, and how many requirements are already implemented or tested. In these
situations metrics help you evaluate the current state of requirements in your model and track the
progress of their coverage.

258 https://docs.nomagic.com/display/MD2021xR2/Validation+Results+panel

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 138


The metric suite Requirement Coverage (Treat Owner as Grouping Element) is considered as covered if
it satisfies one of the following conditions:

• A requirement has a satisfy relation with a design element.


• The owning requirement is covered.
• All owned requirements are covered.

The metric suite Requirement Coverage (Treat Owner as Regular Requirement) is considered as
covered if the requirement has a satisfy relation with a design element:

• If all child requirements have incoming satisfy relations, grouping requirements are not
considered as satisfied unless they also have incoming satisfy relations.
• If the grouping requirement has incoming satisfy relation, its child requirements are not
considered as covered unless they have incoming satisfy relations.

Examples of covered requirements.

To use coverage analysis metrics

1. Select the package that includes the requirements.


2. From the shortcut menu, select Tools > Metrics > New Metric Table.
3. In the Create Metric Table dialog, set to true one of the metric suite:
• Requirement Coverage (Treat Owner as Grouping Element).
• Requirement Coverage (Treat Owner as Regular Requirement).
4. Click OK.
The new metric table with calculated results is created.
You can create custom metric suites using structured expressions or scripts. For detailed procedures
on creating metric suites, calculating metrics, and managing metric results, please see Creating Metric
Suites259 and Metric table260.

259 https://docs.nomagic.com/display/MD2021xR2/Metric+Suites
260 https://docs.nomagic.com/display/MD2021xR2/Metric+table

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 139


Sorry, the widget is not supported in this export.
But you can reach it using the following URL:

https://www.youtube.com/watch?v=YgyeNgpR7TA

Related pages

• Creating Metric Suites261


• Metric table262

Using Requirement patterns glossary

On this page

• Enabling/disabling the Requirement patterns underlining in Requirement text(see page 140)


• Defining custom condition patterns(see page 141)
• Opening the predefined requirements glossary table(see page 141)

You can use the specific condition patterns in Requirement texts if you want to extract Constraint from
Requirement automatically(see page 142).

Enabling/disabling the Requirement patterns underlining in


Requirement text
Before using this feature, make sure the Use Requirement Term Glossary option is enabled.

 The Requirement patterns are available as of version 2021x Refresh2. The Use Requirement
Term Glossary option is enabled by default.

To enable/disable Requirement patterns underlining

1. From the main menu, click Options > Project.


2. In the Project Options dialog, find the Use Requirement Terms Glossary option.
3. Set its value to true to enable the Requirement patterns underlining in Requirement text, or false
- to disable it.

261 https://docs.nomagic.com/display/MD2021xR2/Creating+Metric+Suites
262 https://docs.nomagic.com/display/MD2021xR2/Metric+table

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 140


Defining custom condition patterns
If you can't find an appropriate condition pattern from the predefined glossary table, you can define a
custom glossary. For this, you have to create a new Glossary Table with the <<requirementTerms>>
stereotype applied.

To create a new glossary table with the stereotype263<<requirementTerms>>

1. From the main toolbar264, click the Create Diagram button.


2. Double-click the glossary table icon.
3. Open the Specification window of the newly created Glossary table.
4. Change the Applied Stereotype property value to <<requirementTerms>>.
5. Click Close.
The new glossary table with the stereotype <<requirementTerms>> is created. You can now
define your own condition patterns by adding them in the Glossary Table265.

Opening the predefined requirements glossary table


You can use condition patterns from the already created glossary table. If you want to check the most
frequently used patterns, open the predefined glossary table.

To open the predefined glossary table

1. In the Model Browser266, click and select Show Auxiliary Resources.


2. Expand MD Customization for Requirements Package > requirement verification Package.
3. Double-click the requirement verification to open the table (see the figure below).

263 https://docs.nomagic.com/display/MD2021xR2/Stereotype
264 https://docs.nomagic.com/display/MD2021xR2/Toolbars
265 https://docs.nomagic.com/display/MD2021xR2/Glossary+table
266 https://docs.nomagic.com/display/MD2021xR2/Model+Browser

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 141


The glossary table with the stored frequently used condition patterns opens (see the following figure).

 Warning
You cannot extend the list of custom condition patterns in this Glossary Table.

Extracting Constraint from Requirement

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 142


On this page

• Creating the Satisfy relationship(see page 143)


• Extracting Constraint from Requirement(see page 143)

The Extracting Constraint from Requirement functionality provides the ability to verify Requirements
easier when trying to prove the assertion is true (or false). A glossary mechanism extracts the constraint
directly from the Requirement text. If you want to create constraints and associate them with the
requirements automatically, you can use the extract Constraint from Requirement text functionality.

To extract Constraint267 value from Requirement268 text

1. Use the Requirements patterns glossary in Requirement text.(see page 140)


2. Create the Satisfy relationship between the specific value of design element and requirement.(see
page 143)
Extract Constraint from Requirement text(see page 143).
3.

Creating the Satisfy relationship


The specific value of the design element must satisfy the Requirement. As shown below, the
distanceOnQuickCharge value of the High-voltage Battery Block satisfies the Quick charge mode distance
Requirement.

Extracting Constraint from Requirement


To extract a Constraint from a Requirement

1. Right-click a value property in the compartment area of the element shape.


2. Select Tools > Extract Constraint From Requirement.
The constraint is created automatically with a value and condition pattern defined in the
Requirement.

267 https://docs.nomagic.com/display/MD185/Constraint
268 https://docs.nomagic.com/display/SYSMLP185/Requirement

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 143


In the example below, the text "at least 70" of the Quick charge mode distance Requirement is
automatically parsed to "distanceOnQuickCharge >= 70" and solved as a constraint.

After selecting the Extract Constraint From Requirement command, the constraint
{distanceOnQuickCharge >=70.0} is automatically created. It satisfies the requirement text "at least 70".

Related pages

• Importing requirements(see page 65)


• Exporting requirements(see page 75)
Sample model

The model used in the figures of this page is the extract requirement values sample model To open
this sample do one of the following:

• Find in modeling tool <modeling tool installation directory>\samples\SysML\extract requirement


values.mdzip.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 144


Exchanging requirements with ReqIf

Requirements are gathered and managed in dedicated requirements tools. When it comes to
requirements refinement and integration with business, software, and system architecture, different
requirements interchange formats are used. It can be comma separated value, MS Excel, Word, or XML.
These are nonstandard ways, which bring drawbacks. It is clear that need for dedicated common
format exists. This is why the German automotive industry started the open, non-proprietary format for
requirements exchange development.

Starting with the upcoming v18.0, all MagicDraw-based Cameo Suite products will support ReqIF import
as part of the new Cameo Requirements Modeler plugin.

• What is ReqIF?(see page 145)


• ReqIF Support in MagicDraw(see page 145)
• ReqIF Importer Features(see page 146)
• More About ReqIF(see page 149)
• ReqIF Recognition(see page 149)
• ReqIF Sources(see page 149)

What is ReqIF?
ReqIF is the XML-based international standard for requirement data exchange, standardized by the
Object Management Group (OMG). It has solid recognition in the industry and adoption by many
requirements management tool vendors. It is used to exchange requirement information between
different tools and toolchains.

“For requirement analysis, ReqIF is the same as Unified Modeling Language


(UML) for modeling – it is the most popular and dedicated requirements interchange format.”

ReqIF Support in MagicDraw


ReqIF Importer imports and updates (previously imported) requirements in models with the following
capabilities:

• Import process includes the ability for custom mapping with the option to import all data and
dynamically create properties.
• Update process includes changing management support with requirements status identification.
After import, new, changed, updated or obsolete requirements are identified with the ability to
check the impact of changes.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 145


Once imported, requirements become first-class citizens in the modeling world. That means they can
be:

• Integrated with other models: business, software, and systems architecture, test cases, and
toolchains: PLM tools (e.g. Teamcenter), CAD tools (e.g. Catia), and others. This enables
requirements-driven design and communication of changes with all stakeholders.
• Reviewed with visualization in diagrams, tables, matrices, and structure maps.
• Analyzed with built-in and custom validation suites, coverage metrics, traceability.
• Collaborated with a global modeling project’s repository, supporting collaboration inside a
project, change and configuration management, multisite support.
• Simulated with OMG standard-based model execution, debugging, animation, and user
interface prototyping supporting framework.
• Published with MS Office and Open Office docs, Web-based reports, with the ability to have
custom reports incorporating required data.

ReqIF Importer Features


1. Import data that originated in a wide variety of tools*

* Import tested with: IBM Rational DOORS 9.4, 9.5, Next Generation, Polarion, PTC Integrity,
Siemens TC, and other ReqIF 1.0 compatible data sources.
2. Update existing data. It is possible to create relations to any other model element, e.g. test
cases, or architectural components, to realize total traceability as required by the processes. On
update, all custom relations are left untouched.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 146


3. Change status identification (updated, new, unchanged, or obsolete)

4. Requirements structure and structure changes support

5. Physical requirements remove action

6. Status and summary notification message

7. Custom mapping

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 147


8. Dynamic properties discovery, no need to determine what data is in ReqIF file, all the
properties can be imported
9. Omit the data you don’t need to import
10. Rich text support

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 148


More About ReqIF

ReqIF Recognition
The group working on the initial release of ReqIF consists of the ProSTEP iViP Association, Atego
Systems GmbH, Audi AG, BMW AG, Continental AG, Daimler AG, HOOD GmbH, IBM, MKS GmbH,
PROSTEP AG, Robert Bosch GmbH, and Volkswagen AG.

ReqIF Sources
• Rational DOORS, DOORS Next generation, IBM Rational Requirements composer (http://
www-01.ibm.com/software/rational/)
• Polarion (http://www.polarion.com/2014/reqif-solution.php)
• PTC Integrity (http://www.mks.com/platform/our-product)
• Siemens Teamcenter (http://m.plm.automation.siemens.com/en_us/Images/Siemens-PLM-
Teamcenter-Requirements-Integrator-for-RIF-ReqIF-fs_tcm1224-213684.pdf)
• LieberLieber for EA (http://www.lieberlieber.com/en/model-engineering/reqif/)
• Agosense (http://www.agosense.com/english/products/platform-und-adapter/
agosensesymphony)
• ReqIF Server (http://enso-managers.de/)
• MS Excel to ReqIF exporter (http://www.pyrrho.com/en/ReqIF/ReqIF-Intro.htm)
• GitHub EnterpriseArchitect_ReqIF_AddIn (https://github.com/redsteve/
EnterpriseArchitect_ReqIF_AddIn)
• Requisis Rex (https://requisis.com/de/produkte/rex-doors-reqif-rif-export.html)
• VISURE (http://www.visuresolutions.com/)
• Formalmind (www.formalmind.com/269)

Generating requirement reports

You can generate Requirement reports in the .docx and .html/.htm formats directly from your model.

• Generating the Word document report(see page 149)


• Generating requirement report by using the Report Wizard(see page 150)
• Generating requirement report from the Containment tree(see page 150)
• Publishing projects to Cameo Collaborator for TWC(see page 151)

Generating the Word document report


You can generate the Requirement report in word document in the following ways:

269 http://www.formalmind.com/

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 149


• • Generating requirement report by using the Report Wizard(see page 150)
• Generating requirement report from the Containment tree(see page 150)

 Report customization
If you want to customize the report or create your own template for a requirement report , you
may use the Report Wizard270.

Generating requirement report by using the Report Wizard

To create a .docx format report by using the Report Wizard

1. In the Tools menu, click Report Wizard.


2. In the Select Template area, select Requirements, and choose one of the following report type:
- Requirement Dependencies Report. This report contains tables of requirement
dependencies, that is separate tables for Copy, Derive, Refine, Satisfy, Trace, and Verify relations.
- Requirement Diagram. This report lists all requirement diagrams of a selected scope. Diagram
elements and dependencies are described in tables under each diagram.
- Requirement Report. This is a standard detailed requirement report, containing all
requirements attributes. This template may be used as a requirement specification report.
- Requirements Table Diagram Report. This report lists all requirement tables of a selected
scope.
3. Click Next.
4. In the Select Report Data area, you can then select a predefined report data for the selected
template (default = Built-in). Click Next.
5. In the Select Element Scope area use:
• The Add button to add an element selected in the element tree to the Selected
objects area.
• The Add All button to add all elements directly owned by the element selected in the
element tree to the Selected objects area.
• The Add Recursively button in to add all elements listed under the element selected in
the element tree to the Selected objects area.
• The Remove button in to remove the selected element from the Selected objects area.
• The Remove All button in to remove all selected elements from the Selected
objects area.
6. Click Next.
7. In the Output Options area, define the appropriate options.
8. Click Generate.
Your report is generated and automatically opens.

Generating requirement report from the Containment tree

To generate Requirement reports from the Containment tree

270 https://docs.nomagic.com/display/MD2021xR2/MagicDraw+Report+wizard+overview

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 150


1. In the Containment tree, right-click the selected requirement specification (Package) or
Requirement.
2. From the shortcut menu, click Generate Report > Requirements and select a desired
requirement template.
3. In the Select Location dialog, specify a report location and specify a report file name.
4. Click Save.
The report is generated.

Publishing projects to Cameo Collaborator for TWC

Unable to render include or excerpt-include. Could not retrieve page.

Sorry, the widget is not supported in this export.


But you can reach it using the following URL:

https://www.youtube.com/watch?v=L2fbUqPzUyo

Basic requirement concepts


This section contains all basic concepts that are used while using the Cameo Requirements Modeler
Plugin.

Basic requirement concepts:

Diagram descriptions
This sections provides all descriptions of the requirement diagrams, tables, and matrices.

Requirement Diagram
Requirement Diagram is particularly valuable when you want to demonstrate the traceability from the
requirements to the elements in your system model that are dependent on them. This diagram
provides modeling constructs to represent text-based requirements and relate them to other modeling
elements. These requirement modeling constructs are intended to provide a bridge between traditional
requirement management tools and other SysML models.

Requirements diagrams display requirements, packages, other classifiers, test cases, rationales, and
relationships. Possible relationships available for Requirements diagrams are containments, deriveReqt
and requirement dependencies (‘Copy’, ‘Refine’, ‘Satisfy’, ‘Trace’, and ‘Verify’). The callout notation can
also be used to reflect the relationships of other models.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 151


Requirements can also be shown on other diagrams to illustrate their relationships to other modeling
elements.

Requirement Table
A Requirement Table is used to type a requirements into a spreadsheet-like table.

Requirements Table contains requirements. All requirements are text-based. Each row in the table
represents a requirement. A new table consists of four columns by default (#, Id, Name, Text). You can
add more columns to represent the properties of each requirement in the table. With this table, you
can:

• Create new requirements directly in the table, or import existing ones from your model to the
table.
• Edit the properties of requirements directly in the table.
• Generate requirements reports, renumber requirements’ IDs, or export the table into a CSV or
HTML format, or into a Microsoft Excel (.xlsx) spreadsheet.
• Search and filter requirements.
• Access custom requirement’s properties.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 152


Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 153
Requirement matrices
The matrices enables you to analyze, create, and modify relationships between Requirements and
other design elements. You can create five kind of matrices:

• Derive Requirement Matrix.


• Refine Requirement Matrix.
• Satisfy Requirement Matrix.
• Verify Requirement Matrix.
• SysML Allocation Matrix.

 You can create SysML matrices only if you have SysML Plugin271 installed. How to install SysML
Plugin >>272

The purpose and examples of each matrix are provided in the following pages:

• Requirement matrices273
• SysML Allocation Matrix274

All SysML matrices are based on Dependency Matrix275. That's why all it's procedures are allowable for
SysML matrices:

• Creating Dependency Matrix276


• Using Dependency Matrix277
• Dependency Matrix environment278

Element descriptions
This section provides all descriptions of the requirement elements.

Business Requirement

A Business Requirement is a requirement that specifies characteristics of the business process that
must be satisfied by the system.

271 https://docs.nomagic.com/display/SYSMLP2021xR2/SysML+Plugin+Documentation
272 https://docs.nomagic.com/display/SYSMLP2021xR2/Installation+and+licensing
273 https://docs.nomagic.com/display/SYSMLP2021xR2/Requirement+matrices
274 https://docs.nomagic.com/display/SYSMLP2021xR2/SysML+Allocation+Matrix
275 https://docs.nomagic.com/display/MDTWRT/Dependency+Matrix
276 https://docs.nomagic.com/display/MDTWRT/Creating+Dependency+Matrix
277 https://docs.nomagic.com/display/MDTWRT/Using+Dependency+Matrix
278 https://docs.nomagic.com/display/MDTWRT/Dependency+Matrix+environment

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 154


Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Design Constraint
A Design Constraint is a requirement that specifies a constraint on the implementation of a system or
on a part of it.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Extended Requirement
An Extended Requirement is a standard Requirement subtype, which adds some properties to a
requirement element. These properties such as a source, risk, and verify method are important for the
requirement management. Specific projects should add their own properties. All these properties are
now available in the standard Requirement Specification window and Requirements Table. If any of
these property values is specified, a requirement is automatically converted to ExtendedRequirement.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Functional Requirement
A Functional Requirement is a requirement that specifies a behavior that a system or a part of a system
must perform.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 155


Interface Requirement
An Interface Requirement is a requirement that specifies the ports for connecting systems and parts of
a system. Optionally, it may include the items that flow across the connector and/or the Interface
constraints.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Performance Requirement
A Performance Requirement refers to a requirement that quantitatively measures the extent to which a
system or a system part satisfy a required capability or condition.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Physical Requirement
A Physical Requirement specifies the physical characteristics and/or physical constraints of a system or
a system part.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Requirement
A Requirement specifies a capability or a condition that must (or should) be satisfied. Requirements are
used to establish a contract between the customer (or other stakeholders) and those responsible for
designing and implementing the system. A requirement can also appear on other diagrams to show its
relationship to other modeling elements.

When a requirement nests other requirements, all the nested requirements apply as part of the
container requirement (the requirement that contains all the nested requirements). Deleting the
container requirement will thus delete all the nested requirements it contains; a functionality inherited
from UML.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 156


Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Usability Requirement
A Usability Requirement specifies the fitness for use of a system for its users and other actors.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Derive
A 'Derive' relationship is a dependency between two requirements (a derived requirement and a source
requirement), where the derived requirement is generated or inferred from the source requirement.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)
• Derive Requirement Matrix(see page 157)

Copy

A Copy relationship is a dependency between a supplier requirement (master) and a client requirement
(slave), specifying that the client requirement text is a read-only copy of the supplier requirement text.
In other words, by creating a Copy dependency between two Requirements, you copy the text property
from the supplier to the client.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 157


To create a Copy dependency between two requirements on the diagram

1. On the diagram, select a client Requirement symbol (slave), a symbol you want to be a copy of
the supplier Requirement (master). The smart manipulator appears.

2. Select the Copy command as depicted in the preceding figure and connect the client
Requirement to the supplier Requirement.
3. The Copy path goes yellow because of violation of the rule Invalid Slave Requirement text
meaning the text of the slave Requirement must be the same as of the master Requirement.
Click the Copy path and, in the smart manipulator, select the Validation command.

4. The list of suggested solvers appears. Select Copy text of the supplier requirement to the
client requirement to create and sustain this dependency in your model correctly.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 158


 Ignoring solver
You may select other solvers but note:
• Remove Copy dependency - removes the dependency from the diagram and the
entire model.
• Ignore - ignores the violation and the dependency is created and sustained in the
model with the violation.

Related pages

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)
• Validation279

Test Case
A Test Case (Activity / StateMachine / Interaction) is a method for verifying a requirement.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Trace
A 'Trace' relationship is a dependency between a requirement and an arbitrary model element traced
by this requirement.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Verify
A 'Verify' relationship is a dependency between a requirement and a test case or a model element that
can determine whether the system fulfills the requirement. As with other dependencies, the arrow
direction points from the (client) test case to the (supplier) requirement.

Related diagrams

279 https://docs.nomagic.com/display/MD2021xR2/Validation

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 159


• Requirement Diagram(see page 151)
• Requirement Table(see page 152)
• Verify Requirement Matrix(see page 159)

Refine
A 'Refine' relationship is a dependency that describes how a model element or a set of elements refine
a requirement. For example, a use case or activity diagram may be used to refine a text-based
functional requirement. Alternatively, it may be used to show how a text-based requirement refines a
model element. In this case, some elaborated text could be used to refine a less fine- grained model
element.

Related diagrams

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)

Satisfy

A 'Satisfy' relationship is a dependency between a requirement and a model element that fulfills that
requirement. As with other dependencies, the arrow direction points from the satisfying (client) model
element to the (supplier) requirement that is satisfied.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 160


Related pages

• Requirement Diagram(see page 151)


• Requirement Table(see page 152)
• Satisfy Requirement Matrix280

Other descriptions
This section contains other concepts related with the requirements.

ReqIF

The Requirement Interchange Format (ReqIF) standard is an XML based international standard adopted
by Object Management Group (OMG) as a formal specification for exchanging requirements between
software tools from different vendors.

Related pages

• Exchanging requirements with ReqIf(see page 145)

Requirement Specification
A represented collection of requirements that are related by a user decision or needs. A Requirement
Specification may represent requirements for a system, a component, or other subjects. In a means of
MagicDraw, a Requirement Specification is a package of requirements. A Usability Requirement
specifies the fitness for use of a system for its users and other actors.

Customizations
• Specifying project properties(see page 162)
• Assigning shortcut keys(see page 165)

280 https://docs.nomagic.com/display/SYSMLP2021xR2/Requirement+matrices

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 161


• Configuration files(see page 167)
• Customizing environment options(see page 170)
• Disabling inbound network activity(see page 174)
• Most common shortcut keys(see page 175)
• Setting project options(see page 178)

Specifying project properties


The Project Properties dialog provides general information about a project. You can add a title,
author, version, and project description using this dialog.

To open the Project Properties dialog

1. Open the project.


2. Select the Project Properties command from the File menu.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 162


Project properties dialog.

 Title
The project title is assigned as a value of the project Documentation property281.

281 https://docs.nomagic.com/display/MD2021xR2/Documentation+tab

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 163


Compatibility range
To specify compatibility range

1. Enter the Version value.


2. Enter the Compatible with. The value must be less or equal to the Version value.
3. Click OK after you are done.

 Compatible With
Compatible With defines the compatibility range between two Standard/System profile
versions. Once specified, it helps to avoid read-only constraints in TWCloud projects when you
use earlier profile versions locally rather than those used in the server project.
When the Version of the Standard/System profile on your computer is earlier (e.g. 19.0 SP1)
than the Version of this profile on TWCloud (e.g. 19.0 SP3), but higher or equal to the value of
Compatible with (e.g. 19.0), you will still be able to edit TWCloud projects using the profile.

Advanced options
To use advanced options

1. Click More to see more options:


• See the list of shared packages in the Shared Packages tab. In this tab you can:
• Define a preferred path to the particular package. Click the ... button to select the
package282 in the Preferred Path value box.
• Set the project as a standard/system profile by selecting the Standard/System
Profile check box.

 Note
The Shared Packages tab is available for local projects only.

• The Used Projects tab shows the projects and standard/system profiles used in the open
project. Click the Open Project Usages button to open the Used Projects dialog283, where
you can modify project usages.
• The Advanced tab shows project meta information. In this tab you can:
• Reset all project element IDs. All project elements have their own ID (a unique
identifier). While working with several related projects, you may receive a message
about duplicated element IDs. After clicking the Reset IDs button, new IDs will be
created for all project elements.

 Note
Make sure the project you are resetting IDs for is not used in other projects.

• Reset the project ID. After clicking the Reset Project ID button, new IDs are created
for the project.

282 https://docs.nomagic.com/display/MD2021xR2/Selecting+elements
283 https://docs.nomagic.com/display/MD2021xR2/Managing+used+projects

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 164


 You cannot reset the project ID for server projects.

Assigning shortcut keys


Most commonly used commands in a modeling tool have shortcut keys284, allowing you to access the
commands quicker. However, you can assign custom shortcut keys to modeling tool commands and
change or remove already-existing shortcut keys.

To assign a new shortcut key to a command

1. From the main menu of a modeling tool, select Options > Environment. The Environment
Options dialog opens.
2. From the option group list on the left side of the dialog, select Keyboard.
3. Search for the command you need to assign a shortcut key to.

 You can also search by the shortcut keys.


4. In the Press new shortcut key box, press the shortcut you want to assign. Do not type the
shortcut, but press the keys as you would when executing the command.
5. Click the Assign button. The assigned shortcut appears in the Current keys box.
6. Click OK.

The shortcut key is then assigned to the selected command and you can start using it.

284 https://docs.nomagic.com/display/MD2021xR2/Most+common+shortcut+keys

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 165


Assigning a shortcut key.

 Usage information
• You can assign multiple shortcut keys to one command.
• If you enter a shortcut key that is already assigned to another command, a notification
appears under the Press new shortcut key box.
• If you assign a shortcut key that is already assigned to another command, the shortcut
key is automatically unassigned from that command and assigned to the new one.

Removing shortcut keys


You can remove both default and custom shortcut keys.

To remove a shortcut key

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 166


1. From the main menu of the modeling tool, select Options > Environment. The Environment
Options dialog opens.
2. From the option group list on the left side of the dialog, select Keyboard.
3. Search for the command you need to assign a shortcut key to.

 You can also search by the shortcut keys.


4. In the Current keys box, select the shortcut key you want to remove.
5. Click the Remove button. To remove all shortcut keys assigned to the selected command, click
the Remove All button.
6. Click OK.

 Restoring shortcut keys


To restore all shortcut keys to their default values, open the Environment Options dialog,
select Keyboard, and click Reset to Defaults.

285

Configuration files
On this page

286

A configuration file is where the initial parameters and settings of a program are defined. All default
parameter values come with a program installation but you can edit configuration files and define your
own values, for example, define the Java home directory. This page describes the locations where you
can find the configuration files of your modeling tool, how you can modify them and change their
default storage location. Configuration files can be used to:

• Define application arguments


• Set the Java Home
• Change Java parameters (such as memory allocation)
• Update default Java classpath (advanced: for plugin developers)
The configuration files can be opened and modified using any standard text or code editor. Once
modified, changing the default location of configuration files can allow you to store multiple
configuration files for different versions of the tool.

This page covers all modeling tools:

• MagicDraw
• Cameo Enterprise Architecture
• Cameo Systems Modeler
• Magic Software Architect
• Magic Cyber Systems Engineer

285 https://docs.nomagic.com/display/MD2021xR2/Assigning+shortcut+keys
286 https://docs.nomagic.com/display/MD2021xR2/Configuration+files

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 167


• Magic Systems of Systems Architect

By default the configuration and auxiliary files of a modeling tool are stored in the following location:

OS Configuration files storage

Windows C:\Users\<USERNAME>\AppData\Local\.<modeling tool


Vista/7/8/10 name>\<modeling tool version number>

Other OS <user.home>/.<modeling tool name>/< modeling tool version


number>

 Modeling tool file naming


In a file system, modeling tools' folders are named as follows:
Modeling tool File name

MagicDraw magicdraw

Cameo Enterprise Architecture cameoea

Cameo Systems Modeler cameo.systems.modeler

Magic Software Architect magic.software.architect

Magic Cyber Systems Engineer magic.cyber.systems.engineer

Magic Systems of Systems Architect magic.systems.of.systems.architect

Getting the path to configuration files


If you do not know the exact path to your modeling tool configuration files, follow the steps below to
get it.

To get the path to configuration files

1. From the Help menu, select About <modeling tool name>. The About dialog opens.
2. Click the Environment tab.
3. Click the hyperlink next to Configuration Files. The folder containing modeling tool
configuration files opens.

You can also save configuration files in any of the following locations:

• <modeling tool installation directory>

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 168


• Common Application Data location (on Windows OS)
• Another directory

Storing configuration files in the installation directory or Common Application


Data location on Windows

 Note
The Common Application Data location on Windows Vista/7/8/10 is C:\ProgramData.

To store configuration files in the modeling tool installation directory or Common Application Data
location on Windows

1. Open the <modeling tool name>.properties file, which is located in <modeling tool installation
directory>\bin.
2. In the JAVA_ARGS line, change the -DLOCALCONFIG property value according to the following
table:

-DLOCALCONFIG =true =false

Windows OSx Common Application Data Modeling tool installation directory

Other Modeling tool installation directory Modeling tool installation directory

 Important!
It is important to add the -DWINCONFIG=false parameter on Window OS, otherwise, the
configuration files will not be stored in the modeling tool installation directory.

You may also store configuration files in your custom location.

Storing configuration files in a custom location

 Note
If you have defined to store files in the modeling tool installation directory, files will not be
stored in the defined location.

To store modeling tool configuration files in a custom location

Do either:

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 169


1. Open the <modeling tool name>.properties file, which is located in <modeling tool installation
directory>\bin.
2. In the JAVA_ARGS line, add the following property:
-Dlocalconfig.location=<absolute path to a custom location>

 Sample property value


-Dlocalconfig.location\=E\:\\temp\\innerPack

Or:

1. Go to the folder, where the configuration files are stored(see page 168).(see page 167)
2. Create a new file named magicdrawredirect.
3. In the file, type the absolute path to the folder, wherein modeling configuration files will
be saved, e.g., C:/<directory name>.

287

Related pages

• Customizing environment options288


• Customizing and Selecting Perspective289

290

Customizing environment options


You can customize the application environment according to your preferences via the Environment
Options dialog.

To open the Environment Options dialog

• From the Options menu, select Environment.

287 https://docs.nomagic.com/display/MD2021xR2/Configuration+files
288 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options
289 https://docs.nomagic.com/display/MD2021xR2/Customizing+and+Selecting+Perspective
290 https://docs.nomagic.com/display/MD2021xR2/Configuration+files

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 170


The Environment Options dialog contains various project-independent options grouped by different
features (for example, diagrams, Model Browser, code engineering). Each option group is available in a
different tab. Tabs are displayed in the tab tree.

An option value can be simply changed by typing a new value, setting a value to true / false, or selecting
a value from the list. Click the Reset to Defaults button to restore default option values.

Changing options
In order to change a desired environment option, first of all you may need to find it. In this case, use
the quick filter291 in the dialog. Filtering is performed in the all available options, not only in the selected
option group.

For better understanding an option you can read its description that tells what is the effect of changing
the option value.

291 https://docs.nomagic.com/display/MD2021xR2/Quick+filter

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 171


To read the option description

1. Make sure that the Show Description mode is turned on in the Environment Options dialog. To
turn the Show Description mode on or off, click the Show Description button on the tab toolbar.

2. Click an option, whose value you want to change.


3. Read the option description in the area below the tab options list. You are ready now to
change the option value.

292

Creating path variables


The main purpose for the path variables feature is to give additional sharing flexibility. It enables you to
store paths in your project as named variables that can be easily adjusted on different machines.

Path Variables may be used in:

• Code engineering classpath


• Working directories
• Hyperlinks
• Modules paths
• Reports

To create a path variable

1. In the main menu, go to Options > Environment. The Environment Options dialog293 opens.
2. In the left part of the dialog expand the General element and select Path Variables.
3. In the Path Variables area click the Add button. The Path Variable dialog opens.

292 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options
293 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 172


4. In the appropriate boxes enter the path variable name and description.
5. Next to the Value box, click , navigate to the desired location and click Open.
6. In the Path Variable dialog, click OK. Your custom path variable is created and shown in
the Defined Path Variables list.
7. In the Environment Options dialog, click OK.

Every user can specify different values of the same path variables. However path variables should be
resolved only on demand, when they are used. If a modeling tool determines you can use path
variables, once you specify your absolute path, the application automatically opens the Use Path
Variables dialog box. For example, this dialog may open when in your project, you try to use another
project From predefined location and add a new path to the Paths to used projects list.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 173


If you do not want your modeling tool to automatically display the Use Path Variables dialog box, clear
the Show suggestion to use path variables check box. To use the original path and cancel this dialog,
click the Use Original button.

To use a suggested path variable

• In the Available forms list, select a path and click the Use Selected button.

If you have your own documentation running on the local server, you can define the path in the
documentation.server option.

294

Disabling inbound network activity


Note that after disabling inbound network activity, you will not be able to open the modeling tool Help
or submit an issue.

 Useful information
If you disable inbound network activity, double-clicking a project file (.mdzip) opens the project
in a new modeling tool window.

294 https://docs.nomagic.com/display/MD2021xR2/Creating+path+variables

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 174


To disable inbound network activity

1. Go to <modeling tool installation directory>\bin and open the properties file, e.g.,
magicdraw.properties.
2. In the JAVA_ARGS line, add the following argument:

-DDISABLEINBOUNDCON=true

3. Save and close the file.

295

Related pages

• MagicDraw getting started296


• Understanding the user interface297
• Most common shortcut keys298
• Customizing environment options299
• Customizing and Selecting Perspective300
• Configuration files301
• Support302

303

Most common shortcut keys


The following table outlines the most commonly used shortcut keys:

What do you want to do? Shortcut keys

Windows OS X

Open the Find dialog Ctrl+Shift+F Cmd+Shift+F

Open the Quick Find dialog Ctrl+Alt+F Cmd+Alt+F

295 https://docs.nomagic.com/display/MD2021xR2/Disabling+inbound+network+activity
296 https://docs.nomagic.com/display/MD2021xR2/MagicDraw+getting+started
297 https://docs.nomagic.com/display/MD2021xR2/Understanding+the+user+interface
298 https://docs.nomagic.com/display/MD2021xR2/Most+common+shortcut+keys
299 https://docs.nomagic.com/display/MD2021xR2/Customizing+environment+options
300 https://docs.nomagic.com/display/MD2021xR2/Customizing+and+Selecting+Perspective
301 https://docs.nomagic.com/display/MD2021xR2/Configuration+files
302 https://docs.nomagic.com/display/MD2021xR2/Support
303 https://docs.nomagic.com/display/MD2021xR2/Disabling+inbound+network+activity

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 175


Open the Find and Replace dialog Ctrl+R Cmd+R

Remove both symbols from an active Ctrl+D Cmd+D


diagram and element from the model

Remove only a symbol from an active Delete Del


diagram, but not the model element

Select all shapes on an active diagram Ctrl+A Cmd+A

Select an element in the Containment Alt+B Alt+B


tree

Switch from List to Tree view in the


Select Element dialog

Add more symbols to selection Shift+Left mouse button Shift+Left mouse button

Select elements of the same type Alt+Left mouse button Alt+Left mouse button

Open a list of possible elements to Ctrl+Spacebar Ctrl+Spacebar


assign when typing on a symbol

Add a new line in the compartment of Shift+Enter Shift+Enter


a shape, for example, create an
attribute for a class

Open element's Specification window Enter Enter

Open element's Symbol Properties Alt+Enter Alt+Enter


dialog

Open the Report Wizard Ctrl+Shift+G Cmd+Shift+G

See the list of recently opened F12 –


diagrams

Cut a selected item Ctrl+X Cmd+X

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 176


Copy a shape or text Ctrl+C Cmd+C

Copy a shape Drag the shape to the empty –


place
on the diagram, while holding
down Ctrl

Paste Ctrl+V Cmd+V

Paste with new data Ctrl+E Cmd+E

Save Ctrl+S Cmd+S

Commit changes to the server Ctrl+K Cmd+K

Undo Ctrl+Z Cmd+Z

Redo Ctrl+Y Cmd+Y

Print Ctrl+P Cmd+P

Assign a shortcut key to print a report Alt+ number 1 to 9 Alt+ number 1 to 9

Turn on the Full Screen mode F11 –

Open a recently closed diagram Ctrl+Shift+T –

Paste a symbol style Ctrl+Shift+V Cmd+Shift+V

Reverse path direction Draw the path while holding Draw the path while holding
down Alt down Alt

Reorder elements/properties in a list, Ctrl+Up Alt+Up


tree, and Specification window
Ctrl+Down Alt+Down

Select a previous or next result in a tree Shift+F3 Shift+F3

F3 F3

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 177


304

Related pages
• Assigning shortcut keys305

306

Setting project options


Use the Project Options dialog to do the following:

• Specify general project-specific options.


• Specify summarizing information (for example, diagram author, diagram creation and
modification dates) that will be displayed on each diagram.
• Specify symbol property styles for shapes, paths, diagrams, and stereotypes within the project.

 For the instructions how to create, edit, clone, import /export, or remove symbol
property styles, please refer to Style Engine.

• Change default element property values.

 For the instructions about setting the default element property values, please refer to
Default Property Values.

• Set general code generation or code reversing options as well as code formatting styles for
selected programming languages.

The Project Options dialog includes option groups, each designated for one of the above mentioned
features and containing lists of corresponding options. Groups are represented using the tree
structure.

An option value can be simply changed by typing a new value, setting a value to true / false, or selecting
a value from the list. Click the Reset to Defaults button to restore default option values.

To open the Project Options dialog

304 https://docs.nomagic.com/display/MD2021xR2/Most+common+shortcut+keys
305 https://docs.nomagic.com/display/MD2021xR2/Assigning+shortcut+keys
306 https://docs.nomagic.com/display/MD2021xR2/Most+common+shortcut+keys

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 178


• From the Options menu, select Project.

Changing options
In order to change a desired project option, first of all you need to find it in the Project Options dialog.
These options are grouped into categories to make it easier for you to locate them. Use the q307uick
filter308 to find find the desired option in the list. Filtering is performed in the all available options, not
only in the selected option group.

To make sure you selected the right option, first read its description and see if the effect of changing
the option value is what you expect to be done.

 Make sure that the Show Description mode is turned on in the Project Options dialog.
To turn the Show Description mode on or off, click the Show Description button on the
following toolbar in the Project Options dialog.

307 https://docs.nomagic.com/display/MD2021xR2/Quick+filter
308 https://docs.nomagic.com/display/MD2021xR2/Quick+filter

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 179


To read the option description

1. Click an option that you want to change.


2. Read the option description in the area below the options list.

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 180


Index

Copy-dependency 157
C Copy-relationship 157

Copyright © 1998 – 2021 No Magic, Incorporated, a Dassault Systèmes company. 181

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy