共查询到20条相似文献,搜索用时 9 毫秒
1.
Ada并发程序设计 总被引:2,自引:0,他引:2
《计算机工程与应用》1987,(4)
<正> 该书1984年出版,作者系美国贝尔实验室的Narain Gehani。该书从公认的第一个提供高级通用并发程序设计设施的Ada语言着手,全面地介绍了Ada语言中的并发程序设计设施,以及如何有效利用这些设施编写并发程序;概述了在其它语言的并发程序设计设施;讨论了并发程序设计中的一些细节问题;书末还附录了Ada顺序程序设计的概要。目前,各种大小的并行计算机及操作系统都已相继问世并投入实际使用。并行处理将是今后几年计算机工程和应用的发展方向之一,也是新一代计算机的核心技术之一。但是如果缺乏高度并行的程序设计语言和方法,将会给广泛的应用带来很大障碍,这已引起计算机各 相似文献
2.
Narain Gehani 《计算机工程与应用》1987,(12)
<正> 死锁,不一定的时序和不一定的轮询都是并发程序设计问题,这些问题通常对顺序程序设计不感兴趣,甚至无关。这些问题发生在并发程序设计之中,而不管程序设计语言提供了什么样的并发程序设计设施。但是,程序设计语言中的并发设施的精确特性对这些问题的严重性与经常性确有影响。本章讨论三个并发程序设计问题:死锁,程序中的最大并发特性,以及Ada中的轮询偏向。 1.死锁当程序中的一个或多个任务被永远阻塞时,死锁就发生了,因为需求不能满足。在一些任务中,死锁会成为某些任务中的一种 相似文献
3.
《计算机工程与应用》1986,(8)
<正> 该书1984年出版,作者系美国贝尔实验室的Narain Gehani。 该书从公认的第一个提供高级通用并发程序设计设施的Ada语言着手,全面地介绍了Ada语言中的并发程序设汁设施,以及如何有效利用这些设施编写并发程序;概述了在其它 相似文献
4.
5.
《Information and Software Technology》2002,44(13):733-741
In a concurrent environment, due to schedule, race conditions and synchronisation among concurrent units, some program statements may never be executed. Such statements are dead statements and have no influence on the programs except making them more difficult to analyse and understand. Since the execution of concurrent programs is non-deterministic, it is hard to detect dead statements. In this paper, we develop a data flow approach to detect dead statements for concurrent Ada programs. In this method, concurrent Ada programs are represented by concurrent control flow graphs in a simple and precise way, and detecting rules are extracted by analysing program behaviours. Based on these rules, a dead statement detecting algorithm is proposed. 相似文献
6.
Paul M. Cohen 《Journal of Systems and Software》1981,2(4):351-355
The need for software management and standardization of programming languages used in military systems was first identified by DoD in 1975. DoD at that time supported many limited use languages for what are now called embedded computer applications. This diversity of languages contributed to high software costs. In November 1976, DoD first established seven approved
,
,
,
-J3,
-J73,
,
-2,
-1. Eventually the number of approved DoD languages may be reduced to three, Ada,
, and
. Ada was established as Military Standard 1815, on 10 December 1980. The ANSI standardization process for Ada is in progress. The Ada concept places restrictions on what may be called an Ada compiler. Compilers may not be called Ada compilers until they have passed validation tests. Up to 80% of software costs are incurred after the software has been put into service. Ada can promote a programming style that leads to maintainable software. It is in the program maintenance phase of the software life cycle where large savings will be achieved through the use of Ada. 相似文献
7.
Recent advances in hardware technology have made the construction of multiprocessor systems economically feasible. This paper describes a new programming language (Concurrent C) suitable for distributed systems which are networks of loosely connected processors, each with its own local storage. Concurrent C is the extended version of the programming language C, incorporating features for parallel processing and interprocess communications. 相似文献
8.
Ada的会合机制使我们能在高级语言一级上描述系统的并发活动,从而避免了在使用低能通信原语时所不可避免的问题,但由于会合机制是一种完全同步的实现机制,因此其并发效率较低。为此,本文提出:采用基于Ada保护对象的(异步)信箱机制实现Ada会合的服务模型,使之既具有会合机制的高可靠性,又能提高系统的并发度和实现效率。 相似文献
9.
本文概述了Ada并发软件质量保证的基本特点,探讨了死锁检测和实时性检测与优化方法,并研究了相应的质量保证策略和模型。 相似文献
10.
Concurrent C, is a parallel superset of C (and of C++) that provides facilities such as specifying timeouts during process interactions, delaying program execution, accepting messages in a user-specified order, and asynchronous messages that can be used for writing real-time programs. However, Concurrent C does not provide facilities for specifying strict timing constraints, e.g., Concurrent C only ensures that the lower bounds on the specified delay and timeout periods are satisfied.
Real-Time Concurrent C extends Concurrent C by providing facilities to specify periodicity or deadline constraints, to seek guarantees that timing constraints will be met, and to perform alternative actions when either the timing constraints cannot be met or the guarantees are not available.In this paper, we will discuss requirements for a real-time programming language, briefly summarize Concurrent C, and motivate and describe the real-time extensions to Concurrent C. We also discuss scheduling and other run-time facilities that have been incorporated to support the real-time extensions. A prototype implementation of Real-Time Concurrent C is nearing completion. 相似文献
11.
The distributed computer system described in this paper is a set of computer nodes interconnected in an interconnection network via packet-switching interfaces.The nodes communicate with each other by means of message-passing protocols.This paper presents the implementation of rendezvous facilities as high-level primitives provided by a parallel programming language to support interprocess communication and synchronization. 相似文献
12.
Packages in the Ada™ language provide a mechanism for extending the language through the development of additional data types. Such types can be better integrated into the language using operator overloading; however, key limitations prevent new types from being transparently integrated into the language. Allowing function names to overload private type names would give a cleaner and clearer mechanism for building values of these types. Furthermore, by allowing redefinitions of “:=” and by making it easier to overload “=” for private types, Ada could be transformed into a more expressive language. 相似文献
13.
14.
We present a programming language for robots which we have implemented based on the Ada language. It is an interpreted language which permits dynamic configuration of software. It manipulates Ada tasks and subroutines. One of the Ada tasks is an inference engine of a logic programming language adapted to real-time constraints. We show how the conjunction of Ada tasks, to perform perception and action functions on the robot, to logic programs, for the control of these tasks, both manipulated by the IAda language, gives a powerful environment for robot programming. 相似文献
15.
Jha R. Kamrad J.M. II Cornhill D.T. 《IEEE transactions on pattern analysis and machine intelligence》1989,15(3):271-280
Ada Program Partitioning Language (APPL) has been designed as part of Honeywell's Distributed Ada project. The goal of the project is to develop an approach for reducing the complexity of building distributed applications in Ada. In the proposed approach, an application is written as a single Ada program using the full capabilities of the Ada language. It is not necessary to factor the underlying hardware configuration into the program design. Once the program has been completed and tested in the host development environment, it is partitioned into fragments and mapped onto the distributed hardware. The partitioning and mapping are expressed in APPL and do not require changes to the Ada source. The main thrusts of the project include the design of APPL and the development of language translation tools and the run-time system to support Ada and APPL for a distributed target. The authors present an overview of APPL, the goals considered in the design, and issues that impact its implementation 相似文献
16.
John Barnes 《Computer Standards & Interfaces》1994,16(5-6):481-485
This paper, one of a simultaneously published set on ten years of activity in programming language standards, describes the developments in standardization of the programming language Ada which have taken place in the period 1983–1993. 相似文献
17.
The rendezvous is an important concept in concurrent programming—two processes need to synchronize, i.e. rendezvous, to exchange information. The Ada programming language is the first programming language to use the rendezvous as the basis of its concurrent programming facilities. Our experience with rendezvous facilities in the Ada language shows that these facilities lead to and encourage the design of programs that poll. Polling is generally, but not always, undesirable because it is wasteful of system resources. We illustrate and examine the reasons for polling bias in the Ada language. We give suggestions on how to avoid polling programs, and suggest changes to the rendezvous facilities to eliminate the polling bias. The ramifications of these changes to the implementation of the Ada language are also discussed. Although we have focused on the rendezvous facilities in the Ada language our analysis is also applicable to other languages. A polling bias can occur in any concurrent programming language based on the rendezvous mechanism if it does not provide appropriate facilities. 相似文献
18.
19.
C++ and Concurrent C are both upward-compatible supersets of C that provide data abstraction and parallel programming facilities, respectively. Although data abstraction facilities are important for writing concurrent programs, we did not provide data abstraction facilities in Concurrent C because we did not want to duplicate the C++ research effort. Instead, we decided that we would eventually integrate C++ and Concurrent C facilities to produce a language with both data abstraction and parallel programming facilities, namely, Concurrent C++. Data abstraction and parallel programming facilities are orthogonal. Despite this, the merger of Concurrent C and C++ raised several integration issues. In this paper, we will give introductions to C++ and Concurrent C, give two examples illustrating the advantages of using data abstraction facilities in concurrent programs, and discuss issues in integrating C++ and Concurrent C to produce Concurrent C++. 相似文献
20.
本文结合笔者的编程体会,简要介绍了Auto-CAD中语言- ADS在编程上的优点和使用方法,揭示了在ADS编程中需要注意的一些关键问题。 相似文献