Skip to main content

Software Architecture and Dependability

  • Chapter
Formal Methods for Software Architectures (SFM 2003)

Abstract

Dependable systems are characterized by a number of attributes including: reliability, availability, safety and security. For some attributes (namely for reliability, availability, safety), there exist probability-based theoretic foundations, enabling the application of dependability analysis techniques. The goal of dependability analysis is to forecast the values of dependability attributes, based on certain properties (e.g. failure rate, MTBF, etc.) that characterize the system’s constituent elements.

Nowadays, architects, designers and developers build systems based on an architecture-driven approach. They specify the system’s software architecture using Architecture Description Languages or other standard modeling notations like UML. Given the previous, we examine what we need to specify at the architectural level to enable the automated generation of models for dependability analysis. In this paper, we further present a prototype implementation of the proposed approach, which relies on UML specifications of dependable systems’ software architectures. Moreover, we exemplify our approach using a case study system.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.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. Agha, G.: Actors: A Model of Concurrent Computation. MIT Press, Cambridge (1986)

    Google Scholar 

  2. Allen, R., Garlan, D.: Formalizing Architectural Connection. In: Proceedings of the 16th International Conference on Software Engineering, pp. 71–80. IEEE, Los Alamitos (1994)

    Chapter  Google Scholar 

  3. Astley, M.C.: Customization and Composition ofDistributed Objects: Policy Management in Distributed Software Architectures. PhD thesis, University of Illinois (1999)

    Google Scholar 

  4. Astley, M.C., Agha, G.: Customization and Composition of Distributed Objects: Middleware Abstractions for Policy Management. In: Proceedings of the 6th International Symposium on the Foundations of Software Engineering, November 1998, pp. 1–9. ACM-SIGSOFT (1998)

    Google Scholar 

  5. Barbacci, M., Weinstock, C., Doubleday, D., Gardner, M., Lichota, R.: DURRA: A Structure Description Language for Developing Distributed Applications. Software Engineering Journal, 83–94 (March 1993)

    Google Scholar 

  6. Butler, R., Ricky, W.: The SURE Approach to Reliability Analysis. IEEE Transactions on Reliability 41(2), 210–218 (1992)

    Article  MATH  Google Scholar 

  7. Clements, P.C.: A Survey of Architecture Description Languages. In: Proceedings of the 8th International Workshop on Software Specification and Design (March 1996)

    Google Scholar 

  8. Floyd, S., Paxson, V.: Difficulties in Simulating the Internet. ACM/IEEE Transactions on Networking (2001)

    Google Scholar 

  9. Garlan, D., Kompanec, J., Pinto, P.: Reconciling the Needs of Architectural Description with Object-Modeling Notations. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 498–512. Springer, Heidelberg (2000)

    Google Scholar 

  10. Geist, R., Trivedi, K.: Reliability Estimation of Fault Tolerant Systems: Tools and Techniques. IEEE Computer 23(7), 52–61 (1990)

    Google Scholar 

  11. Glass, R.: Software Reliability Guidebook. Prentice-Hall, Englewood Cliffs (1979)

    Google Scholar 

  12. Hoare, C.A.R.: An Axiomatic Basis for Computer Programming. Communication of the ACM 12(10), 576–583 (1969)

    Article  MATH  Google Scholar 

  13. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  14. Holzmann, G.J.: The SPIN Model Checker. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  15. Issarny, V.: Configuration-Based Programming Systems. In: Proceedings of SOF-SEM 1997: Theory and Practice of Informatics, November 1997, pp. 183–200. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  16. Issarny, V., Banâtre, J.-P.: Architecture-based Exception Handling. In: Proceedings of the 34th Hawaii International Conference on System Sciences (2001)

    Google Scholar 

  17. Issarny, V., Bidan, C., Saridakis, T.: Achieving Middleware Customization in a Configuration-based Development Environment: Experience with the Aster Prototype. In: Proceedings of the 4th International Conference on Configurable Distributed Systems, pp. 207–214. IEEE, Los Alamitos (1998)

    Google Scholar 

  18. Issarny, V., Kloukinas, C., Zarras, A.: Systematic Aid for Developing Middleware Architectures. Communications of the ACM (CACM) 45(6), 53–58 (2002)

    Article  Google Scholar 

  19. Johnson, S.C.: Reliability Analysis of Large Complex Systems Using ASSIST. In: Proceedings of the 8th Digital Avionics Systems Conference, pp. 227–234. AIAA/IEEE (1988)

    Google Scholar 

  20. Kazman, R., Carriere, S.J., Woods, S.G.: Toward a Discipline of Scenario-Based Architectural Engineering. Annals of Software Engineering 9, 5–33 (2000)

    Article  Google Scholar 

  21. Lamport, L.: The Temporal Logic of Actions. ACM Transactions on Programming Languages and Systems 16(3), 872–923 (1994)

    Article  Google Scholar 

  22. Laprie, J.-C.: Dependable Computing and Fault Tolerance: Concepts and Terminology. In: Proceedings of the 15th International Symposium on Fault-Tolerant Computing (FTCS-15), pp. 2–11 (1985)

    Google Scholar 

  23. Laprie, J.-C., Arlat, J., Beounes, C., Kanoun, K.: Definition and Analysis of Hardware and Software Fault-Tolerant Architectures. IEEE Computer 23(7), 39–51 (1990)

    Google Scholar 

  24. Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)

    Article  Google Scholar 

  25. Klein, M., Kazman, R., Bass, L., Carriere, S.J., Barbacci, M., Lipson, H.: Attribute-based architectural styles. In: Proceedings ofthe 1st IFIP Working Conference on Software Architecture (WICSA-1), pp. 225–243 (1999)

    Google Scholar 

  26. Magee, J., Dulay, N., Kramer, J.: Structuring Parallel and Distributed Programs. In: Proceedings of the 1st International Conference on Configurable Distributed Systems (March 1992)

    Google Scholar 

  27. Magee, J., Kramer, J., Giannakopoulou, D.: Behavior Analysis of Software Architectures. In: Proceedings of the 1st IFIP Working Conference on Software Architectures (WICSA-1), pp. 35–49 (1999)

    Google Scholar 

  28. Magee, J., Kramer, J., Sloman, M.: Constructing Distributed Systems in CONIC. IEEE Transactions on Software Engineering 16(5), 663–675 (1989)

    Article  Google Scholar 

  29. Medvidovic, N., Rosenblum, D.S., Robbins, J.E., Redmiles, D.F.: Modeling Software Architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology (to appear)

    Google Scholar 

  30. Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)

    Article  Google Scholar 

  31. Milner, R.: A Calculus of Communicating Systems. Cambridge University Press, Cambridge (1980)

    MATH  Google Scholar 

  32. Milner, R.: Communicating and Mobile Systems: the pi-calculus. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  33. Moriconi, M., Qian, X., Riemenschneider, A.: Correct Architecture Refinement. IEEE Transactions on Software Engineering 21(4), 356–372 (1995)

    Article  Google Scholar 

  34. Myers, G.: Software Reliability - Principles and Practices. John Wiley and Sons, Chichester (1976)

    Google Scholar 

  35. NASA. Reliability Block Diagrams and Reliability Modeling. Technical report, NASA Glenn Research Center (May 1995), http://www-osma.lerc.nasa.gov/rbd/rbdtut.html

  36. Nguyen, K., Issarny, V.: Demonstration of Support for Architectural Design for Dependable SoS. CSDA2 report. Available at URL: http://www.newcastle.research.ec.org/dsos/deliverables

  37. OMG. UML Semantics 1.3 (1997)

    Google Scholar 

  38. Shaw, M., Deline, R., Klein, D., Ross, T., Young, D., Zelesnik, G.: Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering 21(4), 314–335 (1995)

    Article  Google Scholar 

  39. Tartanoglu, F., Issarny, V., Romanovsky, A., Levy, N.: Architecting Dependable Systems. Lecture Notes in Computer Science, chapter Dependability in the Web Services Architecture, vol. 2677. Springer, Heidelberg (2003)

    Book  Google Scholar 

  40. Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead, E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component and Message Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22(6), 390–406 (1996)

    Article  Google Scholar 

  41. Zarras, A., Issarny, V.: Automating the Performance and Reliability Analysis of Enterprise Information Systems. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering, ASE 2001 (2000)

    Google Scholar 

  42. Zarras, A., Kloukinas, C., Issarny, V.: Architecting Dependable Systems. LNCS, chapter Quality Analysis of Dependable Systems: A Developer Oriented Approach, vol. 2677. Springer, Heidelberg (2003)

    Book  Google Scholar 

  43. Zarras, A., Kloukinas, C., Issarny, V., Nguyen, K.: Initial Results on Architectures and Dependable Mechanisms for Dependable SoSs, IC2 report An Architecture-based Environment for the Development of DSoS. Available at URL: http://www.newcastle.research.ec.org/dsos/deliverables

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Issarny, V., Zarras, A. (2003). Software Architecture and Dependability. In: Bernardo, M., Inverardi, P. (eds) Formal Methods for Software Architectures. SFM 2003. Lecture Notes in Computer Science, vol 2804. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39800-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39800-4_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20083-3

  • Online ISBN: 978-3-540-39800-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics