特征交互问题导论.docx

上传人:b****6 文档编号:4481129 上传时间:2022-12-01 格式:DOCX 页数:13 大小:36.04KB
下载 相关 举报
特征交互问题导论.docx_第1页
第1页 / 共13页
特征交互问题导论.docx_第2页
第2页 / 共13页
特征交互问题导论.docx_第3页
第3页 / 共13页
特征交互问题导论.docx_第4页
第4页 / 共13页
特征交互问题导论.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

特征交互问题导论.docx

《特征交互问题导论.docx》由会员分享,可在线阅读,更多相关《特征交互问题导论.docx(13页珍藏版)》请在冰豆网上搜索。

特征交互问题导论.docx

特征交互问题导论

特征交互问题导论

梅宏,黄罡,邢岩,彭枫

北京大学贝尔实验室软件技术联合实验室,北京,100871

Email:

meih@,huanggang@

摘要:

特征交互问题是长期困扰电信领域的主要挑战之一,随着Internet的发展,软件,特别是WEB软件,集成的特征愈多、规模愈大、服务质量要求愈高、演化愈频繁、对人与社会的影响愈大,使之面临的特征交互问题日趋严重,尽早开展相关研究与实践,是避免软件在特征交互问题上重蹈覆辙的唯一途径。

本文着重介绍了电信领域中特征交互问题的基本概念、实例、分类,在分析已有研究成果与电信领域新特性的基础上,讨论了今后的研究方向。

在探讨软件中特征交互问题现状的同时,介绍了我们基于软件体系结构的特征交互问题研究。

关键词:

特征交互问题,电信领域,Internet,软件体系结构

AnintroductiontoFeatureInteractionProblem

HongMEI,GangHUANG,YanXING,FengPENG

PKU-BellLabsSoftwareTechnologiesJointLab,Beijing,100871

Email:

meih@,huanggang@

Abstract:

Featureinteractionproblem(FIP)isoneofthemostimportantchallengesinthetelecommunications.WiththeevolutionofInternet,software(especialWeb-basedsoftware)becomesmoreandmorecomplex,needingmorefeaturesintegrated,largerscale,higherqualityandmorefrequentevolution.Andasaresult,FIPinsoftwarebecomesinevitableandcritical.ItisnecessaryandurgenttostudyFIPinsoftwareinordertoavoidthesameproblemintelecommunications.Thispaperintroducesthefundamentalconcepts,achievementsandtrendoftheFIPresearchintelecommunications.Moreover,thispaperpresentsthestatusquooftheFIPresearchinsoftwareandourpreliminarystudyontheFIPframeworkbasedonSoftwareArchitecture.

Keyword:

FeatureInteractionProblem,Telecommunications,Internet,SoftwareArchitecture

1引言

电信系统由一个基本的功能集合以及一组特征组成。

其中,基本功能集合完成信道建立、维护、信号传输等工作;特征则是用户可见的、可选的、系统功能增加的基本单元。

作为典型的面向服务的系统,电信通过一组特征及其之间的交互为用户提供服务。

为不断满足用户需求,电信系统经过长期发展产生了成百上千的特征,而电信系统的超大规模与7×24(每周7天、每天24小时)不停机服务决定了特征只能增加而不能删除或替换,从而导致一台通信交换机上往往积累了数以百计的特征。

这些特征为了满足用户需求而进行交互,同时,由于资源竞争、基础设施不足、假设冲突等原因可能导致这些特征发生非预期的交互。

这种非预期的交互往往导致用户的服务请求无法满足甚至得到错误的处理,此即所谓特征交互问题。

Bellcore在20世纪80年代初发现的特征交互问题,目前已成为电信系统增加新型服务、提高服务质量最严重的障碍之一。

1988年,Bowen等人首次系统化地研究了特征交互问题,提出了一个框架试图解决该问题[1]。

此后,学术界和工业界为解决特征交互问题做出了不懈的努力,发起于1992年并定期召开的国际讨论会-特征交互专题讨论会(FeatureInteractionWorkshop)则记录了电信领域近10年的研究工作。

