| 引用本文: | 李帮清,徐宝文,刘超,张茂林,晏海华,杨峰,何智涛.一种Ada83服务性任务向Ada95保护对象变换的方法.软件学报,2000,11(6):836-840 |
| |
|
| 本文已被:浏览 4059次 下载 5345次 |
 码上扫一扫! |
|
|
| 一种Ada83服务性任务向Ada95保护对象变换的方法 |
|
李帮清1,2, 徐宝文1,2, 刘超3, 张茂林3, 晏海华3, 杨峰3, 何智涛3
|
|
1.东南大学计算机科学与工程系,南京,210096;2.武汉大学软件工程国家重点实验室,武汉,430072;3.北京航空航天大学软件工程研究所,北京,100083
|
|
| 摘要: |
| 任务是Ada语言支持并发程序设计的基础,它提供了一种进程同步和通信的良好机制.但也存在一类被动的、专为其他任务服务的服务性任务.服务性任务的存在增加了系统的负担,降低了系统的性能.如果能将服务性任务变换为保护对象,则可以明显地提高系统的性能,减少维护的费用.该文提出了一种在源程序级将Ada83服务性任务变换为Ada95保护对象的方法.先给出服务性任务应满足的条件、识别和表示服务性任务的方法,最后讨论此方法的可行性.与其他方法相比,此方法具有假设条件少、识别和变换效率高以及容易验证等特点. |
| 关键词: Ada,服务性任务,保护对象,并发程序设计,数据流图. |
| DOI: |
| 分类号: |
| 基金项目:本文研究得到华英文教基金资助。 |
|
| An Approach for Transforming Ada83 Serving Tasks to Ada95 Protected Objects |
|
LI Bang-qing,XU Bao-wen,LIU Chao,ZHANG Mao-lin,YAN Hai-hua,YANG Feng,HE Zhi-tao
|
| Abstract: |
| Tasks are the basic facilities of concurrent programming in Ada, which provides a good mechanism of synchronization and communication. However, there exists a kind of serving tasks that are passive and are used as servers. The existence of serving tasks makes systems have a little overhead and degrades system performance. When serving tasks are transformed to protected objects, the performance of systems can be improved. In this paper, the authors propose a method of transforming Ada83 serving tasks to Ada95 protected objects at the source code level. First, conditions that a serving task must satisfy are discussed. Then the methods of identifying and transforming serving tasks are discussed, followed by discussions on the feasibility of the methods. Compared with other methods, the proposed methods have less hypotheses and higher efficiency and are easier to verify. |
| Key words: Ada, serving task, protected object, concurrent programming, data flow diagram. |