收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

软件体系结构中状态方面的编织研究

杨春花  
【摘要】:作为控制软件复杂性、提高软件系统质量、支持软件开发和复用的重要手段之一,软件体系结构(software architecture)自提出以来,日益受到软件研究者和实践者的广泛关注,并发展成为软件工程的一个重要研究领域。通过对系统进行的组件式分解,软件体系结构实现了对软件系统构建初期面临功能关注点的有效分离。然而,软件体系结构面临的许多表示非功能需求和质量要求的关注点大都表现出横切特征,它们的实现横跨系统的多个组件,从而降低了软件的可重用性,造成系统在演进和维护上的极大困难。这种关注点被称为横切关注点(crosscutting concerns)。 为了应对横切关注点引起的各种问题,面向方面的软件体系结构设计(Aspect-Oriented Software Architecture Design)将方面(aspects)机制引入到软件体系结构的设计中,用方面对横切关注点进行封装表示,通过方面的模块化处理,促进系统的可追踪性、可理解性和可维护性。当前,面向方面的软件体系结构设计已经成为软件工程领域中的一个研究热点。 然而,软件体系结构中的诸如安全、业务规则、可用性、可靠性、可维护性等许多横切关注点呈现依赖于系统运行历史的特性。为了对这种历史敏感的横切关注点进行封装,方面需要带有状态。带有状态的方面称为状态方面(stateful aspects),它通过状态记录系统的执行历史,并根据所处的状态来决定是否执行相应的横切关注点行为。 编织(weaving)是实现方面和系统其余模块组合的方式,一直以来都是面向方面领域一个基本和重要的课题。它不但需要根据方面所提供的信息,在系统中寻找恰当的织入位置,并确定方面行为与织入点行为之间的操作时序,还需要检测和处理编织中可能遇到的方面冲突。而状态的引入,使得状态方面的编织面临比常规方面编织更多复杂的问题。 为了对系统面临的历史敏感横切关注点进行模块化封装,需要将状态方面引入到软件体系结构设计中。而当前的面向方面软件体系结构设计方法并没有提供支持该概念的表示机制,也没有提供有效的编织状态方面的方法。 基于上述背景,本文在吸取当前面向方面的软件体系结构设计和状态方面编程等相关研究成果的基础上,对软件体系结构中状态方面的编织问题展开深入研究,形成了一套完整的形式化的编织方法,并开发了原型工具和通过实例对该方法进行了应用和验证。 本文的主要研究内容包括: 1.软件体系结构状态方面的形式化建模研究。为了在软件体系结构中实现对状态方面的表示,对基本系统的语义、支持状态的切点模型、通知模型以及状态方面的定义等展开研究。基本系统的语义描述系统执行的完整行为,切点模型描述状态方面对基本系统执行历史的关注,描述状态方面在何处编织(where),而通知模型描述状态方面所封装的横切关注点的行为(what)以及这些行为在何时(when)触发。 2.状态方面编织的语义和策略研究。由于现有研究缺乏形式化的编织语义,也缺乏支持状态方面编织的方法,因此对软件体系结构状态方面的编织语义和策略展开研究。在语义方面,对方面编织运算的结构化操作语义SOS (structural operational semantics)和编织中语法层的方面交互问题进行了研究,并考查了编织运算的特性。在策略方面,对关联的确定方法、切点的判断算法和具体的编织算法进行了研究,并开发了原型工具和实例对其进行了实现和应用。 3.状态方面编织的校验和分析研究。方面交互是方面编织中的一个重要问题,其检测和处理对于增强系统的安全性和可靠性有非常重要的意义。首先研究了系统属性层次上的语义方面交互的定义及其校验方法,然后研究了编织影响的分析和推理方法,并在原型工具上进行了实现和验证。 本文工作的主要贡献体现在: 1.将LTS引入系统执行语义的表示,并在对LTS适当扩展的基础上,建立了描述状态方面的切点模型和通知模型,从而解决了状态方面在软件体系结构中的表示问题,为软件体系结构状态方面的编织提供了依据。 2.在对LTS的并发组合(‖)进行扩展的基础上,提出了组合运算(“∝”),并以此为基础建立了状态方面的关联点确定方法。与同类方法相比,该方法不需要引入额外的同步动作,从而避免了由此引起的组合状态数过多的问题。 3.将状态方面的编织定义为在基本系统、切点和通知之间的组合运算(“(?)”),并建立了该运算的操作语义以及支持该语义的具体编织策略。这是一个形式化的语义,基于它可以开展对为编织前后系统行为的理解、分析和推理。 4.针对传统方法无法分析状态方面的编织影响以及缺乏形式化分析方法所带来的难以推理的问题,提出了一种状态方面的编织影响分析方法。它引入LTS之间的弱模拟等价关系作为衡量状态方面编织对一个待分析模式的影响的标准,从而使得编织的分析和推理变得容易。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 江南,虞红英,张根度;一个实现通信协议的快速原型工具[J];计算机工程;1997年05期
2 王书亭,陈立平,吴义忠,钟毅芳;制造系统虚拟仿真原型工具的研究[J];计算机辅助设计与图形学学报;2003年02期
3 王宇颖,潘侠,姚郑;基于对象和重用的原型方法与原型工具系统ORPTOOL[J];哈尔滨工业大学学报;1995年06期
4 郭星明;陈开军;;高职《管理信息系统》精品课程教学改革探索[J];中国教育信息化;2008年13期
5 梅宏;孙永强;;函数程序设计语言用于快速原型[J];计算机科学;1992年01期
6 周颉,金晓敏;面向对象信息管理系统快速原型工具FPCASE[J];计算机工程;1997年S1期
7 潘玉娥;梁鹏;何克清;;基于分类的本体映射方法及映射工具实现[J];计算机应用研究;2007年10期
8 ;捷码科技推出自动平面布局综合产品Hydra[J];电子与电脑;2008年08期
9 Doug Smock;;制作你自己的鞋[J];工业设计;2009年10期
10 徐丙凤;胡军;曹东;黄志球;郭丽娟;张剑;;T-CBESD:一个构件化嵌入式软件设计模型验证工具[J];小型微型计算机系统;2010年11期
11 隋平;赵常智;董威;李冰鹏;;基于三值语义的软件运行时验证方法[J];计算机工程与科学;2011年10期
12 王伟智,刘秉瀚;基于可重用性的软件维护[J];系统工程与电子技术;1992年06期
13 WPC King,JM Payne,刘胜厚;应用于C~3I系统结构的MMI高速原型[J];舰船电子工程;1994年Z3期
14 钟小勇;原型方法与信息系统开发[J];图书情报知识;1995年02期
15 王晨;开发工具:轻轻松松编程序[J];中国计算机用户;1995年08期
16 文武;RAD——编程的终结?[J];中国计算机用户;1995年12期
17 黄以宽;数据驱动,一种实用的原型化开发方法[J];电脑开发与应用;1996年01期
18 张翠侠,周明;一种数据库应用原型生成工具[J];计算机工程与应用;1997年10期
19 包卫东,于云程;G~3I快速原型支持环境的设计与实现[J];电脑与信息技术;1997年05期
20 王亢;原型与重用[J];现代计算机;1997年01期
中国重要会议论文全文数据库 前4条
1 邱奎宁;杨晓波;;一种开放的项目信息管理系统架构[A];工程三维模型与虚拟现实表现——第二届工程建设计算机应用创新论坛论文集[C];2009年
2 贝来倩;瞿兆荣;;数据库可视用户接口VID的设计与快速实现[A];第十届全国数据库学术会议论文集[C];1992年
3 ;Evaluation of Traffic Control Methods at Traffic Circles[A];Proceedings of the 2011 Chinese Control and Decision Conference(CCDC)[C];2011年
4 陈澎;;一种面向GIS整体开发思想和CASE工具设计[A];科技、工程与经济社会协调发展——中国科协第五届青年学术年会论文集[C];2004年
中国博士学位论文全文数据库 前10条
1 杨春花;软件体系结构中状态方面的编织研究[D];山东大学;2010年
2 任胜兵;基于图变换的可视化层次用例建模及演化方法研究[D];中南大学;2007年
3 赵也非;动态UML子图的形式语义研究[D];华东师范大学;2010年
4 潘庆和;软件故障注入关键技术研究[D];哈尔滨工业大学;2011年
5 鹿旭东;用户界面模型语义一致性研究[D];山东大学;2010年
6 何可;威胁模型驱动的软件安全评估与测试方法的研究[D];天津大学;2010年
7 李仁见;堆操作程序分析验证技术研究[D];国防科学技术大学;2011年
8 刘林源;Web服务组合隐私分析与验证研究[D];南京航空航天大学;2011年
9 芦苇;潞绸技术工艺与社会文化研究[D];东华大学;2012年
10 段继男;基于需求驱动的企业应用程序演化方法研究[D];北京化工大学;2013年
中国硕士学位论文全文数据库 前10条
1 池济;铁路防灾安全系统数据管理及客户端原型工具的设计[D];北京交通大学;2010年
2 刘文杰;基于元数据的蛋白质组数据资源整合关键技术研究与应用平台开发[D];国防科学技术大学;2008年
3 赵明;类状态测试用例自动生成方法与实现[D];西安理工大学;2004年
4 任华;基于不安全函数的缓冲区溢出发现技术研究[D];解放军信息工程大学;2007年
5 王蓓;基于故事板的用户界面原型工具的研究与实现[D];西北大学;2008年
6 谭力;基于情态演算的UML形式化验证与OCL约束自动生成研究[D];华东师范大学;2010年
7 李如豹;航天型号软件测试的计划技术研究[D];北京工业大学;2003年
8 杨长保;微泵动态特性及优化评价规则的分析与研究[D];西安科技大学;2004年
9 雷琦;基于CWM的元数据管理原型工具的研究和实现[D];国防科学技术大学;2004年
10 张畅;基于多重集重写的密码协议形式化分析技术研究[D];解放军信息工程大学;2006年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978