212 research outputs found

    Auction System Design Using Open Multithreaded Transactions

    Get PDF
    Open Multithreaded Transactions form an advanced transaction model that provides features for controlling and structuring not only accesses to objects, as usual in transaction systems, but also threads taking part in transactions. The model allows several threads to enter the same transaction in order to perform a joint activity. It provides a flexible way of manipulating threads executing inside a transaction by allowing them to be forked and terminated, but it restricts their behavior in order to guarantee correctness of transaction nesting and isolation among transactions. In addition, transactions are exception handling contexts, and the model therefore provides forward and backward error recovery. In this paper we show that the model is indeed powerful, and that a complex application, i.e. an online auction system, can be designed and implemented in a very elegant way

    Porting OMTTs to CORBA

    Get PDF
    The Common Object Request Broker Architecture standardizes a platform- and programming-language-independent distributed object com-puting environment. It also provides a standard for several distributed servic-es. The Object Transaction Service provides an object-oriented framework for distributed transaction processing, especially for Online Transaction Pro-cessing in business applications. The current CORBA OTS allows multi-threading inside a transaction, leaving, however, thread coordination to the application programmer, which can be dangerous. Based on the Open Multi-threaded Transaction model, we present in this paper the design of a Thread Synchronization Coordinator, ThreadSyncCoordinator, which provides the desired thread control inside a multithreaded transaction. A blocking commit protocol ensures that once in a transaction, a thread cannot leave before the outcome of the transaction has been determined, guaranteeing the ACID properties for multithreaded transactions. We also show how the Thread-SyncCoordinator can be used to design and implement complex applications, e.g., an Online Auction System, in an elegant way

    Transaction Support for Ada

    Get PDF
    This paper describes the transaction support framework OPTIMA and its implementation for Ada 95. First, a transaction model that fits concurrent programming languages is presented. Then the design of the framework is given. Applications from many different domains can benefit from using transactions; it is therefore important to provide means to customize the framework depending on the application requirements. This flexibility is achieved by using design patterns. Class hierarchies with classes implementing standard transactional behavior are provided, but a programmer is free to extend the hierarchies by implementing application-specific functionalities. An interface for Ada programmers is presented and its use demonstrated via a simple example

    Open Multithreaded Transactions: A Transaction Model for Concurrent Object-Oriented Programming

    Get PDF
    To read the abstract, please go to my PhD home page

    Open Multithreaded Transactions: Keeping Threads and Exceptions under Control

    Get PDF
    Although transactional models have proved to be very useful for numerous applications, the development of new models to reflect the ever-increasing complexity and diversity of modern applications is a very active area of research. Analysis of the existing models of multithreaded transactions shows that they either give too much freedom to threads and do not control their participation in transactions, or unnecessarily restrict the computational model by assuming that only one thread can enter a transaction. Another important issue, which many models do not address properly, is providing adequate exception handling features. In this paper a new model of multithreaded transactions is proposed. Its detailed description is given, including rules of thread behaviour when transactions start, commit and abort, and rules of exception raising, propagation and handling. This model is supported by enhanced error detection techniques to allow for earlier error detection and for localised recovery. General approaches to implementing transaction support are discussed and a detailed description of an Ada implementation is given. Special attention is paid to outlining typical applications for which this model is suitable and to comparing it with several known approaches (Coordinated Atomic actions, CORBA, and Argus)

    Critical Evaluation of the EJB Transaction Model

    Get PDF
    Enterprise JavaBeans is a widely-used technology that aims at supporting distributed component-based applications written in Java. One of the key features of the Enterprise JavaBeans architecture is the support of declarative distributed transactions, without requiring explicit coding. In this paper, after a brief introduction of the concepts and mechanisms related to the EJB Transaction Model, we provide guidelines for their consistent use. We then evaluate the EJB Transaction Model on an Auction System case study. The encountered limitations are presented, and possible work-arounds are proposed for the auction system. We conclude with suggestions for enhancing the current EJB Transaction Model

    Exception Handling in Open Multithreaded Transactions

    Get PDF
    This paper describes a model for providing transaction support for object-oriented concurrent programming languages. In order to achieve seamless integration, the use of the concurrency features provided by the programming language should not be restricted inside a transaction. A transaction model that meets this requirement is presented. Threads inside such a transaction may spawn new threads, but also external threads are allowed to join an ongoing transaction. A blocking commit protocol ensures that no thread leaves the transaction before its outcome has been determined. Exceptions are used to inform all participants in case a transaction aborts

    Combining Tasking and Transactions, Part II: Open Multithreaded Transactions

    Get PDF
    This position paper is a follow-up paper of the one presented at the last IRTAW workshop. The paper describes a model for providing transaction support for concurrent programming languages such as Ada 95. In order to achieve smooth integration, the use of the concurrency features provided by the Ada language should not be restricted inside a transaction. A transaction model that meets this requirement is presented. Tasks inside such a transaction may spawn new tasks, but also external tasks are allowed to join an ongoing transaction. A blocking commit protocol ensures that no task leaves the transaction before its outcome has been determined. Exceptions are used to inform all participants in case a transaction aborts. The design of a library that provides support for the transaction model is presented, and possible interfaces for the Ada programmer are discussed
    • …
    corecore