Using proxy design pattern for transparent redundant execution, Saydam artıklı çalıştırma I çin vekil tasarım örüntüsü kullanımı
Loading...

Date
2018
Authors
Dindar Öz
Sinan Öz
Isil Oz
Journal Title
Journal ISSN
Volume Title
Publisher
CEUR-WS ceurws@sunsite.informatik.rwth-aachen.de
Open Access Color
OpenAIRE Downloads
OpenAIRE Views
Abstract
In this study we propose a transparent model for reliable execution of object-oriented software. We design a generic object-oriented programming tool for redundant software execution to provide the desired level of reliability against transient hardware faults. To achieve this we utilize the Proxy design pattern which is one of the well-known GoF design patterns that are formed to make software systems flexible and easy to maintain. Proxy design pattern provides a controlled access and a transparent mechanism for adding new functionalities to an existing object when accessing it. Combining the instruments of dynamic proxy and annotations in Java programming language we present RedundantCaller a generic transparent and configurable tool for redundant execution and majority voting. Our tool takes any object and creates a dynamic proxy for it which executes the methods of the object multiple times in separate threads and performs majority voting on the background requiring minimum amount of change in the original user code. Thanks to annotations users can configure the redundant execution scheme methodwise. Our experiments demonstrate that our tool provides a significant level of reliability to any object-oriented software with a reasonable amount of performance degradation through multithreaded execution. © 2018 Elsevier B.V. All rights reserved.
Description
Keywords
Object-oriented Programming, Proxy Design Pattern, Redundant Execution, Software Reliability, Design Patterns, Multithreaded Executions, Object Oriented Software, Object-oriented Programming Tools, Performance Degradation, Redundant Execution, Reliable Execution, Software Execution, Object Oriented Programming, Software reliability, Design Patterns, Multithreaded executions, Object oriented software, Object-oriented programming tools, Performance degradation, Redundant execution, Reliable execution, Software execution, Object oriented programming
Fields of Science
Citation
WoS Q
Scopus Q
Source
12th Turkish National Software Engineering Symposium UYMS 2018