这些研究给出了特征与特征交互问题的形式化定义与分类法,发现了众多特征交互问题实例,总结了特征交互问题的内在属性与产生原因,在各个电信特征的需求、设计、运行等阶段采用形式化或非形式化方法探讨特征交互问题的预防、检测、消除或缓解,取得了一定的成果与经验。

其实,特征交互问题并不仅仅局限于电信领域,电梯控制系统、电子邮件系统、数据流系统、基于规则的系统等均发现了类似的特征交互问题[19][21][22][23]。

究其本质,特征交互问题源自系统需求缺乏足够的完整性与一致性。

对于那些具有演化性的系统,用户与开发者无法预知将来的需求,从而导致特征交互问题成为演化的软件系统与生俱来的顽疾。

而特征交互问题之所以在电信领域中成为必须解决、目前又无法解决的关键问题,是因为:

其一,电信系统的特征往往聚合在同一台设备上,为多个用户提供多种服务,所有的特征必须同时有效,这意味着无法直接避免需求冲突导致的特征交互问题,即,通过定制使可能发生特征交互问题的特征失效或将它们分散到不同的设备上;其二,电信系统的规模、厂商的数量以及7×24不停机服务质量决定了电信厂商不可能更新整个系统以解决特征交互问题。

而电信领域以外的传统软件系统或者只聚合了少数的功能单元,或者功能单元可定制、可分布,或者系统规模与服务质量允许更新整个系统,因此并没有受到特征交互问题的严重干扰。

随着Internet的发展以及软件即服务的产业新模式,运行于Internet上的WEB软件系统呈现出类似电信系统的特点,即,WEB应用系统聚合了众多的特征、Internet规模庞大、服务质量要求灵活、系统演化频繁、对人与社会的影响大,如果不提前着手研究WEB软件系统中的特征交互问题,在最终建立新一代Internet软件体系结构与基础设施之前找到可行的解决方案,那么,在未来,特征交互问题带来的不良后果及其解决的难度很可能远甚于今天的电信系统。

 

2001年7月欧洲举办的“FeatureInteractioninComposedSystem(FICS)”会议,第一次明确提出研究电信领域之外的软件系统中的特征交互问题[21]。

本文将介绍电信领域特征交互问题的基本概念、研究趋势、以及软件中特征交互问题的实例研究。

文章的余下内容组织方式为:

第二章介绍特征交互问题的基本概念;第三章分析电信领域研究现状及其发展趋势;第四章介绍软件中的特征交互问题以及作者的研究工作;最后一章总结全文并展望将来的工作。

2基本概念

2.1什么是特征

作为典型的面向服务系统,电信服务(简称服务)由电信运营商提供给顾客,以满足其某种特定的电信需求[20]。

服务主要针对电信运营商而言,他们将所开发的服务提供给用户;对于用户而言,他们关心的是这些服务具有哪些特征,如是否可以进行呼叫转移或呼叫等待,提供的服务既可以是一个独立的特征,也可以是若干特征的集合。

特征是在电信领域中广泛使用的一个概念,在近20年的研究过程中,很多研究人员从不同角度对特征进行了定义。

如:

⏹ITU-T:

“特征是用户可见的最小的服务单元。

⏹Bellcore:

“特征是电信网络提供给用户、基于电信管理的功能单元。

⏹[1]:

“特征是供用户或管理员使用的逐步递增的功能包。

⏹[15]:

“特征是对电信服务的控制的修改或增强。

 

 

这些定义具有如下共性:

⏹特征是系统功能增加的基本单元;

⏹特征是可选的;

⏹特征的正常运行依赖于一个基本的功能集合(如POTS),换言之,特征无法独立工作。

因此,以特征作为基本单元的电信系统可以表示为如下形式:

S=BF1F2F3…Fn

该表达式的涵义是:

一个电信系统S是由一个基本的特征集合B和附加于其上的若干特征Fi,(i1…n)组成,单独的特征脱离了基本的特征集合B是不能运行的。

