没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记160(2006)141-155www.elsevier.com/locate/entcs具有可变性的UML 2.0交互的语义Mar 'ıa Victoria Cengarle维多利亚·森加勒1,2慕尼黑大学信息技术学院b. 德国慕尼黑Peter Graubmann彼得·格劳布曼1,3Siemens AGCorprateTechnology,慕尼黑,德国Stefan Wagner斯蒂芬·瓦格纳1,4慕尼黑大学信息技术学院b. 德国慕尼黑摘要在UML 2.0的相互作用,在以前的工作中提出的可变性的表示方法,进一步形式化,并给出了一个数学形式化的语义。通过这种方式,UML 2.0交互可以用于领域和应用工程任务中系统家族的概念和开发。在从领域到应用工程的过渡作为一种配置努力之后,根据给定的配置,可变性的定义由扩展到可变性指定的特征的普通交互的指称语义来捕获。 一个基于以前的例子 案例研究阐明了由此定义的语义保留字:UML交互、可变性、系统族、产品线、形式语义1引言系统族开发的主要特点是关注可变性。这一概念贯穿于领域和1这项工作是部分赞助的BMBF内的尤里卡EQUIPMENT! ITEA项目ip0004CA FE'和ip02009FAMILIES的2023计划,以及D FG项目注入时间。2电子邮件:cengarle@in.tum.de3电子邮件:peter. siemens.com4电子邮件:wagnerst@in.tum.de1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.05.020142M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141系统族的应用工程任务。对于许多必要的步骤,对组件行为的全面详细描述是必不可少的。由即将到来的UML 2.0标准[13]定义的UML交互,以及同源的消息序列图(由ITU-T [8]标准化),已经证明 成为行为描述的一种非常有用的手段,在工业界和学术界得到广泛接受和广泛使用。然而,这两种语言变体都缺乏明确描述可变性的可能性。在本文中,我们提出了一个适当的语言扩展的语言构造,并提供了一个正式的语义。为此,我们使用UML交互的形式主义;然而,结果可以很容易地转移到消息序列图(MSC)。通常,UML交互指定系统和组件实例之间的消息交换。消息是按照生命线排序的,标准操作符允许描述更复杂的行为,例如交互的并行或迭代组合。为了描述可变性,引入了算子变量,它指定了取决于系统族如何被构造的可选行为。此外,我们扩展了UML与操作符repeat的交互,允许重复的实例与完整的消息交换模式;这是有用的,当实例的确切数量取决于系统家族的配置。最后,引入了变量作用域的概念。[16]中采用了另一种方法,其中提出了几种定型观念,包括可选的生命线和变体对于UML序列图,在[17]中定义了相应的UML Profile。与此相反,这种方法,我们phasise的参数性质的变化和系统化的描述,通过运营商。KobrA [1],一个专门关注系统家族开发的开发过程,也使用了原型变体,但没有将其描述为具有形式语义的操作符。纲要在第2节中,描述了UML交互的拟议扩展及其在产品线工程中的使用。第3节介绍了与变量交互的抽象语法。之后,第4节为这些扩展配备了指称语义。第5节阐述了来自[15]案例研究的与重复和可变性的更多参与的相互作用的意义。最后,第6节通过讨论我们的建议的优点和提示未来工作的可能方向来结束。2与变量的我们首先介绍了我们提出的扩展UML交互的非正式条款,并描述了我们的基本概念,如功能或变异点,以及它们之间的关系的理解M.V. Cengarle等人/理论计算机科学电子笔记160(2006)1411432.1从特征到变化点特征是域中系统的基本方面或特征。特性可以被描述为必须被实现、测试、交付和维护的可识别的抽象;参见[11]。我们遵循[14],并将系统族视为在某些重要方面相似并具有不同功能(例如,具有不同安全级别的版本)的软件产品的集合;参见[12]。在这种情况下,特征的概念获得了新的意义。一个特征有一个(唯一的)标识符和一些相关的值,这些值可以是特征本身。功能可以是强制性的、可选的或替代其他功能。 比如说, 可以是汽车收音机,即收音机和可选的媒体再现器,盒式磁带播放器或CD播放器,其播放可以被RDS(无线电数据系统)广播中断。 请注意,我们故意不要求功能必须对用户可见。这是因为我们还想对隐藏在产品内部的技术特性存在有系统的方法,如FODA [10]和FORM [11],一方面有助于识别系统内的共性和可变性,另一方面,将几个特征组织成一个和/或树。在本文中,我们假设特征模型是通过这些或其他方法中的任何一种来构建的。与上面的汽车无线电示例相关联的和/或树在图1中描绘1.一、无线电汽车收音机媒体再现器盒式磁带播放机图1. 和/或树为汽车收音机特性和可变性也存在于用例中,但我们特别强调了单独的特性模型的必要性。在[ 7 ]中也强调了对特征模型的需求:用例是面向用户的,目的是确定系统系列的要求,而功能是面向再用户的,目的是组织系统系列的通用性和可变性分析的结果。在系统的用例中,可变性由变化点反映。这些是用例中发生变化的位置,并且根据要选择的特征,在一个或多个变体中捕获变化;参见[3,6,9]。 在本文中,我们将用例理解为能够完整地描述各种系统使用,特别是包括所有系统层(例如,低级别冗余)。变异点和变异有一个(唯一的)标识符。非强制性特征被映射到零个或多个变化点的变体(如果特征是和/或树的叶子,则是一个或多个变化点的变体),并且每个变体与至少一个非强制性特征相关联。 双单义的变体和特征可以 做个好人。强制性特征在此范围内没有多大意义,因为它们说明:强制性任择替代144M.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特征之间的依赖关系以及与其选择相关的约束问题是不存在的。这项工作的范围。M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141145变体(变式-1)M1M2M4M3变体(变式-2)O3:C3氧气:二氧化o1:C1• 消息m2仅在生命线对应于对象o3:C3时发送实际上是存在的,即,如果所选配置包括该对象,• - 仅当修改垂直尺寸的变量存在于所选配置中时才发送消息m3,以及• 消息m4仅在o3:C3的生命线存在且变量对于垂直维度,选择。因此,在汽车无线电示例中,只有在媒体再现器以及RDS传输广播接收设备存在于所选择的变型中的情况下,才可能存在由无线电天线发送到媒体再现器的中断信号。图2.交互中出现的变体操作员重复复制交互。在repeat(Y)(m,n,S)中,集合Y包含要重复的生命线,m和n是Y中生命线要重复的最小和最大次数,S是重复实例发生的交互。因此,repeat类似于已经可用的循环操作符。loop在相同的实例之间重复消息交换模式,repeat则重复给定实例及其整个消息交换(两者都是,往返于重复的实例和不重复的实例)。因此,对于从重复实例离开或进入重复实例的每个消息,假设其所有重复结束分别源自共区域中的运营商外部,也就是说,并发地完成这种消息的所有副本的发送或接收。重复的实例在图形符号中被定型为rep与循环操作符一样,重复操作符也允许指定所需重复次数的下限和上限(可能无限),由于变化,这些重复次数可能取决于自然数变量。 因此,重复操作符允许引入可变数量的实例(这意味着,可变数量的对象或组件实例化),这在处理变化时经常是必要的(例如,参见图6中的示例,其中变化交互指定了不同数量的运输工具)。图3(a)中给出了一个简单的重复使用的示意性例子,图3(b)中给出了其分辨率。方括号之间的生命线部分,如图3(b)中对象o的生命线,指定了一个共域,表示在该部分内发生的事件是无序的。146M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141一nMaltORepy重复(2,2)一一nnMMalty2y1O(a) 与重复的相互作用,以及(b)其分辨率图3.操作符重复的使用和解决方案对于运算符,有两种类型的变量要引入。一个来自配置,通常表示要配置的实体的数量。 这类变量必须在交互头中定义。另一类变量是实例变量,它们对于重复操作符是必不可少的,但在其他上下文中也显示出它们的有用性。在进入序列图或重复时,实例变量被绑定到交互的实例。为了能够处理这些变量,我们为交互引入了显式的作用域概念。变量总是绑定到作用域,例如,repeat操作符通常绑定实例变量。为了更加灵活,我们使用操作符sd(序列图)来确定变量的作用域。当一个交互是一个更大的循环的一部分时,这一点很重要,交互应该能够具有更大的灵活性,并交替地涉及不同角色的相同实例。与repeat操作符类似,在本例中,我们将原型var附加到任何变量instance.3抽象语法UML交互的具体语法被扩展了,如上所述,使用了用于变化和重复的操作符,以及用于定义局部变量的块构造操作符。 这种具体的语法以某种方式映射到本节介绍的抽象语法。任何前端编辑器都可以完成这种映射,这超出了本文的范围我们假设消息M和实例I有两个本原域,用N表示自然数(包括零)的集合。我们进一步假设类型变量的可数集合X=(Xτ)τ∈T,其中T表示一组类型,包括实例的Inst,每个实例都有一个从类图继承的相关分类器,自然数的NatI<$X Inst,N(X)表示N<$X Nat。事件e可以是snd(s,r,m)形式或rcv(s,r,m)形式,分别表示消息m∈M从发送方实例 s∈I(X)到接收者实例r∈I(X)。通过E(X),我们表示X中变量上的事件集,通过E表示基础事件集(即,例如,没有变量的出现M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141147C∈--∈互动::=事件| CombinedFragmentCombinedFragment ::= sd({Instances})(Interaction)|strict(Interaction,Interaction)|seq(交互,交互)|par(相互作用,相互作用)|循环(自然,(自然|∞),相互作用)|忽略(消息,交互)|alt(交互,交互)| 阴 性 (相互作用)| a s s e r t (交互)|repeat({})(Times,(Times| ∞),相互作用)|变量(BExp,相互作用)::= 实例,|例如BExp::= BExpBExp|BExpBExp| BExp|(BExp)| 名称表1变量交互作用的抽象语法(片段)交互的抽象语法,如Tab. 1,是[5]中的一个,丰富了重复结构和变体,并包括具有范围的变量。事件范围在E(X)上,Nat范围在N上,消息范围在M的子集上,实例范围在XInst上,时间范围在N(X)上,名称范围在给定字母表的有限个符号串上。此外,skip表示空交互。运算符opt(−)定义为opt(S)=alt(skip,S),运算符考虑(、考虑(M,S)=忽略(M(X)M,S)。对于涉及运算符loop和repeat的元项,我们可以使用n来表示自然数或无穷大。UML 2.0的其他交互操作符,如break和critical,以及消息参数和条件,在这项工作中没有考虑。如果被所选配置丢弃,则忽略不一致规格的变体也就是说,给定一个配置,任何形式变量(B,S)的项,无论它出现在什么上下文中,如果配置满足布尔表达式B,则等价于S,否则跳过。在repeat(Y)(m,n,S)中,“S“是量化器“repeat(Y)“的作用域。变量y XInst的出现在相互作用S中是有界的,如果它是y在S中的一个数量因子“repeat(Y)“中的出现,或者它位于S中的一个数量因子“repeat(Y)“的范围内,其中y Y。 否则,该事件在S中是自由的。 变量在项sd(Y)(S)中的自由出现和有界出现的定义类似。定义良好的交互没有实例变量的自由出现。148M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141||||||i=1i=1pi=14指称语义具有可变性和重复的交互的语义基于普通交互的语义;参见[5]。一个普通交互作用S的语义说明了迹t对于交互作用是正的还是负的,分别写为t=pS和t=nS;如果t对于S既不是正的也不是负的,那么t对于S被称为不确定的。 扩展交互S的语义取决于在这种情况下,|=CpS和t|=CnS,an d表示迹线t分别为正。负的相互作用S由C确定。满足关系=Cp和=Cn的定义与普通相互作用的满足关系=p和=n的定义相同;参见[5]。 对于最外层操作数为以下之一的(子)交互,变量,重复或sd,满意度关系的定义见表1。2,其中涉及名称的配置和布尔表达式之间的满足关系如Tab中所给出的那样定义。3,其中Names(C)是配置C中所选特征的名称集合。不|=Cpv ariant(B,S),如果C|=B和t|=CpS或C|=B和t|=Cpskip不|=Cpre peat(Y)(m,n,S)如果<$σ:<$n{yi:y∈Y}→I. σ是内射的,不|=C parC(m,n)(S [y <$→ σ(yi):y ∈ Y])不|=Cpsd(Y)(S),如果σ:Y→I。 σ是内射的,不|=CpS[y <$→σ(y):y∈Y]不|=Cnv ariant(B,S)if t|=Cpv ariant(B,S)不|=Cnrepeat(Y)(m,n,S)如果t|=Cprepeat(Y)(m,n,S)t|=Cnsd(Y)(S)如果t|=Cpsd(Y)(S)表2交互的语义(片段)C |= B1<$B 2,如果C |= B1和C |= B2C| = B1<$B 2,如果C| = B1或C| = B2C|=<$B,如果C| = BC|=(B)如果C| = BC|= nameif name∈ Names(C)表3变条件重复运算符的上界和下界,无论它们是否可变,都用由配置确定的单个实际自然数来消除歧义。重复项(Y)(m,n,S)等价于parC(m,n)S[y<$→yi:y∈Y],其中M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141149CCCC--关于我们(m,n)是在重复指定的范围内的自然数;如果不存在这样的自然数,则(m,n)=0,重复等价于跳过。注意,我们利用了运算符par的结合性。此外,请注意,每次重复时都会发生实际实例对实例变量的替换(分别为:SD)操作员输入。这意味着,如果重复在循环构造中,则每次迭代都重新替换实例变量。如果这不是想要的行为,那么repeat操作符可以放在循环操作符之外。对于SD操作符也是如此。图中所示的相互作用2被称为S=seq(snd(o1,o2,m1),seq(rcv(o1,o2,m1),SJ)),SJ=seq(S1,seq(S2,S3))S1=变量(变量-1,S1,J)S1J= seq(snd(o2,o3,m2),rcv(o2,o3,m2))S2J= seq(snd(o2,o 1,m3),rcv(o2,o1,m3))S3= v ariant(变体-1和变体-2,S3J)S3J=seq(snd(o3,o2,m4),rcv(o3,o2,m4))有四种可能性,根据哪一种可能的变体被选择或删除。设是这个相互作用的一个配置,设t是一个迹线。则t对S是正的,如果它首先显示由o1发送并由o2接收的消息m1,(弱)随后是对SJ为正的相互作用tJ,同样由C确认。因此,迹线tJ必须是迹线tJ1和tj 2的(弱)顺序组合,TJ2,其中TJ1是对S1=v ariant(Variant-1,S1J)构型d由C. 这就是配置起决定性作用的地方:如果变量-1∈名称(C),则t j 1必须为或S 1 j的posive,否则tJ1必须为或跳过的posive,tJ1必须为空。很容易看出,满足迹t的其余t j 2的属性是什么,以及变体1是否∈ Names(C)。返回参考我们的图3(a)的示例,注意该交互对应于项alt(repeat(y)(2,2,Sam),repeat(y)( 2, 2,San)),也就是说,其主运算符是alt,因此两个重复的y实例必须选择相同的alt分支。如果重复的实例必须彼此独立地决定选择哪个alt分支,那么要指定的图就是图1所示的图4(a)对应于术语repeat(y)(2, 2,alt(Sam,San))。分辨率如图所示4(b). 这是一个简单的练习,可以证明这个替代术语是期望的行为;为了用图形化的方式来可视化它,我们需要在图中明确地标识出要通过原型rep重复的实例。[7] 关于弱复合 的语义细节,读者可以参考[5]。150M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141重复(2,2)一nMaltORepyOy1y2n一M一altn一M一altpar(a)与repeat和alt的相互作用,以及(b)其分辨率5为例图4.r e p e a t 和 a l t 的 用法和解析在本节中,使用了上述开发的语义,该语义来自关于MSC可变性的广泛案例研究[15]的示例。生产系统中的物质的合子流的规范被用作案例研究的基础。在这个生产系统中,自动驾驶汽车(HTF)在机床之间运输发动机零件,并在机床上进行加工。基本规格通过机床和运输车辆机构的几种变体进行扩展,以便将基本生产系统转变为更大的系统家族。所有这些变化都被纳入一个单一的参数化模型,允许基于系统功能的变体选择。系统族的特征模型以简化形式示于图5中。我们只研究以下相关的功能。合子输运系统是特征模型的基础。下面有趣的是代表系统的运输车辆的强制性特征HTF。这些车辆可以遵循固定路线,也可以在可变路线(VarRoute)上服务。在可变路线的情况下,我们可以决定是将工作订单分配给HTF的中央分销商(HDist)还是HTF之间的分布式协商过程(HNeg )。此外,可以允许系统中可变数量的HTF(HVarA)或在配置期间固定车辆数量(HFixedA)。...固定路由变路由HFixedAHVarAHDistHNeg图5. 子整体输运系统族(碎片)的特征模型我们只介绍一个典型的交互,因为整个案例研究将超出本文的范围。交互是用图形和第3节中的抽象语法描述的,为了提高可读性,如果不明确,则省略实例的类。从案例研究中选择的例子是图6所示的订单谈判的交互。它描述了机床和运输车辆之间可能进行谈判的具体场景。 如果相应的功能HTSHTF...M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141151¬sdNegOfOrder重复(ht-1,ht-1)jOrder变量(VarRoute)jBidjBid更新作业状态更新作业状态jEndOfNegotiation计算vjEndOfNegotiation计算v创造就业创造就业jOrderRephvarh:HTFvarw:InMachine变体(HFixedAHVarA)选择了,HTF可以在谈判过程中投标,以获得机床订单。 出价最高的HTF获得订单。 具体的示例性场景第一个出价是最好的,其他HTF只会等到他们得到谈判结束的消息。此外,即使没有协商,但HTF的路线是固定的,也可以有不同数量的HTF。选择该示例是因为它在垂直和水平维度中包含变量运算符,并且还出现了重复运算符。图6.订单谈判的互动使用第3节的抽象语法来命名相互作用。 的便利 的否定运算符在变体条件变得明显,并且具体语法的简洁性,即,与抽象语法相比, 请记住,在正常情况下,本文中所介绍的语言结构的用户将不必处理抽象语法,因为翻译可以通过UML工具透明地完成。SNegOfOrder=sd({w,h},seq(Sord,S1,S2))Sord=seq(snd(w,h,jOrder),rcv(w,h,jOrder))152M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141S1=variant(VarRoute),HFixedA,HVarA,seq(snd(h,w,jBid),rcv(h,w,jBid),snd(w,h,jEndOfNegotiation),RCV(w,h,jEndOfNegotiation)S2=variant(HFixedAHVarA,repeat({hJ},ht− 1,ht− 1,seq(snd(w,hJ,jOrder),rcv(w,hJ,jOrder),S1J)S1J =variant(VarRoute,seq(snd(h,w,jBid),rcv(h,w,jBid),snd(h,hJ,jBid),rcv(h,hJ , jBid ) , snd ( w , h ,jEndOfNegotiation),rcv(w,h , jEndOfNegotiation ) , snd(w,hJ,jEndOfNegotiation),rcv(w,hJ,jEndOfNegotiation)这两个变量w和h被约束在顶层,因为直觉是交互可以在系统运行期间执行多次,但最有可能的是每次都赢得投标的不同机床和不同的HTF。使用sd操作符绑定变量允许这样做。下面我们分析两个事件轨迹。给定来自配置的必要信息,我们希望通过语义来评估跟踪是否对交互NegOfOrder有效。设C是具有HFixedA∈Names(C),VarRoute∈Names(C)的配置,并且C(ht)=3。 也就是说,C将HTF的数量设置为三个,并让它们在M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141153|可变路线设t1为如下迹:t1=snd(w3:InMachine,h1:HTF,jOrder)·snd(w3:InMachine,h2:HTF,jOrder)·snd(w3:InMachine,h3:HTF,jOrder)·rcv(w3:InMachine,h1:HTF,jOrder)·rcv(w3:InMachine,h3:HTF,jOrder)·snd(h1:HTF,x:InMachine,jBid)·rcv(w3:InMachine,h2:HTF,jOrder)·rcv(h1:HTF,w3:InMachine,jBid)·snd(h1:HTF,h2:HTF,jBid)·rcv(h1:HTF,h2 : HTF , jBid ) · snd ( h1 : HTF , h3 : HTF ,jBid ) ·rcv ( h1 : HTF , h3 : HTF , jBid ) · snd(w3:InMachine,h1:HTF,jEndOfNegotiation)·snd ( w3 : InMachine , h3 : HTF ,jEndOfNegotiationn)·snd( w3:InMachine,h2:HTF,jEndOfNegotiationn) ·rcv( w3:InMachine,h3:HTF,jEndOfNegotiationn)·rcv(w3:InMachine, h1:HTF, jEndOfNegotiation)然后,t1=CnSNeg Of Order,sinceint1接收到消息jEndOfNegotiation从InMachine到第一个重复实例h2丢失。进一步设CJ是具有HFixedA/∈Names(CJ),HVarA/∈的name(CJ)和VarRoute∈Names(CJ),设t2为以下迹:t2=snd(w2:InMachine,h3:HTF,jOrder)·rcv(w2:InMachine,h3:HTF,jOrder)·snd(h3:HTF,w2:InMachine,jBid)·rcv(h3:HTF,154M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141CC|w2:InMachine,jBid)·snd(w2:InMachine,h3:HTF,jEndOfNegotiationn)·rcv( w2:InMachine, h3:HTF, jEndOfNegotiation)那么,t2是SNegOfOrderconfiguredbyy的位置迹杰岛 例如, t2=CpjSNegOfOrder. 然而,请注意,考虑到图5中的特征模型,j不是一个有效的配置。也就是说,t2不是系统族的有效跟踪。换句话说,特征依赖性在系统族的规范中起着至关重要的作用M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141155CC这个问题超出了目前工作的范围,语义学以上的重点一个不同的问题。我们假设独立检查这些依赖关系,因为这种检查是在不同的抽象层上进行的,而且要在开发的早期阶段执行。对于一个详细的调查,读者可以查阅,例如,[2]。6结论上面提出的语义补充并细化了[4]中提出的对UML 2.0交互的扩展。算子变体(B,S)指定了一个可选的相互作用S,它在配置相互作用中的存在取决于隐含布尔表达式B的配置。在此上下文中,布尔表达式B是名称(或要素)、求反布尔表达式、合取或析取 布尔表达式。如果一个构形选择了一个名称的特征,那么这个构形就满足了这个名称;否定、合取和析取的满足就像往常一样被定义。因此,可选的交互S可以添加交互和生命线,如在Sect.五是要从[15]中提取为了复制类似的生命线,当它们的确切数量事先未知时,可以利用操作符repeat(Y)(m,n,S)。在进行配置时,生命线的数量已消除歧义,即Y中的实例重复(m,n)=k次,其中k是由配置大于或等于m,并且如果重复被给予有限上限,则另外小于或等于n。如果不存在这样的k,则e。G.在m和n是由配置设置为自然数的变量的情况下,使得不可能选择合适的k,则该术语等价于skip。repeat(Y)(m,n,S)的语义由正满足交互作用的迹集给出通过将Y中列出的变量生命线复制k次并将这些复制的实例变量替换为合适的类型。 在某种意义上,重复定义了一个存在的量化器。我们引入了进一步的绑定操作符sd(Y)(S),它允许声明交互S的局部实例变量Y。在语义上,sd(Y)(S)等价于repeat(Y)(1, 1,S)。然而,我们更倾向于定义一个不同的运营商,以保持关注的分离。正如在[ 4 ]中已经指出的,这些算子已经被证明对于[ 15 ]中报告的相关案例研究是足够的;然而,我们并没有提出这样的主张,即这里提出的扩展确实能够应付系统族可能存在的每一个变化。新引入的算子的语义的数学精确形式化引起了轻微的调整 如前几节所述通过这种方式,我们已经为UML 2.0交互提供了正式而简洁的可变性规范。 在该语言的下一个版本中,我们将包括一个重新配置机制。考虑到UML和MSC在工业规模开发中的接受程度,以及配置管理的紧迫性以及系统系列(或产品线)的使用,156M.V. Cengarle等人/理论计算机科学电子笔记160(2006)141处理更大规模的软件系统,我们相信这种方法的实用性。引用[1] 阿特金森,C., J. B ayer,C. Bunse,E. 卡姆斯蒂岛 莱特恩贝格河Laqua,D. 穆蒂希湾 Pae ch,J. 王文,“以统一建模语言为基础之产品线工程”,中华民国软件工程师[2] Ben avides , D. , P.Trinidad 和 A.Ruiz-Cor t'es, Automat edReasoningonFeatureM odel s , in :17thConference on Advanced Information Systems Engineering ( CAiSE'05 , Proceedings ) ,LNCS 3520(2005),pp. 491-503.[3] Buhne,S.,G. Halmans和K. Pohl,基于用例图中的变化点的开发方法,在:第9届国际需求工程研讨会59比69[4] Cengarle,M.五、P. Graubmann和S. Wagner,From Feature Models to Variation Representation inMSC , in : J.Bosch , editor , 2nd Groningen Workshop on Software Variability Management(SVM49比60[5] C E GARLE,M. V. 和A. Knap p,UML2.0Interer ractions:SemanticsandRefinement,in:J. Jurjens , E.B.费 南 德 斯 河France 和 B.Rumpe , editors , WorkshoponCriticalSystemsDevelopmentwithUML(CSDUML'04,Proceedings)(2004),pp. 85比99[6] Clements,P. and L. Northrop,[7] Griss,M. L.,J. Favaro和M. d’Alessandro, 七十六比八十五[8] 国际电信联盟,ITU-T建议Z.120(11/99):消息序列图(MSC)(2001),通用版本。[9] 雅各布森岛,M.林志玲,[10] 康,K. C.的方法, S. G. 科恩,J. A. Hess,W. E. Novak和A. S. 彼得森,面向数据库的领域分析(FODA)可行性研究,技术报告CMU/SEI-90-TR-021,卡内基梅隆大学,软件工程研究所(1990年)。[11] 康,K. C.的方法,S. Kim,J. Lee,K. Kim,E. Shin和M. Huh,FORM:A Quarter-Oriented ReuseMethod with Domain-Specific Reference Architectures,Annals of Software Engineering5(1998),pp.143-168[12] Nitto,E. D.和A. Fuggetta,产品系列:问题是什么?第10届国际软件过程研讨会(ISPW51比53[13] 对象管理组,统一建模语言规范,2.0版(采纳草案),技术报告,OMG(2003)。[14] Sutton,S. M.,Jr.和L. J. Osterweil,Product families and process families,in:10th InternationalSoftware Process Workshop(ISPW109-111[15] 瓦格纳,S.,M.陈文辉,信息序列图在系统设计中的应用,北京科技大学出版社,2004年。[16] Ziadi,T.,J. - M. 我也是。冯德铭,用UML进行线性推导,载于:软件可变性管理研讨会(会议录)(2003)。[17] Ziadi , T. , J. - M.我 也是 。 Fondement , TowardsaUMLProfl eftwarePro d uctLines , in : 5thInternational Workshop on Software Product-Family Engineering ( PFE'03,Proceedings),LNCS3014(2004)。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功