Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Representing tactics for fault recovery: a reconfigurable, modular, and hierarchical approach

Published: 01 January 2015 Publication History

Abstract

We show the advantages of modular and hierarchical design in obtaining fault-tolerant software. Modularity enables the identification of faulty software units simplifying key operations, like software removal and replacement. We describe three approaches to repair faulty software based on replication, namely, Passive Replication, N-Version Replication, and Active Replication, based on modular components. We show that the key construct to represent these tactics is the ability to make ad hoc changes in software topologies. We consider hierarchical mobility as a useful operation to introduce new software units for replacing faulty ones. For illustration purposes, we use connecton, a hierarchical, modular, and self-modifying software specification formalism, and its implementation in the Desmos framework.

References

[1]
G. Couloris, J. Dollimore, and T. Kindberg, Distributed Systems: Concepts and Design, Addison-Wesley, 2005.
[2]
L. Chen and A. Avizienis, "N-version programming: a fault-tolerance approach to reliability of software operation," in Proceedings of the International Conference on Fault-Tolerant Computing (FTCS '78), pp. 3-9, Toulouse, France, 1978.
[3]
F. Barros, "System and method for programming using independent and reusable software units," US Patent 6851104 B1, 2005.
[4]
G. di Marzo Serugendo, J. Fitzgerald, A. Romanovsky, and N. Guelfi, "A metadata-based architectural model for dynamically resilient systems," in Proceedings of the ACM Symposium on Applied Computing, pp. 566-572, March 2007.
[5]
F. J. Barros, "Representing hierarchical mobility in software architectures," in Proceedings of the International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07), IEEE Computer Society, May 2007.
[6]
A. Avižienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic concepts and taxonomy of dependable and secure computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, no. 1, pp. 11-33, 2004.
[7]
M. Lyu, Ed., Handbook of Software Reliability Engineering, IEEE Computer and McGraw-Hill, 1996.
[8]
B. Littlewood and L. Strigini, "Software reliability and dependability: a roadmap," in Proceedings of the Conference on The Future of Software Engineering (ICSE '00), pp. 175-188, Limerick, Ireland, June 2000.
[9]
R. Guerraoui and A. Schiper, "Software-based replication for fault tolerance," Computer, vol. 30, no. 4, pp. 68-74, 1997.
[10]
L. Bass, P. Clemens, and R. Kazman, Software Architecture in Practice, Addison-Wesley, 2003.
[11]
T. Anderson and P. Lee, Fault Tolerance, Principles and Practice, Prentice-Hall, 1981.
[12]
R. Lemos, P. Guerra, and C. Rubira, "A fault-tolerant architectural aproach for dependable systems," IEEE Software, vol. 23, no. 2, pp. 80-87, 2006.
[13]
A. Wymore, A Mathematical Theory of Systems Engineering: The Elements, Krieger, 1967.
[14]
D. Batory and S. O'Malley, "The design and implementation of hierarchical software systems with reusable components," ACM Transactions on Software Engineering and Methodology, vol. 1, no. 4, pp. 355-398, 1992.
[15]
F. J. Barros, "Modeling formalisms for dynamic structure systems," ACM Transactions on Modeling and Computer Simulation, vol. 7, no. 4, pp. 501-515, 1997.
[16]
R. Allen and D. Garlan, "A formal basis for architectural connection," ACM Transactions on Software Engineering and Methodology, vol. 6, no. 3, pp. 213-249, 1997.
[17]
D. Garlan, R. Monroe, and D. Wile, "ACME: an architecture description interchange language," in Proceedings of the Conference of the Centre for Advanced Studies on Collaborative Research (CASCON '97), pp. 1-7, 1997.
[18]
N. Medvidovic, R. Taylor, and E. Whitehead, "Formal modeling of software architectures at multiple levels of abstraction," in Proceedings of the California Software Symposium, pp. 28-40, 1996.
[19]
J. Aldrich, C. Chambers, and D. Notkin, "ArchJava: connecting software architecture to implementation," in Proceedings of the 24th International Conference on Software Engineering (ICSE '02), pp. 187-197, May 2002.
[20]
V. C. Sreedhar, "Mixin'up components," in Proceedings of the 24th International Conference on Software Engineering (ICSE '02), pp. 198-207, May 2002.
[21]
J. Bradbury, "Organizing definitions and formalisms for dynamic software architectures," Tech. Rep., Queen's University, Kingston, Canada, 2004.
[22]
N. Medvidovic and R. N. Taylor, "A classification and comparison framework for software architecture description languages," IEEE Transactions on Software Engineering, vol. 26, no. 1, pp. 70-93, 2000.
[23]
M. Shaw and P. Clements, "The golden age of software architectures: a comprehensive survey," Tech. Rep. CMU-ISRI-06-101, Carnegie Mellon University, Pittsburgh, Pa, USA, 2006.
[24]
F. J. Barros, "Aspect-oriented programming and pluggable software units: a comparison based on design patterns," Software: Practice and Experience, vol. 45, no. 3, pp. 289-314, 2015.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image International Journal of Reconfigurable Computing
International Journal of Reconfigurable Computing  Volume 2015, Issue
January 2015
188 pages
ISSN:1687-7195
EISSN:1687-7209
Issue’s Table of Contents

Publisher

Hindawi Limited

London, United Kingdom

Publication History

Accepted: 22 April 2015
Published: 01 January 2015
Received: 01 December 2014

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 25
    Total Downloads
  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)5
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media