An overview is presented of a distributed programming language called Communicating Sequential Modules (CSM), intended to support distributed computing. The language is developed from Modula-2 and communicating seque...
详细信息
An overview is presented of a distributed programming language called Communicating Sequential Modules (CSM), intended to support distributed computing. The language is developed from Modula-2 and communicating sequential processes (CSP). From CSP, the language has inherited parallel commands, guarded commands, and communication commands, and from Modula-2, it has inherited most of the rest, including the important module concept. CSM has been implemented on the ZCZ distributed microcomputer system consisting of several LSI-11 microcomputers. Its language is easy to understand. The CSM compiler is composed of a modified Modula-2 compiler and a translator, which is written in Modula-2 with a size of about 2,100 lines. Examples tested show that CSM is an effective tool for distributing programming.
SR is a new language for programming software containing many processes that execute in parallel. The language allows an entire software system that controls a potentially large collection of processors to be programm...
详细信息
SR is a new language for programming software containing many processes that execute in parallel. The language allows an entire software system that controls a potentially large collection of processors to be programmed as an integrated set of software modules. The key language mechanisms are resources, operations and input statements. The language supports separate compilation, type abstraction, and dynamic communication links; it also contains novel treatments of arrays and procedures. This paper gives an overview of the language mechanisms, discusses some of the major design decisions and describes one implementation.
Event Log Exchange (ELE) is a common programming pattern based on immutable state and messaging. ELE sidesteps traditional challenges in distributed consistency, at the expense of introducing new challenges in designi...
详细信息
Event Log Exchange (ELE) is a common programming pattern based on immutable state and messaging. ELE sidesteps traditional challenges in distributed consistency, at the expense of introducing new challenges in designing space reclamation protocols to avoid consuming unbounded storage. We introduce Edelweiss, a sublanguage of Bloom that provides an ELE programming model, yet automatically reclaims space without programmer assistance. We describe techniques to analyze Edelweiss programs and automatically generate application-specific distributed space reclamation logic. We show how Edelweiss can be used to elegantly implement a variety of communication and distributed storage protocols;the storage reclamation code generated by Edelweiss effectively garbage-collects state and often matches hand-written protocols from the literature.
A high-level language system has been developed for application programming in a network environment. The language, MOD, addresses the problems of distributed programming by creating an environment conducive to effici...
详细信息
A high-level language system has been developed for application programming in a network environment. The language, MOD, addresses the problems of distributed programming by creating an environment conducive to efficient and reliable network software construction. MOD provides low-level operations which can be extended to define high-level abstractions appropriate to a particular machine environment. Programs written in MOD can adapt to changes in workload or response time requirements. Library modules can be upgraded from a collection of procedures to a collection of processes. MOD also permits programs to be organized to reflect the structure of the physical processors and the connectivity of the network.
The StarMod language is designed to provide its users with abstractions for distributed computations. The language is based on Wirth's definition of a “module” as impiemented in Modula. The paper discusses abstr...
详细信息
The StarMod language is designed to provide its users with abstractions for distributed computations. The language is based on Wirth's definition of a “module” as impiemented in Modula. The paper discusses abstraction mechanisms for distributed access control and scheduling: in addition, several examples are used to illustrate these concepts.
Linking many independent microprocessors with distributed storage is frequently desirable. A requirement for successful linkage is a distributed programming language capable of being used in well-structured, reliable...
详细信息
Linking many independent microprocessors with distributed storage is frequently desirable. A requirement for successful linkage is a distributed programming language capable of being used in well-structured, reliable, and efficient programs. Guarded Procedure (GP), a new approach to distributed programming, specifies communication and synchronization among software components, enabling processes to proceed in parallel. Objectives in the design of GP are: 1. high system throughput, 2. the ability to call subroutines, and 3. simplicity for easy implementation. Examples of applications of GP are given in the solution of familiar programming exercises.
The importance of concurrent and distributed programming is increasing on Computer Science curricula. This exploratory research identifies additional notions required by the official topics of "Parallel and Concu...
详细信息
ISBN:
(纸本)9781728147871
The importance of concurrent and distributed programming is increasing on Computer Science curricula. This exploratory research identifies additional notions required by the official topics of "Parallel and Concurrent programming" course, taught at the University of Costa Rica. This paper characterizes previous knowledge that students had about these notions and the extracurricular effort that they made to overcome the lack of notions. Findings show that students were able to overcome the lack of notions at expense of more extracurricular effort. Exploratory evidence indicates that students' election of professors in previous courses influenced their performance and extracurricular effort in the parallel programming course.
The use of information technology is indisputed in any direction, starting with medicine, education, research, production, socially, etc. Taking into account what we have just said before, the present paper presents a...
详细信息
ISBN:
(纸本)9783901509582
The use of information technology is indisputed in any direction, starting with medicine, education, research, production, socially, etc. Taking into account what we have just said before, the present paper presents an original method of using distributed programming with the purpose of obtaining products based on the principle of collaborative design and of sustaining the management of the production systems, thus improving its performances, and, at the same time, increasing those of the triple requirement quality-cost-time, which, in a global economy, has an overwhelming importance.
This article presents experiences of teachers from Lulea University of Technology when enhancing the teaching approach and depth of an undergraduate course on network programming and distributed applications. During t...
详细信息
ISBN:
(纸本)9781479939220
This article presents experiences of teachers from Lulea University of Technology when enhancing the teaching approach and depth of an undergraduate course on network programming and distributed applications. During the trial run of the course in the fall of 2013 agent-oriented programming and cloud technologies were married to provide students an exciting practical scenario and capability to test the performance of truly large scale distributed systems under extremely high traffic loads.
A distributed system is made of interacting components. The current manual, ad-hoc approach to composing them cannot ensure that the composition is correct, and makes it difficult to control performance. The former is...
详细信息
ISBN:
(纸本)9783031174360;9783031174353
A distributed system is made of interacting components. The current manual, ad-hoc approach to composing them cannot ensure that the composition is correct, and makes it difficult to control performance. The former issue requires reasoning over a high-level specification;the latter requires fine control over emergent run-time properties. To address this, we propose the Varda language (a work in progress) to formalize the architecture of a system, i.e., its components, their interface, and their orchestration logic. The Varda compiler checks the architecture description and emits glue code, which executes the orchestration logic and links to the components. The Varda system relies on a generic interception mechanism to act upon distribution-related system features in a transparent and uniform manner. Varda also takes into account important non-functional system properties, such as placement.
暂无评论