|

FAQ
Installation, Running
After installing MagicDraw on the Mac OS with Java (1.6.0_17), default Look &
Feel does not function and the Mac menu bar is gone.
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?.
When I saving project after I have upgraded Magicdraw to v16.6 I get a save
error.
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 UML
16.6?.
Note that on the first MagicDraw startut you can import MagicDraw environment
options from previous MagicDraw installations.
You may download MagicDraw UML 16.6 from your personal or company profile on
www.magicdraw.com, also
to obtain unlock keys.
Latest Java update on Mac OS Snow Leopard is not compatible with old MagicDraw
versions.
This problem has been fixed starting from 16.5 SP3. Service pack enables
application work with latest Java update on Mac OS. We suggest you to download
MagicDraw UML 16.5 SP4 or 16.6 from your personal area on our website
www.magicdraw.com
Note: It is important to make project backup's before opening
them with the higher version MagicDraw application in order to minimize update
risk.
Alternatively you can use work around for this issue with older MagicDraw
versions:
Please define older JAVA version in mduml.properties
( < magicdraw_install_dir > /bin/ ) file and work with that JAVA version
(for
example version 1.5.0 or previous
1.6.0).
You can download java installation from:
http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard
Note: Installation instructions can be found at the same web site.
Note: Java 1.5 installation on Snow Leopard rely on an untrusted gzip file.
Update of JAVA 1.6.0.13 for Mac OS causes the disappearing menu.
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
(<magicdraw_install_dir>/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 < user_home > ./magicdraw/ < magicdraw_version >
/data/;
*Open global.opt file with text editor;
*Find LOOK_AND_FEEL_CLASS propertyID.
*Replace tag < value > apple.laf.AquaLookAndFeel < /value > with new
one:
< value > javax.swing.plaf.metal.MetalLookAndFeel < /value >
*Save file;
*Start MagicDraw application.
When I run the exe file I get a warning: Please select another location to
extract the installer to:.
This error occurs when you have a corrupted installer file. Please download the
file and install again.
How to update MagicDraw to new version?
You may find all the information about updating to new version at
www.magicdraw.com, Support section -> Updating to New Version
After the install, the MagicDraw cannot be launched or it just appears on the
screen and dissapears or hangs.
Start MagicDraw with system property no.printer.lookup=true. In the /bin/mduml.properties file to the line'JAVA_ARGS=' append
additional part -Dno.printer.lookup=true. If you still experience
problems, please write to support@magicdraw.com.
How to run MagicDraw under Unix after installation?
Run mduml file, which is located in MagicDraw installation directory, bin folder.
The installation was on a network disk where the user has read only rights. Is
it possible to change paths on the local disk area where the user has writing
rights?
MagicDraw can use user home directory to store user configuration files. This is
enabled by default on Unix systems. You should edit mduml.properties file to
enable this. Please open mduml.properties file from the bin directory and edit
the line to: JAVA_ARGS=-Xmx600M -DLOCALCONFIG=true
I ran into a trouble when installing MagicDraw: Launching installer... Exception in thread "main" java.lang.NoClassDefFoundError: com/zerog/lax/LAX
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
After the download the installer cannot be launched or it just appears on the screen and vanishes
Please check if the file is not truncated. You can see the exact file size at the download page.
In our company the storage of user home directory is limited. How to force to
keep configuration files in other directory?
You can save configuration files in the MagicDraw installation directory or on
your chosen directory.
To store MagicDraw configuration files in MagicDraw installation directory add
argument into JAVA_ARGS line in file mduml.properties (this file is in
<MagicDraw installation directory>/bin):
JAVA_ARGS=-DLOCALCONFIG=false
To store MagicDraw configuration files to your chosen location
1. In the <User home directory>/.magicdraw/<version> folder,
create
file named magicdrawredirect.
2. In the created file, type absolute path where MagicDraw configuration and
auxiliary files will be saved, for example: C:\<directory name>.
NOTE: If there is defined to store files in MagicDraw installation directory
(see the section "To store MagicDraw configuration files in MagicDraw
installation directory" above), files will not be stored to
your chosen location.
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.
I installed MagicDraw and it ran. Worked fine. I shut down my machine, started today, and MagicDraw won't start ?!?
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.
MagicDraw UML does not start on Mac OS after QuickTime 7.2 update
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 UML 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.
What is the best way to reinstall MagicDraw on new computer or the same one
after formatting.
No special steps are needed. Uninstall MagicDraw using standard MagicDraw
uninstall engine before formatting hard drive or moving to new machine.
Afterwards install fresh installation on new machine.
MagicDraw installer or MagicDraw is not started on Linux OS
MagicDraw installer may not be started or MagicDraw itself may not be started,
because of changes in default system Java. In this case when starting installer
or MagicDraw, no GUI appears or when starting from command line the following
message is displayed:
Configuring the installer for this system's environment... No Java virtual
machine could be found from your PATH environment variable. You must install a
VM prior to running this program.
We would suggest the following solution:
-
Change your default system Java to recommended. Recommended Java Virtual
Machine
is Sun's JDK 1.6.0_10 for Linux.
-
After some Ubuntu update, the Ubuntu Java overrides default Sun Java and
default
system Java becomes Ubuntu Java. To start the MagicDraw installer,
Ubuntu-restricted-extras should be installed. For more information about
installing the Ubuntu-restricted-extras, see the Ubuntu website:
https:
//help.ubuntu.com/community/RestrictedFormats .
Diagram printing is not working on Linux OS
The problem is related with the Linux cups package update.
This problem is Sun Java bug and description of this problem is published in the
Java Bug Database: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6633656.
To solve diagram printing problem we would suggest to use 1.6.0_10 JVM or later, because this issue is solved in these java versions.
If you can not use the 1.6.0_10 JVM or later, other possible solution would be the following:
1.Open the file /etc/cups/printers.conf
2.Before each line with the text </Printer>, add the following line:
Options orientation-requested 3
For more information about solving this problem, see the Ubuntu bug database:
https://bugs.launchpad.net/ubuntu/+source/sun-java6/+bug/156191/comments/18.
You can also use the workaround for diagram printing and print the diagram in
the following way:
1.Export diagram as Image. To do this from the File menu choose Save as
Image.
2.Open exported image and print it.
For more information about saving diagram as images see MagicDraw
UserManual.pdf, Working with Diagrams > Saving as Image section.
MagicDraw is not started on Windows Vista
If you are using the recommended java version and MagicDraw can be started only under Administrator privilegies, the possible reason can be the Windows Vista User Access Control (UAC) restrictions. You can try to turn off the UAC and then to start MagicDraw.
For more information about turning off the UAC, see the Microsoft Windows website: http://windowshelp.microsoft.com/Windows/en-US/Help/58b3b879-924d-4e08-9358-c316055d3eae1033.mspx.
Performance
Using a nvidia 8240 agp adapter in dual monitor mode any part of the display
past the first 1/3 of the second monitor does not display correctly. Using ASUS
nvidia 8240 delux latest driver. Also tried the nvidia latest driver with the
same result.
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.
When I attempt to open certain file dialog boxes, it takes several minutes for the file dialog to open.
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.
Sometimes when running the program the OutOfMemory error occurs.
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
Sometimes when running the program the StackOverflowError occurs.
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.
The menu fonts are corrupted when MagicDraw is in Japanese mode.
It appears when MagicDraw is run with Windows Look and Feel. Please change Look and Feel to Metal (Options main menu -> Look and Feel -> Metal).
Java Virtual Machine (JVM)
How to install Java 1.5 on Mac OS X 10.6 Snow Leopard?
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 < MagicDraw installation folder >
/bin and change path in line JAVA_HOME=.
The line should look like:
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home
I would like to increase java heap size that MagicDraw would run faster with
larger models. I have 12 GB of RAM.
You can change the java maximum heap size (-Xmx) in your < MagicDraw
installation directory > /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 folder > .
How to change JVM version?
Change line in file mduml.properties (this file is in bin folder): JAVA_HOME
=<path to new JDK>
NOTE: Integrated MagicDraw runs on the JVM specified by the IDE. In order to
change JVM, you need to modify startup properties for the IDE, MagicDraw
integrates with. If you are running MagicDraw integrated with IDE, read the
appropriate readme.html for specific integration, which can be found in
<MAGICDRAW installation directory>/integrations/<IDE directory>.
How do I know what version of JVM I am running?
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.
There are problems when using JVM 1.6 with MagicDraw v14.0 and previous.
The problems are usually related with opening/creating projects. The
recommendation is to use JVM 1.5 for MagicDraw v14.0 and previous.
I want to check which JVM is used for installation under Linux.
You can watch installation process by setting environment variable LAX_DEBUG to value 1 before starting installation.
Save, Load, Import, Export
How to migrate existing projects to the new MagicDraw version?
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.
I am trying to import an XMI 1.1 file with MagicDraw. I got a load error "Wrong
XMI version : MagicDraw supports only Unisys XMI 1.0"
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.
Are there any recommendations for saving diagram as image?
It is not recommended to use the following fonts for diagram saving as .eps, .emf, and .wmf: Default, Dialog, DialogInput, Monospaced, SansSerif, and Serif.
When exporting image to EMF and pasting to Mac Word, error message "Image is corrupted" appears .
This is a know problem of Mac Word. Still we don't know when it will be fixed.
We are seeing the following error loading our model: Failed to load Windows
configuration. Reseting to default.
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).
When I save a diagram to .emf image and try to insert this
image file to my OpenOffice document I only get empty image.
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.
How can I copy a diagram from one MagicDraw project into another one?
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.
Projects migration to UML 2
Can I open older MagicDraw files?
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.
What XMI version supports MagicDraw?
Since MagicDraw 10.0 version, XMI 2.1 standard for UML2 is supported.
What will happen with my old projects on MagicDraw Teamwork Server?
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.
Can I import all teamwork projects versions?
Using manual update of Teamwork Server and importing all projects from earlier
Teamwork Server version, all versions will be imported, but only latest project
version will be converted into UML2, all old versions (history) will remain
based on UML 1.4. It will be possible to open any old version only in read-only
mode. More information about projects migration you may find at MagicDraw
Migration to UML2 Manual http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=downl
oad_manual
UML/Diagramming
Is there a way I can find all items in the containment tree that are not used
in
any diagram? This would be useful to tidy up models.
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.
Is there a way to automatically display links when element with relations is
dragged onto the diagram?
To automatically discover relations on elements drag?n?drop - go to Options
-> Environment -> Diagram -> Editing -> and change Display paths on element
drop to true.
I would like to specify that a string has maximum length 8
or that an account number has only 14 numbers. How do I specify this?
"Type Modifier" property should be used. Open property specification window,
switch to the "Expert" property displaying mode, and define value (for example
-
14) there.
How to do a loop with a conditional in sequence diagram?
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.
Does your tool support bidirectional associations (arrow at each end or no arrows)?
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.
If I add a class to a class diagram and begin typing its name with the prefix of
the already existing class, the name will be automatically completed. How to
tell MagicDraw that it has made the correct assumption and that I would like to
accept its choice?
Go with the arrows to the desired class name and press Enter.
Is there any way to get a sequence diagram from a communication diagram?
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.
How do I associate a state diagram with a certain class?
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.
How do I connect interface to port with Interface Realization relation?
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.
I have a class which has a realization relationship to an interface. When I use this class in a sequence diagram (as the receiver of a message), I cannot select the operation, which is part of the interface.
Class must implement all operations from interface first. From the class shortcut menu, choose Tools->Implement/Override Operations or implement all operations manually.
I have two diagrams on which the same pair of classes appears. On one of the
diagrams an association is displayed between this pair, but not on the other.
How can I get this association to appear on the other diagram?
Please use Related Elements > Display Paths shortcut menu command.
I have no possibility to display the names of transitions in the State Machine
diagram. The option "show name" in the context menu of the transition doesn't
work.
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:
<transition > ::= [ <trigger > [',' <trigger >]* ['['
<guard-constraint >']'] ['/' <behavior-expression >]]
However, trigger is a non-terminal and its production rule is described in
section "13.3.31 Trigger" (UML 2.2):
<trigger > ::= <call-event > | <signal-event > |
<any-receive-event > | <time-event > | <change-event >
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:
<call-event > ::= <name > ['(' [ <assignment-specification >]
')']
<signal-event > ::= <name > ['(' [ <assignment-specification >]
')']
<any-receive-event > ::= 'all'
<time-event > ::= <relative-time-event > | <absolute-time-event
>
<relative-time-event > ::= 'after' <expression >
<absolute-time-event > ::= 'at' <expression >
<change-event > ::= 'when' <expression >
As can be seen, trigger names are never used in transition labeling. Instead,
names of the referenced elements are used.
Symbols in diagrams come out as squares instead of characters (Chinese,
Japanese, Thai,....):
- Since not every font supports characters (whether Chinese, Japanese, Thai
or
any other), the symbol font should be changed to one that supports such
characters.
To change a particular symbol font:
- Select Symbol on the diagram.
- Right-click to access the symbol?s shortcut menu and choose Symbol(s)
Properties.
- Change the Font property in the Properties dialog box, for example, from
Arial to Webdings, or any other font that supports particular characters.
Characters will then be displayed instead of squares.
To change a particular symbol font for a whole project:
- Go to the Options menu -> Project in MagicDraw
Application.
- In the Project Options dialog box, Symbols properties styles
-> Default -> Diagram section change the Font
property.
- In addition, when setting your computer, the language for non-Unicode
programs should be set to Chinese or Japanese or Thai or any other
character-based language. For example, under Windows XP, select Control
Panel, click the Regional and Language Options tab, then the
Advanced tab and select the character-based language (Chinese or
Japanese....)
- If squares are displayed instead of Thai or Japanese characters, change the
Language option in the Environment Options dialog and select Thai
or Japanese.
- The same problem with squares displayed instead of characters is known to
happen:
- if Metal Look and Feel applications are set.
- when a Java version earlier than 1.5.0 Java is used.
Printing
When I try to print, I get a warning dialog that says "No print service found."
I am able to print with other applications as well as from the command line of
a
terminal window.
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
Page setup dialog doesn't list large media size on Linux
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.
Page margins are returned incorrectly from the Page Setup dialog
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.
MagicDraw crashes or some text is messed up when printing a diagram.
Try to add "-Dsun.java2d.print.shapetext=true" property at JAVA_ARGS in
mduml.properties file, located in MagicDraw install root, "bin" directory.
Code Engineering
Do you have an edition of MagicDraw that can parse a set of Java files and create the corresponding class diagram?
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.magicdraw.com/editions.php
Does MagicDraw allow to import current Java source code, alter the OO model and create modified source code?
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.
What is the difference between the Quick Reverse and the general one?
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.
How to import certain Java types?
Choose the 'New From Template' command from the 'File' menu. You may also reverse the needed Java classes and import them to the project.
Is there any way I can import an existing jar-file so that the classes from this file will be usable in the project ?
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.
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 need to add your jar's in Java language options at "Options-> Project-> Code engineering-> Java Language Options".
Is it possible to reverse QT library?
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
While Reversing Oracle database I got the following error. Any idea?
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.
Features
Is there any way that I can access elements from other projects?
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.
How to open console together with the MagicDraw application?
Edit file mduml.properties in bin directory. Change line CONSOLE=false to line CONSOLE=true
Does MagicDraw support model consistency between all diagrams?
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.
How to copy a diagram into the Windows clipboard and paste into a Word doc?
Choose the 'Copy as EMF' or 'Copy as JPG' command from the 'Edit' menu.
We are editing different diagrams in the same model, which is held in the CVS
repository.Although working in different areas of the model, we keep getting
unmergible files from the repository whenever we update our working versions
from CVS after the other has committed.
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.
Is there any plugin to make automatically the UML2 transformation without
having
to make File->Export->To UML2 from the user interface?
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.
Integrations
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:
<workflow>
.....
<component id="Generator.contraintsEtc" class="oaw.xpand2.Generator"
skipOnErrors="true">
<metaModel idRef="mm.emf"/>
<globalVarDef name="addNameAttribute"
value="${addNameAttribute}"/>
<expand
value="org::openarchitectureware::util::uml2ecore::templates::files::root FOR
ecoreModel"/>
<genPath value="${outputPath}"/>
<fileEncoding value="ISO-8859-1"/><!-- This is the additional tag
-->
</component>
</workflow>
4) update jar archive with this new version of uml2ecoreWorkflow.oaw file
5) restart Eclipse.
uml2 ecore transformation should now run cleanly.
MagicDraw windows are not redrawed properly running within Eclipse
If you have specified property "-Dsun.java2d.d3d=false" in "eclipse.ini", try
to remove it or set the "true" value.
MagicDraw integrated with Eclipse cannot be started
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
Out of memory errors with MagicDraw and Eclipse
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 additionaly -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]
After unintegration, Eclipse cannot be started with new integrated MagicDraw
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.
I am trying to install MagicDraw and use Eclipse integration in Japanese, but menu fonts are corrupted.
Please, try to add such line -DdefaultFont=true in eclipse.ini file after vmargs. The lines should look like: -vmargs -DdefaultFont=true
Diagrams or Browser tabs are frozen because of modal dialog appearance.
The solution is to close and reopen Diagram View or Browser tabs in all Eclipse perspectives.
With what version of IntelliJ IDEA integrates MagicDraw?
MagicDraw integrates with IntelliJ IDEA 4.X or later
Do you plan to link with any of the popular IDEs/source code tools?
Yes. We currently have integrations with Eclipse 3.1 or later (JDT or Java IDE), JBuilder 8.0, 9.0, X, 2005, 2006,
2007,
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.
How to integrate MagicDraw with JBuilder?
1. Go to /integrations/jbuilder and start the install program. The tool will ask to specify JBuilder and MagicDraw installation directories. 2. Click Integrate, to start an integration process. 3. Start JBuilder in a usual way. After a successful integration, MagicDraw application will be started together with JBuilder application. Every JBuilder project has one MagicDraw project. This project is saved as magicdraw.xml.zip in the JBuilder project directory.
Does MagicDraw Standard edition integrate with Eclipse?
Yes, MagicDraw Standard edition, as well as Professional integrates with Eclipse, WSAD, JBuilder, 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.
Do MagicDraw integrations with IDEs support Java 5.0 code engineering?
Since MagicDraw 10.5 version, integration with Eclipse supports Java 5.0 code
engineering.
Since MagicDraw 15.0 version, integration with NetBeans and JBuilder supports
Java 5.0 code engineering also.
Does MagicDraw support Eclipse integration within OSX?
Since MagicDraw version 12.5, Eclipse and MagicDraw works together on Mac OS X
with JVM 1.6.0.
Automatic search in combo boxes is not working. I'm using MagicDraw integrated with IntelliJ.
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
I get an error when trying to perfom CVS operations in MagicDraw. I use a local cvs repository at home. Does MagicDraw support a CVSROOT of the form "/my/cvsroot"?
MagicDraw CVS integration supports only pserver connection type.
MD v15.5, oAW 4.3 and Eclipse 3.4 integration. Try to run oAW sample as oAW
workflow. The exceptions appears in console and sample fails to run.
5 INFO WorkflowRunner -
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.openarchitectureware.uml2.Setup.(Setup.java:42)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
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'a default implementation instead of one brought in
by MagicDraw.
Teamwork Server
How to upgrade the Teamwork Server?
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.
I cannot find the Teamwork Server menu, although I see it in the docs.
You should have an evaluation MagicDraw version or a commercial/academic license (not demo) in order to access Teamwork Server menu.
On log back into Teamwork Server after MagicDraw application crash, server
complains that the user is already logged in.
After MagicDraw application crash please wait about 5 min and try to
connect.
Another solution is to restart Teamwork Server. After restart all users will be
disconnected.
How to start the Teamwork Server on startup of Redhat Linux as service?
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.
How to connect to the Teamwork Server via ssh?
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.
I cannot login to the Teamwork Server, although installation has been successful.
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.
Modules
Do you support dynamic loading of modules?
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.
Do you support editing a referred module inside a project?
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.
Floating License
MagicDraw Floating license Server and Teamwork Server v15.0 running on Windows
2003 Server as service
has to be started after every reboot to make it work. How to avoid this?
Please copy the msvcr71.dll to the <Server>/lib. This DLL is installed
under
<Server Install>\jre\bin.
I've got MagicDraw running on two PC's but when I tried to install it on another I get a "Not connecting to license server" error message.
Use the text name of the license server instead the actual IP address.
I am unable to add NT service.
You must have administrator rights to add an NT service.
Do we need to install a new version of the floating license server, or can we
use an old one with new version clients?
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.
How to connect to the Floating License Server via SSH?
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.
Where can I download the floating license server, which I've purchaced?
Login with the purchaser's username and password, click on license list, and download from there (or get keys from there).
ParaMagic Plugin
What is Parametrics?
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.
What are Parametrics used for?
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.
What is ParaMagic?
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.
How does ParaMagic work?
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.
What mathematical solvers does ParaMagic link to?
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.
How does the ParaMagic-Excel link work?
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.
Can I use ParaMagic with UML, UPDM (DoDAF/MoDAF), or business process modeling
languages?
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.
How does ParaMagic do requirements checking?
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 diagrams. 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.
How does ParaMagic differ from SysML simulations approaches?
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.
How can I learn more about ParaMagic?
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 from No Magic Inc. is available over the
Internet during the evaluation period.
ParaMagic needs Java 1.6 to run correctly. Can it run with Java 1.5?
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/
I have the ParaMagic plugin for MagicDraw. How do I access Mathematica to solve
parametric equations?
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.
Cameo DataHub
DataHub 3.0 does not support detection and synchronization of changes to entity
stereotypes
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.
No Magic Inc. is 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
UML adds new stereotypes to the SysML entities. Therefore these entities, if
already imported in DataHub, will be treated as new ones after re-numbering.
MagicDraw RSXConverter
What is MagicDraw RSXConverter?
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).
The installation process seems to be complete, but I do not see any changes in
my RSA/RSM.
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.
Why does the conversion stop with the message ?Cannot convert string "" to a
double??
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.
Why the label/text on the relationship is not in a correct position?
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.
MagicDraw RConverter
What is MagicDraw RConverter?
MagicDraw RConverter is the tool to convert Rational Rose project (.mdl) to
MagicDraw's readable file (.xml).
What is the limitation for the evaluation of RConverter?
The evaluation version of MagicDraw RConverter is 30 days with the ability to convert up to 50 elements.
Is that possible to use MagicDraw RConverter on Mac or Linux?
No, MagicDraw RConverter is designed to run on Windows platform (tested on Window XP service pack 2).
Is it possible for RConverter to convert IBM Rational Software Modeler without
any constraints?
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.
What is the data format after conversion?
MagicDraw 9.0 XMI. Such file can be opened with latest MagicDraw version.
Is that possible for RConverter to convert IBM Rational Software Modeller without any constraints?
No, it is not possible. RConverter can be used only for Rational Rose 2003 model converting.
How long does it take to convert the large model?
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).
Interchange with Other Tools
How can I import IBM Rational Software Architect/Modeler files?
MagicDraw RSXConverter is an eclipse plugin deployed in an RSA/RSM enviroment
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.magicdraw.com in download section.
I would like to find out whether it is possible to view a .vsd document in
MagicDraw or even convert the .vsd file to MagicDraw format?
There is a Visio plug-in that allows you to export to XMI 1.0. This format is
supported by MagicDraw.
Where I can find Export for Unisys XMI operations?
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.
How can I import Borland Together files with MagicDraw 10.0 or later version?
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.
How can I import IBM Rational Rose files?
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.magicdraw.com in the download
section.
How to import Enterprise Architect 7.0 file to MagicDraw?
There are two ways to migrate model.First and the only way to migrate
model
and
diagrams is to export into XMI
1.0 for UML 1.3 (Unisys Extensions).
These XMI and UML formats are old ones and supported by MagicDraw v9.5:
1. Open exported file as a new project with MagicDraw 9.5.
2. Save this project and open it with newest
MagicDraw version.
Since MagicDraw 10.0 we have moved from UML 1.4 metamodel to UML2. It is a
significant change.
Conversion from Old UML into new UML wizard will appear.
Detailed explanations and instructions of migration of projects from previous
MagicDraw versions to MagicDraw 12.0 can be found in MagicDraw Migration to
UML2
Manual.
Second way is to migrate model without diagrams by exporting project from
Enterprise
Architect as XMI 2.1 for UML 2.0 and importing by MagicDraw (versions 10.0 to
current). In this case no UML 1.3 -> UML2 conversion is needed.
Plugins
SysML 16.5 SP2 has a modification of MD_customization_for_SysML.mdzip how to
update MD_customization_for_SysML.mdzip in our Teamwork Server and successfully
work with it?:
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.
I have created my own MagicDraw plugin with customer diagram, profile,
templates
and samples. How do I pack them to share for multiple users through MagicDraw
Resources Manager.
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 < resourceDescriptor >
- "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".
- < version > is your resource version
- < requiredResource > will be needed only if your resource depends on
other
resources.
- < instalation > defines files which will be installed. Do not use "*.*"
(all
files in directory) in common directories like " < MagicDraw install root >
/samples" because uninstalling your resource will remove all files from this
directory!
- each < file > 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 < resourceDescriptor > tag:
"MDR_ < type > _ < name > _ < id > _descriptor.xml", all spaces in
names
is replaced by underscore symbol "_".
Resource sample you may find here.
How to set up Eclipse for plug-in development?
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/<your plug-in name>), 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 "Plug-ins" section of MagicDraw manual ?OpenAPI
UserGuide.pdf?
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;
Is DoDAF Plugin 2.0 compatible with DoDAF Plugin 1.0?
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.
Where can I find any detailed SysML/DoDAF documentation?
If you have installed SysML/DoDAF plugin, you should find the SysML/DoDAF
user's
guide in the MagicDraw installation directory, manual folder. Also you may
download this user's guide from MagicDraw website (Download > Download manual).
Documentation/Help
Where can I find documentation about working with MagicDraw, MagicDraw integrations, floating license server, and teamwork server?
All MagicDraw documentation is located in MagicDraw installation directory, manual folder. Also you may download it from the www.magicdraw.com.
The Java documentation, delivered with MagicDraw contains only some package.html
files.
You may download full MagicDraw OpenAPI javadoc at
http://www.magicdraw.net/files/javadoc.zip
When invoking Help>Contents the program hangs.
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.
Where can I find MagicDraw configuration files (md.log and several other
files)?
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)
Older Versions
When installing MagicDraw on Fedora Core 5, Suse 10.1, and later :error while
loading shared libraries error appears
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
I'm trying to run MagicDraw UML 3.5.1, but when I launch the application I get
the error message "Can't read/write to main.ini"
When launching MagicDraw UML 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.
Unlock Keys
I have downloaded MagicDraw demo. Where do I get the unlock key?
Unlock key is sent to you automatically by email (to the e-mail address which you provided registering to www.magicdraw.com).
How to unlock MagicDraw vesion 12.0 and later?
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.
I'm unable to unlock MagicDraw. "Key or user name is invalid!" message appears.
Make sure that MagicDraw UML software and unlock key are the same version. If
you install the latest software, you must get the latest version unlock keys.
I have just bought two MagicDraw machine-licenses. I've received only one unlock key. Is this ok if I use the same key for the two installations on different machines?
You are eligible to enter the same key in the multiple installations, according to the number of products you have bought. Note, that only invoices of purchased software indicate the number of licenses that you can use.
Users Profiles
What if I forgot my profile password?
Use our reminder service - enter your email and click the Send password button. New password will be generated and sent by email.
Where can I change my profile data (user name, company name, etc.)?
Login to our web site http://www.magicdraw.com/personal_profile.php with your username and password, click on Edit Personal Information right-side menu selection and edit your details.
Is my personal information secure at www.magicdraw.com?
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.
Purchase
Will I receive my software on CD?
We don't have our software on CD. We deliver products electronically.
Why do I need customer profile, why cannot I go to the shopping cart and order the software directly?
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.
How do I get the product updates? Where do I download the newest software?
Notifications about updates will be sent by email. The newest software will be automatically added to your personal download area: http://www.magicdraw.com/personal_profile.php
Bought one MagicDraw Floating license a month ago; and bought one more Floating license yesterday. I would like to know how can I add additional Floating license to the Floating license server.
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.magicdraw.com/personal_profile.php
I would like to receive notifications about the releases of new MagicDraw versions or service packs.
If you want to subscribe to any of existing MagicDraw mailing list, please login to our web site http://www.magicdraw.com/personal_profile.php with your username and password. Click on "Mailing List' right side menu selection, check appropriate checkbox and click the Update button.
Where is my MagicDraw purchase information stored?
Purchased MagicDraw UML software installation files and unlock keys are stored under your personal profile. In order to download it, login to our web site http://www.magicdraw.com/personal_profile.php with your username and password, click on License List right-side menu selection.
Other issues
How do I merge completely different projects that have no
common history into one project (possibly by choosing only certain parts that
should be merged)?
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.
Icons in project are cut, only part of the SVG icon is displayed.
Starting from MagicDraw v15.0 we have updated svg icons interpreter, fixing
number of
issues and interpreting svg format more precisely. Interpreting such svg
properties as viewBox. How ever those interpreted parameters should be
described
correctly. Common discrepancy is that viewBox parameter in icon is described in
points and icons width and height in pixels. This gives misalignment and only
part of the icon is displayed.
In order to fix this in svg icon:
Open svg icon with XML editor. for example UltraEdit.
Find viewBox property and remove pt signs from hight and width. It was
viewBox="0 0 215.9pt 279.4pt" should be viewBox="0 0 215.9 279.4".
Save icon.
Open with MagicDraw, problem with only half icon visible should be
fixed.
In order to fix this problem in MagicDraw project (if project has stereotypes
in
it and those stereotypes are using icons):
Unzip project if it is in *.mdzip extension in order to get *xml
extension.
Open project with XML editor.
Find symbols line 70 74 22 20.
Remove 70 74 // this is hex code of ?pt?, because svg icons existing in
project are hold in hex format.
Save project.
Open with MagicDraw, problem with only half icon visible should be
fixed.
|