首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 109 毫秒
1.
Jacob Palme 《Software》1976,6(3):405-409
SIMULA is a high-level language comparable in power to PL/I or ALGOL 68. SIMULA compilers exist for eight different computer series. SIMULA is standardized by a committee mainly consisting of one representative for each implementation. This has given good compatibility between the implementations and the efficient handling of standards problems. The fact that the SIMULA language is defined in such a way that there are no undefined constructs in the language has also helped compatibility and standardization.  相似文献   

2.
The realization of an abstract programming language is a good approach for automating the software production process and facilitating the correctness proof of a software system.

This paper introduces a formal language for programming at the abstract level by combining Pascal with VDM (Vienna Development Method). The notation provided by the language obliges programmers to consider the correctness of programs throughout the whole process of programming, and the proof axiom and rules presented in this paper may be used to prove the correctness of programs. A complete example is given to illustrate how to program using APL and how to prove the correctness of programs using the given axiom and rules.  相似文献   


3.
The production of wire-wrap schedules by hand is extremely tedious and error prone. This paper discusses a program which has been developed to generate an easy-to-follow, cross-referenced wiring schedule from a simply-formatted data file. The program also provides extensive checking of the input data. The language used was SIMULA, and was found to be an ideal vehicle for implementing the requirements of wire-wrap schedule generation. The class concept, in particular, was found to be most useful.  相似文献   

4.
A design for a separate compilation facility for the SIMULA 67 programming language is presented. The paper explores the problems with existing separate compilation schemes, and proposes a new scheme that allows top-down, bottom-up, or even parallel development and integration of program modules. An evaluation of the proposal and a discussion of its applicability to other languages are then given.  相似文献   

5.
This paper reports on the memory performance of parallel scientific algorithms, written in both pure and impure functional styles. The Id programming language is used, since it allows both pure and impure parallel functional programs to be expressed. The non-strict storage model of Id is introduced. The study focuses on two algorithms: the Dongarra Sorensen Eignensolver and the NAS FT three dimensional heat equation solver, based on FFTs.This study verifies the claim that functional languages allow a composition of programs from modules, exploiting the inter- and intra-module parallelism without the need for rewrinting these modules. But it also shows that memory use of pure functional programs can be excessive, and theat impure functional programs can be as memory-efficient as imperative implementations.  相似文献   

6.
This paper reports on the design and development of a high level language, Malus, for use in implementing a time-sharing system. Emphasized are the ways that the language and its compiler accommodate the specialized requirements of systems programming and programmers. Among these are the need to generate highly efficient object code, to allow inter-programmer communication by program self-documentation, and to define and organize system tables and data. In addition, the Malus compiler is highly modular; thus the language may be modified or augmented in response to user needs unforeseen during langauge design. Systems programs cannot be machine independent and Malus allows explicit control of emitted code when an application requires particular efficiency or use of privileged instructions. There is also a facility allowing nested redefinition of identifiers. Efficient storage management and data access is effected by the availability of based structures, a register storage class and built-in functions to facilitate their use. Malus is evaluated both in terms of some general criteria for systems implementation languages and by an appraisal of user reactions. While this assessment shows a few areas where the language might be improved, it is felt that Malus is a valuable and effective tool for systems implementation.  相似文献   

7.
The GLIDE system is an effectively language-independent aid of modest proportions for developing programs by stepwise refinement. The basis of the system is a suitable program file environment The system has been implemented on the Imperial College Computer Centre Control Data machine and is currently available for the development of programs written in PASCAL, ALGOL, FORTRAN, SIMULA and JCL (Job Control Language). The program itself is written in PASCAL The facilities obtained within the scope and limitations of the system conception suggest that this type of system could be given further attention.  相似文献   

8.
The area of Discrete Event Simulation (DES) is the least impacted by parallel processing even though most of its applications require tremendous amounts of processing time. The common approach of parallelizing individually special purpose programs leads to very limited improvements in performance. We propose here the parallelization of general DES applications written in SIMULA, as a part of an ongoing project that aims towards developing methodologies and architectures for parallel DES. SIMULA is a general purpose process oriented language whose structure allows the creation of processes which can participate in a quasi-parallel execution according to an interleaved fashion. Problems related to the process interference representation, parallel scheduling and process synchronization are defined and solved. To test and verify the theoretical results the parallel execution of experimental and real DES applications has been simulated. The results show that significant improvement in performance can be expected.  相似文献   

9.
支持对象间关系的程序设计语言研究   总被引:3,自引:0,他引:3  
万建成  张曙明 《软件学报》2000,11(5):686-685
在论述了面向对象技术中对象间的关系作为第一级建模概念的重要性之后,该文设计并实现了显式支持对象间关系的RCPP(relational C++)语言.它提供了显式描述对象间关系特性和语义的机制,利用关系来动态地控制对象行为的作用和传播.它的运行是通过一个转换器把RCPP代码翻译成C++代码,再经C++环境编译后,形成可执行程序而实现的.文章对RCPP语言的模型、语言提供的服务以及具体系统的描述和实现作了深入阐述.  相似文献   

10.
程序设计语言的演进   总被引:1,自引:0,他引:1  
本文对程序设计语言的发展演进特征进行了分析,着重分析了比较了目前流行的面向对象程序设计语言。  相似文献   

11.
The concept of an invariant assertion has been shown by Hoare to be central to the problem of proving correctness of data representation in a program. A consequent approach for program design is to establish the parts of an overall invariant which characterize the components of the design. In this way it is feasible to synthesize a verified program. There is a gulf between verification theory and practical reality in this area, but the SIMULA class concept is close to the data representation technique required for such an approach. Some of the benefits and problems of this approach to design have been explored by the development of a SIMULA program to simulate a bounded delay resource allocation strategy in a job scheduling environment.  相似文献   

12.
Ben Shneidebman 《Software》1976,6(4):555-567
The proliferation of papers on programming methodology focus on the program development process but only hint at the form of the final program. This paper distinguishes between the development process and the program product and presents a catalogue of possible program organizations and data structures with examples drawn from the published literature. The methods for sharing data among modules and a classification scheme for programs and data structures is presented.  相似文献   

13.
Reactive systems are interactive programs that react continuously to sequences of activations coming from the external world. Reactive programming leads to a new programming style where one programs in terms of reactions to activations and reasons in a logic of instants. This paper describes an extension of the C programming language called RC (for ‘Reactive C’) to program reactive systems. The language RC is described, then some programming examples are given to illustrate the reactive approach. The main RC notions come directly from the Esterel synchronous programming language. Finally, the Esterel and RC languages are compared.  相似文献   

14.
Creating new applications by integrating user interface and application components is a relatively new idea which is currently of wide interest. A significant part of this problem is clearly defining the separation between user interface and application components. This paper proposes a new design methodology based on the concept of an abstract data view (ADV), a structuring method which cleanly defines this separation. A number of examples of composite interactive documents, ones which could contain several different user interfaces with entities such as text, calculations, drawings and possibly even multi-media presentations, illustrate the ADV concept. These examples lead naturally to the introduction of the concept of hole, a user interface area in a composite interactive document which is managed by an external program, and uses ADVs. Prototypes of a number of systems supporting ADVs and holes are currently running in our laboratory.  相似文献   

15.
A program language can be defined as the language in which computer programs are written, and a programming language as the language used by the programmer to create programs. This paper presents the design of an interactive program development system which uses Pascal as both program and programming language. Principal properties of the system are a complete immediate syntax check, a program-structure oriented editor, incremental compiling techniques, and interactive interpretation and debugging of programs. The syntax check is split into three phases, and the user can change the degree of check wanted. After a change of the program only part of it is recompiled, and only necessary phases of the compiling process are performed.  相似文献   

16.
Scope delimiters, such as BEGIN-END or DO-END, are used in many programming languages, but they can lengthen and clutter a program listing. This paper provides experimental evidence that ENDIF or ENDWHILE statement terminators make for easier to comprehend programs than BEGIN-END pairs surrounding compound statements.  相似文献   

17.
BaLinda Lisp is a parallel Lisp dialect employing a shared memory model of parallel processing together with a subset of the Linda tuple space operators. Also included in the design is speculative processing. The aim is to have shared memory multiprocessing with the tuple space acting as the main data structure through which synchronization is done. The result is a flexible programming language. In this paper, we shall describe the design philosophy of BaLinda Lisp, discuss its implementation on three multiprocessing platforms, give examples of programs written in BaLinda Lisp and discuss future work on the language.  相似文献   

18.
数据并行高层描述语言DPHL是我们开发的面向科学计算的一个描述语言,变量定义和基于域上的计算是该语言的重要组成部分,本文通过对数据并行方法、科学计算特点以及现有并行语言的研究和分析,论述了变量定义中数据抽象的两个主要方面;一是引入了变量的定义域、子域和依赖域概念,给出了它们的形式化描述,二是引入了变量的数学属性,并和域分离,便于数据并行自动识别,重构高效的并行程序,使DPHL描述符合或接近于专业上数学表示。  相似文献   

19.
There is a strong prejudice against the friendship access control mechanism in C++. People claim that friendship breaks the encapsulation, reflects bad design, and creates too strong coupling. However, friends appear even in the most carefully designed systems, and if it is used judiciously (like using the attorney‐client idiom), they may be better choice than widening the public interface of the class. In this paper, we investigate how the friendship mechanism is used in C++ programs. We have made measurements on several open source projects to understand the current use of friends. Our results show various holes and errors in friend usage, like friend functions accessing only public members or not accessing members at all or the class, which declare friends has no private members at all. The results also show that friend functions actually use only a low percentage of the private members they were granted to access, which is a source of errors. These results have motivated us to propose a selective friend language construct for C++, which can restrict friendship only to well‐defined members. Such a new language element may decrease the degradation of encapsulation and significantly increase the diagnostic capacity of the compiler. We have created a proof‐of‐concept implementation based on the LLVM/Clang compiler infrastructure to show that such constructs can be established with a minimal syntactical and compilation overhead.  相似文献   

20.
分析了抽象程序设计语言Apla(Abstract Programming Language)定义的集合摄作的实现算法思想,用PAR方法(分划递推法,Partition-and-Recur)推导了实现集合操作的Apla程序,并分别将这些抽象程序用三种数据结构(向量(Vector)、数组(Aarray)、链表(noldep,自定义))实现,构成了自定义Java集合类库。该类库可用于Apla-Java程序自动转换系统和体现数据抽象思想的Java程序开发。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号