化学抽象机在软件体系结构中应用.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
化学抽象机在软件体系结构中应用

化学抽象机在软件体系结构中应用  摘要:软件体系结构在软件工程领域中至关重要,而软件体系结构描述语言ADL为软件体系结构的表示和分析提供了语言符号和支持工具。分析和研究了动态形式化描述语言化学抽象机CHAM及其在软件体系结构中的应用。 关键词:化学抽象机;软件体系结构信息科学 1概述软件体系结构是当前软件工程领域的一个研究热点,是大型软件开发中必须解决的核心技术。无数的软件工程实践证明:一个成功的软件系统往往都有一个好的软件体系结构。但是在软件设计、开发、测试、运行以及升级的各个阶段,体系结构都不可避免地会发生变化,如何把运行时适应性机制加到复杂的大规模软件系统中就成为一个重要的工程问题。然而要通过软件体系结构的研究实现这一目标,首先必须用某种方式描述动态体系结构。 目前已定义的ADL超过20种,具有代表性的ADL包括C2、Darwin、Rapide、Unicon、Wright、D-ADL和ACME等[1];国内包括XYZ/ADL、ABC/ADL、FRADL和A-ADL等。但这些语言大多注重软件系统结构静态特性的描述,而对其动态特性描述不足。Paola Inverardi和Alexxander L Wolf[2]首先将CHAM应用于描述和分析软件体系结构。他们充分利用CHAM擅长描述系统动态性和并行性的优点,用CHAM形式化方法描述和分析了软件体系结构动态操作性语义,在软件体系结构动态特性描述方面进行了有效的扩展,主张用CHAM模型描述软件体系结构,并例举描述了编译器的体系结构,包括顺序多阶段编译器和并行、共享存贮库的多阶段编译器。基于CHAM的体系结构描述,运用重写技术和结构归纳证明方法,能够对体系结构的部分行为属性进行形式化或半形式化的证明。 2化学抽象机化学抽象机CHAM主要用于异步并行计算模型的建模[3],通过将化学反应和抽象机概念有机结合描述系统状态变化,它将一个系统的状态看成化学溶液,溶液由分子组成,分子根据一定的反应规则相互反应又引起新的系统状态变化。溶液中不同分子可按反应规则平行地进行反应,只要各自反应的分子集不重叠。因CHAM在描述系统动态性、并行性方面的优良特性,所以可较好描述异步并行计算模型,尤其擅长描述如λ计算和CCS进程计算模型[4]。一个化学抽象机由一组分子m0,m1,m2…、溶液s0,s1,s2…和变换规则组成,分子是CHAM的基本元素,由一个常数集和操作符集派生而成的句法代数定义;溶液是由有限多个分子的集合,它反映了系统的某种状态,溶液中的分子根据变换规则进行反应。 变换规则从应用范围可分为:通用规则,即在整个CHAM中通用的规则;专用规则,适用于某些特定分子的规则。从反应作用可分为:加热规则,把大分子分解成小分子的规则;冷却规则,小分子合成大分子的规则。从反应涉及的分子可分为:自反应规则,只有单一分子的状态变化;互反应规则,反应过程中至少有两个分子参加反应。本质上,CHAM可看成一种有限状态机,因此它具有一般状态机特征,与其他以状态机为转换模型的技术相比,CHAM利用化学反应这一隐喻,因此在刻画系统的动态性特征方面比较自然。CHAM规格说明是一个基于操作的系统框架,这种框架不会把所描述的系统曲解为某种特定的计算模型。CHAM描述不仅可以描述系统静态特征,还能从系统操作动态性方面进行描述,通过对各单元的描述、引入的转换规则及项重写描述和分析体系结构的动态行为,因而可使软件开发人员很快地了解系统功能和行为,适用于多种层次的用户。在CHAM中,膜是一种封装结构,任何溶液可以被看作一个关于其它溶液的单一分子,膜内的溶液可以独立进化。膜具有半可渗透性,允许某些分子进入和离开,通过膜上的气孔,可以有选择地从膜中抽取分子,同时,气孔的可逆性允许分子被重新吸收到原始溶液中,膜表示了复合构件,实际上提供了一种刻画系统模块化的途径。  3在SA中的应用3.1描述SA。用于描述SA的CHAM可表示成一个三元组CHAM=(M,E,R),其中:3.1.1分子集M={m|m∈MS∨MI},MS={mS1,…,mSn}为稳定状态分子集,处于稳定状态的分子不吸收或释放电子,MI={mi|mi∈{mS(.P)+,(P.)+mS(.P)+,(P.)+mS}∧mS∈MS}为离子状态分子集,处于离子状态的分子准备进行吸收或释放电子操作,其中P={i(e),o(e)}为分子上的操作集,i(e)为吸收电子,o(e)为释放电子,操作符“.”表示操作顺序。3.1.2电子集E={e1,…,ek},分子可根据自反应规则准备进行进行收或释放电子,当溶液中有两种互补电子,即一对释放-吸收电子时,可根据互反应规则进行反应。3.1.3规则集R=RS∪RM,RS={r|r∈{mS1=mI1,…,mSj=mIj}∪{mS1=mS1*,…,mSj=mSj

您可能关注的文档

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档