Requirements for Programming Language Memory Models
نویسندگان
چکیده
One of the goals of the designers of the Java programming language was that multithreaded programs written in Java would have consistent and well-defined behavior. This would allow Java programmers to understand how their programs might behave; it would also allow Java platform architects to develop their platforms in a flexible and efficient way, while still ensuring that Java programs ran on them correctly. Unfortunately, Java’s original memory model, which described the way in which Java threads interact through memory, was not defined in a way that allowed programmers and architects to understand the requirements for a Java system. As part of Java Specification Request (JSR) 133 [7], a new memory model has been defined for Java. This paper outlines how the requirements for a new memory model were established, and what those requirements are. It does not outline the model itself; it merely provides a rationale.
منابع مشابه
Metadata Enrichment for Automatic Data Entry Based on Relational Data Models
The idea of automatic generation of data entry forms based on data relational models is a common and known idea that has been discussed day by day more than before according to the popularity of agile methods in software development accompanying development of programming tools. One of the requirements of the automation methods, whether in commercial products or the relevant research projects, ...
متن کاملFlexible Language Constructs for Large Parallel Programs
The goal of the research described in this paper is to develop flexible language constructs for writing large data parallel numerical programs for distributed memory (MIMD) multiprocessors. Previously, several models have been developed to support synchronization and comnmnication. Models for global synchronization include SIMD (Single Instruction Multiple Data), SPMD (Single Program Multiple D...
متن کاملIs it time for real-time functional programming?
This paper explores the suitability of functional languages for programming real-time systems. We study the requirements of real-time systems in general, outline typical language approaches for this domain, consider issues relating to memory and time usage, and explore how existing functional languages, including our own language Hume, match these requirements. We conclude by posing some resear...
متن کاملAssociative Processing: A Paradigm for Massively Parallel AI
In associative memory, recall is based on similarity to a cue. With its inherent data parallelism, associative memory naturally lends itself to implementation on massively parallel hardware; it is our thesis that associative processing can serve as the basis of AI systems. We believe that the associative paradigm can encompass both neural network and symbolic applications. Current research indi...
متن کاملA Compiler for Multiple Memory
The design of consistency models for both hardware and software is a diicult task. For programming languages it is particularly diicult because the target audience for a programming language is much wider than the target audience for a hardware programming language, making usability a more important criteria. Exacerbating this problem is the reality that the programming languages community has ...
متن کامل