Transactions are a high-level alternative for low-level concurrencycontrol mechanisms such as locks, semaphores, monitors. A recent proposal for integrating transactional features into programming languages is Transactional Featherweight Java (TFJ), extending Featherweight Java by adding transactions. With support for nested and multi-threaded transactions, its transactional model is rather expressive. In particular, the constructs governing transactions —to start and to commit a transaction— can be used freely with a non-lexical scope. On the downside, this flexibility also allows for an incorrect use of these constructs, e.g., trying to perform a commit outside any transaction. To catch those kinds of errors, we introduce a static type an...
AbstractParallel programming is difficult due to the complexity of dealing with conventional lock-ba...
Class inheritance and method overriding, as provided by standard class-based languages, are not flex...
Concurrent object-oriented programs are hard to write because of the frequent use of state in object...
AbstractA transaction defines a locus of computation that satisfies important concurrency and failur...
AbstractThere are many mechanisms for concurrency control in high-level programming languages. In Ja...
Abstract—As the classical transactional abstraction is some-times considered too restrictive in leve...
This paper addresses interoperability of software transactions and ad hoc nonblocking algorithms. S...
Researchers in transactional memory (TM) have proposed open nesting as a methodology for increasing ...
Many concurrency models have been developed for high-level programming lan-guages such as Java. A tr...
Abstract. Concurrent data accesses in high-level languages like Java and C # are typically mediated ...
The Web frequently suffers from failures which affect the performance and consistency of application...
Transactions are well-known and fundamental control abstractions that arose from the database commun...
Parallel programming is difficult due to the complexity of dealing with conventional lock-based syn...
Object-oriented programming languages provide transaction behavior by means of library classes. In e...
We present an implementation and evaluation of atomicity (also known as software transactions) for a...
AbstractParallel programming is difficult due to the complexity of dealing with conventional lock-ba...
Class inheritance and method overriding, as provided by standard class-based languages, are not flex...
Concurrent object-oriented programs are hard to write because of the frequent use of state in object...
AbstractA transaction defines a locus of computation that satisfies important concurrency and failur...
AbstractThere are many mechanisms for concurrency control in high-level programming languages. In Ja...
Abstract—As the classical transactional abstraction is some-times considered too restrictive in leve...
This paper addresses interoperability of software transactions and ad hoc nonblocking algorithms. S...
Researchers in transactional memory (TM) have proposed open nesting as a methodology for increasing ...
Many concurrency models have been developed for high-level programming lan-guages such as Java. A tr...
Abstract. Concurrent data accesses in high-level languages like Java and C # are typically mediated ...
The Web frequently suffers from failures which affect the performance and consistency of application...
Transactions are well-known and fundamental control abstractions that arose from the database commun...
Parallel programming is difficult due to the complexity of dealing with conventional lock-based syn...
Object-oriented programming languages provide transaction behavior by means of library classes. In e...
We present an implementation and evaluation of atomicity (also known as software transactions) for a...
AbstractParallel programming is difficult due to the complexity of dealing with conventional lock-ba...
Class inheritance and method overriding, as provided by standard class-based languages, are not flex...
Concurrent object-oriented programs are hard to write because of the frequent use of state in object...