Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Distributed programming in Argus
Communications of the ACM
A calculus of mobile processes, I
Information and Computation
Composing first-class transactions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient support of location transparency in concurrent object-oriented programming languages
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Horus: a flexible group communication system
Communications of the ACM
Middleware: a model for distributed system services
Communications of the ACM
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Coordinating distributed objects: an actor-based approach to synchronization
Coordinating distributed objects: an actor-based approach to synchronization
Agent naming and coordination: actor based models and infrastructures
Coordination of Internet agents
Reliable Distributed Computing with the ISIS Toolkit
Reliable Distributed Computing with the ISIS Toolkit
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Composable Semantic Models for Actor Theories
Higher-Order and Symbolic Computation
FoSSaCS '98 Proceedings of the First International Conference on Foundations of Software Science and Computation Structure
A foundation for actor computation
Journal of Functional Programming
Stabilizers: a modular checkpointing abstraction for concurrent functional programs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Worldwide computing: Adaptive middleware and programming technology for dynamic Grid environments
Scientific Programming - Dynamic Grids and Worldwide Computing
Modular Checkpointing for Atomicity
Electronic Notes in Theoretical Computer Science (ENTCS)
The Internet Operating System: Middleware for Adaptive Distributed Computing
International Journal of High Performance Computing Applications
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
Lightweight checkpointing for concurrent ml
Journal of Functional Programming
Liveness of communicating transactions
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Controlling reversibility in higher-order Pi
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
A reversible abstract machine and its space overhead
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Scoped synchronization constraints for large scale actor systems
COORDINATION'12 Proceedings of the 14th international conference on Coordination Models and Languages
Fault tolerance via idempotence
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrent flexible reversibility
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Recovery within long-running transactions
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into systems that reliably maintain globally consistent distributed state. The transactor model incorporates certain elements of traditional transaction processing, but allows these elements to be composed in different ways without the need for central coordination, thus facilitating the study of distributed fault-tolerance from a semantic point of view. We formalize our approach via the τ-calculus, an extended lambda-calculus based on the actor model, and illustrate its usage through a number of examples. The τ-calculus incorporates constructs which distributed processes can use to create globally-consistent checkpoints. We provide an operational semantics for the τ-calculus, and formalize the following safety and liveness properties: first, we show that globally-consistent checkpoints have equivalent execution traces without any node failures or application-level failures, and second, we show that it is possible to reach globally-consistent checkpoints provided that there is some bounded failure-free interval during which checkpointing can occur.