《SysML精粹》学习记录--第九章

SysML的参数图用于展示系统的约束模型,通过数学表达式定义合法值范围。参数图强调值属性与约束参数的绑定关系,可用于工程分析和模拟。约束模块封装约束表达式,值属性提供约束参数值,两者间的绑定通过绑定连接器表示。参数图可显示模块内部结构,提供系统设计的数学视角。
摘要由CSDN通过智能技术生成


第九章:参数图

参数图简介

  参数图是一种独特的SysML图,它用于说明系统的约束。这些约束一般以数学模型的方式表示,决定运行系统中一系列合法的值。只有参数图能够向利益相关者传递这些数学模型。SysML可以把等式和不等式建立为约束模块。约束模块是一种特殊的模块,其中封装了约束表达式——需要建模的等式或不等式。在SysML模型中记录约束表达式只是一种末端的方法。通过在模块的值属性上指定固定的数学关系,可以得到:1)指定运作系统中关于可用系统值的断言(从而检测例外条件的出现);2)在建模者的系统模型中使用模块,为设计阶段的工程分析和模拟提供输入信息(并捕获输出信息)。
  参数图适用于:1)为了显示不同约束表达式中约束参数之间的绑定关系,以创建等式(或者不等式)的复合系统。2)为了显示约束参数和值属性之间的绑定关系,以向模块应用约束表达式(与此同时,在一系列值属性上指定固定的数学关系)。
  SysML把参数图定义为一种特定的内部模块图。和IBD一样,参数图会显示模块的内部结构,但是更加关注值属性和约束参数之间的绑定关系。参数图和BDD就像IBD 和 BDD一样,提供了模块的相补视图。BDD是一种图,创建它是为了显示模块和约束模块的定义。而参数图会显示对那些模块和约束模块的使用,关注值属性和约束参数之间的绑定关系。理论上可以在系统生命周期的任意阶段创建参数图,实际上并非所有建模团队都必须创建SysML参数模型。

参数图元素

  参数图的类型缩写是par。图外框代表的模型元素类型可以是以下二者之一:1)block(模块),2)constraintBlock(约束模块)。当参数图代表约束模块的时候,图只会显示约束属性,以及形成那个约束模块内部结构的绑定。当参数图代表一个模块的时候,它首先显示的是模块的值属性和约束属性之间的绑定。但是,它还可能显示模块的组成部分属性和引用属性,只要它们包含被关注的内嵌值属性。
  约束属性是在某些拥有它的模块上下文中对约束模块的使用,即约束属性的类型会由建模者在模型某处定义的约束模块决定。在BDD中,约束属性可以在拥有它的模块的约束分隔框中以字符串显示。还可以用复合关联关系组成部分端的角色名称来显示它(其中组成部分端的元素是决定约束属性类型的约束模块)。在一幅参数图中,约束属性可以表示为圆角矩形。显示在圆角矩形中的字符串的格式和约束分隔框中的字符串格式一样:“<constraint name> : <type>”。约束名称(constraint name)是建模者定义的。约束属性(type)的类型必须是约束模块。当给定的约束属性同时显示在BDD和参数图上时,在这些视图中出现的约束属性在名称、类型以及拥有的一系列约束参数上都必须一致。
  约束参数是显示在约束表达式中变量的正式叫法。在BDD上,约束参数可以显示为拥有它的约束模块的参数分隔框中的字符串在参数图上,约束参数会显示为附着在边缘上的小方块,它位于约束属性的内部。图代表约束模块时,约束参数还可以附着在参数图的外框上。在BDD和参数图上的约束参数名称字符串的格式都一样:“<parameter name> :<type>[<multiplicity>]”。参数名称(parameter name)是建模者定义的,类型(type)是建模者在模型某处定义的值类型(SysML 允许约束参数的类型由模块决定,但这种方式的意义并没有定义清楚,建模者很少在日常实践中这样使用)。多重性(multiplicity)代表约束参数能够持有的特定类型值的数量限制。如果没有显示,那么多重性是默认的1…1。在 BDD中和参数图中出现的约束参数名称字符串也必须一致。
  值属性是在拥有它的模块的上下文中对值类型的使用,即值属性的类型由建模者在模型某处定义的值类型所决定。值属性可以代表模块的数量特征,也可以代表布尔值或者字符串。值属性在参数模型的情景下很重要,因为它们为约束参数提供了值,从而可以让建模者(或者解方程工具)对约束表达式估值。在BDD上,值属性是在拥有它的模块的值分隔框中显示的字符串。在(代表模块的)参数图上,值属性会显示为带有实线边的矩形。(约束模块不能拥有值属性,即约束模块只有参数parameter而没有值属性value properties。)显示在参数图上矩形中的名称字符串和值分隔框中的字符串格式相同:“<value name> :<type>[<multiplicity>] =<default value>”。值的名称(value name)是建模者定义的,类型(type)仍然必须是建模者在模型某处定义的值类型。多重性(multiplicity)代表值属性能够持有的特定类型值的数量限制。默认值(default value)是一段可选的信息;当显示的时候,它代表赋给值属性的特定值,赋值是在系统操作过程中(或者在分析时间)任何其他值被赋予之前进行的。当一个值属性属于在参数图头部显示了名称的模块时,那个值属性的矩形标识就会出现在图外框之内的某处(即图外框本身是封装值属性的边界)。可以使用点标识法或者内嵌标识法,在一幅参数图中显示一个深度内嵌的值属性。当使用点标识法的时候,值属性的矩形会内嵌在图的外框之中;它不会包含在任何其他边界之内。矩形框中的字符串表示,实际上值属性是深度内嵌的。点标识的字符串包含了层级关系中所有组成部分属性(以及引用属性)的名称,直至值属性本身的名称。值属性的类型会显示在字符串末尾的冒号之后。但使用内嵌标识法的时候,值属性会显示在拥有它的组成部分属性或者引用属性的边界之内。组成部分属性会显示为带有实线边界的矩形框,引用属性会显示为带有虚线边界的矩形框。值属性和组成部分属性的标识法相同,都是带有实线边界的矩形。区别在于:值属性会与约束参数绑定,而组成部分属性不会。
  SysML定义了一种特殊的连接器,叫做绑定连接器,它只代表附着在两端的两个元素之间的等价关系。那两个绑定元素之中的一个必须是约束参数,另一个绑定元素可以是一个值属性,也可以是另一个约束参数(在不同的约束表达式中)。绑定连接器可以只显示在参数图中。绑定连接器的标识是一条实线,它附着在两个绑定元素的边界上。绑定连接器并没有传达方向的概念。当值赋给一个值属性的时候(可能是在系统操作期间,或者是分析执行时间内)在绑定连接器另一端的约束参数马上会被赋予相同的值。然后那个值可供拥有约束参数的约束属性所用,从而出现以下两种情况之一:1)约束属性被估值为真或假(如果值被提供给表达式中的所有参数);2)对于没有跨绑定连接器接收值的约束参数,会计算一个值(如果值被提供给所有其他参数)。约束属性并不一定是因果关系。任何表达式中的约束参数都不会提前赋值,成为独立的变量。即便约束表达式中有和另一端无关的变量也是一样。独立变量可以在每次分析执行的时候,根据哪个值属性接受了赋值而改变。

小结

  参数图说明了一系列约束(一般是等式和不等式),它们决定了主要执行操作的系统中可用的值。参数图是SysML的9种图中唯一一种可以表达系统设计这方面内容的图。并非所有建模团队都需要创建系统的数学模型,从而达到在项目计划中定义的模型目的。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zszyejing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值