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.


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.


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.


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


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.


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.


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.


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.


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/


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