[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1316550.1316557acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Fault and adversary tolerance as an emergent property of distributed systems' software architectures

Published: 04 September 2007 Publication History

Abstract

Fault and adversary tolerance have become not only desirable but required properties of software systems because mission-critical systems are commonly distributed on large networks of insecure nodes. In this paper, we describe how the tile style, an architectural style designed to distribute computation, can inject fault and adversary tolerance. The result is a notion of tolerance that is entirely abstracted away from the functional properties of the software system. The client may specify what fraction of the network is faulty or malicious (e.g., 25%) and the acceptable system failure rate (e.g., 2-10), and the system's architecture adjusts automatically to ensure a failure rate no higher than the one specified. The technique is entirely automated and consists of a "smart redundancy" mechanism that brings the failure rate exponentially close to 0 by slowing down the execution speed linearly.

References

[1]
L. Adleman. Molecular computation of solutions to combinatorial problems. Science, 266:1021--1024, 1994.
[2]
L. Adleman, J. Kari, L. Kari, and D. D. Reishus. On the decidability of self-assembly of infinite ribbons. In Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science (FOCS02), pages 530--537, Ottawa, Ontario, Canada, November 2002.
[3]
L. Bass, P. Clements, and R. Kazman. Software architecture in practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998.
[4]
Y. Brun. Arithmetic computation in the tile assembly model: Addition and multiplication. Theoretical Computer Science, 378:17--31, June 2006.
[5]
Y. Brun. A discreet, fault-tolerant, and scalable software architectural style for internet-sized networks. In Proceedings of the Doctoral Symposium at the 29th International Conference on Software Engineering (ICSE07), pages 83--84, Minneapolis, MN, USA, May 2007.
[6]
Y. Brun. Nondeterministic polynomial time factoring in the tile assembly model. Technical Report USC-CSSE-2007-707, Center for Software Engineering, University of Southern California, 2007.
[7]
Y. Brun. Solving NP-complete problems in the tile assembly model. Technical Report USC-CSSE-2007-703, Center for Software Engineering, University of Southern California, 2007.
[8]
Y. Brun and N. Medvidovic. An architectural style for solving computationally intensive problems on large networks. In Proceedings of Software Engineering for Adaptive and Self-Managing Systems (SEAMS07), Minneapolis, MN, USA, May 2007.
[9]
Y. Brun and N. Medvidovic. Discreetly distributing computation via self-assembly. Technical Report USC-CSSE-2007-714, Center for Software Engineering, University of Southern California, 2007.
[10]
H.-L. Chen and A. Goel. Error free self-assembly with error prone tiles. In Proceedings of the 10th International Meeting on DNA Based Computers (DNA04), Milan, Italy, June 2004.
[11]
P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures: Methods and Case Studies. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002.
[12]
P. T. Devanbu and S. Stubblebine. Software Engineering for Security: A Roadmap, pages 225--239. ACM Press, 2000.
[13]
F. C. Gärtner. Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys, 31(1):1--26, 1999.
[14]
S. Malek, M. Mikic-Rakic, and N. Medvidovic. A style-aware architectural middleware for resource-constrained, distributed systems. IEEE Transactions on Software Engineering, 31(3):256--272, 2005.
[15]
C. A. Mattmann, D. J. Crichton, N. Medvidovic, and S. Hughes. A software architecture-based framework for highly distributed and data intensive scientific applications. In Proceedings of the 28th international conference on Software engineering (ICSE06), pages 721--730, Shanghai, China, 2006. ACM Press.
[16]
M. Mikic-Rakic, N. R. Mehta, and N. Medvidovic. Architectural style requirements for self-healing systems. In Proceedings of 1st Workshop on Self-Healing Systems, Charleston, SC, USA, November 2002.
[17]
D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40--52, 1992.
[18]
J. H. Reif, S. Sahu, and P. Yin. Compact error-resilient computational DNA tiling assemblies. In Proceedings of the 10th International Meeting on DNA Based Computers (DNA04), Milan, Italy, June 2004.
[19]
P. W. K. Rothemund and E. Winfree. The program-size complexity of self-assembled squares. In Proceedings of the ACM Symposium on Theory of Computing (STOC00), pages 459--468, Portland, OR, USA, May 2000.
[20]
C. Seo, S. Malek, G. Edwards, N. Medvidovic, B. Petrus, and S. Ravula. Exploring the role of software architecture in dynamic and fault tolerant pervasive systems. In Proceedings of the Workshop on Software Engineering of Pervasive Computing Applications, Systems and Environments (SEPCASE07), Minneapolis, MN, USA, May 2007.
[21]
M. Shaw and D. Garlan. Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996.
[22]
D. Soloveichik and E. Winfree. Complexity of compact proofreading for self-assembled patterns. Lecture Notes in Computer Science, 3892:305--324, 2006.
[23]
E. Winfree. Algorithmic Self-Assembly of DNA. PhD thesis, California Insitute of Technology, Pasadena, CA, USA, June 1998.
[24]
E. Winfree. Self-healing tile sets. Nanotechnology: Science and Computation, pages 55--78, 2006.
[25]
E. Winfree and R. Bekbolatov. Proofreading tile sets: Error correction for algorithmic self-assembly. In Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science (FOCS02), volume 2943, pages 126--144, Madison, WI, USA, June 2003.

Cited By

View all
  • (2023)Blindspots in Python and Java APIs Result in Vulnerable CodeACM Transactions on Software Engineering and Methodology10.1145/357185032:3(1-31)Online publication date: 26-Apr-2023
  • (2018)Software fairnessProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3264838(754-759)Online publication date: 26-Oct-2018
  • (2018)Themis: automatically testing software for discriminationProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3264590(871-875)Online publication date: 26-Oct-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
EFTS '07: Proceedings of the 2007 workshop on Engineering fault tolerant systems
September 2007
62 pages
ISBN:9781595937254
DOI:10.1145/1316550
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 September 2007

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ESEC/FSE07
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)2
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Blindspots in Python and Java APIs Result in Vulnerable CodeACM Transactions on Software Engineering and Methodology10.1145/357185032:3(1-31)Online publication date: 26-Apr-2023
  • (2018)Software fairnessProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3264838(754-759)Online publication date: 26-Oct-2018
  • (2018)Themis: automatically testing software for discriminationProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3264590(871-875)Online publication date: 26-Oct-2018
  • (2018)Do automated program repair techniques repair hard and important bugs?Empirical Software Engineering10.1007/s10664-017-9550-023:5(2901-2947)Online publication date: 1-Oct-2018
  • (2018)Challenges in Composing and Decomposing Assurances for Self-Adaptive SystemsSoftware Engineering for Self-Adaptive Systems III. Assurances10.1007/978-3-319-74183-3_3(64-89)Online publication date: 18-Jan-2018
  • (2017)Fairness testing: testing software for discriminationProceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering10.1145/3106237.3106277(498-510)Online publication date: 21-Aug-2017
  • (2015)Self-Adapting Reliability in Distributed Software SystemsIEEE Transactions on Software Engineering10.1109/TSE.2015.241213441:8(764-780)Online publication date: 1-Aug-2015
  • (2013)Entrusting Private Computation and Data to Untrusted NetworksIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2013.1310:4(225-238)Online publication date: 1-Jul-2013
  • (2013)Self-adaptive systems: A survey of current approaches, research challenges and applicationsExpert Systems with Applications10.1016/j.eswa.2013.07.03340:18(7267-7279)Online publication date: Dec-2013
  • (2013)Failure Avoidance in Configurable Systems through Feature LocalityAssurances for Self-Adaptive Systems10.1007/978-3-642-36249-1_10(266-296)Online publication date: 2013
  • Show More Cited By

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