图6.7图中表示的Parent包中,有三个包P1、P2和P3。名称为Model::P1包不包含在图的语境中,所以使用它的限定名称。Model::P1包含一个带有public可视性的模块A
(SysML没有一个图形化符号对应可视性,因此这里添加注释到标志),包P2私有导入P1。P2也包含带有公共可视性的B和C模块和私有可视性的模块F,P2也包含一个内嵌的Child
of P2包,其包含一个单一的公共可视性模块E。包P3有一个公共可视性模块C,并被导入到包P2中,但也导入模块C作为一个独立的元素,带有别名D来避免名称冲突。注:别名D被注释在导入关系上。
图6.8演示导入关系对命名的影响。显示一个图表示包P3,来自图6.7多个模型元素导入后的名称变化。模块B、C和D(一个别名对应P2::C)
由于它们是P3的成员,显示使用简单名称,它的名称是可视的由于P3已经导入P2。模块E不得不使用限定名称Child
of P2::E,。模块F不得不使用限定名称P2::F,由于它被定义为private和所以没有导入,但P2是可视的由于它处于相同的命名空间P3。模块A不得不通过它的完整的限定名称Model::P1::A,由于尽管它被定义带有公共的可视性。Model::P1被导入私有的到P2,由此在P2中不可见,并没有导入到P3。
图6.8 包P3中的命名
图6.9显示一些导入关系在Standard Item Definitions包内部。它包含一个可重用模型库的一个例子称为SI
Definitions其被定义在SysML包内。(SI定义包被定义作为一个标准化的模型库在SysML
v1.0的附录D。在SysML 1.3中,它已经被重命名为"SysML Quantity
Kinds and Units for ISO 80000-1",但为了简便,我们依然使用原始名称[1]。),SI
Definitions包提供单位制的公共集对应使用整个模型,被导入到SI Types包,。SI
Types依次被导入对应使用在许多其它内部的包,其中之一是Standard Item Definitions包其包含信息、材料和能量流动的定义在整个监测系统中。
图6.10 Camera Performance视图中显示了一些类型的依赖关系, 摄像头性能的定义在图6.11。Video
Stream Rate约束模块是一个Video Performance需求更精确的细化(refinement)。Video
Stream Rate使用一个兆字节每秒定义(Mbps)作为它定义的部分。活动Generate
Video Outputs被追溯到Video Stream Rate,如果约束发生变更,活动的性能可以需要来被重新评估。Generate
Video Outputs被分配到Camera来说明,摄像头的职责是执行那个活动。这些模型元素的详细描述在本章的后面。
指定视图和视点
容器层次包提供一个模型的基础组织。然而,合并跨越多个命名空间一组模型元素时,它常常是有用的,支持一个特定的利益相关者的视角的一个视图。SysML引入视图和视点的概念来促进这一点。视图和视点术语在SysML中被常常认为与IEEE
1471标准协调,“Recommended Practice for Architectural
Description of Software-Intensive”[18]。