SDMetrics home page
The Software Design Metrics tool for the UML
Sitemap

Design Quality Metrics for UML2 Profile Extensions

March 29, 2012, Jürgen Wüst. Category: Announcements

The interchange of UML models between tools via XMI is difficult in practice. This is particularly true for UML models that are extended by UML profiles such as the SysML. In the past, tool vendors often used proprietary XMI extensions to serialize the profile applications, which were not understood by other tools.

More and more UML tool vendors are now adapting the XMI serialization of profile applications as defined in the UML specification. In November 2011, the Model Interchange Working Group published several XMI testcases for SysML 1.2. The following excerpt shows the XMI serialization of a simple SysML block named “B0”.

 <xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" 
   xmlns:uml = "http://www.omg.org/spec/UML/20090901"
   xmlns:sysml = "http://www.omg.org/spec/SysML/20100301/SysML-profile">
  <uml:Model name = "TestCase10" xmi:id = "2edc">
    <packagedElement xmi:type = "uml:Class" xmi:id="c37" 
      name="B0">
      ...
   </packagedElement>
  </uml:Model>
  <sysml:Block base_Class="c37" xmi:id="5ee"
      isEncapsulated="false" />
 </xmi:XMI>

The SysML profile defines SysML blocks as extensions of UML classes. Consequently, the block is represented as a UML class with name “B0”. The sysml:Block element represents the stereotype application and provides the tagged values of the stereotype.

SDMetrics V2.3 now simplifies the definition of custom design metrics and rules that are tailored to UML2 profile extensions. With the new “extension references”, UML extensions such SysML blocks or requirements become first-class citizens in SDMetrics’ meta-model. You can define design metrics and rules for these elements just like any other “native” UML element.

The download section of the SDMetrics web site provides a first set of design metrics and rule definitions for SysML. These definitions serve as a starting point to create SysML metrics and rules that are custom-tailored to local MBSE processes.