Major Issues

Java versions 1.6.0_39 and higher or 1.7.0_13 and higher are incompatible with MagicDraw v17.0.2 (prior SP3) and v17.0.3 (prior SP1) and older versions.

What is the Reason That Has Caused Java 6 Update 39 and higher or Java 7 Update 13 and higher Incompatibility With Our Products?

It was Oracle’s mistake in introducing the undocumented behavior changes that have caused the incompatibility between Java and our product. As a result, MagicDraw 17.0.2 &17.0.3 and older versions are not compatible with Java 6 update u39 and higher or Java 7 update u13 and higher.
Oracle Java 6 update u39 and higher or Java 7 update u13 and higher have undocumented changes in the way the threading works.


Solution

Please manually* update to:

  • Service pack 3 for MagicDraw 17.0.2 which solves this incompatibility issue was released on 25th February 2013.
  • Service pack 1 for MagicDraw 17.0.3 which solves this incompatibility issue was released on 4th March 2013.


For older MagicDraw versions we highly recommend using the officially recommended Java version:

  • 1.6.0_31 for MagicDraw v17.0.2 (prior SP3).
  • 1.7.0_07 (1.6.0_35 for Mac OS X Lion and Mountain Lion) for MagicDraw v17.0.3 (prior SP1).

In order to change Java version which MagicDraw uses, please follow the instructions in this file.

* - autoupdate feature fails to install these service packs because of Java incompatibility. You should follow the instructions for manual update.

To handle the problem, please use the following workaround:

  1. Open the mduml.properties* file that can be found in <MagicDraw installation folder>\bin.
  2. Next to JAVA_ARGS, add the following line:
    -Ddisable.element.version.service=true.
    Example:
    JAVA_ARGS=-Xmx2396M -XX\:PermSize\=60M -XX\:MaxPermSize\=200M
    -DLOCALCONFIG\=true -splash\:data/splash.gif -Xss1024K
    -Ddisable.element.version.service=true
  3. Restart MagicDraw.

The issue will be fixed in v17.0.4 SP1.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.


Fix for this problem is described at https://bugs.openjdk.java.net/browse/JDK-8006420

To solve the problem:

  1. Open the magicdraw.properties file, which is located in <MagicDraw* installation directory>/bin.
  2. From the JAVA_ARGS= line, remove the -splash\:data/splash.gif parameter

After this fix, on MagicDraw* startup, the spash screen will not be displayed for a few second, but the open file list dialog refresh problem will be solved.

The fix is sheduled into the nearest release.


* - This is valid for all MagicDraw-based Cameo Suite products.

MagicDraw stops responding due to an issue detected in Java SE 7 Update 40, which is bundled with MagicDraw 17.0.5 (for the issue details, go to https://bugs.openjdk.java.net/browse/JDK-8025588).

This issue will be fixed in MagicDraw 17.0.5 SP1, coming out in the middle of February.

To solve the issue manually (without the SP), switch the version of the bundled Java to SE 7 Update 25*, which does not cause the issue. For this, do the following:

  1. Open the magicdraw.properties file, stored in <MagicDraw installation directory>/bin.
  2. Find the JAVA_HOME property and add the path to the location of Java SE 7 Update 25 on your PC. For example, “JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home”.

Please contact our customer support, if this does not help.

--
* If you do not have Java SE 7 Update 25 installed on your PC, download the installer from the Java SE 7 Downloads page. You need the jdk-7u25-macosx-x64.dmgfile.

To get the best effect of MagicDraw, lower your screen resolution to HD 1920 x 1080.
The simplest way to change resolution settings is to right-click anywhere on your desktop and select Screen resolution. Then use the slider to select the required setting.
We are working to find ways to support HiDPI.

You can turn off scaling by including a certain parameter to the magicdraw.properties file.

  1. Open <MagicDraw installation directory>\bin.
  2. Find and open magicdraw.properties.
  3. Find line JAVA_ARGS= and add -Dmagicdraw.resolution.scale=1 to it.

This happens because of the Model Browser refresh problem with MagicDraw 18.0.
To solve this problem, do one of the following:

  • Refresh the project (press F5).
  • Save the project (press Ctrl+S).
  • Change the Model Browser settings. For example, turn on the Show Auxiliary Resources option.

This is a known Java bug. This issue will be fixed in MagicDraw 18.3, but in the meantime you can upgrade to the recommended Java version.

After installation, open <MagicDraw installation directory>\\bin, and modify the magicdraw.properties* file.

Change line JAVA_HOME= to correspond with the Java version you\'ve installed.

* If you are using MagicDraw 17.0.4 or earlier, the properties file is called mduml.properties.

This is a known Java bug. This issue is fixed in MagicDraw 18.4. If you are using MagicDraw 18.3 and earlier versions, you can use the recommended Java versionthat comes with installation.

Once you have installed the recommended Java version, do the following:

  1. Open the bin folder <MD install directory>\bin.
  2. Open the file magicdraw.properties.
  3. Look for the line "JAVA_HOME=" and change the Java version with the one you have installed.

Solution is to run magicdraw.sh file from the /bin directory.

This issue affects the version 18.4 of MagicDraw, Cameo Systems Modeler, Cameo Enterprise Architecture and Cameo Business Modeler.

Please update your modeling tool to the version 18.4 SP1 to avoid the installation incompatibility.

Performance

This issue appears when MagicDraw Look and Feel is Windows. Please change the Look and Feel to Metal. For this, select Options > Look and Feel > Metal.

If you are running the Sun's JVM, set the following java properties in your mduml.properties* file: to the line JAVA_ARGS=-Xmx600M, append the string -Xss[stack size]

For example:

JAVA_ARGS=-Xmx600M -Xss2M

This sets java stack size to 2 megabytes.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

If you are running the Sun's JVM, set the following java properties in your mduml.properties* file: in the line JAVA_ARGS=-Xmx600M, change the number of heap size '600' to maximal heap size in megabytes.

For example:

JAVA_ARGS=-Xmx800M

This sets java heap size to 800 megabytes.

If you get exception "java.lang.OutOfMemoryError: PermGen space" please, check if PermSize is specified in mduml.properties* file.

The JAVA_ARGS line should look like:

JAVA_ARGS=-Xmx600M -XX\:PermSize\=40M -XX\:MaxPermSize\=150M

If PermSize is specified in mduml.properties* file and the same problem still appears, the MaxPermSize should be increased. PermSize is part of heap size, so MaxPermSize should always be smaller than heap size specified with Xmx parameter.

For example:

JAVA_ARGS=-Xmx600M -XX\:PermSize\=40M -XX\:MaxPermSize\=200M

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

We noticed such behavior under Windows NT when mapped network drives are present, but a portion of them are offline. Try disconnecting all offline drives.

Try to start MagicDraw without direct draw, and edit JAVA_ARGS the line in the MagicDrawUML/bin/mduml.properties* file by adding -Dsun.java2d.noddraw=true.

The line should look like: JAVA_ARGS=-Xmx600M -XX\:PermSize\=40M -XX\:MaxPermSize\=200M -Dsun.java2d.noddraw=true.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

This is a known Java bug. This issue will be fixed in MagicDraw 18.3, but in the meantime you can upgrade to the recommended Java version.

After installation, open <MagicDraw installation directory>\\bin, and modify the magicdraw.properties* file.

Change line JAVA_HOME= to correspond with the Java version you\'ve installed.

* If you are using MagicDraw 17.0.4 or earlier, the properties file is called mduml.properties.

This is a known Java bug. This issue is fixed in MagicDraw 18.4. If you are using MagicDraw 18.3 and earlier versions, you can use the recommended Java versionthat comes with installation.

Once you have installed the recommended Java version, do the following:

  1. Open the bin folder <MD install directory>\bin.
  2. Open the file magicdraw.properties.
  3. Look for the line "JAVA_HOME=" and change the Java version with the one you have installed.

In cases when MagicDraw is not responding, please, run submit_issue.exe. You may find it in /bin/ folder. In case there are processes, submit issue produces thread dump for it and writes it to md.log file. You can grab thread dump directly from Report an Issue frame, "MD log file" tab. Please attach thread dump to this issue report or send us md.log file. This log can be found in the user home directory ( /.magicdraw/ ).

While performing small ordinary tasks (not individual large operations, such as opening a large project or merging several large projects), modeling tool memory leaks may cause OutOfMemory exception errors. This is due to the cumulative effect of performing many small operations that normally do not cause any problems.

In order to analyze and fix the issue, more information is required. Please provide us with the following information:

  1. Can you reproduce the problem? If yes, what are the steps to reproduce it?
  2. If it is possible to reproduce it, send us the project file. We guarantee confidentiality, and shall sign a Non-disclosure Agreement at your request.
  3. Send us the memory dump file. It may help to detect the problem.

To create a memory dump file, please do the following:

  1. In the properties* file, append JAVA_ARGS parameters as follows:
    -XX\:+HeapDumpOnOutOfMemoryError -XX\:HeapDumpPath\=d\:\\snapshots
  2. Start your modeling tool.

The dump file will be created in the provided location – d:\\snapshots (please make sure that this location is available), if an OutOfMemory exception occurs. As the file may be large, please zip the created file, and upload it to the provided ftp server.


*

  • For MagicDraw, the properties file is magcdraw.properties (mduml.properties for MagicDraw version 17.0.4 or earlier).
  • For Cameo Enterprise Architecture, the properties files is cameoea.properties.
  • For Cameo Systems Modeleer, the properties files is csm.properties.
  • For Cameo Business Modeler, the properties file is csm.properties.

When you work with very large models or use a lot of diagrams at a time, the performance of MagicDraw may become slow. To increase an efficiency of modeling, we suggest the following solutions:

  • Increase a java heap size.
  • Do not keep unused diagrams open. Open project without loading diagrams. Your projects will be opened over a shorter period of time without opening a diagram as well as use less memory.
  • Increase an active validation period. MagicDraw takes less memory with increased active validations period.
  • Split the project to read only modules. Keep read only modules not loaded. This may help only if your project contains several parts with minimal dependencies between them.
  • Use Garbage Collector to free unused memory.
  • Turn of antivirus. Some antivirus software can cause significant performance decrease on project open and other actions.

For more information see "MagicDraw User Manual" > "Performance Improvement" section. Manual is available in < MagicDraw installation directory > \manual\

To solve the problem, we need a little input from you. We need to examine the log files to troubleshoot the problem. The following list outlines how to submit log files:

Generating a log file when the modeling tool freezes or performs slowly:

1. When a modeling tool runs slowly or freezes, open <modeling tool installation directory>\bin, and run submit_issue.exe several times. It dumps threads into the log file.

2. Click Help > About on the main menu of your modeling tool. In the open dialog, select the Environment tab and click the Log File link. The log file opens.*

3. Save the file and register an issue. Click Help > Report an Issue on the main menu of your modeling tool or go to http://www.nomagic.com/support.html.

*If a modeling tool is inactive, as of version 17.0.4, log file is stored in the following location:

  • Windows Vista/7/8 C:\Users\<USERNAME>\AppData\Local\.magicdraw\<md.version.number>
  • Windows 2000/XP C:\Documents and Settings\<USERNAME>\Local Settings\Application Data\.magicdraw\<md.version.number>
  • Windows NT4 C:\WINNT\Profiles\<USERNAME>\Local Settings\Application Data\.magicdraw\<md.version.number>
  • Other OS: <user.home>/.magicdraw/<md.version.number>

By using Java VisualVM:

The modeling tools are Java-based; thus, you can use the Java VisualVM program for performance issue examination. Data provided by VisualVM may help to explore issues accurately.

The following steps outline how to obtain the data from VisualVM:

Note. Please read the steps first to familiarize yourself with the whole procedure to gather more precise information. Step #8 should be started as soon as possible.

On Windows OS:

  1. Download and install the Java VisualVM with Java SE Development Kit (JDK, valid till version 1.8) or separately from https://visualvm.github.io/.
  2. Start Task Manager.
  3. Start Java VisualVM. If you selected the default location on the JDK installation process, VisualVM is located in C:\Program Files\Java\jdk<version number>\bin\ jvisualvm.exe. Otherwise, start the exe from your customized location.
  4. Start the modeling tool.
  5. In Task Manager, find the PID (Process Identifier) of your modeling tool.
  6. In Java VisualVM, find the Java process by the modeling tool PID in the Applications tree on the left (the same PID as in Task Manager) and double-click to open it.
  7. Click the Sampler tab and click the CPU.
  8. Initiate the action causing the low performance of your modeling tool.
  9. Wait until that action in your modeling tool is finished, then click the Stop button.
  10. In the CPU samples tab, click the Snapshot button. The snapshot is created in the Applications tree on the left.
  11. To save the snapshot, right-click it and select Save As to save the *.nps file.
  12. To register an issue, open the modeling tool. On the main menu, click Help > Report an Issue. The Report an Issue dialog opens.
  13. Fill out all necessary details, including the email address where the ticket link will be sent, and click Send. You will receive an email containing the ticket link in your inbox.
  14. Open the email and click the ticket link. Attach the *.nps file to send the issue to the support team. For more information about reporting an issue, please visit http://www.nomagic.com/support.html.

On Mac OS:

  1. Download and install the Java VisualVM with Java SE Development Kit (JDK, valid till version 1.8) or separately from https://visualvm.github.io/.
  2. Start Activity Monitor.
  3. Start Java VisualVM. If you selected the default location on the JDk installation process, VisualVM is located in /Library/Java/JavaVirtualMachines/jdk<version number>.jdk /Contents/Home/bin/jvisualvm. Otherwise, start jvisualvm from your customized location.
  4. Start the modeling tool.
  5. In Activity Monitor, find the PID (Process Identifier) of your modeling tool.
  6. In Java VisualVM, find the Java process by the modeling tool PID in the Applications tree on the left (the same PID as in Activity Monitor) and double-click to open it.
  7. Click the Sampler tab and click the CPU.
  8. Initiate the action causing the low performance of your modeling tool.
  9. Wait until that action in your modeling tool is finished and click the Stop button.
  10. In the CPU samples tab, click the Snapshot button. The snapshot is created in the Applications tree on the left.
  11. To save the snapshot, right-click it and select Save As to save the *.nps file.
  12. To register an issue, open the modeling tool. On the main menu, click Help > Report an Issue. The Report an Issue dialog opens.
  13. Fill out all necessary details including the email address where the ticket link will be sent and click Send. You will receive an email containing the ticket link in your inbox.
  14. Open the email and click the ticket link. Attach the *.nps file to send the issue to the support team. For more information about reporting an issue, please visit http://www.nomagic.com/support.html.

On Linux OS:

  1. Download and install the Java VisualVM with Java SE Development Kit (JDK, valid till version 1.8) or separately from https://visualvm.github.io/.
  2. Start System Monitor.
  3. To start Java VisualVM, execute the jvisualvm tool from the bin directory of the JDK. When the tool runs, the Java VisualVM window opens.
  4. Start the modeling tool.
  5. In System Monitor, find the PID (Process Identifier) of your modeling tool.
  6. In Java VisualVM, find the Java process by the modeling tool PID in the Applications tree on the left (the same PID as in System Monitor) and double-click to open it.
  7. Click the Sampler tab and click the CPU.
  8. Initiate the action causing the low performance of your modeling tool.
  9. Wait until that action in your modeling tool is finished, then click the Stop button.
  10. In the CPU samples tab, click the Snapshot button. The snapshot is created in the Applications tree on the left.
  11. To save the snapshot, right-click it and select Save As to save the *.nps file.
  12. To register an issue, open the modeling tool. On the main menu, click Help > Report an Issue. The Report an Issue dialog opens.
  13. Fill out all necessary details including the email address where the ticket link will be sent and click Send. You will receive an email containing the ticket link in your inbox.
  14. Open the email and click the ticket link. Attach the *.nps file to send the issue to the support team. For more information about reporting an issue, please visit http://www.nomagic.com/support.html.

In order to troubleshoot this issue, we will need the program’s log files (located in the install directory of your tool). Additional information might be required about the Java environment on which our modeling tools are based. The information we need is called the “heapdump” and can be obtained using the Java VisualVM program.

Please read and follow this procedure to install Java VisualVM and send this data to us (while the tool is running):

  1. Download and install the Java VisualVM with Java SE Development Kit (JDK, valid till version 1.8) or separately from https://visualvm.github.io/, if you do not have it.
  2. Start Task Manager or other appropriate tool depending on your OS.
  3. Start Java VisualVM. If you have selected the default location on the JDK installation process, VisualVm is located in C:\Program Files\Java\jdk<version number>\bin\ jvisualvm.exe. Otherwise start the jvisualvm.exe from your custom location.
  4. In the Task Manager or other program according to you OS, find the PID (Process Identifier) of your modeling tool.
  5. In the Java VisualVM, find Java process by the modeling tool PID and double click to open it.
  6. Right click the Java process and, from the shortcut menu, select Heap Dump. The heapdump file creates under your process.
  7. Save the heapdump file. Right click the heapdump and, on the shortcut menu, click Save As.
  8. Register an issue and sent the saved *.hprof file for the investigation. For this, on the main menu of your modeling tool, click Help > Report an Issue or go to http://www.nomagic.com/support.html.

When you report an issue with your modeling tool, Cameo Collaborator or Teamwork Cloud, always include related log files. Log files provide useful information that we need to investigate and troubleshoot your problem.

Accessing log files

  • For a modeling tool

Open your modeling tool and in the main menu go to Help > About <modeling tool name>. In the Environment tab, click the link provided in the Log File line to open a log file.

  • For Cameo Collaborator

Go to Alfresco Community installation directory, and obtain the alfresco.log, share.log and solr.log files.

Go to <Alfresco Community installation directory>\tomcat\logs, and obtain the alfrescotomcat-stderr.log, alfrescotomcat-stdout.log and catalina.log files.

  • For Teamwork Cloud

Go to <user home directory>\.twcloud\<server version>, and obtain the server.log and client.log files.

Go to <Cassandra installation directory>\logs on Windows OS or /var/lib/Cassandra on Linux, and obtain the Cassandra log file.

Generating a log file

If the performance of your modeling tool declines or it freezes, go to <modeling tool installation directory>\bin, and run the submit_issue.exe file several times. It dumps threads into the log file of your modeling tool. Then you can access the log file, as described above.

Java crash log files

If your modeling tool crashes (disappears), try searching for Java crash log files. They are stored in the running location of the modeling tool, e.g., the <modeling tool installation directory>/bin or <modeling tool installation directory> directory. The names of these log files start with "hs_err", e.g., hs_err_pid15693.log. If you find the Java crash log file, the reason your modeling tool crashed was that Java crashed.

Installation and Running

Please start the installer with the following parameters:
-i silent -DUSER_INSTALL_DIR=

The example:

MD_UML_169_win.exe -i silent "-DUSER_INSTALL_DIR=C:\Program Files\MagicDraw 16.9"
MagicDraw will be installed silently, with a default configuration.

Reinstall product on new computer:

  1. Deactivate the current license.
  2. Download and install the fresh installation on new machine.
  3. Start it after the installation is finished.
  4. The Import Configuration dialog will appear upon opening installation for the first time. In the dialog, type the path to the installation folder of an older installation to import program configurations from it.
  5. Uninstall the product from old machine.
  6. You will be requested to activate the license and receive the commercial license dedicated for the particular machine.

This is a known issue in Intel based Mac OS with QuickTime 7.2 update that causes most of the Power PC applications to refuse to start. This problem hounts some Java apps too, and sometimes MagicDraw refuses to start from the icon created by the installer. Although it is possible to start MagicDraw from command line (look for classpath and JVM flags from Indo.plit file).

There is available one solution that fixes the Power PC apps and also the MagicDraw from here: http://mactip.blogspot.com/2007/07/dependent-dylib-is-not-prebound.html

The fix involves some command-line and text editor usage, but it's relatively simple and it works.

This problem is Install Anywhere related and appears when you uninstall previous version of MagicDraw and then, without restarting your computer, install another MagicDraw in the same directory. We would suggest to uninstall MagicDraw, restart your computer, and then install MagicDraw again.

On the Macintosh, MagicDraw points out error at startup:

java.lang.NullPointerException
at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphic sEnvironment.java:327)
at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphic sEnvironment.java:359)
at com.nomagic.actions.SetFontFaceAction.(SetFontFaceAction.java)
at com.nomagic.actions.SetFontAction.(SetFontAction.java)

