Eiffel: the language
Systematic concurrent object-oriented programming
Communications of the ACM
Toward a method of object-oriented concurrent programming
Communications of the ACM
Specifications and their use in defining subtypes
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Regular types for active objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
FMOODS '97 Proceedings of the IFIP TC6 WG6.1 international workshop on Formal methods for open object-based distributed systems
A set-constraint-based analysis of actors
FMOODS '97 Proceedings of the IFIP TC6 WG6.1 international workshop on Formal methods for open object-based distributed systems
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like
ECOOP '88 Proceedings of the European Conference on Object-Oriented Programming
Type Specifications with Processes
Proceedings of the IFIP TC6 Eighth International Conference on Formal Description Techniques VIII
Towards a Theory of Actor Computation
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
From CML to Process Algebras (Extended Abstract)
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
Behavioural Types for a Calculus of Concurrent Objects
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Static conflict analysis for multi-threaded object-oriented programs
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
A behavioral type system and its application in Ptolemy II
Formal Aspects of Computing
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract behavior types: a foundation model for components and their composition
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Bristlecone: A Language for Robust Software Systems
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Synchronization as a Special Case of Access Control
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.01 |
We expect interfaces in programming languages to expose essential parts of the objects’ internal synchronization as well as required external synchronization. Clients need this information to provide required and avoid conflicting synchronization. We propose a mixed static and dynamic token-based approach to uniformly specify internal and external synchronization in a simplified Java-like language. This concept gives us much flexibility on token management, ensures race-free programs without any need for complete aliasing information, and supports static type checking of synchronization using a rich notion of subtyping.