Skip to main content

Selecting Fault Tolerant Styles for Third-Party Components with Model Checking Support

  • Conference paper
Component-Based Software Engineering (CBSE 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5582))

Included in the following conference series:

Abstract

To build highly available or reliable applications out of unreliable third-party components, some software-implemented fault-tolerant mechanisms are introduced to gracefully deal with failures in the components. In this paper, we address an important issue in the approach: how to select the most suitable fault-tolerant mechanisms for a given application in a specific context. To alleviate the difficulty in the selection, these mechanisms are abstracted as Fault-tolerant styles (FTSs) at first, which helps to achieve required high availability or reliability correctly because the complex interactions among functional parts of software and fault-tolerant mechanism are explicitly modeled. Then the required fault-tolerant capabilities are specified as fault-tolerant properties, and the satisfactions of the required properties for candidate FTSs are verified by model checking. Specifically, we take application-specific constraints into consideration during verification. The satisfied properties and constraints are evidences for the selection. A case study shows the effectiveness of the approach.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Workshop on Architecting Dependable Systems, http://www.cs.kent.ac.uk/wads/

  2. Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice. Prentice-Hall, Englewood Cliffs (1981)

    MATH  Google Scholar 

  3. Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. on Dependable and Secure Computing 1(1), 11–33 (2004)

    Article  Google Scholar 

  4. Bernardeschi, C., Fantechi, A., Gnesi, S.: Model checking fault tolerant systems. Software Testing Verification and Reliability 12, 251–275 (2002)

    Article  Google Scholar 

  5. Bose, P.: Automated Translation of UML Models of Architectures for Verification and Simulation Using SPIN. In: Proceedings of the 14th IEEE Int’l Conference on Automated Software Engineering, pp. 102–109. IEEE Computer Society Press, Los Alamitos (1999)

    Chapter  Google Scholar 

  6. Brito, P.H.S., Lemos, R., Rubira, C.M.F.: Verification of Exception Control Flows and Handlers Based on Architectural Scenarios. In: Proceeding of the 11th IEEE High Assurance Systems Engineering Symposium (HASE), pp.177–186 (2008)

    Google Scholar 

  7. Candea, G., et al.: JAGR: an autonomous self-recovering application server. In: Proc. of the 5th Int’l Workshop on Active Middleware Services, Seattle, USA, pp. 168–177 (2003)

    Google Scholar 

  8. Ebnenasir, A., Cheng, B.H.C.: Pattern-Based Modeling and Analysis of Failsafe Fault-Tolerance. In: 10th IEEE International Symposium on High Assurance System Engineering (HASE), Dallas, Texas, USA, November 14–16 (2007)

    Google Scholar 

  9. ECperf webpage, http://java.sun.com/developer/earlyAccess/j2ee/ecperf/download.html

  10. Garlan, D., Chung, S., Schmerl, B.: Increasing system dependability through architecture based self-repair. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  11. de Guerra, P.A.C., Rubira, C.F., Romanovsky, A., de Lemos, R.: A fault-tolerant software architecture for COTS-based software systems. In: Proc. of ESEC/FSE-11, Helsinki, Finland, pp. 375–378 (2003)

    Google Scholar 

  12. Holzmann, G.J.: The Model Checker SPIN. IEEE Trans. on Software Engineering 23(5) (1997)

    Google Scholar 

  13. Issarny, V., Banatre, J.: Architecture-Based Exception Handling. In: Proc. of the 34th Annual Hawaii International Conference on System Sciences, vol. 9, p. 9058 (2001)

    Google Scholar 

  14. Lan, L., Huang, G., Wang, W., Mei, H.: A Middleware-based Approach to Model Refactoring at Runtime. In: Proceedings of the 14th Asia-Pacific Software Engineering Conference (APSEC 2007) (2007)

    Google Scholar 

  15. de Lemos, R., Guerra, P., Rubira, C.: A fault-tolerant architectural approach for dependable systems. IEEE Software 23(2), 80–87 (2006)

    Article  Google Scholar 

  16. Mei, H., Huang, G.: PKUAS: An Architecture-based Reflective Component Operating Platform. In: IEEE Int’l Workshop on Future Trends of Distributed Computing Sys. (2004)

    Google Scholar 

  17. Mei, H., Huang, G., Liu, T., Li, J.: Coordinated Recovery of Middleware Services: A Framework and Experiments. Int. J. Software Informatics 1(1), 101–128 (2007)

    Google Scholar 

  18. Muccini, H., Romanovsky, A.: Architecting Fault Tolerant Systems. Technical report, University of Newcastle upon Tyne, CS-TR-1051 (2007)

    Google Scholar 

  19. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and Merging of Statecharts Specifications. In: Proc. 29th Int’l Conference on Software Engineering, pp. 54–64 (2007)

    Google Scholar 

  20. Object Management Group, UML(TM) Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms, http://www.omg.org/docs/ptc/04-09-01.pdf

  21. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  22. Pottinger, R.A., Bernstein, P.A.: Merging models based on given correspondences. In: Proc. 29th int’l Conference on Very Large Data Bases, pp. 862–873 (2003)

    Google Scholar 

  23. Romanovsky, A.: A Looming Fault Tolerance Software Crisis? ACM SIGSOFT Software Engineering Notes 32(2) (2007)

    Google Scholar 

  24. Salatge, N., Fabre, J.C.: Fault Tolerance Connectors for Unreliable Web Services. In: Proc. of 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2007), Edinburgh, UK, pp. 51–60 (2007)

    Google Scholar 

  25. Seo, C., et al.: Exploring the Role of Software Architecture in Dynamic and Fault Tolerant Pervasive Systems. In: Proc. of SEPCASE 2007, Minneapolis, MN, USA (2007)

    Google Scholar 

  26. Sözer, H., Tekinerdogan, B.: Introducing Recovery Style for Modeling and Analyzing System Recovery. In: Proc. of 7th IEEE/IFIP Working Conference on Software Architecture, Vancouver, Canada, pp. 167–176 (2008)

    Google Scholar 

  27. Yuan, L., Dong, J.S., Sun, J., Basit, H.A.: Generic Fault Tolerant Software Architecture Reasoning and Customization. IEEE Trans. on Reliability. 55(3), 421–435 (2006)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Li, J., Chen, X., Huang, G., Mei, H., Chauvel, F. (2009). Selecting Fault Tolerant Styles for Third-Party Components with Model Checking Support. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds) Component-Based Software Engineering. CBSE 2009. Lecture Notes in Computer Science, vol 5582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02414-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02414-6_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02413-9

  • Online ISBN: 978-3-642-02414-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics