首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
The Graphical Kernel System GKS is so well established as a standard for graphics programming that quite a number of models for multiprocessor and distributed environments have already been suggested. It is therefore necessary to consider new languages and methodologies capable of supporting its distributed implementation. In this context, clausal logic languages provide suitable means for describing the system in a declarative form and, moreover, ensure the applicability of meta-programming techniques for specifying the semantics of implementation. The Prolog language, extended with communication and modularization structures required by the distributed programming, is thus here considered as a feasible means for establishing a model of GKS organized in functional modules which could be supported by different processors. For such a model a two-level implementation scheme is outlined and a reconfiguration and personalization methodology is suggested.  相似文献   

2.
Aspects of a prototype binding of GKS to the C++ programming language are presented. The binding makes use of classes and derived classes to define GKS concepts such as segments and workstations. Operator overloading is used for some GKS Functions.  相似文献   

3.
This paper presents a new language that integrates the real-time and distributed paradigms within the framework of a concurrent logic language. Concurrent logic languages (CLLs) are capable of expressing concurrence, communication and nondeterminism in a natural way. That is, the intrinsic parallel semantics of the concurrent logic languages makes them well-suited for distributed programming. The proposed language is particularly suitable for loosely coupled systems and it contains mechanisms for distributed and real-time process control. A new execution model for concurrent logic languages is presented, which enables efficient distributed execution and real-time control. The model is introduced by giving an operational semantics for the language and the new model's implementation is discussed, including the definition of a new abstract machine and its implementation on a network of Unix workstations. Although the sequential core is not optimized, some previous results are discussed, showing the feasibility of the language's execution model for distributed real-time systems. The language is currently being used as the kernel language for a distributed simulation and validation tool for communication protocols.  相似文献   

4.
This paper presents a new language that integrates the real-time and distributed paradigms within the framework of a concurrent logic language. Concurrent logic languages (CLLs) are capable of expressing concurrence, communication and nondeterminism in a natural way. That is, the intrinsic parallel semantics of the concurrent logic languages makes them well-suited for distributed programming. The proposed language is particularly suitable for loosely coupled systems and it contains mechanisms for distributed and real-time process control. A new execution model for concurrent logic languages is presented, which enables efficient distributed execution and real-time control. The model is introduced by giving an operational semantics for the language and the new model's implementation is discussed, including the definition of a new abstract machine and its implementation on a network of Unix workstations. Although the sequential core is not optimized, some previous results are discussed, showing the feasibility of the language's execution model for distributed real-time systems. The language is currently being used as the kernel language for a distributed simulation and validation tool for communication protocols.  相似文献   

5.
Considerable discussion has appeared in recent literature about ‘distributed programming’. One area of discussion concerns the design of programming languages which support distributed algorithms. This paper examines the important issues in programming language design for distributed computing, and presents an example of a language philosophy which supports program development for a distributed environment. It also discusses experiences with the STARMOD distributed programming language.  相似文献   

6.
7.
During the past 20 years, we've produced myriad toolkits aimed at simplifying distributed programming and integration, including many proprietary or homegrown-based approaches and many others based on well-known approaches such as distributed computing environment (DCE), CORBA, J2EE, and Web services. It's not only distributed computing and integration's inherent difficulties that make these tool-kits complicated. Perhaps ironically, success also makes them more complex. Many distributed integrated applications, including much of the software running the Web are based on "middleware dark matter" which consists of dynamic languages like Python, Perl and PHP. We survey three dynamic language distributed computing systems.  相似文献   

8.
The Agents Kernel Language (AKL) is a general purpose concurrent constraint language. It combines the programming paradigms of search-oriented languages such as Prolog and process-oriented languages such as GHC. The paper is focused on three essential issues in the parallel implementation of AKL for shared-memory multiprocessors: how to maintain multiple binding environments, how to represent the execution state and how to distribute work among workers. A simple scheme is used for maintaining multiple binding environments. A worker will immediately see conditional bindings placed on variables, all workers will have a coherent view of the constraint stores. A locking scheme is used that entails little overhead for operations on local variables. The goals in a guard are represented in a way that allows them to be inserted and removed without any locking. Continuations are used to represent sequences of untried goals. The representation keeps the granularity of work more coarse. Available work is distributed among workers in such a way that hot-spots are avoided. And- and or-tasks are distributed and scheduled in a uniform way.  相似文献   

9.
函数式语言并行化的方法   总被引:1,自引:0,他引:1  
Lisp作为一个表处理语言.有着悠久的历史,而COMMON LISP提供一r丰富的数据集和多程序设计模式:函数的,强制的和面向对象的〔“·幻。我们以COMMON LISP为蓝本完成T XJD一LISP/CLOS,它是为我国曙光一号机配备的.现已通过国家教委组织的鉴定。最近我们正在开发COMMON LISP的并行版本,作为863计划资助项目,这个工作很有意义。该并行系统将加速计算,并且还能对XJD一 LISP/CLOS提供支持。本文就函数式语言并行化的方法进行了探讨。  相似文献   

10.
Knowing and using multiple programming languages for normal day-to-day development can yield significant benefits. No single language is a great fit for all problems. A programming language usually owes its existence to one simple fact: its designer felt it could address a set of problems - perhaps even just one problem - better than other available languages. This belief is apparently not uncommon: thousands of languages have come and gone and thousands more will follow. Numerous trade-offs are involved in programming language design and development, so there's room for many different approaches and variants. Unsurprisingly, monolingual developers tend to choose general-purpose rather than specialized programming languages. General-purpose languages perform adequately for a wide variety of problems, but they generally yield predominantly middle-of-the-road solutions - neither great nor terrible. Of course, some monolingual developers possess extremely deep and thorough knowledge of their programming languages, and so know how to exploit them to the fullest.  相似文献   

11.
This paper analyses the use of GKS with concurrent languages, showing the inherent problems that arise when working in a multitasking environment. A theoretical solution and its practical implementation are described.  相似文献   

12.
约束程序设计语言COPS的设计与实现   总被引:1,自引:0,他引:1  
廖乐健  董国增 《计算机工程》2003,29(8):14-15,28
约束程序设计作为面向智能应用的实用型程序设计风格正在AI领域产生越来越大的影响,其关键问题是如何将说明性的知识表示、系统化和启发式的推理搜索能力以及合理的确定性计算开销统一起来。该文介绍了设计实现的并发约束程序设计语言COPS。COPS系统的主要目标是探索智能语言的实用化与工程化,使其能够真正解决现实世界中用常规语言难以实现的智能应用问题。还介绍了COPS语言的表示及涉及的主要推理技术。  相似文献   

13.
GKS, which recently became the International Standards Organization (ISO) standard for computer graphics programming, is the first of a set of interlocking graphics standards. This paper outlines the important ideas behind GKS, describes its relationship with other standards and discusses the benefits of standardization.  相似文献   

14.
We study the expressive power of variants of KLAIM, an experimental language with programming primitives for network-aware programming that combines the process algebra approach with the coordination-oriented one. KLAIM has proved to be suitable for programming a wide range of distributed applications with agents and code mobility, and has been implemented on the top of a runtime system written in Java. In this paper, the expressivity of its constructs is tested by distilling from it a few, more and more foundational, languages and by studying the encoding of each of them into a simpler one. The expressive power of the considered calculi is finally tested by comparing one of them with asynchronous ππ-calculus.  相似文献   

15.
The characteristics of functional programming languages recommend them for web development. We checked that in practice, by customizing the functional programming language Wafl for web development. Customizations include support for web document types, web data access functions, textual templates, web dialogs and extension of transactional mechanisms to web session data. Prototype implementations of Wafl are developed. Our experience shows that application of Wafl in the web development domain is fully justified and that web development may benefit from functional programming languages in both education and production.  相似文献   

16.
The Visual Programmer's WorkBench (VPW) addresses the rapid synthesis and customization of environments for the specification, analysis, and execution of visual programs. The goal of VPW is to enable the easy creation of environments for visual languages. The design of VPW and experience using it to generate a distributed programming environment for a concurrent visual language are described. A visual programming environment for the PetriFSA language generated with VPW is outlined. An overview is provided of the language definition model and its relation to the logical architecture of VPW. Details are given of the language specifications used in VPW, and its application in defining the PetriFSA language. A language-based environment for a specific visual language is generated in VPW from a specification of the syntactic structure, the abstract structure, the static semantics, and the dynamic semantics of the language. VPW is built around a model of distributed processing based on a shared distributed memory. This framework is used in defining the architecture of the environment and for the execution model of visual languages  相似文献   

17.
主从式单边异构体系结构的异构多核处理器广泛应用于面向专门应用领域的计算加速,如异构多核嵌入式处理器、DSP、SoC等;高性能的该类处理器也可用于一些大规模科学和工程计算问题的处理。主从式单边异构处理器对编程模型和编译技术提出了很多挑战性问题,如编程模型的选择、编程语言的设计、编译器架构设计以及运行库的设计等。本文分析了这一类处理器结构特点和执行模型,认为功能卸载模型是最适用于这一体系结构的编程模型;并分析了面向功能卸载模型的编程语言设计关键问题,提出了编译系统的架构,讨论了相应的运行库设计问题。  相似文献   

18.
Various forms of data aggregates, e.g., arrays, lists, sets, etc., are usually provided by programming languages, either as primitive entities or as additional features made available by standard libraries. In conventional programming languages these data structures are usually specified by completely and precisely enumerating all their constituent elements. Conversely, in (constraint) logic programming languages it is common to deal with partially specified aggregates where either some elements or some parts of the aggregate are left unknown. In this paper we consider the case where partially specified aggregates can occur in a conventional O-O programming language. Specifically, we consider partially specified lists and sets as provided by the Java library JSetL. The definition of such data structures is strongly based on the notion of logical (or constrained) variable usually provided by languages and libraries to support constraint programming. We show through simple examples using Java and JSetL how partially specified lists and sets, along with a few basic constraints over them, can be conveniently exploited in a number of common programming problems.  相似文献   

19.
李文军  周晓聪  李师贤 《软件学报》2001,12(10):1555-1561
优先关系是并发系统控制的重要手段,常用于解决并发系统设计中的冲突问题.在有界P/T系统的基础上提出一种动态优先系统,并分别给出它们的交错语义与真并发语义.动态优先系统既可以作为并发与分布式系统的建模工具,也可以作为定义程序设计语言中优先算子的语义基础.最后,基于动态优先系统的概念,为Occam语言扩充了一种动态优先选择算子.  相似文献   

20.
It is currently possible to build multiprocessor systems which will support the tightly coupled activity of hundreds to thousands of different instruction streams, or processes. This can be done by coupling many monoprocessors, or a smaller number of pipelined multiprocessors, through a high concurrency switching network. The switching network may couple processors to memory modules, resulting in a shared memory multiprocessor system, or it may couple processor/memory pairs, resulting in a distributed memory system.

The need to direct the activity of very many processes simultaneously places qualitatively different demands on a programming language than the direction of a single process. In spite of the different requirements, most languages for multiprocessors have been simple extensions of conventional, single stream programming languages. The extensions are often implemented by way of subroutine calls and have little impact on the basic structure of the language. This paper attempts to examine the underlying conceptual structure of parallel languages for large-scale multiprocessors on the basis of an existing language for shared memory multiprocessors, known as the Force, and to extend the concepts in this language to distributed memory systems.  相似文献   


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

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