Composing atomic features

被引:1
|
作者
Eugster, Patrick
Vaucouleur, Sebastien
机构
[1] IT Univ Copenhagen, Software Dev Grp, DK-2300 Copenhagen, Denmark
[2] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47906 USA
关键词
transactions; concurrency; compensation; objects; SCOOP;
D O I
10.1016/j.scico.2006.05.007
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
SCOOP (Simple Concurrent Object-Oriented Programming) is a model of concurrency that builds on the concept of contracts for synchronizing accesses to objects. This model is based on a pessimistic concurrency control scheme whose reservation semantics avoids race conditions altogether-alas at the expense of parallelism. In this paper we propose to extend the initial SCOOP model by adding transactional semantics, aspiring to an increase of performance but also reliability of distributed object-oriented programs executing in the presence of partial failures. Our solution consists in programming language support for the specification of atomicity properties of particular features (routines or attributes). With such support, the application programmer is assisted by the compiler in composing atomic features, which substantially alleviates the task of constructing reliable distributed software. We investigate the impact of concepts such as nesting, inheritance, polymorphism, and contracts in such a statically typed approach, illustrated in the context of the Eiffel programming language. in particular, we depict how our solution enables the composition of atomic features from not only elementary atomic features (such as updates applied to variables which can be rolled back - backward recovery) but also from non-atomic ones by making use of compensation mechanisms (forward recovery). (c) 2006 Elsevier B.V. All rights reserved.
引用
收藏
页码:130 / 146
页数:17
相关论文
共 50 条