摘要
任务是 Ada语言支持并发程序设计的基础 ,它提供了一种进程同步和通信的良好机制 .但也存在一类被动的、专为其他任务服务的服务性任务 .服务性任务的存在增加了系统的负担 ,降低了系统的性能 .如果能将服务性任务变换为保护对象 ,则可以明显地提高系统的性能 ,减少维护的费用 .该文提出了一种在源程序级将 Ada83服务性任务变换为 Ada95保护对象的方法 .先给出服务性任务应满足的条件、识别和表示服务性任务的方法 ,最后讨论此方法的可行性 .与其他方法相比 ,此方法具有假设条件少、识别和变换效率高以及容易验证等特点 .
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.
出处
《软件学报》
EI
CSCD
北大核心
2000年第6期836-840,共5页
Journal of Software
基金
华英文教基金资助
关键词
ADA
服务性任务
保护对象
并发程序设计
数据流图
Ada, serving task, protected object, concurrent programming, data flow diagram.