Statecharts: A visual formalism for complex systems
Science of Computer Programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The STATEMATE semantics of statecharts
ACM Transactions on Software Engineering and Methodology (TOSEM)
A distributed object-oriented framework for dependable multiparty interactions
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using coordinated atomic actions to design safety-critical systems: a production cell case study
Software—Practice & Experience
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Patterns Generate Architectures
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Structuring Integrated Web Applications for Fault Tolerance
ISADS '03 Proceedings of the The Sixth International Symposium on Autonomous Decentralized Systems (ISADS'03)
Formal Development and Validation of Java Dependable Distributed Systems
ICECCS '99 Proceedings of the 5th International Conference on Engineering of Complex Computer Systems
Fault Tolerance in Concurrent Object-Oriented Software through Coordinated Error Recovery
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
A Global-State-Triggered Fault Injector for Distributed System Evaluation
IEEE Transactions on Parallel and Distributed Systems
CAA-DRIP: a framework for implementing Coordinated Atomic Actions
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
The N-Version Approach to Fault-Tolerant Software
IEEE Transactions on Software Engineering
ISSRE '07 Proceedings of the The 18th IEEE International Symposium on Software Reliability
System structure for software fault tolerance
IEEE Transactions on Software Engineering
A transactional model for automatic exception handling
Computer Languages, Systems and Structures
Atomic boxes: coordinated exception handling with transactional memory
Proceedings of the 25th European conference on Object-oriented programming
Hi-index | 0.00 |
This paper presents ways of implementing dependable distributed applications designed using the Coordinated Atomic Action (CAA) paradigm. CAAs provide a coherent set of concepts adapted to fault tolerant distributed system design that includes structured transactions, distribution, cooperation, competition, and forward and backward error recovery mechanisms triggered by exceptions. DRIP (Dependable Remote Interacting Processes) is an efficient Java implementation framework which provides support for implementing Dependable Multiparty Interactions (DMI). As DMIs have a softer exception handling semantics compared with the CAA semantics, a CAA design can be implemented using the DRIP framework. A new framework called CAA-DRIP allows programmers to exclusively implement the semantics of CAAs using the same terminology and concepts at the design and implementation levels. The new framework not only simplifies the implementation phase, but also reduces the final system size as it requires less number of instances for creating a CAA at runtime. The paper analyses both implementation frameworks in great detail, drawing a systematic comparison of the two. The CAAs behaviour is described in terms of Statecharts to better understand the differences between the two frameworks. Based on the results of the comparison, we use one of the frameworks to implement a case study belonging to the e-health domain.