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.
- A. Avizienis. The methodology of n-version programming. In M. R. Lyu, editor, SOFTWARE FAULT TOLERANCE. John Wiley & Sons Ltd, 1994.Google Scholar
- P. G. Bishop. Software fault tolerance by design diversity. In SOFTWARE FAULT TOLERANCE, pages 211--229. John Wiley & Sons Ltd, 1994.Google Scholar
- 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 ScholarDigital Library
- M. B. Feldman. Where is Ada used in Industry? http://www.seas.gwu.edu/ mfeldman/ada-projectsummary.html,June,2008.Google Scholar
- 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 Scholar
- Microsoft. MSDN Library. http://msdn2.microsoft.com/en-us/library/default.aspx.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- A. J. Wellings and A. Burns. Beyond ada 2005: allocating tasks to processors in smp systems. Ada Lett., XXVII(2): 75--81, 2007. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
Extending Ada to support multi-core based monitoring and fault tolerance
Recommendations
Extending Ada to support multi-core based monitoring and fault tolerance
SIGAda 2010Monitoring-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 ...
Enabling multi-core based monitoring and fault tolerance in C++/Java
IWMSE '10: Proceedings of the 3rd International Workshop on Multicore Software EngineeringMonitoring and fault tolerance are important approaches to give high confidence in long-running online software systems. But these approaches will certainly cause high overhead cost, i.e. the loss of efficiency. Multi-core platforms can make such cost ...
Software Fault Tolerance: The Evaluation by Functional Verification
DSD '15: Proceedings of the 2015 Euromicro Conference on Digital System DesignThe aim of this paper is to present a new approach in evaluating Software Fault Tolerance (SFT) methodologies. It is the way on how to ensure fault tolerance without any additional hardware as is common in frequently used Triple Modular Redundancy (TMR)...
Comments