...

Based on messages from the Apple java-dev mailing archive, a lot of people who use Java 1.4.1 on Mac have experienced similar problems. Someone suggested this had to do with bitmap fonts in a Classic install in "/System Folder/Fonts". And it seems that renaming "/System Folder/Fonts/" to "/System Folder/Fonts.not/" or something else and rebooting your machine can solve the problem.

You can save configuration files in the modeling tool installation directory or on your chosen directory.

To store configuration files in the modeling tool installation directory add argument into JAVA_ARGS line in file *.properties* (this file is in \bin):
JAVA_ARGS=-Dlocalconfig=false

NOTE: For Windows users. If you are using MagicDraw 17.0.4 or later, you must also add argument
-DWINCONFIG\=false.

To store configuration files to your chosen location

  1. In the /.<modeling tool name>/ folder, create file named <modeling tool properties file name> redirect, that is magicdrawredirect, cameoearedirect, csmredirect, or cbmredirect.
  2. In the created file, type absolute (for example, C:\users\john\Documents) or relative (relative to modeling tool installation directory, for example, ..\configurations) path where configuration and auxiliary files will be saved.

Or:

  1. Open the *.properties* file, which is located in \bin.
  2. Add the parameter value to the end of the line started with JAVA_ARGS= -Dlocalconfig.location=<absolute path to a custom location>

For example, -Dlocalconfig.location\=C\:\\MagicDraw\\configurationData

NOTE: If there is defined to store files in installation directory (see the section "To store MagicDraw configuration files in MagicDraw installation directory" above), files will not be stored to your chosen location.


* For more information about configuration files please, see Configuration files

Please check if the file is not truncated. You can see the exact file size at the download page.

In most cases such error appears when installer file is truncated or corrupted.

Please try to download an installer again.

Another option is that /usr/bin/java is an old version java. To check which java is used by installer, set environment variable LAX_DEBUG and launch installation again.

By default installer first uses java found in /usr/bin. But there is possibility to use specific VM when launching the installer. Please add parameter LAX_VM to launcher and second parameter path to java executable, here is an example (assuming that java is in /opt/j2sdk1.5.0_03):

./MD_UML_105_unix.sh LAX_VM /opt/j2sdk1.5.0_03/bin/java

Run mduml* file, which is located in MagicDraw installation directory, bin folder.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

We have found that update of JAVA 1.6.0.13 for Mac OS triggers the problem with disappearing MagicDraw menu. This issue is fixed in 16.5 SP3. Also we suggest two workarounds:

  1. You need to define older JAVA version in mduml.properties* ( /bin/ ) file and work with that JAVA version (for example version 1.5.0 or previous 1.6.0).
  2. You need to change Look & Feel style by editing global.opt file. Note: This problem does not exist on Metal Look & Feel.

Steps how to do that:

  • Shutdown MagicDraw application;
  • Go to ./magicdraw/ /data/;
  • Open global.opt file with text editor;
  • Find LOOK_AND_FEEL_CLASS propertyID.
  • Replace tag apple.laf.AquaLookAndFeel with new one:
    javax.swing.plaf.metal.MetalLookAndFeel
  • Save file;
  • Start MagicDraw application.


* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

Save error appears saving project with modules when MagicDraw v16.6 is installed on top of MagicDraw v15.0 or earlier (using autoupdate functionality). This problem occurs because one or more old resource descriptors from MagicDraw v15.0 or earlier are corrupted.

To prevent MagicDraw project save error you need to install MagicDraw v16.6 to a new location – to a new and empty folder, for example, "MagicDraw 16.6". Note that on the first MagicDraw startut you can import MagicDraw environment options from previous MagicDraw installations.

You may download MagicDraw 16.6 from your personal or company profile on www.nomagic.com, also to obtain unlock keys.

First of all you need to pre-configure MagicDraw. Do the following:

  1. Check if you have the permission to write to the MagicDraw installation folder because all information that you change will be stored in this folder. If you do not have the permission to write, contact your system administrator.
  2. In magicdraw.properties, which is in \bin, set the parameter value:
    JAVA_ARGS=-DLOCALCONFIG\=false -DWINCONFIG\=false
  3. Run MagicDraw and set desired options, then close the program.
  4. Reopen magicdraw.properties and restore the parameter value JAVA_ARGS=-DLOCALCONFIG\=true and remove the parameter -DWINCONFIG\=false.
  5. Copy the MagicDraw installation folder and paste it on a new machine.

Let us explain the difference between changed parameter values:

a) If JAVA_ARGS=-DLOCALCONFIG\=true, then option settings are stored in \.magicdraw\ . Options are loaded in the following order:

  1. From <Common Application Data location>\.magicdraw\
  2. From the MagicDraw installation folder

b) If JAVA_ARGS=-DLOCALCONFIG\=false -DWINCONFIG\=false, then option settings are stored only in the MagicDraw installation folder and are loaded from there.

The proper way to activate the license is to install the application as the administrator, then to login as a regular user, which will use the tool, and proceed with the license activation process.

The particular user licensing information is stored in the user home directory. So if you want that the application which has already been activated from the administrator account would not require the license activation from the user account on the same machine, you should change the licensing information storage place.

You can store the licensing information in the MagicDraw installation directory (the read-write rights are required).

For the instructions on how to change the configuration files directory, please find the issue "In our company the storage of user home directory is limited. How to force to keep configuration files in other directory?"

Note: It is important to know that the MagicDraw seat license can be used by a single user only.

In order to fix the problem with the menu bar after java update on the Mac OS, you need to open /.magicdraw/16.6/data/global.opt and change the string "com.apple.laf.AquaLookAndFeel" to "apple.laf.AquaLookAndFeel".

After updating MagicDraw to version 17.0.1 exceptions can be shown on different actions. The exception stack trace may look like :

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.nomagic.utils.Utilities.invokeAndWaitOnDispatcher(Utilities.java:1578)
at com.nomagic.magicdraw.core.project.ProjectsManager.setActiveProject(ProjectsMana ger.java:315)
...

OR

java.lang.AbstractMethodError
at com.nomagic.magicdraw.core.project.ProjectsManager.fireProjectPreActivated(Proje ctsManager.java:1352)
at com.nomagic.magicdraw.core.project.ProjectsManager$2.run(ProjectsManager.java:26 9)
at com.nomagic.utils.Utilities.invokeAndWaitOnDispatcher(Utilities.java:1562)
...

You are using incompatible plugin e.g. Cameo Simulation Toolkit 1.1, Cameo Data Modeler 16.8, EstimIX, ExtendIX, or other. Those plugin versions are not compatible with MagicDraw 17.0.1.

Please update or remove incompatible plugins from Help > Resource/Plugin Manager > Click the button "Check For Updates" > and download compatible version OR remove incompatible plugin from the MagicDraw.

