Implicit Communication in Programming Languages by Declaration, Reference, and Assignment
نویسنده
چکیده
With the increase of communication between computers, we need techniques for (i) communication to be handled automatically or implicitly, and (ii) flexible programs capable of handling data from different kinds of correspondents with no reprogramming. The traditional approach of handling input/output, files, inter program communication and man machine interfaces by specific statements in programming languages restricts these two aims. We propose handling these activities implicitly and in a unified manner by separating a program into a pure algorithm with no communication statements (PurAL), and separate declarations which describe externally mapped variables (DUAL description). So, without using I/O or communication statements, just assigning to an externally mapped variable will cause a value to be sent outside the program. Similarly referencing such a variable will cause a value to be fetched from outside the program (if it has not been fetched already). As the mapping of variables is described separately from the program, this enables the program to be used in various contexts (ports, files, networks, windows etc.). By specifying that a variable is mapped to data on another computer, in effect we are dealing with remote data access, i.e. the communication is implicit. By specifying that an output-variable in one program is to be mapped to input-variables in other programs, we have in effect a generalization of the pipe and tee operating system constructs. We also propose heuristics for open/close and lock/unlock, enabling these operations to be carried out automatically.
منابع مشابه
Experiments in Separating Computational Algorithm from Program Distribution and Communication
Our proposal has the following key features: 1) The separation of a distributed program into a pure algorithm (PurAl) and a distribution/communication declaration (DUAL). This yields flexible programs capable of handling different kinds of data/program distribution with no change to the pure algorithm. 2) Implicit or automatic handling of communication via externally mapped variables and genera...
متن کاملThe effect of implicit input enhancement on learning grammatical collocations
Collocation is known as one of the most problematic areas in learning a second language and it seems that if one has tendency to improve his or her communication ability in another language, the elaboration of collocation using competence is among the most important issues. This study investigated the role of implicit input enhancement in teaching grammatical collocations for Iranian EFL learne...
متن کاملConcurrent Non-deferred Reference Counting on the Microgrid: First Experiences
We present a first evaluation of our novel approach for nondeferred reference counting on the Microgrid many-core architecture. Non-deferred reference counting is a fundamental building block of implicit heap management of functional array languages in general and Single Assignment C in particular. Existing lock-free approaches for multicore and SMP settings do not scale well for large numbers ...
متن کاملA Step from Probabilistic Programming to Cognitive Architectures
Probabilistic programming is considered as a framework, in which basic components of cognitive architectures can be represented in unified and elegant fashion. At the same time, necessity of adopting some component of cognitive architectures for extending capabilities of probabilistic programming languages is pointed out. In particular, implicit specification of generative models via declaratio...
متن کاملBlocking and Non-blocking Assignments in Explicit and Implicit Style Verilog Synthesis
We show transformations that convert blocking assignments into non-blocking assignments. Such transformations are useful because the parallel-processing nature of hardware is more easily conceptualized and mapped to technology with non-blocking assignment. To validate our theory, we synthesized using Synopsys FPGA Express, which supports both blocking and non-blocking assignments. Some of these...
متن کامل