SysML 1.2 design quality metrics and rules
Download
SDMetricsPF_SysML.zipDescription
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
File | Description |
---|---|
metamodel_sysml.xml | Metamodel for UML 2.x and SysML 1.2 profile |
xmiTrans_sysml.xml | XMI transformations for UML 2.x and SysML 1.2 extensions |
metrics_sysml.xml | Metric definitions for UML 2.x and SysML 1.2 extensions |
Revision History
- 19-Mar-2012: initial release
- 27-Oct-2018: improved import of 'Canonical XMI' files
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 | ||
Metric | Category | Description |
---|---|---|
Blocks | Size | The number of blocks in the package. |
Blocks_tc | Size | The number of blocks in the package, its subpackages, and so on. |
Reqts | Size | The number of requirements in the package. |
Reqts_tc | Size | The number of requirements, sub-requirements etc in the package, its subpackages, and so on. |
Activity metrics | ||
Metric | Category | Description |
AllocatedBlocks | The number of blocks allocated to the activity | |
Block metrics | ||
Metric | Category | Description |
Parts | Size | The number of parts in the block. |
Parts_tc | Size | The number of parts in the composition hierarchy of the block. |
NestingLevels | The maximum depth of the parts composition hierarchy of the block. | |
ValueProps | Size | The number of value properties in the block. |
RefProps | Coupling (import) | The number of reference properties in the block. |
Ports | Size | The number of ports in the block. |
AtomicFlowPorts | Size | The number of atomic flow ports in the block. |
NonAtomicFlowPorts | Size | The number of nonatomic flow ports in the block. |
Connectors | Complexity | The number of connectors in the block. |
NumOps | Size | The number of operations of the block. |
NumRecpt | Size | The number of receptions of the block. |
NOC | Inheritance | The number of children of the block (UML Generalization). |
DIT | Inheritance | The depth of the class in the inheritance hierarchy. |
Requirement metrics | ||
Metric | Category | Description |
SubReqts | Size | The number of sub-requirements of this requirement. |
NestingLevel | The nesting level of the requirement. | |
Satisfiers | Coupling (export) | The number of elements that satisfy this requirement. |
Verifiers | Coupling (export) | The number of elements that verify this requirement. |
Derivatives | Coupling (export) | The number of elements that are derived from this requirement. |
Copies | Coupling (export) | The number times this requirement is copied by other requirements. |
Constraintblock metrics | ||
Metric | Category | Description |
Constraints | Size | The number of constraints of the block. |
Parts | Size | The number of parts in the block. |
Parts_tc | Size | The number of parts in the composition hierarchy of the block. |
NestingLevels | The maximum depth of the parts composition hierarchy of the block. | |
Connectors | Complexity | The number of connectors in the block. |
NOC | Inheritance | The number of children of the block (UML Generalization). |
DIT | Inheritance | The depth of the class in the inheritance hierarchy. |
Rules for SysML 1.2
This project file set adds the following rule definitions:Activity rules | ||
Rule | Category | Description |
---|---|---|
ActivityAllocation | Completeness | The activity should be owned by or have an allocation to a block. |
Objectflow rules | ||
Rule | Category | Description |
ObjectFlowAllocation | Completeness | The object flow is not allocated to a connector. |
Requirement rules | ||
Rule | Category | Description |
Unverified | Completeness | Rules that are not further decomposed must be verified. |
Problem rules | ||
Rule | Category | Description |
ResidualProblem | Correctness | The 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).
SDMetrics Project File Downloads Page.