- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种并发面向对象同步模型研究A-CiteSeerX
1000-9825/2002/13(01)0071-09 ©2002 Journal of Software 软 件 学 报 Vol.13, No.1
一种并发面向对象同步模型研究
吕 建, 杨大军, 廖 宇, 唐 宝
(南京大学 计算机软件新技术国家重点实验室,江苏 南京 210093);
(南京大学 计算机软件研究所,江苏 南京 210093)
E-mail: lj@
摘要: 同步是并发语言的一个重要特征,然而在面向对象的框架下, 同步约束的存在可能导致不期望的方法的
重定义.基于并发面向对象规约语言 VDM++(Vienna development method)的两种同步机制,提出一种适合于并
发面向对象广谱规约语言的同步模型-卫式路径结构.它不但可以支持一般代码的复用, 而且可以全方位地支持
对同步代码的复用.
关 键 词: 并发面向对象;继承; 同步;继承异常
中图法分类号: TP311 文献标识码: A
通常并发面向对象语言的设计主要是基于正交模型、同构模型和异构模型这3 种对象模型[1] .因为异构模
型易于直接模拟客观世界并且能使设计者在单一的模块(对象) 下描述问题,所以,异构模型逐渐成为并发面向
对象规约语言的主要模型.在异构模型中通常存在主动对象和被动对象两种对象. 由于被动对象可能同时为多
个主动对象提供服务,所以必须提供相应的同步机制, 以保证被动对象数据的一致性.但是, 同步机制的引入在
面向对象的框架下会带来继承异常问题[2] .因此, 同步模型是设计并发面向对象规约语言的一个重要问题.一个
好的同步模型应该既可以满足各种同步需求,又可以尽可能地解决继承异常问题,对并发软件的复用提供较好
的支持.
依据同步限制规约与功能性规约的关系, 同步模型可以分为内置式和外挂式. 内置式是指同步限制规约嵌
入在功能性规约中,共同组成方法体.外挂式是指同步限制规约与功能性规约分离,从而使同步代码独立于具体
方法的定义. 由于内置式同步模型极易带来继承异常问题,而外挂式同步控制则很好地体现了将对象的功能特
性与行为特性相分离的思想,其语义清晰,易于表达同步规约, 同时同步代码与方法体分离能够很好地缓解继承
异常问题,因此,在面向对象的框架下,基于外挂式的同步模型是合理的选择.
VDM++[3] 是典型的基于外挂式同步模型的并发面向对象语言. 它提供了路径(trace) 机制和允用谓词
(permission predicates)机制两种同步机制.其他外挂式的同步模型还有 Kafura 等人[4] 提出的行为抽象模型、
Rosette 提出[5] 的enabled sets,Neusius[6]提出的Synchronizing Actions,Frølund[7]提出的prevents 以及Matsuoka[8]
提出的基于方法集、同步器和转换规约的同步模式等.
在设计同步模式时,我们选择了 VDM++ 中的同步模型作为出发点,这主要是因为其中的路径同步机制结
构优美,易于理解且理论基础比较好.但是,经过仔细分析发现,该同步机制不能很好地解决继承异常问题.因此,
收稿日期: 2000-03-17; 修改日期: 2000-07-31
基金项目: 国家自然科学基金资助项目; 国家863 高科技发展计划资助项目(863-306-ZT02-02-03); 国家杰出青年基
金资助项目;江苏省应用基础研究基金资助项目(BJ99016)
作者简介: 吕建(1960 -), 男,江苏南京人,博士,教授,博士生导师,主要研究领域为软件自动化,并行程序形式化方法,面向对象
语言和环境;杨大军(1972 -), 男,辽宁锦州人,博士,主要研究领域为并发面向对象语言,形式化方法;寥宇( 1974-), 男,辽宁铁岭人,硕
士,主要研究领域为并发面向对象语言,形式化方法;唐宝(1974 -), 男,宁夏银川人,硕士,主要研究领域为并发面向对象语言,形式化
方法.
72 Journal of Software 软件学报 2002,13(1)
我们以 VDM++ 中的路径机制为基础,从同步机制的表达能力, 同步代码的分离、分解和独立等不同角度出发,
提出了一种新的同步模型.
1 VDM++ 中同步机制的分析
VDM++ 的同步机制是基于DRAGOON Ada 的扩充版、POO
文档评论(0)