Plugins compatibility can be checked here.

To see the pallet, you need to upgrade your MagicDraw to a new version of 17.0 SP1.

To upgrade MagicDraw to the new version of 17.0 SP1:

  1. On the main menu, click Help > Check For Updates.
  2. Click Apply Patch.
  3. Restart MagicDraw.

When Resource/Plugin Manager is started error is shown:

java.lang.NullPointerException
at com.nomagic.magicdraw.resourcemanager.sb.b(sb.java:247)
at com.nomagic.magicdraw.resourcemanager.sb.j(sb.java:223)
at com.nomagic.magicdraw.resourcemanager.sb.e(sb.java:84)

MagicDraw up to version 17.0.1 SP1 with Java version 1.7 is used.

This issue is 1.7 Java specific.

We highly recommend to use the bundled Java, which comes with MagicDraw installation (select to use the bundle Java in third MagicDraw installer step).

Java can be changed in mduml.properties* file in "JAVA_HOME=" line. mduml.properties* can be found in "MagicDraw install dir" / bin folder.

This issue is already fixed in v17.0.1 SP1


* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

The following issues appear:

  • MagicDraw hangs on a splash screen.
  • Any model or diagram cannot be opened.
  • Any diagram or element cannot be created.
  • In the md.log file, the exception "net.sf.ehcache.CacheException" appears.

What should I do?

To start MagicDraw normally, perform the following steps:

  • Update MagicDraw into 17.0 SP3 or
  • Delete all cache folders from user home directory > /.magicdraw/ version > / and restart MagicDraw.

Note: Upgrading the Mac OS X to 10.6.5, upgrades Java to version 1.6.0_26 automatically.

You may find all the information about updating to new version at Updating modeling tools and plugins.

This error occurs when you have a corrupted installer file. Please download the file and install again.

We recommend running MagicDraw as an administrator and with enabled UAC (User Account Control) on Windows Vista, Windows 7 and Windows 8 OS in order to avoid some problems that are related with permissions to modify files on the MagicDraw installation root directory.

To enable UAC on Windows 7, Windows 8, or Windows 10 OS, do the following:
1. Click the Start button, type “msconfig” in the Search box and press Enter.
2. From the System Configuration dialog, click the Tools tab.
3. Select the Change UAC Settings tool and click Launch button.
4. Move the slider to the highest value to set Always notify and click OK.
5. Restart the computer to apply changes.

To enable UAC on Windows Vista OS, do the following:
1. Click the Start button, type “msconfig” in the Search box and press Enter.
2. From the System Configuration dialog, click the Tools tab.
3. Select the Enable UAC tool and click Launch button. The CMD window opens.
4. When the command is completed, you can close CMD window.
5. Restart the computer to apply changes.

To run MagicDraw as administrator, right-click the MagicDraw icon and choose Run as Administrator.

To run MagicDraw as an administrator all the time, do the following:
1. Right-click the MagicDraw icon and choose Properties.
2. Click the Compatibility tab.
3. In the Privilege Level area, select Run this program as an administrator.
4. Click OK.

Please note that downloaded installs are not corrupted or damaged and this problem is not related to the MagicDraw application. This issue is related to the new OS X Mountain Lion functionality, "Gatekeeper."

The Gatekeeper functionality, by default, does not allow executing applications that are not from the Apple Store or from Identified Developers.

In order to launch MagicDraw, users can modify the option, which allows executing all the applications from all the providers. For more information on how to do this, go to: http://support.apple.com/kb/HT5290

Note: We are communicating with Apple to solve this issue so that our customers may execute MagicDraw without any problems.

We offer you to solve the problem in one of the following ways.

Solution #1:

  1. Remove MagicDraw.app from <MagicDraw 17.0.3 SP1 installation directory>.
  2. Extract MagicDraw_1704_no_install_mac.zip to <MagicDraw 17.0.3 SP1 installation directory>. Select to overwrite all files, when you will be asked. A new MagicDraw.app file will appear in <MagicDraw 17.0.3 SP1 installation directory>.
  3. Use the MagicDraw.app file to start the upgraded version of MagicDraw.

Solution #2:

  1. Extract MagicDraw_1704_no_install_mac.zip to <MagicDraw 17.0.3 SP1 installation directory>. Select to overwrite all files, when you will be asked.
  2. Copy the MagicDraw.app file and paste it in the same directory. The MagicDraw Copy.app file will appear in <MagicDraw 17.0.3 SP1 installation directory>.
  3. Use the MagicDraw Copy.app file to start the upgraded version of MagicDraw.

The error appears because the MagicDraw.app file cannot find the installed Java 6.

To handle the problem, please use one of the following workarounds:

  • Start MagicDraw using the mduml* file that can be found in <MagicDraw installation folder>/bin.
  • Install Java 6 in your computer and use the MagicDraw.app file to start MagicDraw 17.0.4.

This issue will be fixed in MagicDraw 17.0.5.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

The problem is that MagicDraw earlier than 17.0.2 SP3 or 17.0.3 SP1 cannot be started on OS X Yosemite.
To start MagicDraw on OS X Yosemite, you must upgrade the modeling tool at least to 17.0.2 SP3 or 17.0.3 SP1.

If MagicDraw still does not start, you must upgrade Java on your computer. For recommended Java versions and links to downloads, please visit http://www.nomagic.com/support/jvm-list.html.

To initialize log4j, open <MagicDraw installation directory>/data, and modify the debug.properties file.

Change the debug level for appropriate categories by specifying log4j.category.<category>=DEBUG or turn on debug for all categories log4j.rootCategory=DEBUG,SO.

Close your modeling tool, delete all cache folders and start the program again.
Cache folders can be found in <user home directory>\.<modeling tool>\<version number>, for example <userhome>\.magicdraw\<18.2>.

If the problem still exists, please add the -Dcom.sun.media.imageio.disableCodecLib=true option into the JAVA_ARGS line in the modeling tool properties file, for example magicdraw.properties. A properties file is in <modeling tool installation directory>\bin.

See the example:

JAVA_ARGS=-Xmx4000M -XX\:PermSize\=60M -XX\:MaxPermSize\=200M -DLOCALCONFIG\=true -splash\:data/splash.png -Dmd.class.path\=$java.class.path -Dcom.nomagic.osgi.config.dir\=configuration -Desi.system.config\=data/application.conf -Dlogback.configurationFile\=data/logback.xml -Xss1024K -Dcom.sun.media.imageio.disableCodecLib=true

