[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2460999.2461015acmotherconferencesArticle/Chapter ViewAbstractPublication PageseaseConference Proceedingsconference-collections
research-article

A systematic review of design diversity-based solutions for fault-tolerant SOAs

Published: 14 April 2013 Publication History

Abstract

Context: Over recent years, software developers have been evaluating the benefits of both Service-Oriented Architecture and software fault tolerance techniques based on design diversity by creating fault-tolerant composite services that leverage functionally equivalent services, or variant services. Three major design issues need to be considered while building software fault-tolerant architectures based on design diversity namely, selection and execution of variants and selection of an adjudication algorithm to determine the correct or adjudicated result from the variants. Each design issue, in turn, can be realized by a set of alternative design solutions, which present different degrees of quality requirements (e.g. memory consumption and reliability). Objective: To investigate whether existing approaches for fault-tolerant composite services support the above mentioned design issues and to provide a detailed classification of the analysed approaches. Method: A systematic literature review of diversity-based approaches for fault-tolerant composite services, which compose our primary studies. Results: We found 17 primary studies providing direct evidence about the research question. Our findings reveal that the primary studies support a wide variety of design decisions. For example, (i) variant services may be chosen at different points during the software lifecycle; (ii) both parallel and sequential execution schemes have been addressed; and (iii) a variety of adjudication mechanisms were found amongst the target papers. Conclusion: We build up a broad picture of what design issues have been addressed by existing diversity-based approaches for fault-tolerant composite services. Finally, practical issues and difficulties are summarized and directions for future work are suggested.

References

[1]
H. Abdeldjelil, N. Faci, Z. Maamar, and D. Benslimane. A diversity-based approach for managing faults in web services. In IEEE 26th Intl. Conf. on Advanced Information Networking and Applications, pages 81--88, 2012.
[2]
H. H. Ammar, B. Cukic, A. Mili, and C. Fuhrman. A comparative analysis of hardware and software fault tolerance: Impact on software reliability engineering. Annals of Software Engineering, 10(1--4), 2000.
[3]
A. Avizienis, J. C. Laprie, B. Randell, and C. Landwehr. Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11--33, 2004.
[4]
R. B. Broen. New voters for redundant systems. Journal of Dynamic Systems, Measurement, and Control, 97(1):41--45, 1975.
[5]
R. Burrows, A. Garcia, and F. Taïani. Coupling metrics for aspect-oriented programming: A systematic review of maintainability studies. In Evaluation of Novel Approaches to Software Engineering, volume 69 of Communications in Computer and Information Science, pages 277--290. 2010.
[6]
J. Buys, V. De Florio, and C. Blondia. Towards context-aware adaptive fault tolerance in SOA applications. In In Proc. of the 5th ACM Intl. Conf. on Distributed event-based system, DEBS '11, pages 63--74, 2011.
[7]
E. S. F. Cardozo, J. B. F. A. Neto, A. Barza, A. C. C. França, and F. Q. B. da Silva. Scrum and productivity in software projects: a systematic literature review. In In Proc. of the 14th Intl. Conf. on Evaluation and Assessment in Software Engineering, EASE'10, pages 131--134, 2010.
[8]
A. Carzaniga, A. Gorla, and M. Pezzè. Architecting dependable systems vi. chapter Handling Software Faults with Redundancy, pages 148--171. Springer-Verlag, 2009.
[9]
Y. Chen and A. Romanovsky. Improving the dependability of web services integration. IT Professional, 10(3):29--35, 2008.
[10]
R. Dillen, J. Buys, V. Florio, and C. Blondia. Wsdm-enabled autonomic augmentation of classical multi-version software fault-tolerance mechanisms. In Computer Safety, Reliability, and Security, volume 7613 of Lecture Notes in Computer Science, pages 294--306. Springer Berlin Heidelberg, 2012.
[11]
D. E. J. Eckhardt and L. D. Lee. A theoretical basis for the analysis of multiversion software subject to coincident errors. IEEE Transactions on Software Engineering, SE-11(12):1511--1517, 1985.
[12]
W. Elmendorf. Fault-tolerant programming. In Proc. 2nd IEEE Int. Symp. on Fault Tolerant Computing (FTCS-2), pages 79--83, 1972.
[13]
K. K. F. Daniels and M. A. Vouk. The reliable hybrid pattern: a generalized software fault tolerant design pattern. In In Proc. of the Conf. PloP'97, pages 1--9, 1997.
[14]
N. Faci, H. Abdeldjelil, Z. Maamar, and D. Benslimane. Using diversity to design and deploy fault tolerant web services. In Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), 2011 20th IEEE Intl. Workshops on, pages 73--78, 2011.
[15]
V. D. Florio and C. Blondia. A survey of linguistic structures for application-level fault tolerance. ACM Comput. Surv., 40(2):6:1--6:37, 2008.
[16]
A. F. Garcia, C. M. F. Rubira, A. B. Romanovsky, and J. Xu. A comparative study of exception handling mechanisms for building dependable object-oriented software. Journal of Systems and Software, 59(2):197--222, 2001.
[17]
E. M. Gonçalves and C. M. F. Rubira. Archmeds: An infrastructure for dependable service-oriented architectures. In In Proc. of the 2010 17th IEEE Intl. Conf. and Workshops on the Engineering of Computer-Based Systems, pages 371--378, 2010.
[18]
A. Gorbenko, V. Kharchenko, P. Popov, and A. Romanovsky. Architecting dependable systems iii. chapter Dependable composite web services with components upgraded online, pages 92--121. Springer-Verlag, Berlin, Heidelberg, 2005.
[19]
A. Gorbenko, V. Kharchenko, and A. Romanovsky. Using inherent service redundancy and diversity to ensure web services dependability. In Methods, Models and Tools for Fault Tolerance, volume 5454 of Lecture Notes in Computer Science, pages 324--341. 2009.
[20]
A. Gorbenko, A. Romanovsky, V. Kharchenko, and O. Tarasyuk. Dependability of service-oriented computing: Time-probabilistic failure modelling. In Software Engineering for Resilient Systems, volume 7527 of Lecture Notes in Computer Science, pages 121--133. Springer Berlin/Heidelberg, 2012.
[21]
J. Götze, J. Müller, and P. Müller. Iterative service orchestration based on dependability attributes. In In Proc. of the 2008 34th Euromicro Conf. Software Engineering and Advanced Applications, SEAA '08, pages 353--360, 2008.
[22]
J. J. Horning, H. C. Lauer, P. M. Melliar-Smith, and B. Randell. A program structure for error detection and recovery. In Proc. of an Intl. Symposium on Operating Systems, pages 171--187, 1974.
[23]
M. N. Huhns and M. P. Singh. Service-oriented computing: Key concepts and principles. IEEE Internet Computing, 9(1):75--81, 2005.
[24]
M. Jorgensen and M. Shepperd. A systematic review of software development cost estimation studies. IEEE Trans. Softw. Eng., 33(1):33--53, 2007.
[25]
K. H. Kim. Distributed execution of recovery blocks: An approach to uniform treatment of hardware and software faults. In ICDCS, pages 526--532, 1984.
[26]
B. Kitchenham and S. Charters. Guidelines for performing Systematic Literature Reviews in Software Engineering. Technical Report EBSE 2007--001, Keele University and Durham University Joint Report, 2007.
[27]
B. Kitchenham, O. Pearl Brereton, D. Budgen, M. Turner, J. Bailey, and S. Linkman. Systematic literature reviews in software engineering - a systematic literature review. Inf. Softw. Technol., 51(1):7--15, 2009.
[28]
B. A. Kitchenham, E. Mendes, and G. H. Travassos. Cross versus within-company cost estimation studies: A systematic review. IEEE Trans. Softw. Eng., 33(5):316--329, 2007.
[29]
G. Kotonya and S. Hall. A differentiation-aware fault-tolerant framework for web services. In Service-Oriented Computing, volume 6470 of Lecture Notes in Computer Science, pages 137--151. 2010.
[30]
J. C. Laprie, C. Béounes, and K. Kanoun. Definition and analysis of hardware- and software-fault-tolerant architectures. IEEE Computer, 23(7):39--51, 1990.
[31]
N. Laranjeiro and M. Vieira. Towards fault tolerance in web services compositions. In In Proc. of the Second Intl. Workshop on Engineering fault tolerant systems, EFTS '07, 2007.
[32]
P. A. Lee and T. Anderson. Fault Tolerance: Principles and Practice. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2nd edition, 1990.
[33]
N. Looker, M. Munro, and J. Xu. Increasing web service dependability through consensus voting. In In Proc. of the 29th annual Intl. Conf. on Computer software and applications, COMPSAC-W'05, pages 66--69, 2005.
[34]
M. R. Lyu. Handbook of software reliability engineering. McGraw-Hill, Inc., Hightstown, NJ, USA, 1996.
[35]
H. Mansour and T. Dillon. Dependability and rollback recovery for composite web services. IEEE Transactions on Services Computing, 4(4):328--339, 2011.
[36]
D. F. Mcallister, D. E. Eckhardt, K. Kim, M. A. Vouk, and M. A. Vouk. An empirical evaluation of consensus voting and consensus recovery block reliability in the presence of failure correlation. Journal of Computer and Software Engineering, 1:364--388, 1993.
[37]
D. F. McAllister and M. A. Vouk. Fault-tolerant software reliability engineering, pages 567--614. 1996.
[38]
N. Milanovic and M. Malek. Service-oriented operating system: A key element in improving service availability. In In Proc. of the 4th Intl. symposium on Service Availability, ISAS '07, pages 31--42, 2007.
[39]
A. S. Nascimento, F. Castor, C. M. Rubira, and R. Burrows. An experimental setup to assess design diversity of functionally equivalent services. In 16th Intl. Conf. on Evaluation Assessment in Software Engineering, pages 177--186, 2012.
[40]
A. S. Nascimento, F. Castor, C. M. F. Rubira, and R. Burrows. An empirical study on design diversity of functionally equivalent web services. In Seventh Intl. Conf. on Availability, Reliability and Security, pages 236--241, 2012.
[41]
A. S. Nascimento, C. M. F. Rubira, and J. Lee. An SPL approach for adaptive fault tolerance in SOA. In Proc. of the 15th SPLC, volume 2, pages 1--8, 2011.
[42]
E. Nourani. A new architecture for dependable web services using n-version programming. In 3rd Intl. Conf. on Computer Research and Development, volume 2, pages 333--336, 2011.
[43]
E. Nourani and M. A. Azgomi. A design pattern for dependable web services using design diversity techniques and ws-bpel. In In Proc. of the 6th Intl. Conf. on Innovations in information technology, IIT'09, pages 290--294, 2009.
[44]
M. P. Papazoglou, P. Traverso, S. Dustdar, and F. Leymann. Service-oriented computing: State of the art and research challenges. Computer, 40(11):38--45, 2007.
[45]
L. L. Pullum. Software fault tolerance techniques and implementation. Artech House, Inc., Norwood, MA, USA, 2001.
[46]
G. T. Santos, L. C. Lung, and C. Montez. Ftweb: A fault tolerant infrastructure for web services. In In Proc. of the Ninth IEEE Intl. EDOC Enterprise Computing Conf., EDOC '05, pages 95--105, 2005.
[47]
R. Scott, J. Gault, and D. Mcallister. Fault-tolerant software reliability modeling. Software Engineering, IEEE Transactions on, SE-13(5):582--592, 1987.
[48]
P. Townend, P. Groth, and J. Xu. A provenance-aware weighted fault tolerance scheme for service-based applications. In Eighth IEEE Intl. Symposium on Object-Oriented Real-Time Distributed Computing, pages 258--266, 2005.
[49]
K. S. Trivedi, M. Grottke, and E. Andrade. Software fault mitigation and availability assurance techniques. Intl. Journal of Systems Assurance Engineering and Management, 1(4):340--350, 2010.
[50]
T. Wilfredo. Software fault tolerance: A tutorial. Technical report, 2000.
[51]
B. J. Williams and J. C. Carver. Characterizing software architecture changes: A systematic review. Inf. Softw. Technol., 52(1):31--51, 2010.
[52]
C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Norwell, MA, USA, 2000.
[53]
J. Xu. Dependable and historic computing. chapter Achieving dependability in service-oriented systems, pages 504--522. Springer-Verlag, Berlin, Heidelberg, 2011.
[54]
Z. Zheng and M. Lyu. Ws-dream: A distributed reliability assessment mechanism for web services. In In Proc. of IEEE Intl. Conf. on Dependable Systems and Networks, pages 392--397, 2008.
[55]
Z. Zheng and M. R. Lyu. An adaptive qos-aware fault tolerance strategy for web services. Empirical Software Engineering, 15(4):323--345, 2010.
[56]
Z. Zheng and M. R. Lyu. Collaborative reliability prediction of service-oriented systems. In In Proc. of the 32nd ACM/IEEE Intl. Conf. on Software Engineering - Volume 1, ICSE '10, pages 35--44, 2010.

