一、概述
SysML的ModelElements包定义了可以显示在多种SysML图类型上的通用构造。这些包括包、模型、各种类型的依赖(例如,导入、访问、细化、实现)、约束和注释。本章中定义的包图用于通过将模型元素划分为可打包的元素并在包内建立包和(/或)包中的模型元素之间建立依赖关系来组织模型。该ModelElements包为可打包元素定义了一个命名空间。一个包中的模型元素可以被另一个包导入和/或访问。这个组织原则旨在帮助建立模型元素的唯一命名,并避免重载特定的模型元素名称。包也可以显示在其他图上,比如块定义图、需求图和行为图。
Constraints用于捕获与一个或多个模型元素相关联的简单约束,并且可以在几个SysML图中表示。约束可以表示逻辑约束,如异或、决策分支上的条件或数学表达式。
Comments可以与任何模型元素相关联,并且作为记录模型的非正式方法非常有用。SysML引入了一个名为“rationale”的注释扩展,以方便系统建模人员捕获决策。rationale可以附加到任何实体上,例如系统元素(块),或者附加到任何关系上,例如设计元素和需求之间的满足关系。在后一种情况下,它可用于获取设计决策的基础,并可参考分析报告或贸易研究,以进一步阐述决策。此外,SysML包括注释的扩展,以反映可以附加到任何其他模型元素的问题或问题。
SysML从UML扩展了view和viewpoint的概念,以与IEEE 1471标准保持一致。特别地,viewpoint是用于构造视图的规则规范,以处理stakeholders关注的一组问题,view旨在从该viewpoint表示系统。这使得stakeholders能够从他们的角度指定系统模型中对他们重要的方面,然后在一个特定的视图中表示系统的那些方面。典型的例子可能包括操作、制造或安全view/viewpoint。
Diagram Elements
定义的图元素
三、UML Extensions
(一)UML Diagram Elements not Included in SysML
SysML中不包含包之间的“合并”依赖,它在虚线箭头上使用«merge»关键字。UML在它自己的元模型的定义中使用包合并,SysML在此基础上构建,但是SysML不支持用户级模型的此功能。
Note:组合具有相同命名的元素的包,会导致相同名称的定义合并,从而使得用户模型混乱,也没有添加固有的建模功能,因此被SysML排除。
(二)Stereotypes
1.Conform
概念:
- Conform关系是view和 viewpoint之间的依赖关系。view符合viewpoint中详细说明的指定规则和约定。遵从是UML依赖关系的专门化,并且与其他依赖关系一样,箭头方向从(客户/源)指向(供应商/目标)。
约束条件:
(1)supplier/target必须是由«viewpoint»构造的元素。
(2)client/source必须是由«view»构造的元素
2.Problem
概念:
- Problem记录了一个或多个模型元素的缺陷、限制或失败,以满足需求或需要,或其他不期望的结果。它可以用于捕获在分析、设计、验证或制造过程中识别的问题,并将问题与相关的模型元素关联起来。Problem是注释的原型,并且可以以与注释相同的方式附加到任何其他模型元素上。
3.Rationale
概念:
- Rationale记录了对决策、需求、设计和其他决策的论证。Rationale可以附加到任何模型元素,包括关系。例如,它允许用户指定可能引用更详细文档(如贸易研究或分析报告)的基本原理。Rationale是注释的原型,并且可以以与注释相同的方式附加到任何其他模型元素上。
4.View
概念:
- 视图是从单个视点的角度对整个系统或子系统的表示。视图可以导入其他元素,包括其他包和符合该视点的其他视图。
属性:
- /viewpoint: Viewpoint
The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View.
限制:
(1)视图只能有自己的元素导入、包导入、评论和约束元素。
(2)视图是根据作为viewpoint一部分指定的方法和语言构建的。SysML 没有定义具体方法。这个约束的精确语义是一个语义变化点。
Viewpoint
概念:
- Viewpoint是构造和使用视图的约定和规则的规范,目的是处理涉众关注的一组问题。用于指定视图的语言和方法可能引用参考另一个viewpoint中的语言和方法。它们指定了期望在视图中表示的元素,可以是正式的或非正式的定义。例如,安全观点可能需要安全需求、安全功能和物理架构,以及安全测试用例。
属性:
• stakeholders: String [*]
Set of stakeholders.
• purpose: String
The purpose addresses the stakeholder concerns.
• concerns: String [*]
The interest of the stakeholders.
• languages: String [*]
The languages used to construct the viewpoint.
• methods: String [*]
The methods used to construct the views for this viewpoint.
限制:
[1] Viewpoint不能是实例规范的分类器
[2] ownedOperation 属性必须为空
[3] ownedAttribute 属性必须为空
四、Usage Examples
Rationale and Problem元素示例