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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agha, G.: Actors: A Model of Concurrent Computation. MIT Press, Cambridge (1986)
Allen, R., Garlan, D.: Formalizing Architectural Connection. In: Proceedings of the 16th International Conference on Software Engineering, pp. 71–80. IEEE, Los Alamitos (1994)
Astley, M.C.: Customization and Composition ofDistributed Objects: Policy Management in Distributed Software Architectures. PhD thesis, University of Illinois (1999)
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)
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)
Butler, R., Ricky, W.: The SURE Approach to Reliability Analysis. IEEE Transactions on Reliability 41(2), 210–218 (1992)
Clements, P.C.: A Survey of Architecture Description Languages. In: Proceedings of the 8th International Workshop on Software Specification and Design (March 1996)
Floyd, S., Paxson, V.: Difficulties in Simulating the Internet. ACM/IEEE Transactions on Networking (2001)
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)
Geist, R., Trivedi, K.: Reliability Estimation of Fault Tolerant Systems: Tools and Techniques. IEEE Computer 23(7), 52–61 (1990)
Glass, R.: Software Reliability Guidebook. Prentice-Hall, Englewood Cliffs (1979)
Hoare, C.A.R.: An Axiomatic Basis for Computer Programming. Communication of the ACM 12(10), 576–583 (1969)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Holzmann, G.J.: The SPIN Model Checker. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)
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)
Issarny, V., Banâtre, J.-P.: Architecture-based Exception Handling. In: Proceedings of the 34th Hawaii International Conference on System Sciences (2001)
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)
Issarny, V., Kloukinas, C., Zarras, A.: Systematic Aid for Developing Middleware Architectures. Communications of the ACM (CACM) 45(6), 53–58 (2002)
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)
Kazman, R., Carriere, S.J., Woods, S.G.: Toward a Discipline of Scenario-Based Architectural Engineering. Annals of Software Engineering 9, 5–33 (2000)
Lamport, L.: The Temporal Logic of Actions. ACM Transactions on Programming Languages and Systems 16(3), 872–923 (1994)
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)
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)
Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)
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)
Magee, J., Dulay, N., Kramer, J.: Structuring Parallel and Distributed Programs. In: Proceedings of the 1st International Conference on Configurable Distributed Systems (March 1992)
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)
Magee, J., Kramer, J., Sloman, M.: Constructing Distributed Systems in CONIC. IEEE Transactions on Software Engineering 16(5), 663–675 (1989)
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)
Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)
Milner, R.: A Calculus of Communicating Systems. Cambridge University Press, Cambridge (1980)
Milner, R.: Communicating and Mobile Systems: the pi-calculus. Springer, Heidelberg (1999)
Moriconi, M., Qian, X., Riemenschneider, A.: Correct Architecture Refinement. IEEE Transactions on Software Engineering 21(4), 356–372 (1995)
Myers, G.: Software Reliability - Principles and Practices. John Wiley and Sons, Chichester (1976)
NASA. Reliability Block Diagrams and Reliability Modeling. Technical report, NASA Glenn Research Center (May 1995), http://www-osma.lerc.nasa.gov/rbd/rbdtut.html
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
OMG. UML Semantics 1.3 (1997)
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)
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)
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)
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)
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)
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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