仅供个人学习记录
包是容器的一个例子。包中的模型元素称为可封装元素,这些元素可以是包、用例和活动。由于包本身也是可封装元素,因此可以支持包层级。
每个有名称的模型元素也必须是命名空间的一份子,命名空间使得每个元素均能够通过名称被唯一识别。
有效的模型组织包含了模型元素的重用,并能在模型元素间方便访问与导航。
标题
pkg [model element kind] package name [diagram name]
pkg:图类型
model element kind:模型元素类型可以是模型、包或模型库
包package是其他模型元素的容器,有一个名称和可选URI,将包作为可访问的web资源唯一识别。
包内的模型元素被称为可封装元素packageable element
SysML 包含了模型库model library的概念,包可以设计为包含可重用元素
模型层级应当给予一系列组织原则。
包容containment:带交叉十字圈㊉的直线表示,交叉十字圈连接包容端(父端)
包图可用于展示可封装元素,可封装元素通常用节点标识或相应图标。
比如包Component里面包含一组成品部件,全部用《block》表示
包是可封装元素的容器,也是其中所有元素的命名空间namespace
大多数SysML模型元素均有名称,但少数没有,如注释。
命名空间定义了一组唯一性准则,以区分命名空间内不同的已命名元素。
包中给定元素类型的每个元素都必须有唯一名称
模型元素可以出现在某个图中,但该图的框架不一定指定其父命名空间,容易造成错误。
解决办法是在标识中为模型元素给出一个限定名称qualified name,表示相对路径或者完整路径
限定名称均是以模型元素名称结尾,前面为路径,并以双冒号::划界,如模型元素X包含于包B内,而包B包含于包A,则表示为A::B::X
例子:包Standard Definition
为减少图的混乱,许多SysML工具都默认隐藏了限定名称
引进关系用于将属于某个源命名空间的单个或多个元素集合放至目标空间中。被引进元素的名称称为目标命名空间的一部分,被引进元素的限定名称基于元素在目标命名空间中的位置。因此,在已指定目标命名空间的图中显示时,不需要限定名称了
包引进package import:源包所有模型元素均被引进至目标命名空间
元素引进element import:应用于单个元素,无需引入包内全部元素且引进可能带来混淆的情况下可以采用
引进而导致目标命名空间的两个或多个模型元素拥有相同的名称,会引起名称冲突。元素引进有一个别名区域,可用于提供该模型元素的另一个名称。
名称冲突规则:
命名空间的元素通过直接包容关系或引进关系确定,都为成员member。成员具有可视性visibility,默认为公开。成员的可视性确定了其是否能被引进至另一命名空间。
引进关系用虚线箭头表示,并标注关键词《import》。箭头端指向被引入的源,箭头尾部指向引入的目标命名空间。当元素作为目标空间的私有成员引进时,用关键词《access》替代《import》
package私有引进的时候操作的时候选import,Visibility选private就变成《access》了
element引进,有重名可以正常引进,没有显示错误,可以通过属性Alias进行新命名
目前还不知道在哪设置block可视性
Visibility representation
In SysML, properties and operations of the Block are public.
Visibility representation literals, like +, #, ~, -, are not displayed in the Containment tree or in the element symbol on a diagram.
书上通过创建P3的pkg然后可以看到如下:
NewC、C、B正常的block
P2:F、Child of P2::E、Model::P1::A
但是我在实际操作中,不知道如何呈现,都是正常显示-。-,可能是SysML语言的更新或者是CSM的更新原因。
依赖dependency的通用类型:
依赖关系用虚线带开放的箭头表示,由客户端指向供应端
我反正是一个dependency的类型都打不出来,显示stereotype不存在,不知道是不是已经不注重区分了