Mac OS X Sierra has an updated gatekeeper policy. It says that all applications which are downloaded in .zip/iso files are not secure because of the dylib-hijacking problem.
(Please find more about it at https://www.virusbulletin.com/virusbulletin/2015/03/dylib-hijacking-os-x/).
All not secure programs, including the .app part of the application are moved to a temporary directory (quarantine), in other words, the application is improperly located and can not be started.

The solutions are:

  1. To run magicdraw.sh file from the /bin directory.
  2. To download the original signed MagicDraw.dmg file and to install the application again.
  3. To remove the program from quarantine.

To remove the application from quarantine, please do:

  1. Open a terminal.
  2. Using the terminal, open the MagicDraw installation directory.
  3. Write the command: xattr -d com.apple.quarantine MagicDraw.app/
  4. Close the terminal and start MagicDraw using the .app file.

NOTE: This issue is fixed for the 18.4 SP1 and 18.0 SP6 versions.

Please restart your computer. After multiple updates or after installing different versions of a modeling tool on the same machine with Mac OS, sometimes it happens for unknown reason.

This is a known issue with Mac OS X 10.11 El Capitan operating system. Most dialogs in the application will be displayed behind previously open dialogs, affecting usability of the user interface. There is no solution to this problem. Please try to downgrade the Mac OS to some earlier version.

Edit the appropriate boot script, which could be one of the following: /etc/rc.boot, /etc/rc.local, /etc/rc2.d/Sxxx, or /sbin/ rc2.d/Sxxxx.

Then, include commands similar to the following:

/bin/su daniel -c 'echo starting lmgrd > \
/home/flexlm/v11/hp700_u9/boot.log'
/bin/nohup /bin/su daniel -c 'umask 022; \
/home/flexlm/v11/hp700_u9/lmgrd -c \
/home/flexlm/v11/hp700_u9/license.dat >> \
/home/flexlm/v11/hp700_u9/boot.log'
/bin/su daniel -c 'echo sleep 5 >> \
/home/flexlm/v11/hp700_u9/boot.log'
/bin/sleep 5
/bin/su daniel -c 'echo lmdiag >>\
/home/flexlm/v11/hp700_u9/boot.log'
/bin/su daniel -c '/home/flexlm/v11/hp700_u9/lmdiag -n -c\
/home/flexlm/v11/hp700_u9/license.dat >> \
/home/flexlm/v11/hp700_u9/boot.log'
/bin/su daniel -c 'echo exiting >>\
/home/flexlm/v11/hp700_u9/boot.log'

Please note that this does not start the vendor daemon until you reboot the system.

Java Virtual Machine (JVM)

MagicDraw stops responding due to an issue detected in Java SE 7 Update 40, which is bundled with MagicDraw 17.0.5 (for the issue details, go to https://bugs.openjdk.java.net/browse/JDK-8025588).

This issue will be fixed in MagicDraw 17.0.5 SP1, coming out in the middle of February.

To solve the issue manually (without the SP), switch the version of the bundled Java to SE 7 Update 25*, which does not cause the issue. For this, do the following:

  1. Open the magicdraw.properties file, stored in <MagicDraw installation directory>/bin.
  2. Find the JAVA_HOME property and add the path to the location of Java SE 7 Update 25 on your PC. For example, “JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home”.

Please contact our customer support, if this does not help.

--
* If you do not have Java SE 7 Update 25 installed on your PC, download the installer from the Java SE 7 Downloads page. You need the jdk-7u25-macosx-x64.dmgfile.

MagicDraw needs Java to be supported. Java 1.6 is available on the 64-bit Intel-based Macs only. Non-Intel-based PowerPC does not support Java 1.6 and later.

The latest MagicDraw version which can support Java 1.5 is MagicDraw v16.6.

You can watch installation process by setting environment variable LAX_DEBUG to value 1 before starting installation.

The problems are usually related with opening/creating projects. The recommendation is to use JVM 1.5 for MagicDraw v14.0 and previous.

You may find this information in the About window (Help menu -> About)

or

If you have Sun's or IBM's JVM, enter the following in the command prompt: java -version.

  1. Go to <modeling tool installation directory>\bin and open the <modeling tool>.properties file (eg., magicdraw.properties, csm.properties, cameoea.properties) for editing. If you are using MagicDraw 17.0.4 or earlier, the name of the property file is mduml.properties.
  2. In the JAVA_HOME line, add the path to the Java software. For example: JAVA_HOME=C\:Program Files\\Java\\jre1.8.0_144

NOTE: Integrated MagicDraw runs on the JVM specified by the IDE. In order to change the JVM, you must modify the startup properties for the IDE that MagicDraw integrates with. If you are running MagicDraw integrated with IDE, read the appropriate readme.html for specific integration, found in the integrations folder.

In order to install Java 1.5 on Mac OS X 10.6 Snow Leopard, please follow these steps.

Execute the following commands in the terminal:

1. Get the java 5 that was included in 10.5 "leopard" and unpack:

cd /tmp/

curl -o java.1.5.0-leopard.tar.gz

http://www.cs.washington.edu/homes/isdal/snow_leopard_workarou nd/java.1.5.0-leopard.tar.gz.

tar -xvzf java.1.5.0-leopard.tar.gz

2. Move it to your System java folder (password needed):

sudo mv 1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0-leopard

3. Tell OS X that java 5 actually is java 5:

cd /System/Library/Frameworks/JavaVM.framework/Versions/

sudo rm 1.5.0

sudo ln -s 1.5.0-leopard 1.5.0

sudo rm 1.5

sudo ln -s 1.5.0 1.5

After these commands, Java 1.5 will be installed. You can check Java 1.5 on Java Preferences dialog (open "/Applications/Utilities/Java Preferences.app")

Change the properties to use Java 1.5 32-bit on MagicDraw. Open file "mduml.properties"*, which is located in /bin and change path in line JAVA_HOME=.

The line should look like:

JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

You can change the java maximum heap size (-Xmx) in your /bin/mduml.properties* file, in the line:

JAVA_ARGS=-Xmx800M

The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.

On 64-bit VMs, you have 64 bits of addressability to work with resulting in a maximum Java heap size limited only by the amount of physical memory and swap space your system provides.

More information about OutOfMemory problems you can find in readme.html by "OutOfMemory problem" paragraph. This file is located in <MagicDraw installation directory>.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

Java version 9 is set as the default system Java after updating Java. This Java version is not supported by our modeling tools*.

The solution is to download and install version 18.4 SP1 or a later original signed .dmg file, as it has the required Java version bundled in.

If you are using an earlier version than 18.4 SP1 and cannot start the modeling tool*, please do the following:

  1. Download the original signed <modeling tool*>.dmg file and install the application again.
  2. In bin\magicdraw.properties**, set JAVA_HOME to the Java version installed in the <modeling_tool*_installation_directory >\java folder.

Example: JAVA_HOME=/Applications/MagicDraw/jre1.8.0_102/mac/Contents/Home/jre

  1. Run magicdraw.sh*** file from the /bin folder.

*MagicDraw, Cameo EA, Cameo Systems Modeler

** cameoea.properties, csm.properties

***camocea.sh, csm.sh

Save, Load, Import, Export

You should copy all contents from old version projects folder to new version projects folder. If projects do not show up, copy the complete projects directory into the same location by creating all new projects and then importing the latest .xml.zip file.

Use project import feature. After importing a project you will have to remove unnecessary elements by hand. If the imported project is very large, it will not be very convenient. Thus, large project should be divided into logical modules and only specific modules with needed diagrams should be imported.

Such problem really exists and will be fixed in future releases.

As a workaround we suggest to save your diagrams as SVG and then use free Inkscape editor (http://www.inkscape.org/) to export diagrams as hi-res png.

This is known problem. Your model and diagrams are ok, the only thing, which could not be restored, is layout of MagicDraw windows inside application. Such things can happen when project is saved and then loaded on computers which has different resolution or different windows management system.

Usually this error does not appear any more after save and load. If it still exists after save/load, please send us md.log file from the user home/.magicdraw directory (the info about where the MagicDraw configuration files are located, you may find in the About screen).

This is a know problem of Mac Word. Still we don't know when it will be fixed.

It is not recommended to use the following fonts for diagram saving as .eps, .emf, and .wmf:

Default, Dialog, DialogInput, Monospaced, SansSerif, and Serif.

Up to MagicDraw 10.0 version, XMI v1.0, v.1.1 and v1.2 load, save and import is supported.

Beginning with MagicDraw 10.0 XMI 2.1 is supported. And only model load from XMI 1.0 - 1.2.

But if you are trying to open an Unisys XMI 1.1 (XMI v1.1 with Unisys extensions), it is not supported by MagicDraw, only Unisys XMI 1.0 can be loaded.

Project files saved with MagicDraw version 17.0.1 or later cannot be opened with MagicDraw version 17.0 or earlier. Moreover, as of version 17.0.1, the project file inner structure has been changed.

Usually, projects of all MagicDraw versions are not backward compatible.

Please note that once a project file is saved with v17.0.1 for the first time, the backup file of a project created with an earlier program version is created automatically. The backup file is stored in the same location as the project file. While saving the project created with program version earlier than 17.0.1, a warning about the file format incompatibility appears.

Warnings about the file format incompatibility also appear when MagicDraw is downloading or updates automatically.

Projects migration to UML 2

After opening teamwork projects with MagicDraw 10.0 version or later, they will be converted to UML2 data following the same instructions as for regular MagicDraw projects.

Since MagicDraw 10.0 version, XMI 2.1 standard for UML2 is supported.

With MagicDraw 10.0 or later version you can open all projects, created with previous MagicDraw versions. After opening projects, created before MagicDraw 10.0 version, they will be converted to UML2.

UML/Diagramming

All of the variants, defined in OCL 2.0 spec can be modeled (inv:, def:, init:, derive:, pre:, post:, body: ), but each is modeled in a slightly different way. Correspondingly, the header line in the OCL expression editor is generated according to model situation.*

inv:* is easiest - any simple constraint having an OCL2.0 expression language is treated as invariant. They should have a field constrainedElement filled in, pointing to some class (constrainedElement=SomeClass). To be extra thorough in following the OCL spec, you should also apply the <<invariant>> stereotype on the constraint, but this is not necessary - it is implied.

Note that any other OCL constraints/expressions, that the handling code can not classify into the more specific categories (as defined below) are treated as inv: constraints.*

def:* - definition constraints are modeled in the same way as invariant constraints, but the constraint must have <<definition>> stereotype applied. The concrete element to be defined (additional field or additional operation) is placed inside of the body.*

init:* - this has to be an expression (not a constraint!) placed in some property's defaultValue field. So, you need to create some property in your class, then open specification of that property, then rightclick the Default Value field, go to >Value Specification>Opaque Expression. After this you can enter the OCL into the field in the same manner as you enter OCL into the specification field of the constraint*.

derive:* - is modeled the same way as init, but the property has to be derived ( isDerived=true ).*

pre:, *post: - these are constraints on some operation of the class. However these must be placed NOT as a simple constraints(rightclick>New Element>Constraint) BUT in a special designated fields(metaproperties) of the operation. Open operation specification window, switch into Expert mode, see the Precondition, Postcondition fields. Click the necesary field, click [+], then choose Constraint. Fill in the OCL constraint as necessary.*

body:* - body condition is filled in the same way as pre and post conditions, but there is an additional hoop to jump through - for some reason, I do not know why, Body Condition field is marked as not shown in Expert mode (neither in Standart). So in specification window of Operation, click Customize button, find Body Condition field, and flip the radio button to Expert, and OK the dialog. After this, Body Condition field will appear in Expert mode specification window of operation in the same way Precondition and Postcondition fields do.

Small nuance: operation can have multiple pre and post conditions but only one body condition.

All these things are described/mandated in the OCL spec (06-05-01.pdf for OCL2.0), chapter 12: The Use of OCL Expressions in UML Models.

Modeling of these expression types is also briefly mentioned in MagicDraw UserManual.pdf. See chapter 8 Model Analysis>Validation>Advanced Topics>Modeling other types OCL2.0 constraints/expressions

It is considered that an element is used in a diagram, when there is a dedicated symbol representing it on the diagram. States and transitions have dedicated symbols for them. When a signal is assigned to the transition via trigger, it does not have a dedicated symbol on the diagram. It is only a part of textual representation of transition signature.

Let's do the following: assign a type X to an attribute on a diagram. Though we see X on the diagram as an attribute type, it is not considered as used in the diagram, because it is displayed only as a part of the attribute notation.

If you want to find out whether a particular element is needed in the model or not, use the Usages/ Dependencies functionality. Select an element in the Model Browser and from its shortcut menu select Used By. This way you may follow the chain of elements in the model and decide whether a given element is rubbish, or it makes sense.

The name of the transition (the value of the name property) is never shown in diagram - this has no semantic meaning. Instead, you can specify e.g. a signal, that triggers the transition. In this case the name of the trigger is displayed. If trigger name is not specified, signal name is displayed. If start typing on a transition, the signal with the name is typed will be created Automatically and the trigger will reference that signal.

A trigger defines types of events that can initiate a transition between states. An event is anything that can happen in a system: signal sent by some behavior, a call to a specific operation, reaching a point in time, a change in values within the system, etc. In other words, the formally defined list of possible events is enough for modeling state machine transitions using UML. A transition has to know of some event (indirectly), it cannot be fired by a trigger alone.

Transition signature defined in section 15.3.14 of UML 2.2 is as follows:

::= [ [',' ]* ['[' ']'] ['/' ]]

However, trigger is a non-terminal and its production rule is described in section "13.3.31 Trigger" (UML 2.2):

::= | | | |

Production rules for call-event, signal-event, any-receive-event, time-event and change-event are described in sections 13.3.6, 13.3.25, 13.3.1, 13.3.27, 13.3.7 respectively:

::= ['(' [ ] ')']

::= ['(' [ ] ')']

::= 'all'

::= |

::= 'after'

::= 'at'

::= 'when'

As can be seen, trigger names are never used in transition labeling. Instead, names of the referenced elements are used.

Class must implement all operations from interface first. From the class shortcut menu, choose Tools->Implement/Override Operations or implement all operations manually.

Port must have type specified. Only after that provided interfaces can be specified. This is because port can't provide interfaces itself, port type does (Interface Realization relation is created between type of the port and Interface, it can't be connected to Port, because port is not Classifier). Port type can be also class like port_impl.

There are two ways:

1. Drag and drop a state diagram on the selected class in the browser.

2. Choose the "State Diagram" command from the class shortcut menu in the browser tree.

Currently there is no way to generate a sequence diagram from a communication diagram, or vice versa.

Communication diagram is kind of Interaction Diagram and reuses some UML elements from Sequence Diagram, but is very limited. Most of advanced Sequence Diagram elements can't be reflected in Communication Diagram. It includes all kinds of CombinedFragments, Gates, Nested activations, Sequence of messages and more, so even theoretically Communication Diagram can't be equal to Sequence Diagram.

Currently we try to gather information what would be the benefits of this feature. We would be very grateful if you could share your opinion with us.

For non automatic elements reuse - Communication Diagram can be generated inside the same Interaction (as Sequence Diagram). In this case Lifelines can be reused by simply drag'n'drop them from Interaction directly to communication diagram.

MagicDraw allows you to show navigability arrow only on one end of an association path. When both ends are "navigable," MagicDraw simply suppresses that information and arrows are not visible.

You may model loops and conditions using fragments.

Use Combined fragment with operator "loop" for iteration notation and add another one Combined Fragment with operator "alt" for conditional messages grouping inside loop.

"Type Modifier" property should be used. Open property specification window, switch to the "Expert" property displaying mode, and define value (for example - 14) there.

To automatically discover relations on elements drag'n'drop - go to Options -> Environment -> Diagram -> Editing -> and change Display paths on element drop to true.

You can easily find elements that are not used in any diagram using MagicDraw Find functionality.

Select command Find... from the main Edit menu to invoke Find dialog. Then specify search scope (we do not recommend to search in the whole Data package, as elements from modules will be found), and select checkboxes "Search data unused in diagrams" and "Load diagrams and unloadable modules".

Elements that are not used in any diagram will be displayed in the Search tab in model browser.

To visualize relationships between elements do the following:

1. Select one or more elements in the diagram.

2. Right-click selected elements and, from the shortcut menu, select Related Elements > Display Paths. To see related elements of the selected element do the following:

  1. Drag an element into a diagram.
  2. Right-click this element and, from the shortcut menu, select Related Elements > Display Related Elements. The Display Related Elements dialog will open.
  3. In the dialog, choose settings you need and click OK. We suggest using the Layout feature to arrange elements automatically for a better view in a diagram. You can find this feature in the main menu, in the diagram toolbar, or in the diagram shortcut menu. For more information about related elements please refer to Section Displaying Related Elements in MagicDraw UserManual.pdf. To open the manual, in the main menu, select Help > MagicDraw UserManual. Also you can find the manual in the < MagicDraw install root > \manual folder.

If you are using MagicDraw 16.8 or the later version, you can use a Relation Map for the relationship visualizing. To create the Relation Map do the following:

  1. Select one or more elements in the diagram.
  2. Right-click selected elements and, from the shortcut menu, select Related Elements > Create Relation Map. A new Relation Map will be created. For more information about the Relation Map creation please refer to Section Relation Map in MagicDraw UserManual.pdf. To open the manual, in the main menu, select Help > MagicDraw UserManual. Also you can find the manual in the < MagicDraw install root > \manual folder.

There are several ways to change the symbol style. For this purpose you can use:

- Buttons on the Diagram toolbar
- Project Options dialog
- Symbol Properties dialog

Using buttons on Diagram toolbar

There are buttons in the diagram toolbar designed to modify a symbol style.

Set Selected Symbol Style as Default. If you select a symbol, for example, class A and click this button, a current class symbol style will be set as default for all new classes in the project.

Apply Default Symbol Style. If you select a symbol and click this button, a default style will be applied to the symbol.

Select All of the Same type. If you want to select on a diagram all symbols of the same type, click only one symbol as an example of the type and then click this button. All symbols of this type will be selected. Once all symbols of the same type are selected, you could apply changes, for example, a new default style to all of them at one go.

NOTE: If you can not see these buttons, please, switch your perspective to the Expert mode (on the main menu, click Options > Perspectives > Perspectivesand select the Expert check box in the Select Perspective dialog).

Using Project Options dialog

1. On the main menu, click Options > Project. The Project Options dialog will open.
2. In the Project Options tab tree, select Symbols properties styles > Default, expand Default if needed, and then click the appropriate node: Shapes, Paths, Diagram, or Stereotypes. If you want to change style of a particular shape or path, expand the Shapes or Paths node, and select the desired symbol, for example, the actor or link.
3. Edit property values in the pane on the right.
4. When you have finished, do any of the following:
- If you need to apply changes to the project, click the Apply button. The list of diagrams wherein the symbol style changes can be applied will open. Select diagrams (use CTRL or SHIFT keys for multiple selection) you need and click OK. Then click OK to close the Project Options dialog.
- If you do not need to apply changes right now, click OK to close the Project Options dialog. The new style properties will be saved and set as default.

Using Symbol Properties dialog

1. Select a symbol and open the Symbol Properties dialog (right-click on the symbol and select Symbol(s) Properties or press ENTER+ALT). 2. Edit symbol property values (see figure bellow). 3. Select the Make Defaultcheck box before closing the dialog (see figure bellow), and all symbols of this type in the same diagram will be in the new style.

Printing

Try to add "-Dsun.java2d.print.shapetext=true" property at JAVA_ARGS in mduml.properties* file, located in MagicDraw install root, "bin" directory.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

Add "-Dmagicdraw.pageSetupDialog=true" property at JAVA_ARGS in mduml.properties* file, located in MagicDraw install root, "bin" directory. It will enable magicdraw page setup dialog in which paper margins could be customized.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

Add "-Dmagicdraw.pageSetupDialog=true" property at JAVA_ARGS in mduml.properties* file, located in MagicDraw install root, "bin" directory. It will enable magicdraw page setup dialog in which media size could be customized manually by typing size in inches.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

Problem is that the default server address in CUPS 1.2 is a domain socket, which Java does not support. They will be implementing a fix for that. At current time you can force your Java applications to use IP instead of domain sockets. Create/update an /etc/cups/client.conf file containing:

ServerName localhost

Code Engineering

Our code engineering supports Java 6. Java 7 isn't supported yet. This capability is scheduled for our 17.0.2 release.

Data reading error: ORA-06502: PL/SQL: numeric or value error

LPX-00210: expected '<' instead of 'n'

ORA-06512: at "SYS.UTL_XML", line 0

ORA-06512: at "SYS.DBMS_METADATA_INT", line 3296

...

There is a bug in Oracle 9 METADATA package.

Solution can be to reverse with user having all privileges or applying latest patch to Oracle 9.x.

As a workaround is to export database to DDL file and reverse with MagicDraw.

Since MagicDraw 12.1 SP2, you may reverse QT library.

To reverse QT library using MagicDraw 12.1 SP2, you should add the following macro into MagicDraw > Options->Project... C++ Language Options ... Use explicit macros (these macros are included into MagicDraw starting from v12.5 )

// QT

#define Q_AUTOTEST_EXPORT

#define Q_CLASSINFO(name, value)

#define Q_COMPAT_EXPORT

#define Q_CORE_EXPORT

#define Q_CORE_EXPORT_INLINE inline

#define Q_D(Class)

#define Q_DECL_IMPORT

#define Q_DECLARE_ASSOCIATIVE_ITERATOR(map)

#define Q_DECLARE_BUILTIN_METATYPE(TYPE, NAME)

#define Q_DECLARE_EXTENSION_INTERFACE(IFace, IId)

#define Q_DECLARE_FLAGS(Flags, enum)

#define Q_DECLARE_INTERFACE(IFace, IId)

#define Q_DECLARE_METATYPE(txt)

#define Q_DECLARE_MUTABLE_SEQUENTIAL_ITERATOR(c)

#define Q_DECLARE_MUTABLE_ASSOCIATIVE_ITERATOR(c)

#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)

#define Q_DECLARE_PRIVATE(Class)

#define Q_DECLARE_PUBLIC(Class)

#define Q_DECLARE_SEQUENTIAL_ITERATOR(name)

#define Q_DECLARE_SHARED(name)

#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)

#define Q_DECL_DEPRECATED

#define Q_DISABLE_COPY(Class)

#define Q_DUMMY_COMPARISON_OPERATOR(c)

#define Q_ENUMS(x) #define Q_FLAGS(x)

#define Q_GADGET #define Q_GUI_EXPORT

#define Q_GUI_EXPORT_INLINE inline

#define Q_INLINE_TEMPLATE

#define Q_INTERFACES(x)

#define Q_NETWORK_EXPORT

#define Q_NOREPLY

#define Q_OBJECT

#define Q_OPENGL_EXPORT

#define Q_OUTOFLINE_TEMPLATE inline

#define Q_OVERRIDE(text)

#define Q_PRIVATE_SLOT(d, signature)

#define Q_PROPERTY(text)

#define Q_Q(Class)

#define Q_REQUIRED_RESULT

#define Q_SCRIPTABLE

#define Q_SIGNALS protected

#define Q_SLOTS

#define Q_SQL_EXPORT

#define Q_SVG_EXPORT

#define Q_TESTLIB_EXPORT

#define Q_TYPENAME typename

#define Q_XML_EXPORT

#define QDBUS_EXPORT

#define QDESIGNER_COMPONENTS_EXPORT

#define QDESIGNER_EXTENSION_EXPORT

#define QDESIGNER_SDK_EXPORT

#define QDESIGNER_SHARED_EXPORT

#define QDESIGNER_UILIB_EXPORT

#define QDESIGNER_WIDGET_EXPORT

#define QDOC_PROPERTY(text)

#define QT_ASCII_CAST_WARN

#define QT_ASCII_CAST_WARN_CONSTRUCTOR

#define QT_ASSISTANT_CLIENT_EXPORT

#define QT_BEGIN_HEADER

#define QT_DEPRECATED

#define QT_DEPRECATED_VARIABLE

#define QT_DEPRECATED_CONSTRUCTOR

#define QT_END_HEADER

#define QT_FASTCALL

#define QT_FT_BEGIN_HEADER

#define QT_FT_END_HEADER

#define QT_MOC_COMPAT

#define QT_MODULE(name)

#define QT_STATIC_CONST static const

#define QT_STATIC_CONST_IMPL const

#define QT_TR_NOOP(x)

#define QT_TRANSLATE_NOOP(scope, x)

#define slots

#define signals protected

// Microsoft extension

#define __forceinline inline

#define CALLBACK

#define LRESULT void

#define _ENTRY(p1, p2, p3, p4) p1

When I reverse engineer my project, there are a number of classes that are referenced in my code that cannot be found and are placed in the "Default" package. All of the classes are found in .jar files that my code depends on. I have checked the box that tells the reverse engineer to look in the classpath for classes. Is there somewhere in magicdraw where I should set the classpath?

You can use bytecode engineering set for reversing class files placed in your jar. Right click on "Code Engineering sets" node in browser, "New -> Java bytecode" and then edit created code engineering set by adding class files from jar file. Execute "Reverse" action on created code engineering set and classes will be created in model.

Choose the 'New From Template' command from the 'File' menu. You may also reverse the needed Java classes and import them to the project.

Performing the Quick Reverse you may instantly add new model elements or merge with the created ones in your model; you don't need to create a new Round Trip Set. Use it if you don't want to use code generation on the reverse code constantly.

Yes, it does. We call this "round-trip engineering". You can reverse your source code, make changes in the model and regenerate it back without losing already coded parts (e.g. method bodies). You must use the code engineering set (the MagicDraw name for a collection of classes for code engineering). If you only do framework generation (Ctrl+G), you will receive only the generated framework (all other information will be lost), so be accurate at this point.

MagicDraw Professional Java Edition possesses reverse engineering capability for Java. You may also reverse descriptors and will get a model describing your Enterprise Java Beans.

More information about MagicDraw editions you may find at www.nomagic.com/editions.php

Features

There are a couple of solutions:

1. You can copy and paste or drag and drop images to a diagram. The image shape will be available for the copied image. MagicDraw supports .gif, .jpg, .svg, and .png image file types.

Note: The project size increases accordingly to the quantity and size in bytes of the inserted images, and this might have a great impact on the performance.

2. You can link external files to the project by specifying the relative paths to them. The relative path is always suggested, when creating a hyperlink to the external file, which is stored in the same folder with the project.

A relative path for a hyperlink can also be specified manually, e.g., "file:// /My Pictures/sample.jpg" for the picture, which is stored in the My Pictures directory that is located in the same folder with the project.

*A relative path begins at a current folder of the hierarchy (i.e., a project or the MagicDraw installation) and specifies the file's location from there.

You can add a hyperlink with a path, which is relative to the MagicDraw installation folder. For example, the path "file://sample.jpg" refers to the image, which is stored in the MagicDraw installation folder.

A path, which is relative to the project storage location, is always suggested, when creating a hyperlink to the file, which is stored in the same folder with the project. A relative path can also be specified manually. For example, the path "file://My Pictures/sample.jpg" refers to the picture, which is stored in the My Pictures directory that is located in the same folder with the project.

Just go to "Options->Environment->EMF UML2 (vx.x) XMI Options", and change the option "Export Model to EMF UML2 XMI on project save" The project will be exported on project saving.

In MagicDraw, the following options are available for sharing model for simultaneous work:

1. Model decomposition functionality is available in MagicDraw. Now it is possible to reuse project module in another project.

2. MagicDraw Teamwork Server. This product is fully optimized for working with UML model.

3. Since MagicDraw version 12.5, Teamwork Server integration with ClearCase and SVN is presented.

CVS is an options just for storing, not sharing

Choose the 'Copy as EMF' or 'Copy as JPG' command from the 'Edit' menu.

MagicDraw supports metamodel relation (consistency) between class and interaction (sequence and communication) diagrams: it reflects all the operations of the class in the message call action list. Classifier can be assigned to any lifeline. Class operations can be selected in the triggers in the state/activity diagrams.

Edit file mduml.properties* in bin directory. Change line CONSOLE=false to line CONSOLE=true

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

Since MagicDraw Version 7.0, partitioning functionality is presented in MagicDraw. Now it is possible to reuse project module by reference in another project.

Also MagicDraw Teamwork Server is available, which enables team collaboration.

Integrations

The problem is outdated Xerces library, used by MagicDraw. Please remove this library (it is not necessary, because java 1.5/1.6 already has XML parsing in the standard install).

There is also a workaround. Please specify the-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp. SAXParserFactoryImpl parameter for the Java when running the workflow. This will force the script to use Java's default implementation instead of one brought in by MagicDraw.

You should modify the idea.properties file in the IntelliJ: idea.popup.weight property set to medium. After editing it should look like that: idea.popup.weight=medium

Since MagicDraw version 12.5, Eclipse and MagicDraw works together on Mac OS X with JVM 1.6.0.

Since MagicDraw 10.5 version, integration with Eclipse supports Java 5.0 code engineering.

Since MagicDraw 15.0 version, integration with NetBeans and JBuilder (works only up to MaigcDraw v17.0.1) supports Java 5.0 code engineering also.

Yes, MagicDraw Standard edition, as well as Professional integrates with Eclipse, WSAD, JBuilder (works only up to MaigcDraw v17.0.1), Sun One Studio, and NetBeans without any problems. The difference is that the Standard edition itself has no code engineering functionality but this does not have any impact to the integration.

Yes. We currently have integrations with Eclipse 3.1 or later (JDT or Java IDE), JBuilder 8.0, 9.0, X, 2005, 2006, 2007 (works only to MagicDraw v17.0.1), 2008, IBM RAD 7.0, IBM RAD 7.5, BEA WebLogic Workshop v9.2, v10.1, v10.2, Netbeans 6.0 or later, Sun Java Studio 8, Sun ONE Studio 5 (works only up to MagicDraw 10.5 version), IntelliJ IDEA 4.5 or later.

MagicDraw integrates with IntelliJ IDEA 4.X or later

The solution is to close and reopen Diagram View or Browser tabs in all Eclipse perspectives.

Please, try to add such line -DdefaultFont=true in eclipse.ini file after vmargs.

The lines should look like:

-vmargs

-DdefaultFont=true

After unintegration, old directory is still remembered by Eclipse. The solution is to unintegrate Eclipse from MagicDraw, then start Eclipse, close it, and only then integrate with new MagicDraw version and launch again.

Some JVMs put restrictions on the total amount of memory available on the heap. If you are getting OutOfMemoryErrors while running Eclipse, the VM can be told to let the heap grow to a larger amount by passing the -vmargs command to the Eclipse launcher. For example, the following command would run Eclipse with a heap size of 512MB:

eclipse [normal arguments] -vmargs -Xmx512M [more VM args]

Some JVMs have restrictions on permanent generation memory, which can be exceeded in integration. In order to increase permanent generation memory size, you need to specify additionally -XX:MaxPermSize (use it for Sun JVM). For example, the following command would run Eclipse with a permanent generation memory size of 128MB:

eclipse [normal arguments] -vmargs -XX:MaxPermSize=128M [more VM args]

Sometimes when starting MagicDraw from Eclipse, MagicDraw is not started. This problem can appear after MagicDraw version update. The solution is to launch Eclipse with the -clean parameter first time when this problem appears:

eclipse -clean

If you have specified property "-Dsun.java2d.d3d=false" in "eclipse.ini", try to remove it or set the "true" value.

MagicDraw 17.0 SP2 and earlier is not compatible with Eclipse 3.7.

We suggest you to integrate MagicDraw 17.0 SP2 with Eclipse 3.6.

uml2ecore transformation of openArchitectureWare framework does not work on Linux, Mac OS

Symptom: you get the following error when doing uml2ecore transformation:

797 INFO CompositeComponent - Generator.contraintsEtc: generating 'org::openarchitectureware::util::uml2ecore::templates::files::root FOR ecoreModel' => directory 'meta/' 7823 ERROR WorkflowRunner - org/openarchitectureware/util/uml2ecore/templates/files.xpt: unexpected char: 0xFFFD (Note, that char may be different, e.g. on Mac, unexpected char: 0xB4 is encountered)

Cause: uml2ecore transformation contains a bug, which precludes it from working on systems, where default file encoding is non standard. For example on Ubuntu v7.04 (Feisty Fawn) default encoding is UTF-8; Mac OS X, MacRoman encoding is used bu default. This causes transformation to fail, because files.xpt template file in the transformation plugin is encoded in ISO-8859-1.

This bug is not a bug in MagicDraw, but a bug in openArchitectureWare. This bug is acknowledged and tracked in oAW bug list: https://bugs.eclipse.org/bugs/show_bug.cgi?id=177956 This bug is present in oAW v4.1.2. Currently we do not know, when this issue will be fixed.

Workaround:

1) locate the uml2ecore plugin jar file. This file is usualy /plugins/org.openarchitectureware.util.uml2ecore_4.1.2.v20070314.jar (note that version numbers/dates may be slightly different in your install). Backup this file somewhere, we will be editing it.

2) inside this jar archive, locate uml2ecoreWorkflow.oaw file, open it in editor and scroll to the bottom.

