M.V. Cengarle
等人
/
理论计算机科学电子笔记
160
(
2006
)
141
必须像任何其他系统特性一样出现在相应的用例
对于系统族的重用者来说,这些信息中的每一个都是相关的:特征模型、用例
模型及其变化点和变量,以及与两个模型相关的映射。从这些特性中得出的要求同
样重要,因为它们构成了系统设计的基础。然而,它们与特征模型的关系,以及交
互中的可变性描述以及它们的可追溯性在本文中没有得到解决,并留给进一步的研
究。
2.2
从变化点到相互作用
变体以某种方式反映在系统的相互作用规范中,我们称
之为变体发生
。 这些扩展
了UML交互,作为二维图,可以在水平或垂直维度上进行修改。在第一种情况下,
修改通过添加或删除实例(即生命线)来实现。在第二种情况下,通过添加、删除
或重新排序交互(即消息和信号)以及通过添加、删除或更改条件。当然,结果必
须是有效的相互作用。
我们故意不诉诸于并行或替代执行的交互构造(即,运营商分别alt及其派生选
项),因为配置管理是在不同的抽象级别上执行的。虽然这些操作符允许即时决定
遵循哪个分支,但我们将配置理解为在部署软件时在几个可选特性中的选择,并且
在这方面不会发生动态变化。因此,我们将关注点分开。然而,对于软件来说,运
行时的可变性是一个问题,例如新功能的动态加载。这一进一步的重新配置步骤将
在本提案的下一版本中处理
UML交互语言主要由两个操作符扩展:可变操作符变体( 、 )和重复操作
符repeat( )( 、 、 )的。
5
可变性运算符旨在捕获特征模型中定义的可变
性。在变体(B,S)中,相互作用S与B给出的特征上的表达式相关联.如果所选
择的配置需要B,则S包含在配置系统中。这意味着,变体交互依赖于特征名称
上的表达式,该表达式指示需要该变体的特征的星座
[6]
图2中显示了算子变体的
示意图,取自[4]。其中,虚线框包围的区域表示变体occurrence-1。它们由变
量名称及其参数列表标记;变量出现的第二个参数,即交互作用,就是下图
标签和虚线框内请注意,在图。2
•
该图要求将消息M1从对象O1:C1发送到对象O2:C2,
5
在基于MSC语言的[4]中,我们为高级MSC(HMSC)引入了可变性操作符vp(−)的进一步外观;在UML交
互中,该操作符被包含在
变量(−,−)。
6
特征之间的依赖关系以及与其选择相关的约束问题是不存在的。 这项工作的范围。