
arXiv: 1604.04591
handle: 20.500.11850/155552
Network objects are a simple and natural abstraction for distributed object-oriented programming. Languages that support network objects, however, often leave synchronization to the user, along with its associated pitfalls, such as data races and the possibility of failure. In this paper, we present D-SCOOP, a distributed programming model that allows for interference-free and transaction-like reasoning on (potentially multiple) network objects, with synchronization handled automatically, and network failures managed by a compensation mechanism. We achieve this by leveraging the runtime semantics of a multi-threaded object-oriented concurrency model, directly generalizing it with a message-based protocol for efficiently coordinating remote objects. We present our pathway to fusing these contrasting but complementary ideas, and evaluate the performance overhead of the automatic synchronization in D-SCOOP, finding that it comes close to---or outperforms---explicit locking-based synchronization in Java RMI.
FOS: Computer and information sciences, SPECIAL PROGRAMMING METHODS, OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN), [INFO] Computer Science [cs], OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS), CONCURRENT PROGRAMMING + DISTRIBUTED PROGRAMMING + PARALLEL PROGRAMMING (PROGRAMMING METHODS), Computer Science - Software Engineering, Data processing, computer science, VERTEILTE PROGRAMMIERUNG + PARALLELE PROGRAMMIERUNG (PROGRAMMIERMETHODEN), SPECIFICATIONS (SOFTWARE ENGINEERING), SPEZIFIKATIONEN (SOFTWARE ENGINEERING), Computer Science - Programming Languages, [INFO.INFO-NI] Computer Science [cs]/Networking and Internet Architecture [cs.NI], SPEZIELLE PROGRAMMIERMETHODEN, Software Engineering, VERTEILTE PROGRAMMIERUNG + PARALLELE PROGRAMMIERUNG (PROGRAMMIERMETHODEN); OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN); SPEZIELLE PROGRAMMIERMETHODEN; SPEZIFIKATIONEN (SOFTWARE ENGINEERING); CONCURRENT PROGRAMMING + DISTRIBUTED PROGRAMMING + PARALLEL PROGRAMMING (PROGRAMMING METHODS); OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS); SPECIAL PROGRAMMING METHODS; SPECIFICATIONS (SOFTWARE ENGINEERING), Software Engineering (cs.SE), Programming Languages and Compilers, Computer Science - Distributed, Parallel, and Cluster Computing, Distributed, Parallel, and Cluster Computing (cs.DC), info:eu-repo/classification/ddc/004, Programming Languages (cs.PL)
FOS: Computer and information sciences, SPECIAL PROGRAMMING METHODS, OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN), [INFO] Computer Science [cs], OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS), CONCURRENT PROGRAMMING + DISTRIBUTED PROGRAMMING + PARALLEL PROGRAMMING (PROGRAMMING METHODS), Computer Science - Software Engineering, Data processing, computer science, VERTEILTE PROGRAMMIERUNG + PARALLELE PROGRAMMIERUNG (PROGRAMMIERMETHODEN), SPECIFICATIONS (SOFTWARE ENGINEERING), SPEZIFIKATIONEN (SOFTWARE ENGINEERING), Computer Science - Programming Languages, [INFO.INFO-NI] Computer Science [cs]/Networking and Internet Architecture [cs.NI], SPEZIELLE PROGRAMMIERMETHODEN, Software Engineering, VERTEILTE PROGRAMMIERUNG + PARALLELE PROGRAMMIERUNG (PROGRAMMIERMETHODEN); OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN); SPEZIELLE PROGRAMMIERMETHODEN; SPEZIFIKATIONEN (SOFTWARE ENGINEERING); CONCURRENT PROGRAMMING + DISTRIBUTED PROGRAMMING + PARALLEL PROGRAMMING (PROGRAMMING METHODS); OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS); SPECIAL PROGRAMMING METHODS; SPECIFICATIONS (SOFTWARE ENGINEERING), Software Engineering (cs.SE), Programming Languages and Compilers, Computer Science - Distributed, Parallel, and Cluster Computing, Distributed, Parallel, and Cluster Computing (cs.DC), info:eu-repo/classification/ddc/004, Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