目前电信系统已经产生了成百上千的特征。

如,忙时转接(CallForwardingBusyLine,CFB)就是在电话处于通话状态时将新的呼叫转接到另一台电话;呼叫源号码传送(CallingNumberDelivery)允许用户接收并显示呼叫方的号码;对方付费(INFreephoneBilling)允许用户为呼叫方付费;禁止接通(TerminatingCallScreening)将禁止来自某些号码的呼叫,这些号码由用户预先设置;三方通话(Three-wayCalling)允许三台电话同时通话;呼叫等待(CallWaiting)允许用户在通话时接听一个新的呼叫;回呼(ReturnCall)允许用户快速呼叫最后一个打进来的号码。

2.2什么是特征交互以及特征交互问题

为了满足各种服务请求和不同服务质量要求,电信系统中成百上千的特征除提供自身功能外还以不同的方式直接或间接地与其它特征交互。

如,一个特征直接调用另一个特征,或者一个特征占用了另一个特征需要使用的资源等。

不论以何种方式交互,一个特征的行为都会受到另一个特征的影响,这种现象就称为特征交互(FeatureInteraction)。

某些特征交互对系统有益且是必要的,软件设计和开发人员希望通过这些交互来达到某种目的,从而满足用户的需求。

但由于需求不清、设计不当、实现不好、资源有限等原因,导致某些特征之间的交互是非预期的,它可能导致系统的不稳定以及状态的不一致,严重的甚至会导致系统的崩溃,这就是所谓的特征交互问题(FeatureInteractionProblem)。

由于这种非预期的交互问题对系统造成的危害相当大,所以大部分研究特征交互的学者,都把精力集中在特征交互问题上。

因此,按照该领域的惯例,除特殊标明,本文下面论述的特征交互均指特征交互问题。

同样,本文也不区分服务交互问题与特征交互问题。

与特征类似,目前存在较多的特征交互的定义,其共性如下:

⏹特征交互指的是在不同的特征之间或者同一特征的不同实例之间发生的交互关系。

⏹研究者关心的是那些非预期的特征交互,它们往往会对其它特征的功能和服务质量造成一些损害,甚至造成整个系统的不稳定。

⏹特征交互问题在运行阶段出现,但其产生可能源于需求、设计或实现阶段。

目前已在电信系统中发现了很多特征交互问题。

如,

图1OCS与CFU之间的特征交互问题

用户A定制了源呼叫号码屏蔽(OriginalCallScreening,缩写为OCS)服务,不希望接通对用户C的呼叫;用户B定制了无条件呼叫转移(CallForwardingUnconditionally,缩写为CFU)。

当A呼叫B,而B激活了对C的CFU服务时,A的呼叫被接通到C,用户A定制的OCS服务失效。

 

2.3特征交互问题的分类

特征交互问题的分类一直是该领域重要的研究课题之一。

在近二十年的研究过程中,很多研究人员给出了自己的分类方法。

其中影响较大的定义如下:

⏹按照特征的内在属性进行分类[5]。

特征的内在属性包括:

其内部包含特征的类型,包含在特征中的用户数目,包含在特征中的网络部件数目。

该分类方法将特征交互问题分为:

用户特征间的单用户单部件冲突,用户特征间的单用户多部件冲突,用户特征间的多用户单部件冲突,用户特征间的多用户多部件冲突以及用户特征和系统特征间的冲突。

⏹按因果关系(causalview)进行分类[5]是应用较广的一种分类方法。

该方法总结了已知的问题产生原因,并提出可能找到的解决方法。

该观点定义了三类问题产生的原因:

网络能力的限制,分布式网络内在的问题以及不安全的假设。

⏹从生命周期角度(lifecycle)来进行分类[6],按照交互问题产生的不同的阶段来进行划分,有需求规约阶段、设计阶段、实现阶段、运行阶段以及维护阶段等。

