UML/SysML#
Lattix can read in UML and SysML from the following:
IBM Rhapsody
Magic Draw
Sparx Enterprise Architect
XMI
UML/SysML (MagicDraw)#
With the MagicDraw module for Lattix it is now possible to apply the Lattix approach to review, refactor, and maintain large scale Magic Draw Models.
The MagicDraw module for Lattix is available in Lattix 9.8.5+..
Here are just a few benefits of this integration:
You can improve the quality of the models by identifying and removing unwanted couplings and dependencies.
Measure and trend the complexity using various architectural metrics.
Establish rules to ensure conformance to desired architecture.
Installation#
No additional installation required. Simply export an XMI 2.5 file from Magic Draw and load it into Lattix.
Creating a Project#
Once you have exported your data from MagicDraw into XMI, you can load the data into Lattix
Select the File->New Project… menu
You can select the “All” Profile and click “Next>”
On the next page you can select the “UML/SysML (MagicDraw)” Module type. Navigate to the XMI files you wish to load and add the files to the project by selecting them and clicking the “Add Files” button.
Click “Create Project”
Once the project is created, you will see the project home page. Click “New Dependency Structure Matrix” to create and view the DSM
Atom Types and Dependency Kinds#
The following types of atoms are created:
Activity
Action
Actor
Artifact
Attribute
Block
Class
Component
Datatype
Interface
Interaction
Message
Node
Operation
Package
Pin
Profile
Property
Requirement
Signal
State
StateMachine
Stereotype
UseCase
The following kinds of dependency relationships are generated:
Allocate
Association
ControlFlow
Depend
Extend
Include
Generalize
ObjectFlow
Realize
Reference
Satisfy
Transition
Type
Use
Verify
Limitations#
Non standard information such as fonts, locations of figures is ignored.
This module was tested with Magic Draw Version 18.1.
Parametric Diagram is currently not supported and will be skipped.
UML/SysML (IBM Rhapsody)#
With Lattix for Rhapsody it is now possible to apply the Lattix approach to review, refactor, and maintain large scale IBM Rational® Rhapsody models. During the earliest stages of design, it is possible to identify undesirable interdependencies and expose key design decisions for the entire team. Rules can be established in the model for compliance with the architecture to guide the system developers during development and testing for validation.
Lattix for Rhapsody has these unique capabilities:
Create and explore the big picture view of the Rhapsody model that incorporates all the model elements including packages, use cases, sequence diagrams, object diagrams, class diagrams, types, state charts and other elements.
Identify problematic dependencies such as couplings and architectural violations within Rhapsody directly. Examples of such couplings include: unintended package coupling which breaks the desired layering or independence of components, and unintended coupling from sequence or other logical diagrams which, if implemented, could create undesired coupling.
Establish rules so that model developers can maintain compliance to the desired architecture during development.
Extract interfaces and re-factor the model to preserve architecture.
The implemented system can also be validated using Lattix to ensure that it remains in compliance with model intent.
Install#
Please make sure that you have Lattix and Rhapsody installed on your system. The Lattix for Rhapsody module will not work if you don’t have a valid license for either Rhapsody or Lattix.
STEP 1. Copy the Rhapsody Java API jar file:
[Rhapsody install data directory]\Share\JavaApi\rhapsody.jar => C:\Program Files\Lattix10.\ x\lib\plugins\
STEP 2. Copy the Rhapsody API dll:
[Rhapsody install data directory]\Share\JavaApi\rhapsody.dll => C:\Program Files\Lattix10.\ x\bin\win64\
Please adjust path if your Rhapsody or Lattix is a different version or if you didn’t install in the default directory.
Notes#
The location of the data directory has changed in different releases of Rhapsody:
Please consult documentation for your version of Rhapsody to locate rhapsody.jar and rhapsody.dll files in your distribution.
Here are some useful links:
https://www.ibm.com/docs/en/engineering-lifecycle-management-suite/design-rhapsody https://www.ibm.com/docs/en/engineering-lifecycle-management-suite/design-rhapsody/8.3?topic=function-rational-rhapsody-api
Create a Project#
There are two ways to create a new project:
You can load in any Rhapsody Project File. In the New Project dialog, select the Rhapsody Project file to be loaded in, click on Add Files, and then click on Create Project.
You can load in the currently active Rhapsody Project. This is useful when you are actually working on a Rhapsody Project and want to see it represented within Lattix so that you can make changes for the problems that you identify. Select Auto Connect and click on New Project. For this to work, you must have Rhapsody running and loaded with the project of interest.
If your Rhapsody Model has changed, and you have a Lattix Project created from an older model, you can simply update the project. Along with a new updated project, you will also see a report on what elements are new or changed, what rule violations have been fixed, and what new violations have been introduced.
Options#
Options to Control the Generated Hierarchy#
Create “Components” Partition
All components at the same level are grouped into the “Components” partition. This is enabled by default.
Create “Objects” Partition
All Objects at the same level are grouped into the “Objects” partition. This is enabled by default.
Create “Packages” Partition
All packages at the same level are grouped into the “Packages” partition. This is enabled by default.
Create “Classes&Interfaces” Partition
All classes and interfaces at the same level are grouped into the “Classes&Interfaces” partition. This is enabled by default.
Options to Control the Elements that are Processed#
Skip Component
Components are skipped.
Skip Object Diagram
Object Model diagrams are skipped.
Skip Event
Events are skipped.
Skip Sequence & Collaboration Diagram
Both sequence and collaboration diagrams are skipped.
Skip State
The state diagram and the states are skipped.
Skip Stereotype
Stereotypes are skipped.
Skip Use Case
Use Cases, Use Case Diagrams and Actors are skipped.
Skip Type
Types are skipped.
Atom Types and Dependency Kinds#
The following types of atoms are created:
Actor
Attribute
Class
Collaboration Diagram
Configuration
Comment
Component
Deployment Diagram
Event
EventReception
FlowChart (or Activity Diagram)
Object
Object Diagram
Operation
Package
Port
Requirement
Sequence Diagram
State
StateChart
Stereotype
Structure Diagram
Type
UseCase
UseCase Diagram
The following kinds of dependency relationships are generated:
Depend
Inherit
Provided Interface
Reference
Required Interface
Transition
Trigger
Type
Use
Within Scope
Within Diagram
Limitations#
You need a Rhapsody installation with a valid license in order to use the Lattix for Rhapsody Module.
The Lattix for Rhapsody Module has been tested with Rhapsody 7.2, Rhapsody 7.6, Rhapsody 8.14 and Rhapsody 8.3.
UML/SysML (Sparx Enterprise Architect)#
With the Enterprise Architect module for Lattix it is now possible to apply the Lattix approach to review, refactor, and maintain large scale Enterprise Architect Models. Here are just a few benefits of this integration:
You can improve the quality of the models by identifying and removing unwanted couplings and dependencies.
Measure and trend the complexity using various architectural metrics.
Establish rules to ensure conformance to desired architecture.
Installation#
Please make sure that both Lattix and Enterprise Architect are installed on your system. The Lattix module for Enterprise Architect module will not work without a valid license for Enterprise Architect. Lattix is designed to work with both 32bit and 64bit versions of Enterprise Architect.
64bit Enterprise Architect#
In the field SparxEA HOME enter the path to Enterprise Architect
32bit Enterprise Architect#
Install a 32bit version of Java and point Lattix to it, using the field JAVA_HOME. You must also select the checkbox “Use Java Home”
In the field SparxEA HOME enter the path to Enterprise Architect
You may have to adjust the path for Enterprise Architect.
You are now ready to use the Lattix Enterprise Architect Module.
Options#
Options to Control the Elements that are Processed#
Skip Diagrams
All diagrams are skipped.
Code Elements Only
The Model is created using only Class, Interface, Method and Attributes in the EA model. The package structure is still be reflected in the DSM because of naming. though there are no Package atoms.
UML Elements Only
The model is created using only diagrams and elements typically used in UML models. This option has not yet been implemented.
Limitations#
You need an Enterprise Architect installation with a valid license in order to use this module.
This module has not been been tested with versions older than Enterprise Architect Version 9.2.
Sparx Enterprise Architect Add-In#
The Add-In for Enterprise Architect can be installed from the Lattix Windows installer. On the “Choose Components” screen, you can select “Register Sparx EA Add-In”
Once the Add-In is registered by the installer, and after you restart Enterprise Architect, it should become available to EA. When you click on the “Specialize” menu, the toolbar should show the new “Lattix” Add-In.
If you have a model open in EA, you can save the model to a Lattix file by selecting the Lattix Button and then selecting the “Export Lattix” menu item.
When the dialog appears, navigate to the folder you wish to save the export file. You should name the file with a .ldi.xml extension.
After you hit “Save”, the progress dialog will appear and let you know when the export is finished. The export may take some time on a very large model.
After the export file is saved, you can open Lattix Architect and create a New Project with the “UML/SysML (SparxEA)” module.
Select the “LDI files (*.xml *.ldi)” option, then you can select the previously exported file and then click “Add Files” and then “Create Project”
UML/SysML (XMI)#
You can load UML and SysML models that have been exported to XMI. This module helps the designers visualize and maintain the big picture view of design at an early stage. It helps identify problematic dependencies (such as cycles) during the modeling stage itself. This module supports XMI Version 2.1.
Each UML tools provides a different way to export to XMI. Please see the documentation associated with your UML tool on how to export the model to XMI. Here is how things work currently with some of the popular tools:
Enterprise Architect: Load a project. In the Project Browser Window select a package and right click and select Import/Export->Export Package to XMI.
Magic Draw: Load a project. Select File->Export to->UML 2.5.
Rational Software Architect:Load a project. Select File->Export->Other->UML XMI Interchange Model.
Rhapsody: Load a project. Select Tools->Export to XMI.
Options#
Skip Interactions#
Interaction diagrams (both sequence and collaboration) are skipped.
Skip Use Cases#
Use Cases are skipped.
Skip Types#
Types are skipped.
Skip States#
The state diagram and the states are skipped.
Skip Signal#
Signals are skipped.
Skip Profiles#
Profiles are skipped.
Atom Types and Dependency Kinds#
The following types of atoms are created:
Actor
Attribute
Class
Constraint
Datatype
Interface
Interaction
Operation
Package
PrimitiveType
Profile
Signal
State
StateMachine
Stereotype
UseCase
The following kinds of dependency relationships are generated:
Depend
Inherit
Reference
Transition
Type
Use
Limitations#
UML tools generate display information such as fonts, locations of figures on the screen in a non-standard fashion. This information is ignored by this module.
Different UML tools generate model information differently into XMI. As a result, the Lattix project could look different based on the tool that generated the XMI.
Only XMI Version 2.1 is supported.