3) locate the oaw.xpand2.Generator invocation component (id="Generator.contraintsEtc"), and add additional tag inside. Here is the final result you should get:

.....

4) update jar archive with this new version of uml2ecoreWorkflow.oaw file

5) restart Eclipse.

uml2 ecore transformation should now run cleanly.

Teamwork Server

Teamwork Server starting from v17.0 supports SVN 1.6 server and client. Teamwork Server up to v17.0 does support SVN server v1.6. However SVN client version 1.4 or 1.5 should be used. Lower version clients are compatible with SVN server v1.6. You can include older SVN clients in system paths or define it for Teamwork Server by setting java properties. To do this open "teamwork_server.properties" file and add "-DSVN= " to JAVA_ARGS line.

Please restart the Teamwork Server to apply changes.

Please try to add such line to the Teamwork Server/data/muserver.properties file:

java.rmi.server.hostname=teamwork.server.com, where teamwork.server.com is the ip of the computer of the Teamwork Server.

1. Stop the Teamwork Server.

2. Edit run_server_nogui.properties file by adding -Djava.rmi.server.hostname=localhost to the line JAVA_ARGS. This prevents from direct connecting from client to server (skipping ssh tunnel).

3. Start the Teamwork Server using run_server_nogui.exe.

4. On the client side, run command line: ssh -L 1099:host:1099 user@host. Host here is a hostname of the Teamwork Server.

