没有合适的资源?快使用搜索试试~ 我知道了~
软件分析集成框架的设计与实现
理论计算机科学电子笔记116(2005)31-44www.elsevier.com/locate/entcs软件体系结构的功能性与非功能性分析集成框架诉Cortellessa,A.Di Marco,P.因弗拉尔迪F. Mancinelli,P. Pelliccione佩利乔内·曼奇内利1,2Dipartimento diInformaticaUniversit`adiLVia Vetoio 1,67010 Coppito(AQ),Italy摘要软件系统的功能分析和非功能分析的分离通常会妨碍考虑设计解决方案,如果集成分析是可能的,那么设计解决方案将是显而易见的。缺乏分析集成实际上导致软件开发人员失去宝贵的反馈,这些反馈可以提高软件产品的质量,甚至可以避免后期软件在功能或非功能需求方面的不一致。在本文中,我们介绍了一个框架,软件分析集成。框架的核心是基于XML的,由软件模型和模型之间的形式化关系组成。这些关系有助于在软件模型之间自动传播分析反馈。我们指定如何不同的分析方法可以集成在我们的框架。我们还展示了Eclipse平台如何为这样的框架提供一个自然的实现环境。保留字:函数式分析,非函数式分析,XMLSchema。1介绍软件分析一直是软件开发过程中的一项重要活动,这是由于开发人员需要特殊技能以及上市时间短。另一方面,随着软件系统的发展,1此工作已由CNR“P r o g e tt o Societ a ` dell'Infor m a zi one SP4”提供2 电子邮件地址:adimarco@di.univaq.it1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.02.08832诉Cortellessa等人理论计算机科学电子笔记116(2005)31并发现新的应用环境(例如异构平台、移动设备等)功能和非功能特性的分析正成为满足客户需求的主要关注点在过去,主要的工作都花在了软件系统的功能分析上,这给现在带来了非常复杂的(正式和半正式的)方法和工具来验证和确认软件系统在其生命周期的早期阶段的功能行为[1]。相反,非功能属性(如性能、安全性等)没有得到同样的考虑。只有在过去的几年里,在整个软件生命周期中集成这种类型的分析的想法才得到了新方法的支持,这些新方法旨在填补软件开发过程及其非功能验证之间的差距[2]。本文背后的基本原理是,软件演化似乎要求在软件分析的两个主要主题的进步:(i)功能和非功能分析的集成,以及(ii)在嵌入的反馈分析到软件模型的自动化。集成的需要在最近的过去已经被反复声称,特别关注软件架构级别[3]。我们在这里介绍一个框架,以应付在该级别的集成问题。我们从证明功能和非功能方面之间的相互关系的目标开始,这些关系不一定会出现在单独的分析中。例如,直觉上,在检测到软件模型中的死锁时,关键组件可能被分成两个组件,并且这种细化可能严重影响软件性能。反之亦然,安全分析可能导致向子系统中的组件(作为防火墙工作)引入额外的逻辑,因此需要再次验证子系统的行为。在许多情况下,分析方法基于将软件模型转换为要分析的不同符号(例如,用于功能验证的形式语言,或用于性能验证的Petri网)。我们的目的是放置一个中间表示(基于XML)的软件模型,可以作为一个共同的基础,应用功能和非功能分析,以及反馈的分析结果的软件模型。作为一个短期目标,在本文中,我们整合了两个现有的方法-用于软件分析的gies:CHARMY [11,12],用于转换场景和状态将机器图转换为Promela语言[4]进行软件形式验证,以及基于Promela架构描述语言[6]从软件规范生成马尔可夫模型[5]的方法,以验证软件性能。这两种方法都在体系结构级别上工作。我们的长期目标是通过在架构级别嵌入其他软件分析方法来诉Cortellessa等人理论计算机科学电子笔记116(2005)3133显然,这个目标依赖于XML核心的扩展能力。 正如我们将在第3节中展示的那样,我们设计这种能力是两项任务的结果:保持XML核心足够通用,以嵌入新的软件符号;介绍不同软件符号之间的规则和关系,允许自动将分析反馈从功能世界传播到非功能世界,反之亦然。框架实施将基于Eclipse平台,即用于工具实施的软件工具。这是我们工作的一个相关方面,通过将结构、规则和算法嵌入Eclipse,我们利用了这项技术的众所周知的集成功能与本文松散相关的工作可以在软件系统的独立验证和确认领域所做的研究中找到见[7])。本文通过提出一个实际的集成框架的设计(以及实现思想),为软件分析的集成做出了贡献。类似的方法可以在[8]中找到,其中引入了一个框架来将非功能性需求集成到概念模型中。[8]中的集成工作是在需求获取级别上执行的我们的方法与[8]中的方法不同,因为我们假设(功能性和非功能性)需求已经用一些软件符号进行了公式化和建模。然后,我们不限制开发人员构建ad-hoc模型(如ER),而是我们的集成基于可以从软件模型自动生成本文的组织如下:在第2节中,我们简要介绍了我们考虑的软件分析方法,在第3节中,我们描述了我们的框架,以及XML核心和跨符号规则的细节和示例,在第4节中,我们介绍了Eclipse工具,并展示了它如何适合我们框架的实现。2软件分析方法2.1CHARMY(检查架构模型一致性)CHARMY是一个框架,从软件开发过程的早期阶段开始,旨在帮助软件架构师设计软件架构并根据功能需求对其进行验证。状态机和场景被用作指定软件架构及其行为属性的源符号模型检查技术,特别是模型检查器SPIN[4],用于通过使用PromelaspeciatinanddBuüchiAutomata[9]检查软件体系结构和功能需求之间的一致性,其中Prom el a s peci ati nand dBuüchi Automata[ 9]的概念源自34诉Cortellessa等人理论计算机科学电子笔记116(2005)31源符号。前者是SPIN建模语言,而后者是线性时间时序逻辑(LTL)公式的自动机表示[10],表示行为属性。CHARMY目前提供了一个图形用户界面,它有助于软件架构设计并使方法的机械自动化关于CHARMY的技术细节可以在[11,12]中找到,并且可以在[11,12,13]中找到将CHARMY2.2TwoTowers:从Mimilia到Markov模型TwoTowers(3.0)工具[14]允许在软件架构级别验证性能要求。它将一个文本描述作为输入,建立相应的马尔可夫模型(可以是连续和离散马尔可夫链),并评估感兴趣的性能指标。Embrymilia是一种基于随机过程代数EMPAgr[15]的架构描述语言(ADL)它是由Bernardo et al.在[6]目的是使随机过程代数成为软件工程师更熟悉的软件模型符号。随机进程代数(SPA)允许分析并发系统的性能,并发系统被描述为执行原子动作的实体或进程的集合。进程用来描述并发行为,它们同步以进行通信。通过连续随机变量将时间信息添加到动作中,表示活动持续时间。通过构造潜在的随机过程,可以对所建模的系统进行定量分析.特别是,当动作持续时间由指数随机变量表示时,潜在的随机过程产生马尔可夫链。在XML中的模型描述表示架构类型(AT),该架构类型(AT)被定义为其架构元素类型(AET)及其架构拓扑的函数。AET由其行为和其交互来定义,行为被指定为一系列EMPAgr顺序项或通过调用先前定义的AT,交互被指定为行为中发生的一组EMPAgr通过在AEI的交互中声明一组架构元素树(AEI)和一组定向架构树(DAA)来指定架构拓扑。取决于要通过通信协议指定的SA配置,每个AET可能需要一个或多个AEI。诉Cortellessa等人理论计算机科学电子笔记116(2005)3135滤波滤波3软件分析集成框架在图1中,我们展示了我们的框架的架构,用于集成软件架构的功能和非功能分析。Fig. 1.我们的框架架构。图顶侧的圆形框表示软件开发采用的软件符号(例如,统一建模语言或任何架构描述语言)。让我们假设一个软件架构已经使用这些符号之一构建现在有几种底部图1的一侧给出了方法的一些示例(即,CHARMY和TwoTowers),以及用于软件分析的自动化工具的一些示例(例如,SPIN模型检查器)。在软件体系结构的独立分析场景中,验证体系结构的步骤顺序,例如从功能角度使用CHARMY方法,如下所示:软件模型的UML图从圆形框直接流到CHARMY方形框,在那里它们被翻译成SPIN规范语言(即,Promela)并转发到SPIN模型检查器(图1底部的一个方框)。SPIN运行模型并产生结果,这些结果必须由开发人员进行检查,以便将分析反馈嵌入到软件架构中。UMLMScADLiADLj其他输入滤波器XML模型语义表示关系可视化编辑器集成核心XML分析滤波器反馈Charmy符号反馈双塔表示法反馈Charmy双塔其他自旋QN求解器其他XML36诉Cortellessa等人理论计算机科学电子笔记116(2005)31在我们的框架中,验证步骤是不同的,因为这些活动与其他潜在的软件分析相结合,以及在解释和提供结果反馈方面的一定自动化。 在图1中,在最上面的软件符号和最下面的分析方法之间放置了一个大的方框。它包含一些过滤器和XML集成核心,这是我们框架的主要组件。每个输入过滤器将软件模型从其原始表示法转换为基于XML的公共表示法,即图1中的XML Models Representation框。适当的分析过滤器将XML表示转换为所需分析方法的输入符号(例如,图1中的CHARMY符号)。 后一种表示法显然取决于方法论,它可以从XML表示的一个子集变成方法论中定义的完全不同的语言。从这一点开始,步骤与独立分析相同,直到从自动化工具获得结果。由特定分析产生的反馈(例如,在检测到死锁时拆分组件)通过分析过滤器传播到XML集成核心,在那里模型被更新或给出如何修改它的提示。在 Semantic Relations 框 中 , 将 实 体 链 接 到 实 体 的 规 则 被 表 达 ( 用XML),并允许将分析反馈从一个符号传输到另一个符号。事实上,XML集成核心中的分析结果所推断的模型变化必须在其他分析方法中得到反映这就是我们理解分析整合的方式。在图1右侧的VisualEditors框中,可以有任何能够获取软件模型的XML表示并显示它的编辑器。在实践中,这是一个额外的图形功能,我们的框架,可以扩展分析工具与图形用户界面提供一种方式来与软件模型进行交互,或一种方式来操作的分析方法工具。在下一小节中,我们将详细介绍XML集成核心以及它如何用于分析集成。3.1XML集成核心的体系结构集成核心的目的是双重的。它包含了一个简单的和可管理的表示所有的符号输入考虑的分析方法,通过一个共同的语言(XML)。它允许在分析结果和软件体系结构级别产生的反馈方面集成分析。诉Cortellessa等人理论计算机科学电子笔记116(2005)3137规则(.xml)规则(.xml)规则(.xml)规则(.xml)SM.xsdScenario.xsdAemilia.xsd发动机_AEm_Chaeenngginineeeennggininee发动机XML模型表示语义关系核心口粮SetSM.xmlSetAEmilia.xmlSet_AEm_Charmy_rules.xmlSetScenario.xml<投标规则rule_elem1=”SA/Components/StateMachine@name“rule_elem2=”ArchiType/archiElemTypes/elementType/behavior/process/@name“/><投标规则rule_elem1=”输出/@ref“rule_elem2=”ratedaction/@actionName“/> . . .Integ规则(.xml)规则库(.xml)模型(.xml)表示法架构(.xsd)规则(.xml)为了达到这最后一个目标,我们引入了所考虑的符号的实体之间的语义关系的概念每当可以用不同的符号在语义上联系概念时,就建立语义关系这意味着,在一般情况下,在两个不同符号的每对实体之间不一定存在关系;有时,这些关系根本不存在。两个不同符号的两个元素之间的语义关系强烈依赖于所使用的方法。这意味着语义关系是通过成对地考虑这些方法来给出的。我们定义结构规则,指定所考虑的符号的概念之间的关系。当然,当分析一个特定的软件系统时,这些结构规则必须在其上实例化,规则实例化由一个包含所需逻辑的专用引擎执行。我们指出,必须为每对方法构建一个引擎图二. 集成核心根据前面的考虑,我们将集成核心分为XML模型表示和语义关系,如图2所示。给定要集成的分析方法,有必要为输入中采用的每个符号提供XML模式。模式描述了如何生成所分析的软件体系结构的XML 表示。模式存储在NotationSchemas存储库中(参见图2),而Models存储库包含系统的软件体系结构描述(用XML表示)。例如,让我们考虑CHARMY和TwoTowers方法,以及稍后将介绍的Set-Counter应用程序。StateMachines、Scenarios和Notemilia 表 示 法 的 模 式 ( 在 图 2 中 分 别 为 SM.xsd 、 Scenario.xsd 和Notemilia.xsd)存储在NotationSchemas存储库中。Models存储库包含XML版本的State Machines、Scenarios和对Set-Counter应用程序进行建模的XML文 本 描 述 ( 在 图 2 中 分 别 为 SetSM.xml 、 SetScenario.xml 和SetScenariamilia.xml38诉Cortellessa等人理论计算机科学电子笔记116(2005)31相反,对于每一对方法,语义关系包含一组定义关系类的结构化规则(在图2规则(.xml)中),一个在当前架构上实例化由结构化规则定义的关系的引 擎 。 实 例 化 的 关 系 存 储 在 这 个 组 件 中 ( 在 图 2 中 , RuleManager(.xml))。引擎的作用是实例化我们想要分析的系统的特定软件架构的结构规则。在图2中,我们展示了CHARMY和TwoTowers方法的一些结构规则。特别地,我们展示了两条规则:第一条规则指出CHARMY状态机模型和Cummilia进程之间存在语义关系;第二条规则声称,如果它们属于相同的执行轨迹,则状态机上的转换由规则定义的关系通过在符号模式上使用双表达式[16]来指定。通过这种方式,我们能够明确地将符号元素联系起来。3.2框架执行现状我们设计了一个渐进的方法来实现框架。分析方法被认为是成对的,并且对于每一对,我们打算只引入将方法集成到框架中所需的缺失模式和规则因此,每当两种方法必须相关时,可以扩展NotationSchemas存储库以及XML规则目前,我们已经为Charmy和TwoTowers方法实现了(输入和分析)过滤器、XML我们发现XML特性非常适合这样的项目,我们现在正在努力集成其他方法(例如,从UML图中提取基于网络的性能分析的PRIMA-UML方法[17])。虽然可以找到一些相似之处,但我们注意到我们的集成任务与UML 2项目不同,因为我们不打算推动软件开发人员使用特定的符号(如UML),而是希望提供工具,使软件分析对软件开发过程尽可能透明我们认为开发人员不一定会受到特定符号的限制,并且只有当在软件生命周期中出现集成软件分析的需求时,他们才可以考虑通过提供必要的过滤器,模式和规则来进入框架。我们与UML2项目分享了将XML中间格式作为分析任务基础的想法。 实际上,由于UML2的XMI标准到目前为止还没有发布,所以我们一直关注使我们的XML模式尽可能地符合XMI诉Cortellessa等人理论计算机科学电子笔记116(2005)3139UML 1.x标准。然而,即使是UML 2也不够宽,不能嵌入形式化的符号,例如在性能分析中广泛使用的进程代数因此,我们尝试着建立一个集成框架,它将UML作为一种软件开发符号嵌入其中(见图1),将UML实体之间的关系作为已经嵌入到符号中的规则,此外,还提供了集成任何分析方法的工具在实践中,我们的规则在元模型级别上工作,因为它们将符号概念与符号概念联系起来。集成软件分析的规则的需求得到了OMG最近的提案呼吁的支持[19]。3.3设置计数器应用程序为了说明模型和规则库的细节,我们使用[20]中介绍的一个简单示例。该应用程序由两个组件组成:一组和一个计数器。如果用户向Set中添加或从Set中删除元素(分别为insert(e)和delete(e)),Set将递增或递减(分别为inc和dec)计数器组件中存储的元素数量。在下文中,我们涉及包含一个用户实例、一个集合实例和一个计数器实例的集合-计数器架构(3)。在图3中,我们报告了Set-Counter应用程序的CHARMY状态机和XML规范(分别为图3.b和3.c),以及User组件的XML表示的草图(图3.a和3.d)。这些表示是通过使用适当的输入滤波器构建的(感兴趣的读者可以在[21]中找到详细信息图4显示了表达CHARMY和TwoTowers方法之间语义关系的规则实例片段。在图的最右边,您可以找到实现用户状态机中的插入转换和插入用户进程的额定操作在用户权限描述中。 这两规则成员通过XML表达式指定其在XML表示中的位置来标识4Eclipse平台:构建软件工具的框架Eclipse平台是一个集成开发环境(IDE),适用于任何东西,也不适用于任何特定的东西[22]。Eclipse是一个用于构建集成开发环境以创建应用程序的框架,3由于篇幅有限,我们要求读者参考[21]以了解有关Set-Counter应用程序的模式和XML文件的详细信息40诉Cortellessa等人理论计算机科学电子笔记116(2005)31?插入S0S2!设S1!插入(e)!删除(e)S0用户<状态机名称=”用户“><复合状态> <输出目标=”S0“> <传入> 传入>初始状态><过渡><参数><参数名称=”e“类型=” int“/>产品参数><输入值=”false“/><输出值=”true“/>过渡><转换名称=”插入“><参数><参数名称=”e“类型=” int“/>产品参数><输入值=”false“/><输出值=”true“/>过渡>转换>状态机>?ELEM_TYPE USER_Type(void; ratea1)行为public void run(void,void){.USER(),.USER()}输入_交互OUTPUT_INTERACTIONS UNI插入;删除<参数列表> <联系我们<贵重金属><价格名称=”a1“/>费率> 参数列表><行为><进程名称=”用户“><参数列表> <联系我们 参数列表><动作序列><选择><动作序列><不定式/> 动作序列><动作序列><不定式/> 动作序列>选择>动作序列>工艺流程>行为> <输出互动><交互名称Action=”insert“type=”UNI“/><交互名称Action=”delete“type=”UNI“/>输出交互>?S0<组件><复合状态><初始状态名称=”S0“> <传出目标=”S2“> 外出><传出目标=”S1“> <传入> 传入> 初始状态>复合状态><. . .过渡>. . .<转换名称=”插入“><参数>参数><“/><参数名称=”e“类型=” int“/>输入值=”true<输出值=”false“/>. . .组件><联系我们状态机>转换>. . .. . .. . .<行为><进程名称=”SET“>. . .<动作序列><选择><动作序列><被动/><指数expRate=”a2“/> 动作序列>. . .选择>动作序列>工艺流程>行为>. . .. . . SetAEmilia.xml. . ..& lt;inc,a2>.SET(),<删除,*>.& lt;dec,a2>.SET()}INPUT_INTERACTIONS AND insert; deleteOUTPUT_INTERACTIONS UNI inc; decELEM_TYPE COUNTER_Type(void;void)行为public int findDuplicate(void; void){(a) SetSM.xml中用户状态机的XML计数器(b) 状态机.COUNTER(),.COUNTER()}INPUT_INTERACTIONS UNI inc; decOUTPUT_INTERACTIONSARCHI_TOPOLOGYARCHI_ELEM_pathologies用户:用户类型(;a1);设置:设置类型(;a2);计数器:计数器类型(;);ARCHI_互动ARCHI_附件从用户.插入到集合.插入;从用户.删除到集合.删除;从Set.inc到集合.inc;从Set.dec到Set.dec;端(c) AEmilia模型(d) SetAEmilia.xml中AEmilia规范的用户元素类型的XML图三. 集合计数器应用见图4。 集计数器在双塔-C型积分中应用的规则实例?删除(e)!Dec诉Cortellessa等人理论计算机科学电子笔记116(2005)3141角色是提供机制和规则来创建无缝集成的开发工具等等。Eclipse平台支持从不受限制的各种工具提供商构建工具,并促进这些工具的集成,这些工具通常操作不同的内容类型,并由不同的提供商开发。Eclipse平台架构如图5(a)所示,由以下组件组成:i)平台运行时:为平台的功能提供所有低级应用程序编程接口(API),这些接口可由工具提供商使用。ii)工作区:提供一致且高效的方式来组织平台中部署的工具所使用的数据。iii)图形化:使工具提供商能够显示存储在工作空间中的数据的图形视图,并提供图形用户界面以与安装的工具进行交互。帮助,团队:提供集成的帮助系统和团队工作能力,用于在多个用户之间共享工作区中的数据。(a) Eclipse平台体系结构(b)Eclipse上的集成框架图五、4.1在Eclipse中设计集成架构第3节中描述的框架很好地映射到Eclipse平台,可以通过插件的方式将这种框架的大部分组件作为平台本身的扩展来实现关于图5(b)中描述的框架架构,我们给出了如何使用Eclipse框架实现架构组件的概述• IntegrationCore:它可以直接映射到Eclipse平台工作区,平台中部署的工具使用的所有数据都保存在这里。 由于XML是存储结构信息的目标语言42诉Cortellessa等人理论计算机科学电子笔记116(2005)31由于集成核心中的模型所表示的结构,Eclipse平台运行时API可以有利地用于处理这些信息。事实上,整个Eclipse平台都依赖XML来处理数据文件,因此,它为XML处理提供了完整的支持。• 可视化编辑器:工作台及其图形功能和小部件工具包可用于导出集成核心的图形表示,以便发现需要修改的模型部分(作为某些分析的结果),甚至提供一种可视化方式,通过更改模型直接对模型进行缺乏可视化工具的分析方法学也可以利用工作台来提供可视化编辑器,这些编辑器可以提供所需模型的面向方法学的视图。已经有一套建模工具的方法论,可以提供可视化编辑器,为这些工具提供一种控制面板。通过这种方式,外部工具可以像以前一样使用,但以更集成的方式从单个环境中使用。• 输入和分析过滤器:这些过滤器可以作为插件实现,直接与集成核心交互,并根据需要进行修改。Eclipse平台提供的通知机制也可以用于触发某些应用程序逻辑,这些逻辑作为输入过滤器导入新模型的结果或修改模型本身(直接或间接)的分析过滤器反馈而作为一个侧面的例子,所有前面提到的架构组件,可以利用其他Eclipse框架组件,特别是从团队工作能力,使版本的数据存储在工作区,因此在集成核心;这可能是有用的跟踪的变化模型,并在情况下,提供一个有效的方法来回滚这样的变化。同样重要的是要指出,许多公司正在使用Eclipse框架开发建模工具值得注意的是,UML建模工具[23]已经可用,并且可以在我们的集成框架的上下文中轻松使用。此外,Java和C++的开发环境已经与Eclipse框架集成,这一事实可能有助于弥合模型和代码之间的差距,例如通过从集成核心中存储的模型自动生成框架代码。诉Cortellessa等人理论计算机科学电子笔记116(2005)31435结论在本文中,我们介绍了一个框架,以支持集成的功能和非功能分析的软件系统在体系结构的水平。这项工作源于我们软件工程实验室的活动,在那里我们经历了合并不同软件分析方法结果的关键需求,以便更好地完善软件架构。我们的框架奠定了一个基于XML的集成核心,其中的软件模型和模型之间的语义关系表示。其目的是提供不同分析方法的无缝集成。在这方面,我们已经草拟了指导方针,允许在我们的框架中嵌入新的方法。我们还展示了如何使用Eclipse平台实现这样的框架。本文的范围已被限制在两种方法的集成,XML模型以及语义规则,我们已经实例化,有希望支持我们的基本思想。我们的主要研究方向显然是在我们的框架中嵌入新的架构级分析方法。 这项任务将带来扩大的软件模型表示以及语义关系方面的集成核心。如果这个方向的未来结果看起来像从第一次设置中获得的结果一样有希望,那么长期目标将是将框架的范围扩展到其他软件生命周期阶段。引用[1] SPIN研讨会的程序。1995年至今。[2] Proc. ACM软件与性能研讨会,1998年,2000年,2002年,2004年。[3] A.H. Dutoit,D.克科湾Paech,和A.冯·克内森功能性需求、非功能性需求和体系结构不应该被分开. REFSQ '02国际讲习班[4] G. J. Holzmann 。 ”The SPIN Model Checker: Primer and Reference Manual”Addison-Wesley,2003年9月。[5] H. C.提姆斯 ”Stochastic Models, An Algorithmic Approach” John Wiley and Sons Ltd,1994年。[6] M. Bernardo,P. Ciancarini,and L. Donatiello 随机进程代数:从代数形式主义到架构描述语言。在复杂系统的性能评估:技术和工具,M.C. Calzarossa和S. Tucci编辑,LNCS,编号2459(2002),第236-260页,罗马(意大利)。[7] E. Dalrymple和M.爱德华兹独立的综合验证和确认。2003年1月[8] L.M. Cysneiros、J. de Melo Sabat Neto和G.C.桑帕约·多·普拉多·莱特。将非功能性需求集成到概念模型中的框架。需求工程,6(2001),2001 Springer-Verlag。44诉Cortellessa等人理论计算机科学电子笔记116(2005)31[9] R. Buchi,J.,On a Decision Method in Restricted Second Order Arithmetic。国际逻辑学、方法论和科学哲学大会集,第1北京:清华大学出版社.[10] A.普努埃利程序的时序逻辑。在Proc.18th IEEE Symposium on Foundation of ComputerScience,第46-57页[11] P. Inverardi , H. Muccini 和 P. Pelliccione 。 使 用 SPIN 自 动 检 查 架 构 模 型 的 一 致 性 。Automated Software Engineering Conference Proceedings(ASE 2001) ,San Diego ,California,November 2001.[12] P. Inverardi,H. Muccini和P. Pelliccione。 技术报告。[13] D.比较P.Inverardi、P.Pelliccione和A.阿提亚尼在真实的软件生命周期中集成模型检查架构分析和验证。 在proc 2003年第12届形式方法,欧洲研讨会(FM03),计算机科学讲义,n。第2805(2003)号决议。Springer,2003年9月。[14] M.伯纳多双塔3.0:增强可用性。 在第11届IEEE/ACM Int. Symp. 《计算机和通信系统的建模、分析和仿真》(MASCOTS 2003),第188 -193页,奥兰多(佛罗里达州),2003年。[15] M. Bernardo和M.布拉维提马尔可夫过程代数的性能度量敏感同馀式。Theoretical ComputerScience,290,(2003):117[16] XML路径语言(xpath)版本1.0.W3c建议161999年11月http://www.w3c.org/TR/xpath网站。[17] V. Cortellessa和R.米兰多拉PRIMA-UML:早期UML图上的性能验证增量方法。Science ofComputer Programming,44(2002),July 2002,Elsevier Science.[18] Uml 2.0超结构规范。omg采用了ptc/03-08-02规范。http://www.omg.org/docs/ptc/03-08-02.pdf网站。[19] 使用mof,ocl和模式对模型进行Xmof查询,视图和转换,ad/2003-08-07。[20] D. Garlan,S. Khersonsky和J.S. Kim.模型检测发布/订阅系统。第10届国际SPIN软件模型检查研讨会(SPIN 03),俄勒冈州波特兰,2003年5月。[21] 工具项目 主页: http://www.di.univaq.it/di/project.php? id=8。2003年。[22] Eclipse项目。Eclipse平台技术概述。 技术报告,Eclipse项目,2001年。[23] 奥蒙多 Seuml,http://www.omondo.com。
下载后可阅读完整内容,剩余1页未读,立即下载
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)