OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
ABCL: an object-oriented concurrent system
ABCL: an object-oriented concurrent system
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM SIGPLAN Notices
Monitors: an operating system structuring concept
Communications of the ACM
The nucleus of a multiprogramming system
Communications of the ACM
The Java Language Specification
The Java Language Specification
Maude: specification and programming in rewriting logic
Theoretical Computer Science - Rewriting logic and its applications
A Calculus for Concurrent Objects
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
A compositional formalism for object viewpoints
FMOODS '02 Proceedings of the IFIP TC6/WG6.1 Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems V
The incremental garbage collection of processes
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
A foundation for actor computation
Journal of Functional Programming
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verification of Concurrent Objects with Asynchronous Method Calls
SWSTE '05 Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering
A Theory of Distributed Objects
A Theory of Distributed Objects
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Validating Behavioral Component Interfaces in Rewriting Logic
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Observable Behavior of Dynamic Systems: Component Reasoning for Concurrent Objects
Electronic Notes in Theoretical Computer Science (ENTCS)
An Open System Operational Semantics for an Object-Oriented and Component-Based Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Modeling and Testing Multi-Threaded Asynchronous Systems with Creol
Electronic Notes in Theoretical Computer Science (ENTCS)
A complete guide to the future
ESOP'07 Proceedings of the 16th European conference on Programming
A dynamic class construct for asynchronous concurrent objects
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Type-Safe runtime class upgrades in creol
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Writing concurrent desktop applications in an actor-based programming model
Proceedings of the 3rd International Workshop on Multicore Software Engineering
Securing the future: an information flow analysis of a distributed OO language
SOFSEM'12 Proceedings of the 38th international conference on Current Trends in Theory and Practice of Computer Science
A system for compositional verification of asynchronous objects
Science of Computer Programming
A probabilistic framework for object-oriented modeling and analysis of distributed systems
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
Science of Computer Programming
Hi-index | 0.00 |
In thread-based object-oriented languages, synchronous method calls usually provide the mechanism to transfer control from caller to callee, blocking the caller until the call is completed. This model of control flow is well-suited for sequential and tightly coupled systems but may be criticized in the concurrent and distributed setting, not only for unnecessary delays but also for the reasoning complexity of multithreaded programs. Concurrent objects propose an alternative to multithread concurrency for object-oriented languages, in which each object encapsulates a thread of control and communication between objects is asynchronous. Creol is a formally defined modeling language for concurrent objects which clearly separates intra-object scheduling from inter-object communication by means of interface encapsulation, asynchronous method calls, and internal processor release points. This separation of concerns provides a very clean model of concurrency which significantly simplifies reasoning for highly parallel and distributed object-oriented systems. This paper gives an example-driven introduction to these basic features of Creol and discusses how this separation of concerns influences analysis of Creol models.