The nucleus of a multiprogramming system
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
The decline and fall of Operating Systems I
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
Pascal-FC: a language for teaching concurrent programming
ACM SIGPLAN Notices
Using histories to implement atomic objects
ACM Transactions on Computer Systems (TOCS)
A system for teaching concurrent programming
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
Ada 9X protected types in Pascal-FC
ACM SIGAda Ada Letters
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Obtaining sequential efficiency for concurrent object-oriented languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tools for teaching CCRs, monitors, and CSP concurrent programming concepts
ACM SIGCSE Bulletin
Implementing Atomic Actions in Ada 95
IEEE Transactions on Software Engineering
Intertask communication realized with an interrupt mechanism
ACM '85 Proceedings of the 1985 ACM annual conference on The range of computing : mid-80's perspective: mid-80's perspective
Resource scheduling: specification and proof techniques
CSC '88 Proceedings of the 1988 ACM sixteenth annual conference on Computer science
Guava: a dialect of Java without data races
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Integrating object-oriented programming and protected objects in Ada 95
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Monitors: an operating system structuring concept
Communications of the ACM
A file system interface for concurrent access
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Syntactic control of interference
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The architecture of concurrent programs
The architecture of concurrent programs
Integrating object-oriented programming and protected objects in Ada 95
ACM SIGAda Ada Letters
Multiprocessor architectures for concurrent programs
ACM SIGARCH Computer Architecture News
Eliminating synchronization bottlenecks using adaptive replication
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Annals of the History of Computing
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
An Introduction to Functional Nets
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Detection of Races and Control-Flow Nondeterminism
LCR '98 Selected Papers from the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
The invention of concurrent programming
The origin of concurrent programming
Monitors: an operating system structuring concept
The origin of concurrent programming
The programming language concurrent Pascal
The origin of concurrent programming
A proposal for certain process management and intercommunication primitives
ACM SIGOPS Operating Systems Review
The TYPESET-10 Message Exchange Facility: a case study in systemic design
ACM SIGOPS Operating Systems Review
Multiprocessor Architectures For Concurrent Programs
ACM '78 Proceedings of the 1978 annual conference
Hierarchical language definition
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
The grok project data structures and process communication
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Reliability experience with Chi/OS
Proceedings of the international conference on Reliable software
The purpose of concurrent Pascal
Proceedings of the international conference on Reliable software
On structuring operating systems with monitors
ACM SIGOPS Operating Systems Review
Assertions: A Personal Perspective
IEEE Annals of the History of Computing
The external consistency of abstract data types
ACM SIGPLAN Notices
Structured programming, programming teaching and the language Pascal
ACM SIGPLAN Notices
A correctness criterion for CSP parallel programs
ACM SIGPLAN Notices
Monitors and Concurrent Pascal: a personal history
History of programming languages---II
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrent clustered programming
CONCUR 2005 - Concurrency Theory
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A semantics for concurrent separation logic
Theoretical Computer Science
Resources, concurrency, and local reasoning
Theoretical Computer Science
CoBoxes: Unifying Active Objects and Structured Heaps
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
A thread synchronization model for SIP servlet containers
Proceedings of the 3rd International Conference on Principles, Systems and Applications of IP Telecommunications
A Grainless Semantics for Parallel Programs with Shared Mutable Data
Electronic Notes in Theoretical Computer Science (ENTCS)
Customizable and upgradable enterprise systems without the crystal ball assumption
EDOC'09 Proceedings of the 13th IEEE international conference on Enterprise Distributed Object Computing
Agent-oriented programming: from prolog to guarded definite clauses
Agent-oriented programming: from prolog to guarded definite clauses
Syntactic control of interference for separation logic
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Toward a grainless semantics for shared-variable concurrency
FSTTCS'04 Proceedings of the 24th international conference on Foundations of Software Technology and Theoretical Computer Science
AutoSynch: an automatic-signal monitor based on predicate tagging
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
A survey of support for structured communication in concurrency control models
Journal of Parallel and Distributed Computing
Hi-index | 48.24 |
This paper presents a proposal for structured representation of multiprogramming in a high level language. The notation used explicitly associates a data structure shared by concurrent processes with operations defined on it. This clarifies the meaning of programs and permits a large class of time-dependent errors to be caught at compile time. A combination of critical regions and event variables enables the programmer to control scheduling of resources among competing processes to any degree desired. These concepts are sufficiently safe to use not only within operating systems but also within user programs.