MDK User's Guide: 4 MDK Specific Features
Documents and Views
Documents and Views can be created and modeled in MagicDraw and generated to View Editor.
Documents are a key part of systems engineering; through the practice of Model Based System Engineering (MBSE), documents have also been adapted so that they are able to be generated and produced from a model. Documents consist of Views, which are sections of a document. Both Documents and Views are based on Classes in UML and therefore are treated as elements in the model, with their own associated attributes and formatting metadata.
Implications:
A SysML model is not required to produce a document; however, the main interface between MagicDraw and View Editor, the web application, is primarily done through the interactive capabilities of documents and views. They are used to provide access to modeling data outside of the model itself.
Documents and views are built and configured using Viewpoints and Viewpoint Methods. More information can be found in the next view.
Open in View Editor
You may wish to inspect a view after generating it with the MDK, to confirm that it matches your expectations. The "Open in View Editor" feature allows you to easily open a Document of View on View Editor from its element representation in MagicDraw.
To use this feature, right-click the element in a diagram, containment, or similar view and select "Open in View Editor" from the context menu. This feature will build a full web link to the selected View by navigating up the view hierarchy to find the Document that contains the View, and then simply open the web link in your default browser.
If a Document or View is a child of multiple Documents, the feature will instead build a link for each Document and open a new window with a button for each Document. Clicking on one of the Documents listed will open the appropriate web link.
If a View is not a child of any Documents, the feature will display a message in the Notification Window of MagicDraw and open the View in View Editor without a Document context.
Use of this feature does not require you to be logged in to MMS, but does require that your model have a MMS server specified in its ModelManagementSystem stereotype.
Note: In the event that Java fails in its attempt to open a link in your default browser, a message will appear in the Notification Window of MagicDraw that includes the web address. This can by copied into your web browser to open the page manually.
Viewpoints and Viewpoint Methods
One of the defining moments for widespread adoption of SysML at JPL was when the community created "DocGen" (see DocGen User's Guide), a precursor of the MDK plug-in, which gives MBSE practitioners the ability to produce documents from their models. In order to create these documents, the view and viewpoint method was introduced.
A pattern is a set of rules governing model construction that provide standardization and consistency across models. The method for document creation is one such pattern adopted by the Object Management Group (OMG, the standards body behind SysML) and was incorporated
into SysML 1.4.
Viewpoints and Viewpoint Methods can be created in MagicDraw and will result in View Editor. Refer to [cf:Create and Generate Documents.vlink] and [cf:Create a Reusable Cover Page.vlink] for examples of using Documents, Views, Viewpoints, Viewpoint Methods, and Exposing elements.
Viewpoints:
Can be thought of as the "compiler" for a view.
Dictate what will actually be displayed in a view.
Uses the viewpoint methods and the exposed elements to produce a view.
Viewpoint Methods:
Are a set of rules that govern model construction to give standardization and consistency across models.Â
Can be thought of as the "constructor".
Consist of activity flows that are specialized to be in charge of building what the view will be.
The most common viewpoint method are those that make Rapid Tables - they take the exposed elements and iteratively go through them to produce the desired table. More information on how to build such a table can be found here: [cf:Create and Generate Rapid Table.vlink].
Implications:
Using the model, a user will consistently utilize Viewpoints and Viewpoint Methods to construct documents and views. These documents and views may contain any number of important modeling information, based on what the user desires. The user will then generate these formatted and configured documents and views so that users on View Editor can have access to the model information and data.
Â
NOTE: If the viewpoint method diagram is created by methods other than right clicking the viewpoint itself on the view diagram (such as right clicking the viewpoint in the containment tree), an error may occur during document generation regarding a viewpoint method. This error may be resolved by right clicking the error in the notification window > Set Nested Behavior as Viewpoint Method.Â
There are two ways to check for this error before view generation:
Right click a View > DocGen > Validate View
Any not compliant views will appear in the notification window. Right click error > Set Nested Behavior as Viewpoint Method
Select "MDK" from the top ribbon > Validate > Views
Any not compliant views will appear in the notification window. Right click error > Set Nested Behavior as Viewpoint Method
_MMSSync_ Package
The _MMSSync_ package is part of a number of sync solutions for the MMS and View Editor. Its purpose is to allow continual collaboration while a project is consistently being updated by multiple users. It does this by capturing changes between the model and the MMS server and persisting them in the model. The idea is that when an element is updated from the server, whoever is using the syncing options will capture the changes and the MDK will try to update the model itself. However, if there is some non-editable content or errors of any sort that would prevent the MDK from automatically updating, these changes will be saved in the _MMSSync_ package. Once stored, the changes will be tried to be resolved/updated the next time it is run.
Although the _MMSSync_ package looks like an ordinary Package, users must NOT edit the content. A user may try to unlock the elements in Teamwork Cloud projects, but should not edit the elements themselves. If the user manually modifies this Package or its contents, parity and/or data could be lost.
Usage:
Every project that is connected to MMS will have an _MMSSync_ package.
References to all changed (categorized as created, updated, and deleted) elements on both MagicDraw and MMS will be persisted in elements in this package.
These changed elements will be analyzed during sync operations to generate the necessary operations to sync the model.
Each element in this package will be categorized and timestamped.
Each element in this package is automatically managed and deleted by the MDK. No user intervention is required or recommended. See version specific implications for more information.
In the case that elements in this package cannot be deleted due to insufficient locks, a second element is created that signifies to sync operations that the first one can be safely ignored as its contents have already been processed.
Holding Bin Package
The "Holding Bin" Package is created for every project. Its purpose is to provide a default place to put elements that were created without an owner specified. This is often the case for Documents and Views that originated in View Editor. Elements in the Holding Bin can be moved to other locations in the project just like other model elements.