Cited By

View all
  • (2016)Research contributions on adaptive software architecturesProccedings of the 10th European Conference on Software Architecture Workshops10.1145/2993412.3004851(1-6)Online publication date: 28-Nov-2016
  • (2016)Modeling dynamic recovery strategy for composite web services executionWorld Wide Web10.1007/s11280-015-0329-119:1(89-109)Online publication date: 1-Jan-2016
  • (2015)Automatic WorkaroundsACM Transactions on Software Engineering and Methodology10.1145/275597024:3(1-42)Online publication date: 13-May-2015
  • Show More Cited By

Index Terms

  1. A systematic review of design diversity-based solutions for fault-tolerant SOAs

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      EASE '13: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering
      April 2013
      268 pages
      ISBN:9781450318488
      DOI:10.1145/2460999
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      • Centro de Informatica - UFPE: Centro de Informatica - UFPE
      • SBC: Brazilian Computer Society
      • CNPq: Conselho Nacional de Desenvolvimento Cientifico e Tecn
      • CAPES: Brazilian Higher Education Funding Council

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 14 April 2013

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. SLR
      2. SOA
      3. composite services
      4. fault tolerance

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      EASE '13
      Sponsor:
      • Centro de Informatica - UFPE
      • SBC
      • CNPq
      • CAPES

      Acceptance Rates

      EASE '13 Paper Acceptance Rate 31 of 94 submissions, 33%;
      Overall Acceptance Rate 71 of 232 submissions, 31%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)6
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 20 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2016)Research contributions on adaptive software architecturesProccedings of the 10th European Conference on Software Architecture Workshops10.1145/2993412.3004851(1-6)Online publication date: 28-Nov-2016
      • (2016)Modeling dynamic recovery strategy for composite web services executionWorld Wide Web10.1007/s11280-015-0329-119:1(89-109)Online publication date: 1-Jan-2016
      • (2015)Automatic WorkaroundsACM Transactions on Software Engineering and Methodology10.1145/275597024:3(1-42)Online publication date: 13-May-2015
      • (2015)Dynamic Composite Web Service Execution by Providing Fault-Tolerance and QoS MonitoringService-Oriented Computing - ICSOC 2014 Workshops10.1007/978-3-319-22885-3_32(371-377)Online publication date: 2-Sep-2015
      • (2014)ArCMAPEProceedings of the 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering10.1109/HASE.2014.15(41-48)Online publication date: 9-Jan-2014
      • (2013)Dynamic recovery decision during composite web services executionProceedings of the Fifth International Conference on Management of Emergent Digital EcoSystems10.1145/2536146.2536152(187-194)Online publication date: 28-Oct-2013
      • (2013)A Model-Driven Infrastructure for Developing Product Line Architectures Using CVLProceedings of the 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse10.1109/SBCARS.2013.23(119-128)Online publication date: 29-Sep-2013
      • (2013)Using CVL to Support Self-Adaptation of Fault-Tolerant Service CompositionsProceedings of the 2013 IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems10.1109/SASO.2013.34(261-262)Online publication date: 9-Sep-2013

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media