5. Run a client. For a server address, use localhost:1099.

Limitation of such configuration is that all clients should use ssh tunneling.

Please update TEAMWORK_HOME variable in attached script file (TEAMWORK_HOME="/teamwork/MagicDraw_Teamwork_Server/bin") according to your installation path bin dir.

Copy the "teamwork" service script to /etc/init.d.

Then as a root enable the "teamwork" service for runlevel 3 using following commands:

cd /etc/rc3.d

ln -s ../init.d/teamwork S99teamwork

RedHat based Linux distrubutions the service run levels may be configured using "chkconfig" command.

You may test the "teamwork" service using "service" command.

Use "service teamwork start" command to start MagicDraw Teamwork Server

Use "service teamwork stop" command to stop MagicDraw Teamwork Server

Use "service teamwork status" command to check if MagicDraw Teamwork

Server is running.

The scheduling of synchronization between two distant Teamwork Servers is by default turned off.

To turn on the scheduling:

  1. Open the muserver.properties file that can be found in <MagicDraw Teamwork Server installation directory>\data.
  2. Edit the file as the follows:
    server.synchronize.scheduler.enable=true
  3. Restart the Teamwork Server.

After the MagicDraw application has been crashed, please, wait about 6 min. and only then try to connect.

The other solution is to restart the Teamwork Server.

Note: After restarting the server, all users will be disconnected.

You should have an evaluation MagicDraw version or a commercial/academic license (not demo) in order to access Teamwork Server menu.

Instructions how to upgrade teamwork server:

1. Stop the Teamwork Server.

2. Remove NT service from the teamwork server (if it was added).

3. Install a new version of the Teamwork Server and run it.

4. When the Import configuration dialog box appears, provide earlier version installation directory, to import configurations from it. 5. Select checkbox Import all projects in order to import teamwork projects from earlier Teamwork Server version.

6. Start new Teamwork Server (add NT service if needed).

7. Install new client version.

8. Uninstall old Teamwork Server.

Newer version install will not detect nor uninstall older one service. Projects should be imported manually. Project server and client version should be the same and cannot be mixed up. Also we recommend to use the same JVM version for server an client.

Importing projects from previous Teamwork Server version.

If you had previous Teamwork Server version with projects stored, it is possible to import them automatically using MagicDraw GUI or perform manual migration.

To import projects using GUI

1. After installation is complete and Teamwork Server is launched first time, the Import Configuration dialog box opens.

2. Path to the previous Teamwork Server installation, which was found in your computer, is specified in the Location text box. You can change this path by clicking "..." button.

3. Select the Import all projects check box for projects transfer to the newest Teamwork Server version.

4. Click Import.

To import projects manually

Copy Projects directory with all its files from previous Teamwork Server installation directory, to the new /Projects directory.

NOTE Follow the instructions in dialog boxes to update profiles during project import.

If server is started on SVN/ClearCase repository.

2. Open Administrator's Console, trigger project export. Choose the directory to dump the data to. Chose the permanent directory (not some temporary directory) - this will be the directory in which server will subsequently operate.

3. In Administrator's Console, reconfigure server for work with Built-In repository; specify the directory where you dumped projects as a directory to work with.

4. Restart server, to use new repository.

5. Projects are now in a new, Built-In repository.

Clean up of old versions is not recommended but if you really need it you should do the following thing:

1. Stop teamwork server.

2. Backup your project directory.

3. Go to teamwork server projects directory, find there file projects.xml and using this file find directory for project you want to clean up.

4. In this directory you can remove files modelXXX.xml.zip XXX is the version number. Each version is saved in its own file.

For example if you want to remove all versions from 1 to 10 you need to remove model1.xml.zip model2.xml.zip and so on until model10.xml.zip. Please note that:

a. You will not be able to open the versions you removed.

b. Do not remove latest version, in this case you will not be able to open project at all.

c. If your project is module and used in another project (project B) you can get trouble opening project's B old versions.

5. After clean up, start the server.

The server.log file is located in /projects.

Add parameter value "-Dbackup.interval=YEAR" to JAVA_ARGS in both teamwork_server.properties and teamwork_server_nogui.properties those are located in "MagicDraw Teamwork Server installation directory"\bin.

Here are the instructions on how to fix it:

1. Open the file ....\MagicDraw Teamwork Server\bin\teamwork_server_nogui.properties
2. Add -Xrs to JAVA_ARGS. It should look something like this:
JAVA_ARGS=-Xmx400M -Xrs -Djava.rmi.server.useCodebaseOnly\=true
-Dsun.rmi.server.exceptionTrace\=true -Djava.awt.headless\=true
-Duser.language\=en -DLOCALCONFIG\=false
3. Restart the Teamwork service.
4. Log out.
5. Test if you can connect to the Teamwork server with MagicDraw.

Note: This issue is resolved in v17.0.2 SP3 and v17.0.3 SP1

This issue is caused by Java update

http://www.oracle.com/technetwork/java/javase/6u45-relnotes-1932876.html

The solution is to use an earlier Java version. The list of recommended Java versions can be found at http://www.nomagic.com/support/jvm-list.html

Problem will be fixed in the next teamwork server version and service pack.

To handle the problem, please use the following workaround:

  1. Open the mduml.properties* file that can be found in <MagicDraw installation folder>\bin.
  2. Next to JAVA_ARGS, add the following line:
    -Ddisable.element.version.service=true.
    Example:
    JAVA_ARGS=-Xmx2396M -XX\:PermSize\=60M -XX\:MaxPermSize\=200M
    -DLOCALCONFIG\=true -splash\:data/splash.gif -Xss1024K
    -Ddisable.element.version.service=true
  3. Restart MagicDraw.

The issue will be fixed in v17.0.4 SP1.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

If Teamwork Server is running as application, it does stop upon logoff from the OS. The solution is to run the server as a service.

Please check Teamwork Server User Guide, section "Starting the server without using GUI" for detailed instructions for your particular OS. The User Guide is available at http://www.nomagic.com/support/documentation.html.

Modules

Yes, MagicDraw supports both read-only and read-write modes for module usage. Usage of read-write modules is a bit tricky, especially if we have modules nested in one another and with circular dependencies between one another. When partitioning always refer to Modules dialog (Options>Modules) as your friend and guide.

Yes, module can be loaded/unloaded by the user at (almost) any time during the work process. Also module usage has a parameter which governs if module should be loaded at project load time: "always load" means module is loaded with project "auto-load" and "auto-load with prompt" module is not loaded, but MagicDraw tries to guess when user would need module contents (e.g. when user runs search in the entire model) and loads module then.

"manual load" means module is not loaded - user can load it later.

Floating licenses (v16.8 and later)

I got the following messages in my cameo daemon log file:
16:36:22 (cameo) Server started on cm1 for: MagicDrawEnterprise
16:36:22 (cameo) Wrong hostid on SERVER line for license file:
16:36:22 (cameo) licenses/cameo/license.txt
16:36:22 (cameo) SERVER line says 90b11c596715, hostid is 000000000000
16:36:22 (cameo) Invalid hostid on SERVER line
16:36:22 (cameo) Disabling 5 licenses from feature MagicDrawEnterprise(0393 0246 4250 573D )
16:36:22 (cameo) EXTERNAL FILTERS are OFF
16:36:22 (cameo) No valid hostids, exiting
16:36:22 (cameo) EXITING DUE TO SIGNAL 34 Exit reason 2


Answer

Currently, FlexLM does not support interface names other than eth0, eth1, ..., ethN. Alternate interface names, such as em1, are not recognized and will return the invalid hostid 000000000000.

As a workaround we offer you to change your interface names to ethN, such as eth0. Consult the documentation of both your system and distribution to learn how to reset an interface name. Look for more information:

Please contact our customer support, if this does not help.

When a user moves between two subnets (for example, between two WiFi networks) and the user's PC gets different IP addresses, the Floating License connection is lost. Then, when users re-connect to the Floating License Server they get a second Floating License. This results in two licenses being checked out, but only one is actually in use and the other license is inactive.

By default, the inactive license stays checked out for approximately 2 hours. You can return the inactive license manually, or you can configure the server to return the license after 15 min.

For more details, please see How to release a hanging license to the pool?

There are several methods how to release license:

1. There is a way to configure the license manager to automatically reclaim inactive licenses by creating the options file with specified TIMEOUT feature. Default TIMEOUT feature has a minimum license release time of 900 seconds, which means your license will not be checked back into the pool before 15 minutes of inactivity has elapsed. License Administration Guide with the instructions how to create an options file is available at http://www.nomagic.com/files/manuals/fnp_LicAdmin_11_12_1.pdf

2. Restart the license server itself. First stop the server from the Administration section of the license server management interface. Follow the link http://:8080 to connect to licenses server interface. Please note that stopping server shut downs and all vendor daemons. Active users will be notified and reconnect to license server would be needed. Start license server manually. On Windows platforms, open the installation directory in Windows Explorer and then double-click the lmadmin.exe file. Or run the lmadmin command with your desired command-line arguments on Unix platforms.

3. In order to release a hung license to the pool of free licenses please use lmremove command-line argument. Note that lmadmin's default setting disables the operation of lmremove, to enable it start lmadmin with the - allowLicenseReclaim argument. License Administration Guide with the instructions how to combine command line arguments is available at http://www.nomagic.com/files/manuals/fnp_LicAdmin_11_12_1.pdf

You can not run two same vendor daemon instances and license servers on the same machine. Being able to do so, would enable users to double the number of licenses.

In order to set restrictions without starting two license servers, please configure the options file. Options file - a configuration file available on the license server, which license administrators can use to allow / deny / reserve products to be used by specific users, hosts, and groups.

Instructions how to create and manage the options file for license server is described in the Flexnet License Administration Guide at http://www.nomagic.com/files/manuals/fnp_LicAdmin_11_12_1.pdf.

You can find list of the options by issuing the following command at the command prompt:

>lmadmin -help

Please run the lmadmin application as a non-privileged user. Lmadmin has a restriction does not allowing it to start by the root user.

Such an error appears when demo daemon, included in the license server installation, has expired

Please remove the demo daemon from the server and try again. There are couple few ways to do so:

  • You can remove it from server graphical interface side, or
  • Directly from server.xml file side. Do as following:
  1. In order to start the server without demo daemon, first remove daemon from the server.xml file. This file you can found in the platform directory "conf" folder.
  2. Remove the line: <daemon dateBasedVersion="false" dlog="false" executable="demo/demo" license="demo/demo.lic" logFile="logs/demo.log" logOverwrite="false" name="demo" port="0" restartRetries="3"/>
  3. Start license server again.

Such an error appears when:

The vendor daemon is specified to run on the particular port number that is already used by the other process. The default port numbers for the cameo vendor daemon is 1101.

Both the FLEXnet license server and the cameo vendor are specified to run on the same port number. Default port numbers for the FLEXnet license server are 27000-27009.

You may check and change the port number in the FLEXnet license administrator console.

It can occur because of Microsoft® Windows DEP (Data Execution Prevention) on the server. DEP simply kills the lmgrd application when it starts.

The suggested solution is:

1. Stop the license service using LMTOOLS.EXE or the Windows Services dialog box.

2. Open Task Manager and stop all processes named like lmgrd.exe and cameo.exe

3. Select Control Panel > System > Advanced > Performance Settings > Data Execution Prevention

4. Select the Turn on DEP for all programs and services except those I select check box and add to the list LMGRD.EXE, LMUTIL.EXE, LMTOOLS.EXE, and the vendor daemon, where the license manager is installed

5. Restart the service

DEP also may impact LMTOOLS.EXE crashes or stops the license service (you cannot checkout any licenses then). It is known that such a situation occurs not only on the Microsoft® Windows 2008 server but also on the Microsoft® Windows 2003 server.

As the log says, "File not found, cameo.exe". So the lmadmin cannot find the daemon. There are two reasons / solutions:

- Maybe you have put the daemon cameo.exe in another folder.

Add the Vendor daemon into the installed server. If you are using lmadmin, create licenses/cameo directories under and place the Vendor daemon file cameo.exe under ..../ /licenses/cameo.

- Maybe you do not have this file, then you can download the Vendor daemon - cameo.exe for your OS from https://secure.nomagic.com/show_content/download/?content=vendor_daemon_download

By default 1101 and 27000-27009 ports are used. Range of ports 27000-27009 can be changed to any single port. One port is enough but it must be specified explicitly in lmadmin configuration.

The license server manager will not start if either of the following ports are in use:

* Default license server port (no ports in range 27000 to 27009 available)

* Default HTTP port for the license server manager user interface (port 8080)

This error appears if key with different hostid is added into server. Server memorizes host added with first key and does not accept another one, if different host is used in second key. This is known issue which fix is planed with new version of lmadmin.

Please reinstall Lmadmin before applying key with different hostid. This will allow voiding this issue.

