Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2396065.2396075guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Architecture-centric fault tolerance with exception handling

Published: 26 September 2007 Publication History
  • Get Citation Alerts
  • Abstract

    When building dependable systems by integrating untrusted software components that were not originally designed to interact with each other, it is inevitable the occurrence of architectural mismatches related to assumptions in the failure behaviours. These mismatches if not prevented during system design have to be tolerated during run-time. This paper presents an architectural abstraction based on exception handling for structuring fault-tolerant software systems. This abstraction comprises several components and connectors that transform an existing untrusted software element into an idealised fault-tolerant architectural element. The proposed rigorous approach relies on a formal representation for analysing exception propagation, and verifying important dependability properties. Beyond this, the formal models are also used for generating unit and integration test cases that would be used for validating the final software product. The feasibility of the proposed approach was evaluated on an embedded critical case study.

    References

    [1]
    Abrial, J.-R.: The B-book: assigning programs to meanings. Cambridge University Press, New York (1996).
    [2]
    Amnell, T., Behrmann, G., Bengtsson, J., D'Argenio, P.R., David, A., Fehnker, A., Hune, T., Jeannet, B., Larsen, K.G., Möller, M.O., Pettersson, P., Weise, C., Yi, W.: Uppaal - Now, Next, and Future. In: Cassez, F., Jard, C., Rozoy, B., Ryan, M. (eds.) MOVEP 2000. LNCS, vol. 2067, pp. 100-125. Springer, Heidelberg (2001).
    [3]
    Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice. Prentice-Hall, Englewood Cliffs (1981).
    [4]
    Bass, L., Clements, P.C., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003).
    [5]
    Bertolino, A., Marchetti, E., Muccini, H.: Introducing a reasonably complete and coherent approach for model-based testing. Electr. Notes Theor. Comput. Sci. 116, 85-97 (2005).
    [6]
    Binder, R.V.: Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Redwood City, CA, USA (1999).
    [7]
    Brito, P.H.S., de Lemos, R., Martins, E., Rubira, C.M.F.: Verification and validation of a fault-tolerant architectural abstraction. In: DSN Workshop on Architecting Dependable Systems (WADS 2007), Edinburgh, Scotland - UK (Accepted for publication, 2007).
    [8]
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560-599 (1984).
    [9]
    Castor Filho, F., Cacho, N., Figueiredo, E., Ferreira, R., Garcia, A., Rubira, C.M.F.: Exceptions and aspects: The devil is in the details. In: Proceedings of the 14th ACM SIGSOFT FSE, pp. 152-162 (November 2006).
    [10]
    Castor Filho, F., da Silva Brito, P.H., Rubira, C.M.F.: Specification of exception flow in software architectures. Journal of Systems and Software (October 2006).
    [11]
    Castor Filho, F., de Castro Guerra, P.A., Rubira, C.M.F.: An architectural-level exception-handling system for component-based applications. In: de Lemos, R., Weber, T.S., Camargo Jr., J.B. (eds.) LADC 2003. LNCS, vol. 2847, pp. 321-340. Springer, Heidelberg (2003).
    [12]
    Clements, P., et al.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2003).
    [13]
    Cristian, F.: Exception handling. In: Dependability of Resilient Computers, pp. 68-97. Blackwell (1989).
    [14]
    da Silva Brito, P.H., de Lemos, R., Filho, F.C., Rubira, C.M.F.: Architecture-centric fault tolerance with exception handling. Technical Report IC-07-04. State University of Campinas (February 2007).
    [15]
    Brito, P.H.S., Rocha, C.R., Castor Filho, F., Martins, E., Rubira, C.M.F.: A method for modeling and testing exceptions in component-based software development. In: Maziero, C.A., Silva, J.G., Andrade, A.M.S., Assis Silva, F.M.d. (eds.) LADC 2005. LNCS, vol. 3747, pp. 61-79. Springer, Heidelberg (2005).
    [16]
    de Castro Guerra, P.A., Rubira, C., de Lemos, R.: A fault-tolerant software architecture for component-based systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 129-149. Springer, Heidelberg (2003).
    [17]
    de Lemos, R., de Castro Guerra, P.A., Rubira, C.M.F.: A fault-tolerant architectural approach for dependable system. IEEE Software 23(2), 80-87 (2006).
    [18]
    McMillan, K.L.: The SMV system. Technical Report CMU-CS-92-131, Carnegie Mellon University (1992).
    [19]
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993).
    [20]
    Issarny, V., Banatre, J.P.: Architecture-based exception handling. In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences (2001).
    [21]
    Jackson, D.: Alloy: a lightweight object modelling notation. Software Engineering and Methodology 11(2), 256-290 (2002).
    [22]
    Jackson, D., Schechter, I., Shlyahter, H.: Alcoa: the alloy constraint analyzer. In: ICSE '00: Proceedings of the 22nd international conference on Software engineering, pp. 730-733. ACM Press, New York (2000).
    [23]
    Lee, P.A., Anderson, T.: Fault Tolerance: Principles and Practice. In: Dependable computing and fault-tolerant systems, 2nd edn., Springer, Berlin, New York (1990).
    [24]
    Leuschel, M., Butler, M.J.: Prob: A model checker for b. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855-874. Springer, Heidelberg (2003).
    [25]
    Parnas, D.L., Würges, H.: Response to undesired events in software systems. In: Proceedings of the 2nd International Conference on Software Engineering, San Francisco, USA, pp. 437-446 (October 1976).
    [26]
    Randell, B.: System structure for software fault tolerance. IEEE Transactions on Software Engineering 1(2), 221-232 (1975).
    [27]
    Reimer, D., Srinivasan, H.: Analyzing exception usage in large java applications. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003).
    [28]
    Schneider, S., Treharne, H.: Communicating b machines. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 416-435. Springer, Heidelberg (2002).
    [29]
    Sloman, M., Kramer, J.: Distributed systems and computer networks. Prentice Hall International (UK) Ltd, Hertfordshire, UK (1987).
    [30]
    Taylor, R.N., Medvidovic, N., Anderson, K., Whitehead, J.E.J., Robbins, J.: A component- and message- based architectural style for GUI software. In: Proceedings of the 17th International Conference on Software Engineering, pp. 295-304 (April 1995).
    [31]
    Weimer, W., Necula, G.: Finding and preventing run-time error handling mistakes. In: Proceedings of OOPSLA'2004, Vancouver, Canada, pp. 419-433 (October 2004).

    Index Terms

    1. Architecture-centric fault tolerance with exception handling
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Guide Proceedings
      LADC'07: Proceedings of the Third Latin-American conference on Dependable Computing
      September 2007
      239 pages
      ISBN:3540752935
      • Editors:
      • Andrea Bondavalli,
      • Francisco Brasileiro,
      • Sergio Rajsbaum

      Sponsors

      • IEEE Computer Society TC on Dependable Computing and Fault Tolerance
      • SMCC: Mexican Society for Computer Science
      • SBC: Brazilian Computer Society

      In-Cooperation

      • SCCC: Chilean Computer Science Society
      • IFIP Working Group 10.4 Dependable Computing and Fault Tolerance
      • SADIO: Argentine Society for Informatics and Operations Research

      Publisher

      Springer-Verlag

      Berlin, Heidelberg

      Publication History

      Published: 26 September 2007

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 0
        Total Downloads
      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 27 Jul 2024

      Other Metrics

      Citations

      View Options

      View options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media