Proceedings of the ACM on Programming Languages · 2020 · 12 citations · 38 references
ComputingComputer ScienceDistributed SystemsProgramming LanguagesSystems ProgrammingConsistency ModelsDistributed Systems ArchitectureObject-oriented DesignObject-oriented ProgrammingType CheckingType SystemsConsistencyConsistency EnforcementConsistency GuaranteesConsistency Trade-offsIsolationObject-oriented ArchitectureObject-oriented Language DesignObjects
Large scale distributed systems require to embrace the trade off between consistency and availability, accepting lower levels of consistency to guarantee higher availability. Existing programming languages are, however, agnostic to this compromise, resulting in consistency guarantees that are the same for the whole application and are implicitly adopted from the middleware or hardcoded in configuration files. In this paper, we propose to integrate availability in the design of an object-oriented language, allowing developers to specify different consistency and isolation constraints in the same application at the granularity of single objects. We investigate how availability levels interact with object structure and define a type system that preserves correct program behavior. Our evaluation shows that our solution performs efficiently and improves the design of distributed applications.
38
The notions of consistency and predicate locks in a database system
Kapali P. Eswaran, Jim Gray, Raymond A. Lorie et al. · Communications of the ACM · 1976 · 2K citations · Full text
A lattice model of secure information flow
Dorothy E. Denning · Communications of the ACM · 1976 · 1.9K citations · Full text
A Syntactic Approach to Type Soundness
Andy Wright, Matthias Felleisen · Information and Computation · 1994 · 1.1K citations
Werner Vogels · Communications of the ACM · 2008 · 1K citations · Full text