skip to main content
research-article

Extending Ada to support multi-core based monitoring and fault tolerance

Published:24 October 2010Publication History
Skip Abstract Section

Abstract

Monitoring-Oriented Programming (MOP) and Software Fault Tolerance(SFT) are two important approaches to guarantee the reliablity of software systems, especially for those running online for long term. However, the introduction of monitoring or fault tolerance module will bring in high overhead. With the prevalence of multi-core platform, we can find the trade off between the reliablity and the efficiency. As one of the most reliable programming languages, Ada is used to a significant degree in many fields. Providing the support of MOP and SFT in Ada can help the programmers enhance the reliablity of software systems. In this paper, we present an approach to extending Ada to support multi-core based monitoring and fault tolerance. First we introduce the framework of multi-core based MOP and SFT. Based on this framework, programmers can design the components of MOP and SFT with tasks parallel to main tasks in Ada programming. All these tasks can be allocated to different physical cores to run concurrently. Then, we give a proposal for enabling multi-core based MOP and SFT in Ada. In this proposal, we design two packages System.MOP_Elements and System.SFT_Elements for programmers to indicate various monitoring and fault tolerance components. With the packages,programmers can also assign computation resources for each component. Finally we animate this proposal via a prototype tool called MCAda and use two case studies to show our approach.

References

  1. A. Avizienis. The methodology of n-version programming. In M. R. Lyu, editor, SOFTWARE FAULT TOLERANCE. John Wiley & Sons Ltd, 1994.Google ScholarGoogle Scholar
  2. P. G. Bishop. Software fault tolerance by design diversity. In SOFTWARE FAULT TOLERANCE, pages 211--229. John Wiley & Sons Ltd, 1994.Google ScholarGoogle Scholar
  3. F. Chen and G. Ro¸su. Mop: an efficient and generic runtime verification framework. In OOPSLA'07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications, pages 569--588, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. B. Feldman. Where is Ada used in Industry? http://www.seas.gwu.edu/ mfeldman/ada-projectsummary.html,June,2008.Google ScholarGoogle Scholar
  5. J. C. Laprie, et al. Architectural issues in software fault tolerance. In M. R. Lyu, editor, SOFTWARE FAULT TOLERANCE, pages 47--80. John Wiley & Sons Ltd, 1994.Google ScholarGoogle Scholar
  6. Microsoft. MSDN Library. http://msdn2.microsoft.com/en-us/library/default.aspx.Google ScholarGoogle Scholar
  7. B. Randell and J. Xu. The evolution of the recovery block concept. In M. R. Lyu, editor, SOFTWARE FAULT TOLERANCE, pages 1--22. John Wiley & Sons Ltd, 1994.Google ScholarGoogle Scholar
  8. R. K. Scott, J. W. Gault, and D. F. McAllister. Fault-tolerant software reliability modeling. IEEE Trans. Softw. Eng., 13(5): 582--592, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. J. Wellings and A. Burns. Beyond ada 2005: allocating tasks to processors in smp systems. Ada Lett., XXVII(2): 75--81, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Yang, Z. Cui, and X. Li. A case study for fault tolerance oriented programming in multi-core architecture. High Performance Computing and Communications, 10th IEEE International Conference on, 0: 630--635, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. L. Yang, J. Tang, J. Zhao, and X. Li. A case study for monitoring-oriented programming in multi-core architecture. In IWMSE'08: Proceedings of the 1st international workshop on Multicore software engineering, pages 47--52, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. Yang, L. Yu, J. Tang, L. Wang, J. Zhao, and X. Li. Enabling multi-core based monitoring and fault tolerance in c++/java. In IWMSE'10: Proceedings of the 3rd International Workshop on Multicore Software Engineering, pages 32--39, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Extending Ada to support multi-core based monitoring and fault tolerance

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM SIGAda Ada Letters
                ACM SIGAda Ada Letters  Volume 30, Issue 3
                SIGAda 2010
                December 2010
                63 pages
                ISSN:1094-3641
                DOI:10.1145/1879097
                Issue’s Table of Contents
                • cover image ACM Conferences
                  SIGAda '10: Proceedings of the ACM SIGAda annual international conference on SIGAda
                  October 2010
                  90 pages
                  ISBN:9781450300278
                  DOI:10.1145/1879063

                Copyright © 2010 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 24 October 2010

                Check for updates

                Qualifiers

                • research-article
              • Article Metrics

                • Downloads (Last 12 months)4
                • Downloads (Last 6 weeks)1

                Other Metrics

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!