ISSN在线(2278 - 8875)打印(2320 - 3765)
Poovizhi Panpa P PG学生,Easwari工程学院,印度钦奈 |
相关文章Pubmed,谷歌学者 |
访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程
软件系统的关键属性,如可靠性和性能,应该检查在发展早期,当他们可以管理重要的建筑设计决策。几种架构可靠性分析方法开发了支持这一任务。然而,这些方法监督各个影响因素对可靠性或硬编码成正式的模型,它强烈限制了他们的适用性支持建筑设计在基于组件的开发过程。我们的方法,基于帕拉第奥的组件模型(PCM),认为有关建筑因素高度参数化软件系统类似于uml模型,允许透明的评价建筑设计选项。模型系统的传播使用概要文件和整个架构和执行环境自动派生组件使用概要文件,在大多数现有的监管方法。在分析之前,模型自动转换为正式的分析模型。使用一个现实的例子中,我们将演示使用概要分析的支持。
关键字 |
基于组件的软件工程,离散时间马尔可夫链,帕拉第奥组件模型(PCM),参数的依赖关系,服务效果规范(SEFF),使用配置文件 |
介绍 |
软件系统越来越多地应用于不同的领域和关键任务处理许多时间和支持商业和工业过程。正式的技术分析软件系统的性质不仅是有用的功能性质,但也为额外的功能属性,如可靠性、性能、安全性、可靠性等。可以非正式地定义为时间的分数系统正确运行。更正式,它被定义为一个软件系统的无故障运行的概率在指定时间在指定的环境中[1]。预测的可靠性系统可以帮助避免实现基于组件的软件架构,不满足用户需求,从而大大节省成本固定一个实现基于一个贫穷的架构。架构的可靠性预测中可以用来评估系统设计的质量,也认识到reliability-critical元素的架构。这支持基本在开发过程的早期设计决策。 |
架构的软件可靠性分析中,一个需要个人软件组件的可靠性规范。这些值是最理想的供应商提供的组件。然而,供应商很难提供一个软件组件的可靠性,因为价值不仅取决于组件的实现,但也在一些供应商的控制以外的其他因素,如使用概要文件,外部服务的可靠性和执行环境的可靠性。 |
许多现有的方法(例如,[2],[3])没有明确模型的影响系统使用配置文件的控制流和数据流在整个架构。他们编码系统使用配置文件到正式的模型隐式马尔可夫转移概率的模型。自模型是坚定地绑定到一个特定的使用配置文件,需要重复建模工作的可靠性评估为不同使用概要文件。此外,许多方法不考虑执行环境的影响系统的可靠性。尽管软件完全是绝对没错的,失败可能发生由于不可用硬件资源和通信网络链接失败组件。无知,这些因素会导致过于乐观的可靠性预测(例如,[2],[3])。相反,方法(例如,[4])考虑到执行环境提供模型applicationlevel软件失败,还导致有限的软件系统可靠性的观点。 |
本文力求弥补以前用一个创新的技术方法的缺点architecturebased软件可靠性建模和预测,明确检查和集成了上述reliability-relevant因素。技术传播使用概要文件在一个基于组件的软件架构和解决参数依赖的占执行环境评估服务执行在不同硬件的可用性。帕拉第奥的组件模型(PCM)[8]作为香港人对基于组件的软件架构建模语言通过扩展PCM可靠性预测的能力。自动化的工具支持个pcm都转换为马尔可夫链和节省空间的评价这些链。 |
支持多种开发人员角色的PCM他们能独立贡献部分建筑模型。这减少了总体任务的复杂性。整个方法被实现为一个基于eclipse的工具[7],不仅支持建模过程和可靠性分析,而且可靠性仿真和敏感性分析,进一步促进建筑设计。剩下的纸是组织如下:第二节探讨了相关工作。第三节内裤PCM的最重要的概念。第四节细节PCM的可靠性预测实例。第五节总结我们的工作。 |
相关工作 |
软件可靠性工程领域的开创性工作[1]着重于系统测试和可靠性增长模型将系统视为黑盒。最近,许多架构的提出了可靠性分析方法中,对系统软件组件的组合。随后,这些方法对其建模组件可靠性影响因素的研究。 |
系统使用配置文件可以被描述的预期的系统调用序列(包括他们的概率)和输入参数值用于这些调用,这可能会影响整个系统的控制流。模型使用概要文件对系统可靠性的影响,从用户输入的传播的组件和组件对其他组件(外部调用)建模。Goseva等。[3],大多数方法依赖组件之间的跃迁概率的估计。张[2]提到过渡概率可以通过组装和部署执行预期使用的组件和配置文件。然而,这需要建立整个系统的软件架构师在建筑设计,这通常是既不期望也不可能的。 |
王等现代方法。[9],Sharma et al。[10]张的工作扩展到支持各种建筑风格和综合性能和可靠性分析。然而,他们信赖测试数据或软件架构师的洞察力来计算概率的过渡。Reussner et al。[11]假定固定组件之间的转移概率;因此它的模型不能被重用,如果使用系统级配置文件不同。张等。[6]关注单个组件的可靠性和不包括调用其他组件。 |
许多方法将执行环境的属性纳入软件可靠性模型。Sharma等。[4]提供一个软件可执行性模型,包括硬件的可用性和不同的硬件资源状态,但不使用概要文件传播和组件依赖关系。此外,这种方法计算成功的请求的吞吐量出现硬件故障,但不是系统的可靠性。的方法也是Trivedi等。[13]和Vilkomir et al。[14]谁设计复杂的可用性模型的执行环境,然而,没有关联的软件水平来估算整个系统的可靠性。 |
Popic等。[15]考虑失败概率的网络连接,而不是其他硬件资源的失败概率。佐藤和Trivedi[16]集成系统模型的通信系统服务资源可用性模型。不过,他们不包括纯软件故障(不被执行环境激活),假设固定过渡概率之间的服务,和模型不使用配置文件服务的依赖关系。雅库巴等。[17]包括通信链路可靠性的方式但忽视硬件的可用性。 |
一般来说,需要一个集成的建模和评估方法,允许基于组件的软件系统的系统可靠性预测不同使用概要文件和执行环境。这是本文的重点。我们详细的描述了建模和评估方法在接下来的部分。 |
建模与PCM可靠性 |
给读者一个简短的开场白PCM的建模功能,我们开始讨论一个简单的例子(部分),紧随其后的是一个更复杂的叙事结构建模能力的相关开发角色(B)节和最后介绍PCM扩展关于可靠性建模(C节)。 |
答:示例 |
图1显示了一个示例PCM实例模型的一个简单的web服务器系统。它允许一个商店提交操作,在数据库中,传递给它的号码和名字。 |
的PCM是由四种模型由四个不同的独立开发人员角色。角色可能造成部分独立于其他角色,通过均匀分布的建模支持分布式的基于组件的开发过程的贡献。PCM角色实现的组件开发人员,软件架构师、系统部署人员和领域专家。 |
组件开发人员提供抽象组件服务导致组件的行为规范服务行为模型。他们可以注释内部计算服务失败的概率。此外,他们可以注释外部调用以及控制流结构与参数的依赖关系。后者允许使用模型调整为不同的系统级配置文件。软件架构师从存储库中检索组件规范和组合成一种体系结构模式,规范组件的连接。他们不处理组件内部,而是完全依靠SEFFs由组件开发人员提供的。系统部署人员定义一个资源环境失败带注释的属性和分配资源架构模型中的组件,构建系统的部署模型。最后,领域专家指定的系统级使用模型随机调用序列和输入参数值,然后通过整个模型可以自动传播。一旦指定整个模型,它可以转化为马尔可夫模型进行可靠性预测 |
b . PCM建筑建模能力 |
本节提供了一个更复杂的解释个人的吸附。一个完整的总结,包括元模型,参考[8]。 |
1)组件服务行为模型:PCM的这一部分由组件提供的服务的行为规范,连同他们的输入参数和相关组件的参数。图1中的示例包含两个SEFF模型,每个组件的建模提供一个服务使用的建筑模型。提交服务提供的服务的Web组件。提交SEFF指定高级控制和数据流如下:执行开始后,内部行动(原型< <内部> >)代表提交操作,使用一个CPU资源类型。还有另一个原型< <电话> >,可以用来代表外部调用行动到另一个服务的另一个组件。其他SEFF商店所提供的服务的数据库组件。它也只由一个内部的行动,然而,服务执行更复杂的搜索(使用CPU和高清资源类型)迭代,迭代的数量影响的长度(或bytesize)名称参数。 |
2)体系结构模型:通过各自的组件指定的组件作为服务行为模型是由软件架构师连接成一个系统的体系结构模型。此外,软件架构师定义系统边界和确定提供的接口,用户应当暴露系统或其他系统。在图1中,架构模型通过所需的连接网络和数据库组件并提供存储服务,与提交服务接触外部系统用户。 |
3)部署模式:资源环境的部署模型模型,这是一组资源(即容器。通过网络连接,计算节点)连接。每个资源容器可能包括大量的模仿硬件资源(如CPU、硬盘、内存等)。资源属性,比如失败利率或调度策略。系统部署人员指定具体的资源,而组件SEFFs仅指抽象的资源类型。当指定组件的配置资源容器,可以针对具体的资源需求的资源。这种方法允许简单的交换的资源环境模型而不需要调整组件规范。图1的资源环境由一个容器服务器的资源。资源容器提供CPU和硬盘(硬盘驱动器)所使用的资源可能提交和存储组件,对应于指定的组件分配。 |
4)使用模型:使用模型是由领域专家和它捕获系统的使用概要文件。它由一组代表不同的用户使用场景类或系统的用例。每个场景包含的系统服务调用序列,包括概率控制流结构表达在每个用例或用户类现有的可变性。如果一个服务签名包含输入参数,领域专家可以描述他们的价值观和其他属性。他们可以使用随机表达式语言模型参数具有任意概率分布的性质。图1包含一个简单的使用模型,包括一个使用场景。每个系统用户到达系统,进入一系列的三个调用提交服务,和离开系统。每次调用提交有相同的概率分布为输入参数名的长度即len(名称):10、20或30。 |
我们的方法可以用来支持评估单个孤立地使用场景以及多个并行使用场景。在第二种情况下,一个概率的刺激必须显示所有单独的使用场景。可靠性分析然后决定整个系统可靠性加权的使用场景概率。 |
c . PCM扩展建模的可靠性 |
在本节中,我们描述了新的reliability-relevant概念纳入PCM元模型最初设计性能建模和预测。 |
软件故障发生在一个服务执行由于实现的缺点。PCM内部行动SEFF摘要component-internal处理,可以带注释的失效概率,描绘了在执行期间内部行动失败的概率。它认为任何失败的内部行动会导致系统故障。组件开发人员可以使用统计测试,软件可靠性增长模型或代码覆盖率度量组件各自失败的概率估计。 |
通信链路故障包括消息的丢失或损坏在运输,导致服务失败。虽然传输协议(如TCP容错机制,失败仍然可以发生由于过载,物理伤害的链接,或者其他原因。这样的失败在很大程度上是不可预知的从系统部署人员的角度,他们是看软件故障和失效概率的通信链接注释在PCM模型中。这些失败概率与类似的系统可以定义从经验或目标网络上运行测试。 |
不可用硬件引起服务执行失败。硬件资源故障主要是由于穿出局。最终,一辆破旧的资源是经常维修或更换功能类似的新资源。在PCM,硬件资源带注释的平均失效到达时间(MTTF)和平均修复时间(MTTR)指定的系统部署人员。硬件供应商通常提供MTTF值在规范文档。系统部署人员可以完善这些值的经验。 |
与PCM预测的可靠性 |
预测过程是描绘在图2,加上前面的建模和后续的设计评估步骤。 |
答:解决参数的依赖关系 |
组件开发人员指定的高级行为组件通过服务规范的影响。这些SEFFs可能包含参数依赖表达输入参数值的影响的控制流和数据流。在PCM实例,解决所有参数依赖现有的PCM依赖解算器是重用。从给定的使用场景,依赖求解递归地遍历指定SEFFs和解决所有参数的依赖关系。每个解决步骤包括分析和解决具有任意概率分布的随机表达式,引用输入参数与不同的数据类型和不同的运营商。 |
确定物理系统状态的概率 |
物理系统状态是由系统的所有各州的硬件资源,这是定义在PCM资源环境和分配给资源的容器中。让R = {r1、r2。rn}是系统中资源的集合。每个资源国际扶轮的特点是其MTTFi和MTTRi,有两个可能状态好和NA(不可用)。在我们的方法中,我们不使用指定的MTTFi和MTTRi值直接进行可靠性预测。相反,我们计算稳态可用性资源国际扶轮的Av: |
c .生成和评估马尔可夫模型 |
基于PCM的立场解决参数依赖和已知的物理系统状态概率的发生,我们的方法生成和评估吸收离散时间马尔可夫链(DTMCs)以递归的方式来预测系统的可靠性。算法主要包括两个方面:第一,个体DTMC生成和评估每个物理系统状态的地方。第二,所有单个结果聚合获得最终结果。 |
首先,每个行为规范B(使用场景)被表示为一个线性序列的操作{A1, A2,。,一个},包括内部操作,调用操作,分支、循环、和叉子,一个嵌套的语义。在这个语义,整个街区的行为属于一个分支,循环,或叉表示一个动作,有嵌套的行为。 |
之后添加一个启动和停止动作序列,该规范转换为DTMC这样每个操作的行为成为DTMC的状态。开始行动成为初始DTMC状态;停止行动成功的状态。此外,介绍了故障状态来表达任何行动Ai可以失败概率fp (Ai)。结果DTMC吸收和无环图3.7所示。失效概率fp (B)的整体行为的概率是从初始状态到达失败状态: |
可靠性评估是由于算法的递归特性节省空间。由于资源的数量n,时间复杂度是O (2 n),因为有2 n物理系统的状态。 |
结论 |
本文提出了一种基于组件的软件架构的可靠性建模和预测方法。预测的准确性增加了整合甚至很少包括建筑等方面使用概要文件和执行环境。帕拉第奥的方法实现为一个扩展Eclipse SDK组件模型。PCM支持分布式的、基于组件的系统。预测是通过模拟软件进行验证。 |
该方法的主要缺点是可伸缩性。由于指数复杂度,算法是有效的资源最多大约20只。我们的一个未来的工作包括解决这个可伸缩性问题。也离散时间马尔可夫链模型(DTMCs)个人使用场景是不准确的,因为他们认为不断的失败概率之间的每一个州,这是不正确的。我们将解决这个问题通过使用连续时间马尔可夫链(中国十冶公司)。另一个假设导致不准确的结果是,软件故障概率的组件被认为是相互独立的,然而,在实践中,一个软件组件与其他组件的失败。 |
引用 |
|