Abstract
Reliability is one of the most critical properties of software system. System deployment architecture is the allocation of system software components on host nodes. Software Architecture (SA) based software deployment models help to analyze reliability of different deployments. Though many approaches for architecture-based reliability estimation exist, little work has incorporated the influence of system deployment and hardware resources into reliability estimation. There are many factors influencing system deployment. By translating the multi-dimension factors into degree matrix of component dependence, we provide the definition of component dependence and propose a method of calculating system reliability of deployments. Additionally, the parameters that influence the optimal deployment may change during system execution. The existing software deployment architecture may be ill-suited for the given environment, and the system needs to be redeployed to improve reliability. An approximate algorithm, A*_D, to increase system reliability is presented. When the number of components and host nodes is relative large, experimental results show that this algorithm can obtain better deployment than stochastic and greedy algorithms.
Similar content being viewed by others
References
C. Seo, et al.. Exploring the role of software architecture in dynamic and fault tolerant pervasive systems. First International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments (SEPCASE’2007), Los Angeles, CA, May 20–26, 2007, 9–15.
N. Medvidovic and S. Malek. Software deployment architecture and quality-of-service in pervasive environments. In Proceedings of the 2007 International Workshop on Engineering of Software Services for Pervasive Environments (ESSPE’2007), Dubrovnik, Croatia, Sep. 4, 2007, 47–51.
A. heydarnoori, F. Mavaddat and F. Arbab. Towards an automated deployment planner for composition of web services as software components. Electronic Notes in Theoretical Computer Science, 160(2006)8, 239–253.
D. Ayed, C. Taconet, G. Bernard, and Y. Berbers. An adaptation methodology for the deployment of mobile component-based applications. 2006 ACS/IEEE International Conference on Pervasive Services, Lyon, June 26–29, 2006, 193–202.
Mei Hong and Shen Jun-Rong. Progress of research on software architecture. Journal of Software, 17(2006)6, 1257–1275 (in Chinese). 梅宏, 申峻嵘. 软件体系结构研究进展. 软件学报, 17(2006,)6, 1257–1275.
M. Mikic-Rakic and N. Medvidovic. Architectural-level support for software component deployment in resource constrained environments. In Proceeding of the IFIP/ACM Working Conference on Component Deployment, Berlin, Germany, June 20–21, 2002, 31–50.
S. Malek, M. Mikic-Rakic, and N. Medvidovic. A style-aware architectural middleware for resource-constrained, distributed system. IEEE Transactions on Software Engineering, 31(2005)3, 256–272.
M. Mikic-Rakic, S. Malek, and N. Medvidovic. Improving availability in large, distributed component-based systems via redeployment. Lecture Notes in Computer Science, 3798(2005), 83–89.
V. Cortellesa and V. Grassi. A modeling approach to analyze the impact of error propagation on reliability of component-based systems. Lecture Notes in Computer Science, 4608(2007), 140–156.
S. Gokhale and K. Trivedi. Reliability prediction and sensitivity analysis based on software architecture. 13th International Symposium on Software Reliability Engineering, Annapolis, MD, USA, Nov. 12–15, 2002, 64–75.
K. Goseve-Popstojanova, et al.. Architectural level risk analysis using UML. IEEE Transactions on Software Engineering, 29(2003)10, 946–960.
K. Goseva-Popstojanova, et al. Architecture-based approaches to software reliability prediction. Journal of Computer & Mathematics with Applications, 46 (2003)7, 1023–1036.
R. Reusser, et al. Reliability prediction for component-based software architectures. Journal of Systems and Software, 66(2003)3, 241–252.
W. Wang, Y. Wu, and M. Chen. An architecture-based software reliability model. 1999 Pacific Rim International Symposium on Dependable Computing, Hong Kong, China, Dec. 16–17, 1999, 143–150.
S. M. Yacoub, et al.. Scenario-based reliability analysis of component-based software. In 10th International Symposium on Software Reliability Engineering, Boca Raton, FL, USA, Nov 1–4, 1999, 22–31.
S. Gokhale, M. R. Lyu, and K. S. Trivedi. Reliability simulation of component-based software systems. The 9th International Symposium on Software Reliability Engineering, Paderborn Germany, Nov. 4–7, 1998, 192–201.
K. Seigrist. Reliability of systems with markov transfer of control. IEEE Transaction Software Engineering, 14(1998)7, 1049–1053.
S. Yacoub, B. Cukic, and H. Ammar. A scenario-based analysis for component-based software. IEEE Transactions on Reliability, 53(2004)4, 465–480.
S. S. Gokhale. Architecture-based software reliability analysis: overview and limitations. IEEE Transactions on Dependable and Secure Computing, 4(2007)1, 32–40.
T. Jin. Hierarchical variance decomposition of system reliability estimates with duplicated components. IEEE Transactions on Reliability, 57(2008)4, 564–573.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms. Beijing, Higher Education Press, 2001, 370–378.
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported by the High Technology Research and Development Program of China (No. 2008AA01A201), National High Technology Research, Development Plan of China (No. 2006AA01A103), the High Technology Research and Development Program of China (No. 2009AA01A404).
Communication author: Su Xihong, born in 1981, female, Ph.D.. Harbin Institute of Technology, Harbin 150001, China.
About this article
Cite this article
Su, X., Liu, H., Wu, Z. et al. SA based software deployment reliability estimation considering component dependence. J. Electron.(China) 28, 118–125 (2011). https://doi.org/10.1007/s11767-011-0561-5
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11767-011-0561-5