⏹还有的研究人员结合上面的几种方法,提出更复杂的分类法,如[2]中提出的EmergingLevelView分类法。

遗憾的是,众多的特征交互问题分类方法都难以对所有的交互问题进行准确的划分。

这一方面是因为特征交互问题本身就非常复杂,难以用单一的分类方法准确划分;另一方面,随着研究工作的不断深入以及电信市场的不断发展,新的交互问题不断涌现,已有的分类方法可能不适应新的问题。

3电信领域研究现状

随着特征和服务数量的增加,特征和服务可能的组合呈指数级增长,这使得需要用来处理特征交互问题的工作量也爆炸性地增加。

因此,特征交互问题支配着电信软件开发的整个过程[1]。

由于同样的原因,完备的服务和特征组合测试工作变得几乎无法管理。

特征交互问题已经成为如何有效地利用时间和资金引入新服务的最主要障碍,同时也增加了服务提供商的风险。

提高软件开发的效率、对特征组合的测试提供理论依据是在电信系统中研究特征交互问题的最初目标,也是一个主要的目标,但是随着电信市场的发展,出现了一些新的特点。

文献[14]-[19]记录了该领域近10年的大部分研究工作,[2]也很好地总结了1998年之前的研究成果与经验。

为保证文章内容的紧凑与前沿性,本文主要介绍电信系统新特性导致特征交互问题研究呈现出的新趋势。

3.1研究动因

由于BellSystem的拆解,电信市场转变为多个电信服务提供商和运营商相互竞争的局面,该局面虽然促进了市场的成熟,使用户能够得到更加满意的服务,但是也引发了一些新问题[18]:

⏹由于服务提供商追求标新立异,并希望能够最大可能地满足用户的需要,导致特征的功能和复杂性迅速增加。

这就从根本上增加了检测特征交互的紧要程度,否则将无法保证系统的正确性和可用性。

⏹随着更多服务提供商的进入,出现了一些功能类似,但又不完全一致的特征。

这些相似特征的引入,改变了原有特征交互问题检测的基础,需要重新考虑特征之间的关系,并建立新的检测机制。

⏹为了应付残酷的竞争,甚至可能是为了企业的生存,服务提供商往往需要更快地将产品推向市场,这就需要有一套完整的特征组合测试理论来指导开发和测试人员,不仅要在最快的时间内完成单个特征的开发,还需要在新的特征与原有系统特征之间进行测试,以保证不会发生非预期的特征交互,这要求更深入细致地研究特征交互问题。

电信市场的多元化同时也带动了相关技术的快速发展,主要体现在以下几个方面:

⏹新的网络体系结构和协议的出现,如SessionInitiationProtocol;

⏹具有API的服务层(ServiceLayer)的出现,如JAIN,Parlay,增加了平台独立性,加速了运营商或相关的服务提供商对客户定制特征的配置;

⏹核心网络层中的新技术,如主动网技术。

随着上述技术的不断发展和成熟,将逐渐降低电信服务开发的难度和成本,并吸引更多的服务提供商进入电信市场,使电信市场的竞争更加激烈。

电信市场的多元化发展和相关技术的发展之间是相互促进、相互依赖的[18]。

电信市场的多元化和相关技术的快速发展,对特征交互问题的研究提出了更高的要求。

以前所有的特征都由BellSystem开发,其设计思想和实现细节在内部都是可以公开的,这使得新特征在开发的时候可以充分考虑以前的特征,因此过去特征交互问题发生的可能性要相对小的多,而且往往不会造成过于巨大的损失和影响。

但在新的情况下,由于竞争,不同服务提供商之间很难做到信息的互通,他们提供的特征只能在各自的基础上独立开发。

虽然在内部还可以像以前那样尽最大可能避免特征交互问题,但如果在运行环境中存在不同服务提供商提供的特征时,特征交互问题发生的可能性将大大增加,其造成的影响可能会波及整个系统的稳定性和可用性。

特征交互问题已经成为电信领域发展的一个瓶颈,这就使得对该问题的研究变得更具有挑战性和紧迫性。

