MBSE Style Guide Extension

This extension to Enterprise Architect (version 16 or later) provides a rule-based validation of an MBSE style guide.The default rule set can be customized by the end User.

This style guide is loosely based on version 1.3 of the MBSE Style Guide in use by the USSF Space Warfighting Analysis Center (SWAC) and Space Security and Defense Program (SSDP).

The validation rules supported in the beta version include:
    • Activity related rules:
      • Verify that Activity Partitions have a Classifier defined.
      • Verify that every Action is a child of either an Activity Partition or an Interruptible Region.
    • Block Definition diagram (BDD) related rules:
      • Verify for each (navigable) connector end that role name and multiplicity are set.
      • Verify that a specialized SysML Block adds value to a generalized Block.
      • Ensure Block names are in camel case and have no spaces (with an option to automatically fix the name).
    • Feature (Attributes/Operations/Receptions) related rules:
      • Ensure Block property names are in lower camel case with underscore (_) separators (with an option to automatically fix the name).
      • Ensure Value Properties have both a description and default value assigned to them.
      • Verify that the names of Block/Interface Block Operations and Receptions (including their parameter names) are in lower camel case with underscore (_) separators (with an option to automatically fix the name).
      • Verify that each Block Operation is specified either by an underlying behavior (Interaction, Activity, or State Machine), or by (pseudo) code.
    • State Machine related rules:
      • Verify there are no States with an identical name inside the same State Machine Region.
      • Validate that there are no blank States (i.e. States with no incoming/outgoing Transition behavior or Triggers, and no entry/do/exit Actions).
      • Ensure that every entry/do/exit Action of a State is specified either by an underlying behavior (Interaction, Activity, State Machine, or Operation), or by (pseudo) code.
      • Verify that every State Machine Region has one Initial and at least one Final Pseudo-State defined.
      • Validate there are no States with duplicate outgoing Transitions (i.e. with the same Guard conditions and/or Triggers).
      • Validate that Guard conditions are defined using an IF( condition ) expression, where condition maps to the signature of a non-abstract Block Operation returning a Boolean value. Refer to the User Guide for details.
      • Validate that Triggers of type Change are defined using a WHEN ( condition ) expression, where condition maps to the signature of a non-abstract Block Operation returning a Boolean value. Refer to the User Guide for details.
      • Validate that Triggers of type Time are defined using a AFTER ( condition ) or AT( condition ) expression.
      • Optionally verify that each Trigger name reflects the underlying event specification name (Signal, Time, Change, or Call).
The validation can be performed against:
      • a selected Package hierarchy.
      • a complete diagram.
      • selected elements of a diagram.
Individual rules can be disabled by default, or disabled on a per session basis.
Style guide violations are reported in a dedicated tab of the System Output window, with active hyperlinks to the offending element, connector, property or feature.

For further details of how the extension operates, please see the End User Documentation.

To integrate your own custom rules into the extension, please contact us!

Related Extensions

SysML® Model Validation extension

Pricing

QuantityFixed license
1-4USD 50.00
5-19USD 35.00
20+USD 25.00

Note that these licenses never expire, and their is no yearly maintenance fee. Future updates are available free of charge.

Download the trial version to test out the extension, or place your order now.

Trial Request

Simply fill out the form below and we will email you the password providing access to the download page of the trial version. Also make sure that the End User License Agreement is in accord with your company's legal standards!
Please view our Privacy Policy page if you have concerns about filling out this form!