SDMetrics home page
The Software Design Metrics tool for the UML

SysML 1.2 design quality metrics and rules

Download

SDMetrics Project FileSDMetricsPF_SysML.zip

Description

This set of project files provides metamodel extensions and metrics for the OMG Systems Modeling Language (SysML), v1.2 [OMG10]. SysML is a general-purpose graphical modeling language for complex systems that may include combinations of hardware, software, data, people, and facilities. The SysML extends a subset of the UML with concepts such as requirements and parametrics to facilitate model based systems engineering (MBSE). The SysML is defined using the UML 2 profile mechanism, and supported by many UML modeling tools.

As in any engineering discipline, metrics play an important role to assess system quality in MBSE. Practical applications of design measurement in the context of MBSE include [FMS11, pp. 23 ff]

  • assessment of the completeness, correctness, consistency of the model,
  • adherence to modeling conventions,
  • estimating design and development effort,
  • monitoring of design and development progress.

Note that the main purpose of this project file set is to demonstrate how SDMetrics can be customized to deal with UML 2 profile extensions. The set of SysML metrics and rules provided here should not be considered in any way an authoritative, comprehensive, or useful metrics suite for MBSE. However, it is a starting point for the definition of custom SysML metrics and rules that are tailored to your MBSE processes.

References:
[FMS11]
S. Friedenthal, A. Moore, R. Steiner, A Practical Guide to SysML, Second Edition, Morgan Kaufmann OMG Press, 2011
[OMG10]
Object Management Group, OMG Systems Modeling Language, Version 1.2, OMG Document Number formal/2010-06-02, 2010

Contents

FileDescription
metamodel_sysml.xmlMetamodel for UML 2.x and SysML 1.2 profile
xmiTrans_sysml.xmlXMI transformations for UML 2.x and SysML 1.2 extensions
metrics_sysml.xmlMetric definitions for UML 2.x and SysML 1.2 extensions

Revision History

  • 19-Mar-2012: initial release

Metrics for SysML 1.2

This project file set defines the following metrics pertaining to SysML extensions. It also contains SDMetrics' default set of UML metrics for use cases, activities, state machines etc.
Package metrics
MetricCategoryDescription
BlocksSizeThe number of blocks in the package.
Blocks_tcSizeThe number of blocks in the package, its subpackages, and so on.
ReqtsSizeThe number of requirements in the package.
Reqts_tcSizeThe number of requirements, sub-requirements etc in the package, its subpackages, and so on.
Activity metrics
MetricCategoryDescription
AllocatedBlocksThe number of blocks allocated to the activity
Block metrics
MetricCategoryDescription
PartsSizeThe number of parts in the block.
Parts_tcSizeThe number of parts in the composition hierarchy of the block.
NestingLevelsThe maximum depth of the parts composition hierarchy of the block.
ValuePropsSizeThe number of value properties in the block.
RefPropsCoupling (import)The number of reference properties in the block.
PortsSizeThe number of ports in the block.
AtomicFlowPortsSizeThe number of atomic flow ports in the block.
NonAtomicFlowPortsSizeThe number of nonatomic flow ports in the block.
ConnectorsComplexityThe number of connectors in the block.
NumOpsSizeThe number of operations of the block.
NumRecptSizeThe number of receptions of the block.
NOCInheritanceThe number of children of the block (UML Generalization).
DITInheritanceThe depth of the class in the inheritance hierarchy.
Requirement metrics
MetricCategoryDescription
SubReqtsSizeThe number of sub-requirements of this requirement.
NestingLevelThe nesting level of the requirement.
SatisfiersCoupling (export)The number of elements that satisfy this requirement.
VerifiersCoupling (export)The number of elements that verify this requirement.
DerivativesCoupling (export)The number of elements that are derived from this requirement.
CopiesCoupling (export)The number times this requirement is copied by other requirements.
Constraintblock metrics
MetricCategoryDescription
ConstraintsSizeThe number of constraints of the block.
PartsSizeThe number of parts in the block.
Parts_tcSizeThe number of parts in the composition hierarchy of the block.
NestingLevelsThe maximum depth of the parts composition hierarchy of the block.
ConnectorsComplexityThe number of connectors in the block.
NOCInheritanceThe number of children of the block (UML Generalization).
DITInheritanceThe depth of the class in the inheritance hierarchy.

Rules for SysML 1.2

This project file set adds the following rule definitions:
Activity rules
RuleCategoryDescription
ActivityAllocationCompletenessThe activity should be owned by or have an allocation to a block.
Objectflow rules
RuleCategoryDescription
ObjectFlowAllocationCompletenessThe object flow is not allocated to a connector.
Requirement rules
RuleCategoryDescription
UnverifiedCompletenessRules that are not further decomposed must be verified.
Problem rules
RuleCategoryDescription
ResidualProblemCorrectnessThe model still contains problems.

Metamodel extensions

This project file set extends SDMetrics' UML 2 metamodel with the following metaclasses. All metaclasses use extension references, mostly in combination with inheritance (cf. Section Defining Metrics for Profiles in the user manual).

Model ElementAttributeTypeMulti.Description
block
(extends class)
baseextrefone The extended class to represent the block.
flowport
(extends port)
baseextrefone The extended port to represent the flow port.
directiondataone Direction of the flow (in, out, inout).
flowproperty
(extends property)
baseextrefone The extended property to represent the flow property.
directiondataone Direction of the flow (in, out, inout).
nestedconnectorend
(extends connectorend)
baseextrefone The extended connector end to represent the nested connector end.
proppathrefmany Path of containing properties that identify the connected property in the context of the block that owns the connector.
flowspecification
(extends interface)
baseextrefone The extended interface to represent the flow specification.
requirement
(extends class)
baseextrefone The extended class to represent the requirement.
textdataone The text of the requirement.
reqiddataone The ID of the requirement in the model.
testcase baseextrefone The extended operation or behavior to represent the requirement.
requirementrelated baseextrefone The element that is related to requirements.
rationale
(extends comment)
baseextrefone The extended comment to represent the rationale.
problem
(extends comment)
baseextrefone The extended comment to represent the problem.
deriverequirement
(extends abstraction)
baseextrefone The extended abstraction to represent the derivation relation.
satisfy
(extends abstraction)
baseextrefone The extended abstraction to represent the satisfy relation.
verify
(extends abstraction)
baseextrefone The extended abstraction to represent the verify relation.
copy
(extends abstraction)
baseextrefone The extended abstraction to represent the copy relation.
continuous baseextrefone The extended object flow that is continuous.
quantitykind
(extends instancespecification)
baseextrefone The extended instance specification to represent the quantity kind.
unit
(extends instancespecification)
baseextrefone The extended instance specification to represent the unit.
quantitykindrefone
valuetype
(extends datatype)
baseextrefone The extended data type to represent the value type.
quantitykindrefone The quantity kind measured by values of this type.
unitrefone The unit to measure the values of this types.
constraintproperty
(extends property)
baseextrefone The extended property to represent the constraint property.
constraintblock
(extends block)
---------
allocate
(extends abstraction)
baseextrefone The extended abstraction to represent the allocate relation.

Back to the SDMetrics Project File Downloads Page.