3.2

 

3.3研究现状与趋势

3.3.1研究内容和方法

现有的特征交互问题研究基本上是从如下三个角度展开:

⏹研究目的:

包括预防(prevention/avoidance)、检测(detection)和消除(resolution)。

预防是指通过各种手段消除隐患,避免特征交互的发生,如:

建立特定的体系结构、定义特殊的协议、在整个特征开发过程中引入新的策略、或者制定一系列的指南;检测就是发现或证明现有系统中存在特征交互问题。

如前所述,特征多、演化强的系统是无法完全预知其内部行为的,也无法通过预防措施完全避免特征交互问题,因此,特征交互问题的检测是必需的。

目前大部分研究工作都侧重于检测且分为两类,一类不区分特征交互与特征交互问题,被检测到的特征交互问题不一定发生,另一类则需要严格区分特征交互与特征交互问题,被检测到的特征交互问题肯定会发生;检测到特征交互问题后往往需要消除它们,特征交互问题的消除也分为两类,一类不改变特征的行为,仅仅允许一个特征运行而禁止另一个特征的运行,另一类则通过改变特征的行为将发生问题的特征组合成单个更大的特征。

目前的研究主要侧重于检测,而预防和消除特征交互问题难度较大,今后的发展重点是在线检测。

⏹研究手段:

包括形式化方法、非形式化方法和试验技术。

形式化方法最适合于特征交互问题[18],将成为该领域的主要研究手段;而诸如启发式等非形式化方法和测试、仿真等试验技术则也是不可缺少的辅助手段。

⏹适用范围:

从生命周期看,目前的研究侧重于需求规约阶段、设计阶段、实现阶段、运行阶段和测试、维护阶段。

研究工作往往针对单个阶段展开,某些研究则针对几个连续的阶段。

由于需求分析与规约不清、设计与实现不当、运行基础设施不足等均可能导致特征交互问题[2][8],这意味着侧重于单个阶段无法完全或最大限度地解决问题,因此,软件工程理论与方法开始在该领域发挥作用,成为特征交互问题研究方向之一。

3.3.2主要研究方向

如上所述,特征交互问题研究的三个主流方向是特征交互问题的在线检测、形式化方法与软件工程方法[3]。

[1]在线检测

在线检测技术主要是针对运行时刻的服务而言,它所运行的环境包括真实的网络环境以及实验室中的网络测试环境。

通常情况下在线检测技术包括检测和消除两部分,其最大优势在于无需对现有系统进行任何改变,能够处理运行时刻网络中的附加功能,并且允许系统的开放和扩展。

在线检测技术按控制方式可分为:

基于FeatureManager的方法和基于协商的方法。

前者通过引入FeatureManager的功能实体集中式地管理电话呼叫的控制部分,而后者通过在相关的特征之间进行直接协商确定一个可行方案。

按信息收集方式分为:

利用设计阶段信息的方法、孤立于运行环境的方法和只依赖运行环境的方法。

利用设计阶段信息的方法依赖于设计阶段获得的信息,每个服务有一组信息或者对所有的服务设计一个信息矩阵,而且每个服务所拥有的信息必须能够满足所有特征对的要求,但是随着服务数量的线性增加,每个特征对之间需要保存的信息则呈指数级别增长;孤立于运行环境的方法在一个封闭并满足一定条件(如必须存在某些特征或者不存在某些特征等)的环境中获得检测需要的信息,这些信息需要在运行时刻获得;只依赖运行环境的方法不依赖于任何特殊的配置,所需要的信息只从目标环境中动态地获得。

从信息收集的方式角度看,运行环境下直接收集数据是在线检测技术相对于软件工程方法和形式化方法最大的优点。

目前的在线检测技术也存在不足:

在实时系统中,与网络相关的执行开销问题;一些在线检测技术需要特征在开发前的详细设计信息,比如ResolutionTable方法;一些则需要修改网络的体系结构以达到特征间通讯的目的;对网络体系结构的依赖性太强,一旦应用的网络发生了改变,在线检测的技术也要发生相应的改变(而离线测试技术使用的信息都是从原有系统中抽象出来的,所以不必做太多修改)。

