Communications of the ACM

  1557-7317

  0001-0782

  Mỹ

Cơ quản chủ quản:  Association for Computing Machinery (ACM) , ASSOC COMPUTING MACHINERY

Lĩnh vực:
Computer Science (miscellaneous)

Phân tích ảnh hưởng

Thông tin về tạp chí

 

Communications of the ACM is the leading print and online publication for the computing and information technology fields. Read by computing's leading professionals worldwide, Communications is recognized as the most trusted and knowledgeable source of industry information for today’s computing professional. Following the traditions of the Communications print magazine, which each month brings its readership of over 100,000 ACM members in-depth coverage of emerging areas of computer science, new trends in information technology, and practical applications, the Communications website brings topical and informative news and material to computing professionals each business day. ACM's membership includes the IT industry's most respected leaders and decision makers. Industry leaders have for more than 50 years used the monthly Communications of the ACM magazine as a platform to present and debate various technology implications, public policies, engineering challenges, and market trends. The Communications website continues that practice.

Các bài báo tiêu biểu

Balanced job bound analysis of queueing networks
Tập 25 Số 2 - Trang 134-141 - 1982
John Zahorjan, Kenneth C. Sevcik, Derek L. Eager, Bruce I. Galler
Beyond the chalkboard: computer support for collaboration and problem solving in meetings
Tập 30 Số 1 - Trang 32-47 - 1987
Mark Stefik, Gregg Foster, Daniel G. Bobrow, Ken Kahn, Stan Lanning, Lucy Suchman
Although individual use of computers is fairly widespread, in meetings we tend to leave them behind. At Xerox PARC, an experimental meeting room called the Colab has been created to study computer support of collaborative problem solving in face-to-face meetings. The long-term goal is to understand how to build computer tools to make meetings more effective.
SIMULA: an ALGOL-based simulation language
Tập 9 Số 9 - Trang 671-678 - 1966
Ole-Johan Dahl, Kristen Nygaard
This paper is an introduction to SIMULA, a programming language designed to provide a systems analyst with unified concepts which facilitate the concise description of discrete event systems. A system description also serves as a source language simulation program. SIMULA is an extension of ALGOL 60 in which the most important new concept is that of quasi-parallel processing.
On the optimal detection of curves in noisy pictures
Tập 14 Số 5 - Trang 335-345 - 1971
Ugo Montanari
Parallel database systems
Tập 35 Số 6 - Trang 85-98 - 1992
David J. DeWitt, Jim Gray
Concurrent object-oriented programming
Tập 33 Số 9 - Trang 125-141 - 1990
Gul Agha
Three significant trends have underscored the central role of concurrency in computing. First, there is increased use of interacting processes by individual users, for example, application programs running on X windows. Second, workstation networks have become a cost-effective mechanism for resource sharing and distributed problem solving. For example, loosely coupled problems, such as finding all the factors of large prime numbers, have been solved by utilizing ideal cycles on networks of hundreds of workstations. A loosely coupled problem is one which can be easily partitioned into many smaller subproblems so that interactions between the subproblems is quite limited. Finally, multiprocessor technology has advanced to the point of providing supercomputing power at a fraction of the traditional cost. At the same time, software engineering considerations such as the need for data abstraction to promote program modularity underlie the rapid acceptance of object-oriented programming methodology. By separating the specification of what is done (the abstraction) from how it is done (the implementation), the concept of objects provides modularity necessary for programming in the large. It turns out that concurrency is a natural consequence of the concept of objects. In fact Simula, the first object-oriented language, simulated a simple form of concurrency using coroutines on conventional architectures. Current development of concurrent object-oriented programming (COOP) is providing a solid software foundation for concurrent computing on multiprocessors, Future generation computing systems are likely to be based on the foundations being developed by this emerging software technology. The goal of this article is to discuss the foundations and methodology of COOP. Concurrency refers to the potentially parallel execution of parts of a computation. In a concurrent computation, the components of a program may be executed sequentially, or they may be executed in parallel. Concurrency provides us with the flexibility to interleave the execution of components of a program on a single processor, or to distribute it among several processors. Concurrency abstracts away some of the details in an execution, allowing us to concentrate on conceptual issues without having to be concerned with a particular order of execution which may result from the quirks of a given system. Objects can be defined as entities which encapsulate data and operations into a single computational unit. Object models differ in how the internal behavior of objects is specified. Further, models of concurrent computation based on objects must specify how the objects interact, and different design concerns have led to different models of communication between objects. Object-oriented programming builds on the concepts of objects by supporting patterns of reuse and classification, for example, through the use of inheritance which allows all instances of a particular class to share the same method. In the following section, we outline some common patterns of concurrent problem solving. These patterns can be easily expressed in terms of the rich variety of structures provided by COOP. In particular, we discuss the actor model as a framework for concurrent systems 1 and some concepts which are useful in building actor systems. We will then describe some other models of objects and their relation to the actor model along with novel techniques for supporting reusability and modularity in concurrent object-oriented programming. The last section briefly outlines some major on-going projects in COOP. It is important to note that the actor languages give special emphasis to developing flexible program structures which simplify reasoning about programs. By reasoning we do not narrowly restrict ourselves to the problem of program verification—an important program of research whose direct practical utility has yet to be established. Rather our interest is in the ability to understand the properties of software because of clarity in the structure of the code. Such an understanding may be gained by reasoning either informally or formally about programs. The ease with which we can carry out such reasoning is aided by two factors: by modularity in code which is the result of the ability to separate design concerns, and by the ability to abstract program structures which occur repeatedly. In particular, because of their flexible structure, actor languages are particularly well-suited to rapid prototyping applications.
A bridging model for parallel computation
Tập 33 Số 8 - Trang 103-111 - 1990
Leslie G. Valiant
The success of the von Neumann model of sequential computation is attributable to the fact that it is an efficient bridge between software and hardware: high-level languages can be efficiently compiled on to this model; yet it can be effeciently implemented in hardware. The author argues that an analogous bridge between software and hardware in required for parallel computation if that is to become as widely used. This article introduces the bulk-synchronous parallel (BSP) model as a candidate for this role, and gives results quantifying its efficiency both in implementing high-level language features and algorithms, as well as in being implemented in hardware.
A view of the parallel computing landscape
Tập 52 Số 10 - Trang 56-67 - 2009
Krste Asanović, Rastislav Bodík, James Demmel, Tony M. Keaveny, Kurt Keutzer, John Kubiatowicz, Nelson Morgan, David A. Patterson, Koushik Sen, John Wawrzynek, David Wessel, Katherine Yelick
Writing programs that scale with increasing numbers of cores should be as easy as writing programs for sequential computers.
A machine program for theorem-proving
Tập 5 Số 7 - Trang 394-397 - 1962
Martin Davis, George Logemann, Donald W. Loveland
The programming of a proof procedure is discussed in connection with trial runs and possible improvements.
Some computer science issues in ubiquitous computing
Tập 36 Số 7 - Trang 75-84 - 1993
Mark Weiser