The location of the log file depends on what license server manager you use.

  • If it is lmgrid, the cameo.log and lmgrid.log files can both be found directly in the root package of the lmgrid installation.
  • If it is lmadmin, the cameo.log file can be found in <lmadmin installation directory>\logs, for example, C:\Program Files\FlexNet Publisher License Server Manager\logs.

Note: The default location of the log file can be changed during the product configuration.

1. From <flexnet license server installation directory>\conf, open the server.xml file for editing.

2. In the line

<user firstName="System" id="admin" lastName="Administrator" password="(ENC-01)K86frDi5qtLwVo2R+jXtOV1WakoJaaqqgFqNvGLy91OVdbhJ" passwordExpired="false" privileges="admin" type="local-admin"/>

change the password key value to "aa" as shown in the following example:

<user firstName="System" id="admin" lastName="Administrator" password="aa" passwordExpired="false" privileges="admin" type="local-admin"/>

3. Restart lmadmin (end the lmadmin process and start it again manually).

4. Connect to the FlexNet server (the default address is http://<server_name>:8090) with the following credentials:

User Name: admin
Password: aa

5. In the User Configuration tab, click Edit, enter a new password and save it.

Floating License (v16.6 and earlier)

Login with the purchaser's username and password, click on license list, and download from there (or get keys from there).

1. Stop the Floating License Server.

2. Edit run_server_nogui.properties file by adding -Djava.rmi.server.hostname=localhost to the line JAVA_ARGS. This prevents from direct connecting from client to server (skipping ssh tunnel).

3. Start the FLoating License Server using run_server_nogui.exe.

4. On the client side, run command line: ssh -L 1099:host:1099 user@host. Host here is a hostname of the Floating License Server.

5. Run a client. For a server address, use localhost:1099.

Limitation of such configuration is that all clients should use ssh tunneling.

Since MagicDraw v12.0, Floating License server supports 12.0 and higher MagicDraw clients versions.

For example FL v14.0 can work with v. 12.0, v12.5, and v14.0 clients.

You must have administrator rights to add an NT service.

SysML Plugin

The problem is specific for SysML which creates values on both ends for relationships thus creating cyclic dependencies between modules. This issue is fixed in MagicDraw 17.0 SP5 which will be released on April, 2012. Currently as a workaround we suggest to perform the following steps:

  1. Export model elements to modules and make them read-only.
  2. Then draw «allocate», «satisfy», and «refine» relationships.

ParaMagic Plugin

ParaMagic 17.0.1 does not support SysML 17.0.2 SP1 since all SysML Primitive Value Types were moved to the separate "PrimitiveValueTypes" package in order to comply with the SysML 1.3 specification. ParaMagic is dependent on the previous specification and is not finding the primitive value types where it expects to find them.
Do not use SysML v17.0.2 with SP1 with ParaMagic v17.0.1.

There are three ways for ParaMagic to access Mathematica:

1. Mathematica is installed locally (on the same computer or a networked drive).

2. Mathematica is installed on an internal network as a web services provider. We can provide a web services interface for installation.

3. Evaluation configuration. ParaMagic (as initially installed) is set to access a NoMagic server copy of Mathematica for a 30 day evaluation period. After this, switch to method 1 or 2.

ParaMagic plugin uses specific Java 1.6 features and is not compatible with Java 1.5.

For MacOS, you may download java 1.6 update from Apple page (direct link is http://www.apple.com/downloads/macosx/apple/application_updates/ja vaformacosx105 update1.html). Please note that this java is only for 64-bit Mac OS (as Mac Book Pro can have both 32 and 64 bit operating systems). For 32-bit Mac OS X, users can install SoyLatte JDK to run ParaMagic. For details on SoyLatte, go to: http://landonf.bikemonkey. org/static/soylatte/

Download evaluation copies of MagicDraw, the SysML, and ParaMagic plugins. Go through the demonstration models with help of ParaMagic tutorials. Free access to Mathematica as a web service is available over the Internet during the evaluation period.

Multiple approaches have been proposed, including code generation from state machine and activity diagrams and generation of Simulink models from SysML. Each approach has its applications, but ParaMagic provides a simple, flexible process with links to multiple solvers and data sources. Rather than being the best tool for creating a complex simulation of a small piece of a SysML model, it helps ties together system capabilities at the global level.

Quantitative requirements can be formulated as constraint statements, e.g. If(actual_weight required_weight, Then Result = True, Else Result = False) and incorporated in parametric dagrams. Every time the parametric simulation is executed, the constraint statement provides a clear answer for whether the requirement is being met. Integrating a requirements management tool like Cameo Req+ with MagicDraw and ParaMagic provides a powerful approach to creating, tracing and verifying requirements.

The official specifications for these other profiles do not explicitly include Parametrics, but, in MagicDraw, SysML features can be linked to these kinds of models and ParaMagic simulations can be incorporated easily.

ParaMagic allows data to be transferred between a SysML model instance and one or more Excel spreadsheets by creating a mapping between instance values and worksheet cells. The user can import initial data from spreadsheets into a model instance and, after running the simulation, export results to Excel for reports, graphing and further processing. Excel is not used by ParaMagic as a mathematical solver, however, so Mathematica and/or MATLAB is still required.

ParaMagic uses Mathematica from Wolfram Research or MATLAB from The MathWorks or a combination of the two. Solving standard mathematical equations embedded as constraints in SysML parametric diagrams requires Mathematica. Using MATLAB, constraints are written as external calls on MATLAB functions or scripts. Existing simulation models, functions and templates in MATLAB, Simulink or Mathematica can be incorporated directly into SysML models.

ParaMagic creates a constraint network from the parametric model using constraint graph and "Composable Object" algorithms developed at the Georgia Institute of Technology. "Acausal" networks often make it possible to solve the model in multiple directions, swapping inputs and outputs in the different model instances or at runtime. For example, calculate the weight of a system from its individual components, or calculate the weight allowance for a specific component from the overall system weight budget.

ParaMagic is a plugin for MagicDraw that extracts the parametric relationships in a SysML model, exports them to a mathematical solver program, and uploads the calculation results back into the SysML model. It handles simulation execution, solver management, and some display functions.

Parametrics insures data consistency within the SysML model and provides the potential for simulating model performance and comparing against system requirements. Possible usage areas:

Engineering projects: calculate cost, weight or power budgets, vehicle speed, component strength, and others.

Computer systems, calculate message traffic levels, database capacity needs, system availability, and others.

Business systems, calculate manpower needs or time to delivery.

Anything from "ballpark" estimates and "sanity" checks to detailed optimization, trade studies and sensitivity analysis can be organized throughout the development process.

Parametrics functionality allows SysML model-builders to include mathematical formulas as part of the model. Parametrics is part of the OMG SysML 1.0 specification.

Cameo DataHub

When a synchronized entity is given a new stereotype, it will be treated as a new entity in DataHub and the eventual associations previously tied to it are lost. We are working on a Service Pack for DataHub 3.0 that will address and solve this limitation. Per current plans, the Service Pack will be released in mid-May 2009. Until the Service Pack is available, users can avoid the occurrence of this issue by not changing the stereotypes of entities after these have been imported in DataHub and associations created. Please note that the auto-numbering feature of SysML 16.5 plugin for MagicDraw adds new stereotypes to the SysML entities. Therefore these entities, if already imported in DataHub, will be treated as new ones after re-numbering.

Solution:
To prevent DataHub Console from closing unexpectedly, add the following code into <DataHub folder>\datahubconsole\datahubconsole.ini

-vmargs
-Dorg.eclipse.swt.browser.DefaultType=mozilla

MagicDraw RSXConverter

You can correct the label/text position for every relationship on the diagram by:

1. Select all elements in the diagram (press Ctrl + A).

2. Right Click on the diagram.

3. Select Paths.

4. Select Reset Labels Position.

This could occur when the model file of RSA/RSM might not supply complete data for the conversion process. Most cases are caused by the element on the diagram.

To solve this problem, elements need to be relocated to get new coordinates.

Currently known elements are:

Separator line inside Alt Combined Fragment needs to be adjusted.

Run Eclipse with the -clean option to solve this problem.

eclipse -clean

or modify eclipse.ini by adding the following line

-clean

to always start Eclipse with the -clean option.

MagicDraw RConverter is a tool to convert IBM® Rational® Software Architect (RSA) or IBM® Rational® Software Modeler (RSM) file format (*.emx, .epx, .efx) to MagicDraw-supported file format (*.mdxml).

MagicDraw RConverter

It depends on the project size. For jdk1.4 APIs which contain about 3,000 classes, MagicDraw RConverter spent about 4 hours to convert (tested on Pentium4 2.8 MHz, RAM 512 Mbytes).

No, it is not possible. RConverter can be used only for Rational Rose 2003 model converting.

MagicDraw 9.0 XMI. Such file can be opened with latest MagicDraw version.

No, it is not possible. RConverter can only be used for Rational Rose 2003 model conversion. To convert RSA/RSM models, you will need to use RSXConverter.

No, MagicDraw RConverter is designed to run on Windows platform (tested on Window XP service pack 2).

The evaluation version of MagicDraw RConverter is 30 days with the ability to convert up to 50 elements.

MagicDraw RConverter is the tool to convert Rational Rose project (.mdl) to MagicDraw's readable file (.xml).

Cameo Inter-Op

Please use Cameo Inter-Op to convert your model from the IBM® Rational® System Architect format to the MagicDraw format. For more information about Cameo Inter-Op features, see the "Cameo Inter-Op description" page.

Please use Cameo Inter-Op to convert your model from the IBM® Rational® Rhapsody format to the MagicDraw format. For more information about Cameo Inter-Op features, see the "Cameo Inter-Op description" page.

You can test Cameo Inter-Op by transforming a sample that is provided in a program from which you need to transform a model. For example, if it is a transformation from IBM® Rational® System Architect to MagicDraw, select DoDAF_Samples for the transformation.

To change memory settings, please perform the following steps:

  1. Open the < Cameo Inter-Op installation directory > \cameo\cameoiop.ini file for editing.
  2. Change the values of the arguments shown in the following example :

--launcher.XXMaxPermSize

512m

-vmargs

-Xms60m-Xmx512m

Please use the Sodius XML exporter to export your IBM® Rational® System Architect model to a format supported by MagicDraw and send the exported model to the customer support team "Download the Sodius XML exporter" .

Interchange with Other Tools

MagicDraw RConverter is the tool to convert Rational Rose project (.mdl) to MagicDraw's readable file (.xml). You can download MagicDraw RConverter Evaluation version at http://www.nomagic.com in the download section.

To import Borland Together files you need to open XMI file with MagicDraw 9.5 version, save and then open with MagicDraw 10.0 or later version.

The MagicDraw 10.0 version or later does not have Export As Unisys XMI commands.

Unisys XMI is for UML 1.3, MagicDraw 10.0 or later uses UML2 metamodel.

There is a Visio plug-in that allows you to export to XMI 1.0. This format is supported by MagicDraw.

MagicDraw RSXConverter is an eclipse plugin deployed in an RSA/RSM environment for exporting an RSA/RSM file format (*.emx, .efx, .epx) to a MagicDraw readable file format (.mdxml). You can download an evaluation version of MagicDraw RSXConverter at http://www.nomagic.com in download section.

Plugins

DoDAF Plugin 2.0 is not compatible with DoDAF Plugin 1.0. Projects, created with DoDAF Plugin 1.0, cannot be opened with DoDAF Plugin 2.0 and vice versa.

  1. Create Java Project.
  2. Include all *.jar files from "MagicDraw\lib" folder into Project Build Path. Exclude "md_commontw_api.jar" and "md_commontw.jar".
  3. Write plug-in. Start from main Plug-in class by extending "com.nomagic.magicdraw.plugins.Plugin".
  4. Create Plug-in descriptor file "plugin.xml".
  5. Make clean plug-in directory in MagicDraw plug-ins directory (./plugins/ ), copy "plugin.xml" to it. Do not copy any binaries to MagicDraw plug-ins directory or they will have conflicts with your binaries in Eclipse.
  6. Create new Debug configuration to run Application.
  7. select "Project" your plug-in project.
  8. search for Main class, select "com.nomagic.magicdraw.Main".
  9. add "-Xmx600M -XX\:PermSize\=40M -XX\:MaxPermSize\=150M" to Arguments.
  10. Apply changes.

More details can be found in "MagicDraw Open API User Guide"

Hints:

- don't forget to include all sub folders from "MagicDraw\lib" into your Build Path;

- create jar file from Eclipse: use "Export / JAR file";

- you wouldn't have to copy files each time if you will select destination jar file already in "MagicDraw\plugins" folder;

-save jar file description to build jar file later;

Resource Manager needs more information which is stored in resource descriptor. It must know what files were installed because it must be able to perform uninstall operation.

I have attached our free form custom diagram. It would be best if you will look through this sample and I'll describe main rules for descriptor writing. You will find descriptor file in "data/resourcemanager/MDR_Custom_Diagram_Free_Form_1513_descriptor.xml".

- xml tag

- "id" is most important. It must be unique. To prevent duplicates in future use "22**", for example "2201".

- "name" must be unique between all MagicDraw resources.

- "type" must be one of: "Custom Diagram", "Plugin", "Profile", "Sample", "Template".

- is your resource version

- will be needed only if your resource depends on other resources.

- defines files which will be installed. Do not use "*.*" (all files in directory) in common directories like " /samples" because uninstalling your resource will remove all files from this directory!

- each tag defines one file which must be copied to "MagicDraw root" directory.

Descriptor file must be placed in your resource zip file in directory "data/resourcemanager" whith specific naming. Name of descriptor file is formed from values from tag: "MDR_ _ _ _descriptor.xml", all spaces in names is replaced by underscore symbol "_".

Resource sample you may find here.

1. Login with appropriate right, preferable 'Administrator'.

2. Remove MD_customization_for_SysML.mdzip from your Teamwork Server.

3. Create a new SysML project.

4. Add the newly-created SysML project to Teamwork.

5. In the Add Project to Teamwork Settings dialog, select the Local Modules tab.

6. Ensure that the Action for MD_customization_for_SysML.mdzip is Add to Teamwork.

7. Click the Add button in the Add Project to Teamwork Settings dialog.

MD_customization_for_SysML.mdzip will be automatically updated in your Teamwork.

Documentation/Help

By default MagicDraw configuration and auxiliary files are stored in the user home directory

User home directory/.magicdraw/version.

Information about this location you may find in the MagicDraw About screen, Info tab (Help->About->Environment)

The "Help" may not be started because another application is using "Help" port. You may see this in the helpserver.log file, which is located in MagicDraw installation directory. If the server port is already in use, the java.rmi.server.ExportException appears in this file. To change Help port, you need to invoke the "Environment Options" dialog from the "Options" main menu. On the appeared dialog, "General" tab change the "Help Server Port", submit changes and try to invoke Help again.

Reasons why you cannot invoke the Help can be the following:

1. There is no reference to the topic, or a particular topic does not exist in MagicDraw Help. If a reference to the topic is broken, you can start the MagicDraw Help manually:

1.1. On the Help menu, click Help Content. The MagicDraw Help opens.

1.2. Browse in the help content or use a keyword to search for a particular topic.

Please let us know about broken links by contacting our customer support.

2. The communication with a server through Remote Method Invocation (RMI) is broken. Please do the following:

2.1. Open the mduml.properties* file. You can find the file in \bin.

2.2. To the JAVA_ARGS line, add a value -Dnostubfixing\=true, as it shown in the following example:

JAVA_ARGS=-Xmx1200M -XX\:PermSize\=60M -XX\:MaxPermSize\=200M -Dnostubfixing\=true

If the problem still persists, please contact our support team and attach the following files:

helpserver.log

md.log

You can find these files in one of the following ways:

Go to \.magicdraw\.

On the Help menu, click About MagicDraw. In the About dialog, select the Environment tab and then click the link next to Configuration Files.

* If you are using MagicDraw 17.0.5 or later, the name of the property file is magicdraw.properties.

You may find full MagicDraw OpenAPI javadoc in <modeling tool installation directory>\openapi\docs or download from http://jdocs.nomagic.com/.

All MagicDraw documentation is located in MagicDraw installation directory, manual folder. Also you may download it from the www.nomagic.com.

Older Versions

When launching MagicDraw Version 3.5.1 or 3.6, you get the error message "Can't read/write to main.ini", contact support@magicdraw.com. We will send you a new main.ini file.

There are two ways to solve it:

1. Use no install version.

2. Modify install script file. Example with MD_UML_115_unix.sh:

cat MD_UML_115_unix.sh | sed 's/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/g' > MD_UML_115_unix.sh2; mv MD_UML_115_unix.sh2 MD_UML_115_unix.sh

Licensing

MagicDraw licenses are locked to a particular computer using the network adapter’s MAC address. MagicDraw locks itself to the first MAC address in the list. On a Windows computer, the wireless is first by default. If you switch off the wireless, its MAC address is removed from the list and MagicDraw can no longer find it. In order to solve the invalid license problem, you need to change the network adapter order so that the LAN adapter is at the top of the adapters list. That way, the MAC address of the LAN adapter will always be the first in the list, even if you switch to the wireless connection.

To avoid this problem, you should configure your network settings to change the network adapters (connections) order on Windows XP, Windows Vista, and Windows 7 operating systems.

The following procedures explain how to configure your network settings on these operating systems:

Windows XP

  1. From the Control Panel, open the Network Connections dialog.
  2. On the Advanced menu, click Advanced Settings. The Advanced Settings dialog opens.
  3. Select the Adapters and Bindings tab, and, in the Connections list, select the LAN adapter and move it to the top of the list.

Windows Vista*

  1. From the Control Panel, open the Network and Internet dialog.
  2. Go to the Network and Sharing Center and, on the left side of the dialog, select Manage Network Connections.
  3. On the menu, select Advanced > Advanced Settings. The Advanced Settings dialog opens. Note: If you cannot see the menu bar,selectOrganize > Layout > Menu bar.
  4. Select the Adapters and Bindings tab, and, in the Connections list, select the LAN adapter and move it to the top of the list.

Windows 7*

  1. From the Control Panel, open the Network and Internet dialog.
  2. Go to the Network and Sharing Center and, on the left side of the dialog, select Change adapter settings.
  3. On the menu, select Advanced > Advanced Settings. The Advanced Settings dialog opens. Note: If you cannot see the menu bar,selectOrganize > Layout > Menu bar.
  4. Select the Adapters and Bindings tab, and, in the Connections list, select the LAN adapter and move it to the top of the list.

* Depending on your Windows configurations, the command sequence may be slightly different.

Starting from MagicDraw v16.9 commercial licenses are locked to the particular machine. The activation process allows receiving the commercial license dedicated for the particular machine.

The commercial license activation is needed after the purchase transaction has been completed.

License activation can be completed from the Licence Manager dialog in the application. You may choose online activation and enable commercial licenses activated automatically.

Alternatively, you may select offline activation and then you will be required to enter a Host ID in the license owner account (login to www.nomagic.com and select License Activation Management menu item at the right side of page). You can then download the commercial activated license.

For MagicDraw, plugins and other products activation instructions refer to: https://docs.nomagic.com/display/MD190SP1/Modeling+tools+and+plugins+licensing.

Make sure that MagicDraw software and unlock key are the same version. If you install the latest software, you must get the latest version unlock keys.

After downloading MagicDraw, you will get an unlock key file to your mailbox.

1. Save this unlock key file, into the local file system before starting MagicDraw.

2. When starting MagicDraw for the first time you will be asked to browse for the unlock key file. Click the "..." button and select the file from the directory you saved the file.

3. System will automatically activate MagicDraw and you will be able to use it.

Unlock key is sent to you automatically by email (to the e-mail address which you provided registering to www.nomagic.com).

Installation on multiple machines is supported by the Mobile or Floating license.

More about Mobile User License could be found at
http://www.nomagic.com/support/sales-and-licensing/mobile-licensing.html

More about Floating License could be found at
http://www.nomagic.com/support/sales-and-licensing/floating-licensing.html

Note: The Seat license can be used by a single user on a single installation.

If you have any questions about the licensing or purchasing, please feel free to contact your account executive or sales@nomagic.com.

This is a known issue and we are investigating on it. So far we recommend modifying the server heart-beat option to release license in 15 minutes. You need to free inactive licenses by setting the time-out.

To set the time-out:

1. Open the FlexNet installation directory, find the cameo.opt file and open it for edit. If you cannot find the file, create a new file and save it as cameo.opt.

2. Add to this file the following line:

TIMEOUTALL 900

3. Place the cameo.opt file in the same directory with the cameo.exe file. For example, C:\Program Files (x86)\FlexNet Publisher License Server Manager\licenses\cameo.

4. In the VENDOR line of the license file specify the relative path to the cameo.opt file so that the FlexNet server could find it.

For example,
VENDOR cameo licenses/cameo/cameo licenses/cameo/cameo.opt PORT=1101

5. Restart the FlexNet server.

6. Open the cameo.log file to check that the cameo.opt file is added in the proper directory.

If the path to the file is like in the example of the 3rd step, you should see the corresponding text:
14:44:35 (cameo) Using options file: "licenses/cameo/cameo.opt"
14:44:35 (cameo) Server started on panda for: MagicDrawEnterprise
14:44:35 (cameo) EXTERNAL FILTERS are OFF
14:44:35 (cameo) ALL FEATURES: INACTIVITY TIMEOUT set to 900 seconds

Users Profiles

Yes, it is. Even having the username/password, the intruder won't be able to access the credit card information since we don't keep any credit card data in the database. Shopping cart works via HTTPS, therefore, it is impossible to sniff any data.

Login to our website with your username and password, click on Edit Personal Information right-side menu selection and edit your details.

Use our reminder service - enter your email and click the Send password button. New password will be generated and sent by email.

Purchase

Purchased MagicDraw software installation files and unlock keys are stored under your personal profile. In order to download it, login to our website with your username and password, click on License List right-side menu selection.

If you want to subscribe to any of existing MagicDraw mailing list, please login to our web site http://www.nomagic.com with your username and password. Click on "Mailing List' right side menu selection, check appropriate checkbox and click the Update button.

First of all open "key.txt" file located in floating license server installation directory. Then remove key from this file and restart server. After that enter new license key for floating license server. All keys you can re-obtain from your personal download area, by clicking button "Send Unlock Keys": http://www.nomagic.com

Notifications about updates will be sent by email. The newest software will be automatically added to your personal download area.

The registration operation and customer profile help us to make sure that you get customer support and discounts when purchasing our products later. Customers purchased software (unlock keys and installation files) also is stored under his/her personal profile.

Sorry, we don't have our software on CD. We deliver products electronically.

Other Issues

The problem occurs, when during the installation, the default language is changed. This problem is related to Java 1.7.

The solution is to install MagicDraw* again without changing the default language. Then, you can change the languange after the installation. To do this, on the Options menu, click Environment, and then in the General options group, change the Language property.

* This is valid for all MagicDraw-based Cameo Suite products.

MagicDraw uses the simplified metamodel profile that has no attributes visualized. But the attributes still exist in the code.

As a solution we suggest you to use the sample of the full metamodel profile, because it has no striped attributes. We use this profile mainly as a reference when writing OCL constraints.

Download the sample of the full metamodel profile, using the MagicDraw capabilities:

1. From the Help menu, select Resource/Plugin Manager.

2. Click the Check for Updates button.

3. Wait while the checking for updates is finished.

4. In the Filter box, choose All Resources.

5. In the product list, scroll down to the UML Standard Profile with attributes for OCL and select it.

6. Click the Download / Install button.

The full metamodel profile will be stored in the " /samples" directory.

Merge functionality can be employed for this. Choose the Tools -> Project Merge menu item, specify the source project (the project from which you want to port changes), the target project (the project to which you want to port changes), and an empty ancestor project. Then press the Merge button and you will be provided with the standard Merge dialog, which allows you choosing which changes should be merged-in.

Font and other UI style options can be changed by changing look&feel theme (Metal theme should be used). It can be changed from the Options > Look&Feel > Metal. Theme can be customized in theme customization dialog which can be opened from Options > Look&Feel > Customize.

Please be sure that you got the installation file from www.nomagic.com.

In this case we can confirm our software is not infected by a virus and it is safe to use it.

One known reason why antivirus software in rare cases identifies *.exe files as suspicious is because of Norton antivirus software issues where a legitimate file is misidentified and subsequently quarantined. More can be found at http://securityresponse.symantec.com/security_response/writeup.jsp?docid=2010-090201-1030-99&tabid=2. As they say in above document suspicious level is very low.

Workarounds for this issue are available. We suggest to:

  • ignore suspicions from Norton antivirus.
  • use the "no install" installation (*_no_install.zip).
  • Symantec suggests disabling the auto protection option and checking if the issue is resolved.

Let us know at support@nomagic.com if more help is required.

We are working with Norton antivirus to eliminate this issue.

A relative path begins at a current folder of the hierarchy (i.e., a project or MagicDraw installation) and specifies the file's location from there.

You add a hyperlink with a path relative to the MagicDraw installation folder. For example, the path file://sample.jpg refers to the image that is stored in the MagicDraw installation folder.

When creating a hyperlink to the file stored in the same folder with the project, a path relative to that location is always suggested. A relative path can also be specified manually. For example, the path file://MyPictures/sample.jpg refers to the picture stored in the My Pictures directory located in the same folder as the project.

CameoMDA

To avoid out of memory problem, you need to select the output folder, which contains only the related source code, otherwise, the oAW engine will scan recursively all the files and sub folders in the selected output folder, and then parse the content of each file. This process will take a lot of memory and can cause of out of memory problem.

Specific Domains

We have integrations and partners with third-party tools to support specific needs. http://www.sinelabore.com is the tool which allows you to generates C, C++, C#, Ada or Objective-C code for embedded systems from our State machines.

CoFluent Studio plugin allows to integrate MagicDraw with CoFluent Studio. By exporting UML models to CoFluent Studio, designers can use C/C++ as action language and generate transaction-level modeling (TLM) SystemC code to run simulations. Co-Simulation with MATLAB/Simulink is also available. The instrumented SystemC code coupled with CoFluent Studio?s analysis tools allows designers to observe the real-time execution of their models and extract performance figures like latencies, data throughputs, buffer levels, resource loads, power consumption, memory footprint and cost.

CoFluent Studio targets complex multiprocessor systems with rich application content, whether they are:

  • Multi-board (large equipments, distributed/networked systems)
  • On-board (embedded systems)
  • On-chip (SoC, FPGA, ASIC, ASSP)

Additionally, we are working on our own Simulation Toolkit which allows to run discrete event simulation and supports executable UML standards like W3C SCXML for State Machines and OMG fUML for Activities. Feel free to request demo or additional information at support@nomagic.com.

Model execution and simulation capabilities are provided in Cameo Simulation Toolkit for MagicDraw. This tool supports STANDARD BASED Statemachines, Activities, SysML parametrics execution, and quick UI prototyping based on MagicDraw User Interface Modeling diagram.

For more information about Cameo Simulation Toolkit please visit here.