因此,目前虽然有一些在线测试技术得到实际应用,如MitelMediaPath[11],但大部分还处于实验阶段,如TouringMachine[12],Desk[13]。

[2]形式化方法

形式化方法对于特征交互问题的意义在于:

对假设和环境作出严格的限制,并给出一个严格且可行的方法来定义特征交互问题的分类,最终就可以使用标准工具对其进行自动分析和推理,最终,分析和推理结果却只和形式化模型相关。

研究人员试图使用各种形式化方法来分析特征交互问题,如形式描述、建模和推理技术,具体包括文法、逻辑推理、过程代数、状态机、Petri网、转移系统和其他特定的语言,如SDL、Promela、Z、LOTOS等。

形式化方法应用于特征交互问题的途径包括:

属性方法,按照一定的逻辑定义出抽象属性和基本服务,冲突问题通常情况下表示为不一致或不可满足性问题;行为方法,定义出特征的行为描述和基本服务,这些描述具有操作的涵义,它们用各种状态机或转移系统来表达,冲突问题通常表现为死锁和不确定性等;属性和行为模型方法,结合前两种方法,将特征和基本的服务通过行为和抽象的属性进行描述,行为描述为抽象的属性建立了一个模型,冲突问题表现为在基本服务的基础上,单个特征能够满足相应的属性,但是当不同的特征互相组合时,却无法满足相应的属性[3]。

形式化方法主要应用于检测服务层的、独立于具体实现的特征交互问题,精力主要集中在检测特征需求和特征规约之间的特征交互问题。

所有形式化方法都采用离线测试技术,而且在很多情况下,所需的规约都是在对一个已有系统进行观察后,进行再工程或推演而得到的,从这方面来讲,形式化方法在这个领域的应用要比在其他领域中更加自由和具有创造性。

另外,在形式化方法中,自动分析和推理技术被经常运用,在最近几年自动推演工具有了长足的发展,很多研究人员都指出正是形式化的需求驱使着他们将原来很模糊的特征和特征交互问题定义得更加清晰和明确,而且由于形式化的描述更抽象,使得定义这些概念变得更加容易。

目前,形式化方法已经被用于验证预期的特征交互问题和检测不可预期的特征交互问题,迄今为止发表的大部分工作结果都属于前者。

不正确的或者模糊的假设以及文档组织的混乱常常导致特征交互问题,而形式化的描述和模型却需要显式地给出一些假设和环境变量,并希望直接从文档中获得对系统行为的描述,较少涉及运行的系统或者试验床,因此难以保证系统最终不会出现特征交互问题。

此外,几乎所有新的特征都会修改原来旧的特征。

对于很多形式化方法,这会引发很多问题。

Velthuijsen[7]第一个清晰地分析了该问题,并建议采用非单调的逻辑作为一个解决方案。

大部分的研究人员还停留在单调递增的框架中,但是大都采用了某种技术来解决非单调性的问题。

foreground/background模型能够添加对基本服务进行修改的特征,最重要的是,它能够消除很多现在认为是一个特征的background和另一个特征的foreground之间发生的冲突问题[8]。

尽管某些方法通过对称[9]或消减[10]达到消除状态爆炸的目的,但状态空间的爆炸仍然是形式化方法面临的巨大挑战。

[3]软件工程方法

电信领域中的服务开发具有规模庞大、实时要求高、易于变化以及对可靠性的要求高等特点,这要求引入软件工程的思想,将服务开发的过程规范化、标准化。

软件工程已经被证明对开发大规模软件产品非常有效。

虽然对于不同的软件产品,其开发过程也不尽相同,但是软件工程的思想在现代软件开发中无处不在。

通过在服务创建的过程中使用软件工程的各种技术,如过程模型、符号表示、测试技术等,建立一个严格执行的工作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1