没有合适的资源?快使用搜索试试~ 我知道了~
Journalof King Saud University沙特国王大学沙特国王大学学报www.ksu.edu.sawww.sciencedirect.com管理OAM P要求冲突Zohair Chentouf沙特阿拉伯利雅得沙特国王大学计算机和信息科学学院接收日期:2013年10月24日;修订日期:2013年12月5日;接受日期:2014年3月13日2014年5月9日在线发布在项目早期阶段提供一致的服务是电信业务工程的一个挑战。业务逻辑不一致,也称为功能交互(FI),可能会影响从信令协议功能到增值最终用户服务的各种类型的业务。已经针对所有这些类型的服务调查了这个问题然而,操作、行政、管理和供应(OAM P)服务的不一致性本文研究了在软件需求描述阶段对OAM P服务不一致性的检测。目的是在进入执行阶段之前解决问题。这里报告的方法的基本思想是考虑作为软件需求约束的服务不一致性。本文的贡献包括一个OAM P需求建模语言和一个需求冲突检测方法。最后,通过一个案例进行了验证2014年沙特国王大学。制作和主办:Elsevier B.V.All rights reserved.1. 介绍当两个或多个服务一起运行时,功能交互(FI)问题就会出现,至少有一个服务以不期望的方式进行交互在围绕分组交换网络构建的新兴事实上,多种网络的融合意味着服务复杂性、应用分布、技术异构性、多供应商参与和用户可编程性。所有这些方面都使FI问题管理变得更加困难。电子邮件地址:zchentouf@ksu.edu.sa沙特国王大学负责同行审查已 经 在 电 路 交 换 网 络 中 研 究 了 FI 问 题 ( Amyot 和Logrippo ,2003; Calder 和Magill ,2000;Dini 等人,1997;Du Bousquet and Riccient,2007; Kimblerand Bouma,1998;Nakamura and Reiff-Marganiec , 2009;Reiff-Marganiec andRyan,2005),但仍然没有完全令人满意的解决方案。大多数FI检测研究使用形式化方法。服务是使用正式语言建模的。然后,正式的技术被用来检测可能的相互作用。常用的形式化技术是时态逻辑(Blom,1997)、定理证明(Gammelgaard和Kristensen,1994)、Petri网(Nakamura等人,1997)、扩展有限状态自动机(例如SDL语言)(Gibson和Mery,1997)和进程代数(例如LOTOS语言)(Amyot等人,2000年)。非正式的方法也用于检测FI。例如,Charnois(1997)使用自然语言处理来识别服务逻辑的文本表示之间的交互。Cherkaoui和Khoumsi(2002)提出了一种基于软件代理的解决方案。Kolberg和Magill(2001)和Amer等人(2000)设计了谈判代理人,试图满足最终的偏好1319-1578年< $2014年沙特国王大学。制作和主办:Elsevier B.V.All rightsreserved.http://dx.doi.org/10.1016/j.jksuci.2014.03.004制作和主办:Elsevier关键词需求工程;服务管理;服务设计管理OAM P要求冲突297用户和网络运营商。文献的完整调查可以在Calder等人,2003 年 。 在 分 组 交 换 网 络 中 , 几 年 前 开 始 研 究 FI(Chentouf和Khoumsi,2013; Chentouf等人,2003 a,b,c;Lennox andSchulzrinne,2000; Rizzo and Garyfalos,2000).在这篇文章中,我们感兴趣的是在OAM P系统中的FI问题的研究。OAM P服务设计已经被广泛研究。例如,在McKiou和Buckley,2003中,作者设计了面向UTRAN对象的OAM P系统。在Silverman等人的研究中,2000年,研究了快速和更容易的服务创建、服务和网络管理的问题。在Donadio等人的研究中,2009年,提出了一种&基于TMN、Web服务和软件代理的面向服务的OAM P框架。在Lavinal等人的研究中,2009年,设计了一个基于多Agent的自适应OAM& P框架。Charcranoon等人,2005年详细阐述了&光突发交换(OBS)网络的OAM P架构。在Modarresi和Mohan(2000)中,作者讨论了与下一代网络的统一控制和管理相关的挑战和机遇。 然而,在所有这些研究工作中,FI问题没有被研究。相对于通信服务领域的金融创新研究成果而言,OAM P FI方面的研究成果相对较少。 Chi等人(2003)分析了光网络的呼叫控制服务和管理协议功能之间可能发生的交互问题。作者提出了检测和解决这些问题的一般准则. Ilic'etal. (2006)报告了一种系统的增强,该系统允许服务设计者指定多个通信网络之间的高级互操作服务,包括管理特征。Georgatsos等人(1997)声称电信管理网络(TMN)功能层在处理PSTN中的FI中作者对TMN的某些业务功能提出了一套后三项研究工作没有产生FI检测和分辨率程序。我们认为,FI研究界对OAM P FI的问题不感兴趣,因为重点一直放在通信和通信控制服务上。据我们所知,仅Chentouf(2012)研究了OAM P层中的FI。与Chentouf,2012相比,本文有许多优点。首先,在需求软件阶段解决了OAM P FI。检测OAM P需求冲突允许工程师解决并有效地防止不一致性沿着软件过程的后续阶段在后续,我们将使用“需求约束”来说明“被与Chentouf,2012相比,本工作的第二个优点包括从称为KAOS的标准和众所周知的需求建模语言导出OAMP需求建模语言。作为直接结果,可以检测到更多类型的FI。本工作的另一个优点是,所提出的解决方案的一致性和计算复杂性进行了研究。这两部研究著作之间的一个更详细的比较将是在第5节中介绍。在目前的工作中提出的需求冲突检测方法是相同的FI:建模项目(需求),然后比较项目模型对,以检测可能的相互作用。这里提出的解决方案假设大多数需求工程师仍然使用自然语言来编写需求。根据一项实地调查,和Pierluigi,2004),71.8%的需求文档是用自然语言编写的。这一事实促使我们基于自然语言进行需求建模。 因此,我们提出了一个受控的自然语言结构,扩展巴科斯-诺尔形式(EBNF)的基础上,一个自动化的需求编写工具。因此,需求分析师被假定使用这样的自动工具而不是普通的文本编辑器来编写需求。为了使所提出的EBNF能够捕获OAM P需求的语义,它已被详细阐述为对KAOS(Objectiver,2007)(著名的需求建模语言)的解释。提出了一种基于EBNF的需求冲突检测方法。研究了该方法的一致性、完备性和计算复杂性.通过一组概念验证实例对研究结果进行了验证。论文的其余部分如下。我们首先在第2节中介绍需求建模研究。我们在第3节中概述了我们的OAMP需求建模语言。我们在第4节中描述了所提出的OAMP特征交互检测方法,包括对该方法的一致性、完整性和计算复杂性的研究。第五节考察相关工作。第6节通过案例研究描述了该方法的验证第七节是论文的结论。2. 建模需求需求建模语言(RML)通常包含概念和关系建模方法。一些RML包含实现搜索查询的自动化过程(Jureta等人,2010年)。 早期RML包括RML(Greenspan等人,1986)和ERAE(Dubois等人,1988年)。后一种语言的本体论被 认 为 是 有 限 的 ( Greenspan 等 人 , 1994 年 ) 。 KAOS(Dardenne等人,1993)和i*(Yu,1997)有更丰富的本体论,其核心是系统和利益相关者目标的概念。VanLamsweerde(2000 a)将目标定义为 Telos(Mylopoulos等人,1990)采用了一种不同的方法:在语言本身中放入构建本体所需的设施。在本文中,我们对KAOS感兴趣,它是一种目标导向的需求工程方法,而不仅仅是一种建模语言(Dardenne等人 , 1993;Darimont 和 VanLamsweerde , 1996;VanLamsweerde,2001; Van Lamsweerde和Willemet,1998 b;Van Lamsweerde等人, 1995年)。选择KAOS的动机是,KAOS 环 境 是 可 用 的 , 并 已 用 于 大 规 模 工 业 项 目(Darimont等人,1998年)。KAOS方法包括(i)eliciting和分解目标,(ii)从目标中导出对象和操作,以及(iii)引出对对象和操作的需求以满足目标。底层本体包括许多概念:对象、操作、代理和目标。它还包含关系:性能、聚 合、 组 成和 继 承( Dardenne 等 人, 1993;Objectiver ,2007; Van Lamsweerde和Letier,2000 b; VanLamsweerde等人,1998年a)。KAOS允许分析人员在需求定义过程中逐步并同时构建术语表。术语表由UML类图组成,其中引出了系统构建298Z. 申图夫KAOS语言由两部分组成。第一种是语义网(Brachmanand Levesque,1985),用于对系统的目标、需求、代理、对象和操作进行概念建模。 第二个组件是可选的。它由一个时间逻辑(Koymans,1992)组成,用于指定目标,需求和对象。分析师可以使用这个组件将概念建模部分形式化为时态一阶逻辑理论。然而,需求分析师和涉众通常不熟悉形式逻辑(Gervasi和Zowghi,2005),这就是为什么这个模块不被期望在需求过程的开始使用。其目的是验证是否满足要求(即,检查属性是否满足目标)(Objectiver,2007)。图1描绘了以KAOS的图形语言编写的示例。它概括了电梯系统的一些要求:“当乘客按下电梯系统的按钮时,系统刷新电梯控制器必须执行的指令列表(重新调度)。电梯制造商将立即使用新的时间表“图1示出了3. 建模OAM P需求为了检测OAM P需求冲突,必须用合适的语言对其进行建模为此,我们提出了一个建模语言来自KAOS。在本节中,我们将介绍这种语言的结构。我们将在第4节中解释需求分析师如何使用这种语言来指定需求并检测它们之间的冲突。定义3.1(对象)对象是受操作(动作)支配的任何感兴趣的东西。对象集将被表示为Obj。支持继承(is-a关系)、聚合(has-a关系)和组合(contains-a关系)。定 义 3.2 ( 对 象 路 径 ) 对 象 路 径 由 m 个 对 象 ( o1,. . ,om),mP2。 它指出每对对象之间存在关系(oi,o i+1)。 关系可以是定义3.1中提到的任何一个。路径的集合是U nObj n,n= 2,|Obj|.(oi,oi+1)之间的关系可以不同于(oj,oj+1),i n j之间的关系。定义3.3(Agent):对某个对象进行某种操作的任何处理器。代理包括人、设备、程序等。代理的集合将被表示为Agt。定义3.4(操作)操作由代理人执行。它的输入和输出都是对象。设Opr为操作的集合。操作将按照“混沌”中的写法,即 , 它 们 包 含 动 词 和 宾 语 。 例 如 : access-account(Objectiver,2007)。定义3.5(事件)事件是操作的先决条件。它可以启动(导致)或停止需求它也可以禁止手术。所 有 事 件 的 集 合 将 被 表 示 为 Evt 。 根 据 KAOS(Objectiver,2007)的建议,事件以被动形式书写,并被视为单个术语。例如,达到信用额度将写为:credit-limit-reached。定义3.6(ID)一个自然数,它可以完全识别一个需求。定义3.7(字母表)OAM P建模语言包括以下内容:图1 KAOS需求建模示例。管理OAM P要求冲突299- 常量符号:Obj U Agt U Opr U Evt U N U {START,STOP,FORBID,VOID,ALL} Un其中N表示自然数的集合- 变量符号:我们定义了九个变量符号集合,Vobj,Vobj-set,Vagt,Vopr,Vevt,Vids,Vhld,Vs和Vpth,它们在集合Obj U {VOID}上排列,Obj,Agt U {ALL},Opr,EvtU {VOID} U N,N,N U {VOID}的非空子集,{START,STOP,FORBID}和Un Objn。V obj={object,object 1,object 2,. 个文件夹V obj-set={object-set,object-set 1,object-set2,. }Vagt={agent,agent 1,agent 2,.. . }V_opr={operation,operation 1,operation2,.. . } Vevt={event,event 1,event 2,.. . }Vid={id,id 1,id 2,.. . }V hld={hold,hold 1,hold2,.. . } V s={s,s 1,s2,... . }V_pth={path,path 1,path 2,.. . }- 谓词符号:我们考虑以下谓词符号:a. 二元谓词符号,交互作用。交互的参数是需求标识符。如果interaction(id1,id2)为真,那么由id1和id2标识的两个需求是冲突的。b. 一个二元谓词,其参数是对象。如果reachable(objecti,object j)为真,则存在m个对象(object 1,... . ,对象i,. . ,对象j,. . ,对象m),mP2(见定义3.2)。c. 一元谓词错误。它的参数是一个需求标识符。如果标识符引用的需求不是格式良好的,则谓词成立。d. 三个二元谓词符号,c、g和h,以对象作为参数。c( object1 , object2 ) 、 g ( object1 , object2 ) 和 h(object1,object2)分别在对象1包含(组合)、具有(聚合)或专门化(继承)对象2时为真。- 逻辑运算符:运算符NOT(否定)、AND(合取)和OR(析取)。定 义 3.8 ( 需 求 元 组 ) 需 求 是 一 个 8 元 组 ( id 、 s 、event、agent、operation、object-set、object和hold),其中id、s、event、agent、operation、object-set、object和hold是分别属于变量集Vids、Vs、Vevt、Vagt、Vopr、Vobj-set、Vobj和Vhld的变量。需求元组的语义如下:- id:需求的标识符。我们选择将id表示为自然数。- agent:执行操作的agent。如果动作应该由所有代理执行,那么代理将被设置为常量ALL。- operation:代理执行的操作。- s:要求的效果启动、停止或禁止操作。START是指该事件给予代理人执行操作的许可或义务。停止表示事件导致操作停止。在这种情况下,操作指定连续或迭代的过程或服务。FORBID禁止代理执行操作。在下文中,我们将s的值称为s-值。- 事件:启动、停止或禁止需求操作的事件事件可以包含日 期 和 时 间 。 在 这 种 情 况 下 , START 、 STOP 或FORBID将在指定的日期和时间执行。我们选择将日期和时间表示为自1970/01/01以来的毫秒数。这种表示被许多编程语言采用,例如包括Java。如果需求的操作不受事件的约束,则事件将被设置为常量VOID。在这种情况下,s可以设置为START,表示无条件的允许或义务,或FORBID表示无条件的禁止。- 对象集:构成操作输入的一组对象。- object:操作的输出对象。每个需求只有一个输出。目的是简化需求交互检测。如果一个操作有多个输出,它应该被分割成多个需求元组,这样每个元组只有一个输出对象。.- hold:如果需求包含必须定期执行的操作,则使用此值。在这种情况下,hold应该包含重新执行操作之前等待的毫秒数。如果操作没有指定重复,则保持将设置为常量VOID。以下是一些需求元组示例:例3.1:所有代理商不得删除发票。(23、FORBID、VOID、ALL、delete-invoice、invoice、invoice、VOID)例3.2:一旦用户进行了首次付款,她将能够访问她的帐户。(566、START、subscriber-first-payment-done、subscriber、access-subscriber-account、subscriber-account、subscriber- account、VOID)示例3.3:2010年5月1日,系统应开始向管理员发送监测报告,并将此事件写入系统日志。每24小时重复一次该操作(85 , START , 1272661200000 , system , send-monitoring- report-to-admin , monitoring-report , system-log,86400000)4. 检测OAM P要求冲突4.1. 求解过程正如我们前面提到的,所提出的方法是基于观察到的事实,即需求分析师仍然使用自然语言来编写需求。我们的方法包括提供viding OAM P需求分析师与控制自然语言(CNL)为基础的框架,以帮助他们指定的要求,最明确和完整的方式。该框架还包含一个能够检测需求不一致的程序。为此,第3节中定义的OAMP需求语言应该是300Z. 申图夫框架检测可能的交互框架验证需求框架构建关系树分析师(重新)编写需求并(重新)提供关系自动化到用户界面中,其中需求元组结构按照以下EBNF呈现给分析师:<要求>->编号:0S:START|停止|禁止活动:<活动>|虚空|0 - 9 { 0 - 9 }AGENT:|所有操作:<操作>输入:<对象>{,<对象>}输出:<对象>保持:无效|0 -9{0-9}当分析师输入需求元组时,框架自动构建Obj、Agt、Opr和Evt集合。在这一步的最后,分析师需要提供对象之间的关系。这些关系是常见的面向对象关系:继承(是关系)、聚合(有关系)和组合(包含关系)。这是OAM P需求冲突检测过程的第一步。 整个过程如图所示。 二、4.2. 第二步:建立对象关系树一旦编写了需求并提供了对象关系,框架就根据以下谓词解释关系:- h(object1,object2):object2是-一个object1- g(object1,object2):object1 has-a object2- c(object1,object2):object1包含-a object2由OAM P分析师提供的关系构成有向图G=(N,A),其中N是节点(或顶点)的集合,并且A是弧(或有向边)的集合。该框架通过为每个R(对象i,对象j)创建两个节点,对象i和对象j,以及从对象i到对象j的弧来构建G,Re{h,g,c}。框架的下一步是导出所有为真的可达谓词(对象i,对象j回想一下,如果G中存在包含m个节点的路径,则后者成立步骤1步骤2步骤3步骤4对象1,.. . ,对象i,. . ,对象j,. . ,对象m,mP2。这个问题是深度优先搜索(DFS)问题之一。在一般情况下,分析师提供的规范可能会导致多个有向图G。然后,框架必须对每个图执行DFS。例如,分析图3中描绘的图产生以下路径:FDA、FDB、GEB、HC和KC。4.3. 步骤3:需求声明验证然后,框架根据以下验证规则检查每个需求语句的有效性:1. 每个操作都应该有一个代理:(id,s,event,VOID,operation,object-set,object,hold)->error(id)2. 每个操作都应该有一个输入:(id,s,event,agent,operation,VOID,object,hold)->error(id)3. 每个操作都应该有一个输出:(id,s,event,agent,operation,object-set,VOID,hold)->error(id)4. 操作的输出应该是单个对象:(id,s,event,agent,operation,object-set1,object-set2,hold)->error(id)5. 如 果s 等 于 FORBID 或 STOP , 则 hold 必 须 等 于 VOID(id,s,event,agent,operation,object-set,object,hold),(s=禁止或s=停止)并保持“无效->error(id)1. 如 果s 等 于STOP , 则 event 不 能 等于 VOID ( id , s,event,agent,operation,object-set,object,hold),s= STOP AND event= VOID->error(id)前两个验证规则与KAOS(Objectiver,2007)相同。第三种是Calisaya等人报道的, 2008; Haibo等人,2010年;Van Lamsweerde例如,1998年a。在框架检查了关于规则的需求的有效性之后,在分析者的界面上显示分析结果。分析人员重复重写错误的需求语句并重新启动有效性检查的过程,直到没有错误(没有推断错误(id))。规则1-3和5-6与需求规范错误有关。分析师必须把它们固定下来。解决规则4的问题意味着将需求分成多个,以便每个需求都有一个对象作为输出。图2建议的解决方案流程。图3路径图示例。管理OAM P要求冲突3014.4. 步骤4:需求交互检测在此步骤中,框架比较每对需求元组以检测冲突。冲突元组被报告给分析师,这样他就可以通过重写需求来解决冲突。然后,他必须重新启动冲突检测。这个过程必须根据需要执行多次,直到没有需求冲突(见图2)。冲突检测过程使用以下冲突推理规则。每个规则对应于一种特定类型的冲突。对于每一种类型的冲突,我们解释了分析师应该如何解决它。4.4.1. 重复要求(1)相互作用是由于两个要求完全相同或一个包含在另一个(id1,s1,事件1,代理1,操作1,对象集1,对象1,保持1),(id2,s2,事件2,代理2,操作2,对象集2,对象2,保持2),id1, id2,s1= s2,事件1=事件2,代理1=代理2或代理1=全部,操作1=操作2,对象集1=对象集2,对象1=对象2,重复1=重复2,保持1=保持2->interaction(id1,id2)解决方案:分析师应该只保留基于客户故事的两个需求中的一个4.4.2. 不兼容的要求(2)在这种类型的冲突中,这两个要求是模糊的、不相容的或矛盾的。- 两种工作频率(2.1)在这种交互中,同一个代理需要在同一个对象上执行相同的操作,但在两个不同的频率。这种相互作用类型在Moser等人中被称为时间离散, 2011年度:(id1,s1,事件1,代理1,操作1,对象集1,对象1,保持1),(id2,s2,事件2,代理2,操作2,对象设置2,对象2,保持2),id1, id2,s1= s2= START,代理1=代理2OR代理1=ALL,操作1=操作2,对象1=对象2或可到达(对象1,对象2),保持1,保持2->interaction(id1,id2)解决方案:分析师应该根据客户的故事检查是保留两个需求还是只保留一个需求- 启动禁止(2.2)在这种冲突中,同一事件导致同一操作被执行和被禁止 , 这 是 矛 盾 的 。 这 种 相 互 作 用 类 型 也 被 称 为 阻 塞( VanLamsweerde 和 Willemet , 1998 b ) 和 相 互 排 斥(Calisaya等人, 2008年):(id1,s1,事件1,代理1,操作1,对象集1,对象1,保持1),(id2,s2,事件2,代理2,操作2,对象集2,对象2,保持2),id1, id2,s1= START,s2= FORBID,事件1= 事 件 2 , 代 理 1= 代 理 2OR 代 理 1=ALL OR 代 理2=ALL,操作1=操作2,对象集1=对象集2,对象1=对象2OR可到达(对象1,对象2)OR可到达(对象2,对象1)->interaction(id1,id2)解决方案:分析师可能必须根据客户的故事纠正或忽略一个或两个需求- 禁止-停止(2.3)这种冲突是由于同一操作在特定条件事件下被停止,同时在另一个要求中被无条件禁止:(id1,s1,事件1,代理1,操作1,对象集1,对象1,保持1),(id2,s2,事件2,代理2,操作2,对象集2,对象2,保持2),id1, id2,s1= FORBID,s2= STOP,事件1=VOID AND事件 2,VOID,代理 1=代理 2OR代理1=ALL OR代理2=ALL,操作1=操作2,对象集1=对象集2,对象1=对象2->interaction(id1,id2)解决方案:分析师可能必须根据客户的故事纠正或忽略一个或两个需求- 两个条件事件(2.4)此冲突是由于在两个不同的事件上执行、停止或禁止(id1,s1,事件1,代理1,操作1,对象集1,对象1,重复1,保持1),(id2,s2,事件2,代理2,操作2,对象集2,对象2,重复2,保持2),id1, id2,s1= s2,事件1,事件2AND事件1,- VOID AND事件2,VOID,代理1=代理2OR代理1=-ALL,操作1=操作2,对象集1=对象集2,对象1=对象2->interaction(id1,id2)决议:这种情况并不总是有问题的,因为可能有行动是要在不同的条件下举行。分析师应该检查冲突是否真的是一个特定的错误。为了解决交互问题,分析师可能必须根据客户的故事纠正或忽略一个或两个需求4.4.3. 假设变更(3)当一个需求操作的输出是另一个需求操作的输入(假设)或输出(结果)的一部分时,这种类型的相互作用成立。在这种情况下,由第一需求的操作对第二需求的输入或输出所操作的改变可能是不期望的。- Input–output如果两个需求中的一个对另一个需求中的输入对象(输出)执行操作,则此冲突在两个需求之间在电信特征交互中,这种情况被称为假设违反(Griffeth和Velthuijsen,1994),因为一个特征可以改变另一个特征的假设(输入)。在我们的语言中,存在一个冲突,因为第一个需求(id1,s1,事件1,代理1,操作1,对象集1,对象1,保持1),302Z. 申图夫表1冲突推理规则。色谱柱:1:id1= id2,2:s1= s2,3:s1= START,4:s1= FORBID,5:s2= START,6:s2=STOP,7:s2= FORBID,8:事件1=事件2,9:事件1=无效,10:事件2=无效,11:代理1=代理2,12:代理1=ALL,13:代理2=ALL,14:操作1=操作2,15:对象集1=对象集2,16:对象1=对象2,17:可达(object1,object2 ) , 18 : reachable ( object2 , object1 ) , 19 : object1 e object-set2 , 20 : $o e object-set2 AND reachable(object1,o),21:hold1= hold2。单元格:1:真,0:假,空:真或假。表2共同遵守的合同规则。R2.1、R2.4R2.4、R3.2R3.1、R3.2(id2,s2,事件2,代理2,操作2,对象集2,对象2,保持2),id1, id2,s1= s2= START,对象1,对象集2OR$o e object-set2 andreachable(object1,o)->interaction(id1,id2)解决方案:如果交互是不需要的,分析师应该确保有一个需求可以保护一个需求的假设不被另一个需求改变。- Output–output这种冲突包括这样一个事实,即一个需求改变了另一个需求的(或部分)结果(输出)(id1,s1,事件1,代理1,操作1,对象集1,对象1,保持1),(id2,s2,事件2,代理2,操作2,对象集2,对象2,保持2),id1, id2,s1= s2= START,操作1,操作2,对象1=对象2或可到达(对象1,对象2)->interaction(id1,id2)解决方案:这种情况并不总是不希望的,因为一个操作的结果可能意味着由另一个操作更新。分析师应该检查这个案例。然后,他可能必须确保存在一个要求,该要求保护一个要求的结果不被另一个要求改变。4.4.4. 非接触要求(4)上述检测推断规则在表1中表示。此表旨在在框架中实现,作为检测程序运行的基础后者查看表以触发冲突规则。对于任何一对不能匹配表中任何一行的需求元组,检测过程将导出NOTinteraction()。这也是一个冲突推理规则:id1、id2,这两个要求(id1、id2)与表1中的任何一行都不匹配。->NOTinteraction(id1,id2)表1的各行(冲突规则)并不相互排斥。表2显示了可以由同一对需求元组触发的规则集这意味着两个需求元组可能不止一次地推断interaction()。我们假设需求检测过程的实现会在分析人员的界面上显示相应的交互数量。然后,分析师必须分析交互并解决它们。4.5. OAM P要求规范我们在本文中介绍的OAM P需求建模语言以及相关的需求验证规则(第4.3节)和冲突推理规则(第4.4节)允许陈述OAM P需求规范(RS)。在后一种情况下,由分析师R123456789101112131415161718192021101111111011111112.101101111000110111010011011110001101110102.20010001111110010001111101001000111110100100011111100100011111010010001111101001000111111001000111110100100011111012.30001010010111100000101001011110000010100101111002.40100011110100011113.1011010001001101000013.201101000100110100001管理OAM P要求冲突303通过步骤1RS的目的是为每对需求(id1,id2)导出交互(id 1,id 2)或非交互(id1,id2)。在过程结束时,RS中没有error()谓词为真,因为只存在格式良好的需求元组。此外,RS包含reachable()和interaction()谓词。定义4.1(需求规格说明)需求规格说明(RS)由格式良好的需求元组、可达()谓词和交互()谓词组成。RS的一个重要方面是它们的正确性。一个RS是正确的,如果它是完整的和一致的。一致性意味着对于每一对需 求 , 要 么 是 interaction ( ) , 要 么 是 NOTinteraction(),而不是两者都派生。完整性意味着对于每一对需求,都存在一个判定,要么是interaction(),要么是NOTinteraction()。定义4.2(RS的完整性和一致性)如果对于每对需求元组,至少interaction()或NOTinteraction()为真,则RS是完整的。如果对于每一对需求元组,interaction()和NOTinteraction()不能同时为真,则RS是一致的。4.1号提案使用此处定义的语言和步骤1-4过程指定证据表1包含了所有的需求冲突推理规则。在RS中,需求 、 需 求 参 数 ( 八 个 参 数 : id 、 s-value 和 event ) 和reachable()谓词的数量是有限的。此外,根据表1,触发任何行(冲突规则)都会推断出interaction()。根据冲突推理规则4,不能与表1的任何行匹配的一对需求导致推断NOT交互()。因此,使用这里定义的语言和过程指定的任何RS都是完整的。H4.2号提案使用此处定义的语言和步骤1-4过程指定的RS是一致的证据 正如命题1的证明中所述,对于每一对需求,要么是interaction(),要么是NOTinteraction()。根据表1、表2和冲突推理规则4的定义,有几个需求触发了规则4,将interaction()设置为false,或者触发了表1中的一行或多行,将interaction()设置为true一次或多次。因此,使用这里定义的语言和过程指定的任何RS都是一致的。H4.5.1.计算复杂度让Obj和Req分别是对象和需求的集合。图2的步骤1是手动步骤。步骤2-4是完全自动化的。步骤2可以分为两个。首先,框架建立关系树。这个操作的复杂度是O(|Obj|2)的情况。然后,框架编写一个包含所有为真的reachable()谓词的列表,这对应于一个DFC问题。复杂度为O(|Obj|)(Heineman等人,2006年)。步骤3和步骤4的复杂度为O(|请求|)和O(|Obj|二、|请求|(2)分别。因此,整个过程的计算复杂度为O(|Obj|二、|请求|2)的情况。如果我们假设|请求|>| Obj|的复杂度接近O(|请求|4).但是,应执行冲突检测程序,以便它只检查如果表1的行都不适用,则立即结束NOT interaction()。这显著降低了计算复杂性。这已经通过模拟来证明,以研究所提出的解决方案的可扩展性。更多详情见第6节。5. 相关工作Chentouf(2012)和KAOS(Objectiver,2007)已经解决了这里研究的问题的各个方面。5.1. Chentouf的作品(Chentouf,2012)提出了关于处理OAM P服务交互的研究。该方法包括通过将其操作抽象为使用或修改来对每个OAM P 特 性 进 行 建 模 。 根 据 这 里 所 介 绍 的 语 言 ,Chentouf,2012将每个OAM P功能建模为以下之一- 代理修改对象- 代理使用对象操作modify抽象了任何实际修改数据或影响处理的操作。例如,写入、删除和执行。操作使用抽象的操作,不改变数据或影响处理,如读,有,并适用于。这种简单的语言的关注去建模服务逻辑,而不是需求。本文中定义的语言旨在对需求进行建模。另一个相关方面是交互检测过程。Chentouf,2012的重点放在检测OAM P功能交互上。目前的工作地址OAM P要求的conjuicts。在前一项工作中,OAM P功能交互被定义为如果遇到以下情况之一,则在两个- 代理1使用对象;代理2修改对象,代理1n代理2。- 代理1修改对象;代理2修改对象,代理1n代理2。第一个FI模式等价于我们的需求约束规则第二个模式等价于规则让我们比较一下这两种方法的可靠性。Chentouf,2012的语言不包含禁止、停止和事件等概念,这一事实使其表达力较低。更准确地说:- 在Chentouf,2012中,agent1必须不同于agent2,并且agent ALL没有定义。根据表1第11-13列,这使得相互作用1和2.1-2.4的所有情况- 谓词reachable未被表达,这防止了基于表1的第17、18和20列检测到类型2.1-2.3的一些冲突- 未表示放置参数,这意味着根据表1第21列,无法检出杂质2.1Chentouf,2012的方法没有检测到第6节中提出的任何冲突示例,除了以下示例:304Z. 申图夫附证据3.1。使用Chentouf,2012的语言,后一个例子可以写为:- 经纪人修改费率表- 管理员使用率表这两个需求对应于以下模式:使用对象;代理2修改对象,代理1“代理2。这里提出的工作的另一个优点是,它定义了一个完整的框架,指导分析师处理OAM P需求冲突。5.2. 需求建模语言KAOSKAOS定义了一种需求冲突,即一个目标的满足阻止了另一个目标的满足。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- 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
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功