{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T02:57:02Z","timestamp":1760151422029,"version":"build-2065373602"},"reference-count":47,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2022,3,16]],"date-time":"2022-03-16T00:00:00Z","timestamp":1647388800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"National Key Laboratory of Science &amp; Technology on Reliability &amp; Environmental Engineering of China","award":["WDZC2019601A303"],"award-info":[{"award-number":["WDZC2019601A303"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Symmetry"],"abstract":"<jats:p>Modern software systems need to autonomously adapt their behavior at runtime in order to maintain their utility in response to continuous environmental changes. Most studies on models at runtime focus on providing suitable techniques to manage the complexity of software at runtime but neglect reliability caused by adaptation activities. Therefore, adaptive behaviors may lead to a decrease in reliability, which may result in severe financial loss or life damage. Runtime software architecture (RSA) is an abstract of a running system, which describes the elements of the current system, the states of these elements and the relation between the elements and their states at runtime. The main difference between RSA and software architecture at design time (DSA) is that RSA has a causal connection with the running system, whereas DSA does not. However, RSA and DSA have both symmetry and asymmetry in software architecture. To ensure that architecture-centric software can provide reliable services after adaptation adjustment, a method is proposed to analyze the impact of changes caused by adaptation strategy on the overall software reliability, which will be predicted at the runtime architecture model layer. Based on a Java platform, through non-intrusive monitoring, an RSA behavioral model is obtained followed by runtime reliability analysis model. Following this, reliability prediction results are obtained through a discrete-time Markov chain (DTMC). Finally, an experiment is conducted to verify the feasibility of the proposed method.<\/jats:p>","DOI":"10.3390\/sym14030589","type":"journal-article","created":{"date-parts":[[2022,3,16]],"date-time":"2022-03-16T22:15:04Z","timestamp":1647468904000},"page":"589","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Runtime Software Architecture-Based Reliability Prediction for Self-Adaptive Systems"],"prefix":"10.3390","volume":"14","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8058-2500","authenticated-orcid":false,"given":"Qiuying","family":"Li","sequence":"first","affiliation":[{"name":"School of Reliability and Systems Engineering, Beihang University, Beijing 100191, China"},{"name":"National Key Laboratory of Science and Technology on Reliability and Environmental Engineering, Beijing 100191, China"}]},{"given":"Minyan","family":"Lu","sequence":"additional","affiliation":[{"name":"School of Reliability and Systems Engineering, Beihang University, Beijing 100191, China"},{"name":"National Key Laboratory of Science and Technology on Reliability and Environmental Engineering, Beijing 100191, China"}]},{"given":"Tingyang","family":"Gu","sequence":"additional","affiliation":[{"name":"School of Reliability and Systems Engineering, Beihang University, Beijing 100191, China"},{"name":"National Key Laboratory of Science and Technology on Reliability and Environmental Engineering, Beijing 100191, China"}]},{"given":"Yumei","family":"Wu","sequence":"additional","affiliation":[{"name":"School of Reliability and Systems Engineering, Beihang University, Beijing 100191, China"}]}],"member":"1968","published-online":{"date-parts":[[2022,3,16]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/978-3-642-02161-9_1","article-title":"Software engineering for self-adaptive systems: A research roadmap","volume":"Volume 5525","author":"Cheng","year":"2009","journal-title":"Lecture Notes in Computer Science"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Kluge, T. (2020, January 7\u20138). A Role-Based Architecture for Self-Adaptive Cyber-Physical Systems. Proceedings of the IEEE\/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS \u201920), Seoul, Korea.","DOI":"10.1145\/3387939.3391601"},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"13","DOI":"10.1145\/2897356.2897359","article-title":"Architectural run-time models for performance and privacy analysis in dynamic cloud applications","volume":"43","author":"Heinrich","year":"2016","journal-title":"ACM Sigmetrics Perform. Eval. Rev."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Filieri, A., Ghezzi, C., Leva, A., and Maggio, M. (2011, January 6\u201310). Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. Proceedings of the IEEE\/ACM International Conference on Automated Software Engineering, ACM, Lawrence, KS, USA.","DOI":"10.1109\/ASE.2011.6100064"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3105748","article-title":"Engineering Self-Adaptive Software Systems","volume":"13","author":"Angelopoulos","year":"2018","journal-title":"ACM Trans. Auton. Adapt. Syst. (TAAS)"},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3024188","article-title":"Control Strategies for Self-Adaptive Software Systems","volume":"11","author":"Filieri","year":"2017","journal-title":"ACM Trans. Auton. Adapt. Syst."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Kramer, J., and Magee, J. (2007, January 23\u201325). Self-Managed Systems: An Architectural Challenge. Proceedings of the Future of Software Engineering (FOSE \u201907), Minneapolis, MN, USA.","DOI":"10.1109\/FOSE.2007.19"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"73","DOI":"10.1109\/TSC.2016.2593459","article-title":"Architecture-based behavioral adaptation with generated alternatives and relaxed constraints","volume":"12","author":"Chen","year":"2019","journal-title":"IEEE Trans. Serv. Comput."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"132","DOI":"10.1016\/j.jss.2005.09.004","article-title":"Architecture-based software reliability modeling","volume":"79","author":"Wang","year":"2006","journal-title":"J. Syst. Softw."},{"key":"ref_10","unstructured":"Bass, L., Clements, P., and Kazman, R. (1998). Software Architecture in Practice, Addison-Wesley Longman, Inc."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Medvidovic, N., Oreizy, P., and Taylor, R.N. (1997, January 17\u201323). Reuse of off-the-shelf components in C2 style architectures. Proceedings of 19th International Conference on Software Engineering, Boston, MA, USA.","DOI":"10.1145\/253228.253838"},{"key":"ref_12","unstructured":"Oreizy, P., Medvidovic, N., and Taylor, R.N. (1998, January 19\u201325). Architecture-based runtime software evolution. Proceedings of the 20th International Conference on Software Engineering, Kyoto, Japan."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1109\/MC.2009.326","article-title":"Models@ run.time","volume":"42","author":"Blair","year":"2009","journal-title":"Computer"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Heinrich, R., Jung, R., Schmieders, E., Metzger, A., Hasselbring, W., Reussner, R., and Pohl, K. (2015, January 2). Architectural run-time models for operator-in-the-loop adaptation of cloud applications. Proceedings of the IEEE 9th Symposium on the Maintenance and Evolution of Service-Oriented Systems and Cloud-Based Environments, Bremen, Germany.","DOI":"10.1109\/MESOCA.2015.7328124"},{"key":"ref_15","first-page":"1819","article-title":"Research on architecture-based reflective middleware","volume":"14","author":"Huang","year":"2003","journal-title":"Ruan Jian Xue Bao\/J. Softw."},{"key":"ref_16","unstructured":"De Lemos, R., Giese, H., M\u00fcller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., and Vogel, T. (2013). Software Engineering for Self-Adaptive Systems: A Second Research Roadmap, Springer."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1007\/s10270-013-0394-9","article-title":"Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime","volume":"15","author":"Szvetits","year":"2016","journal-title":"Softw. Syst. Model."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Lehmann, G., Blumendorf, M., Trollmann, F., and Albayrak, S. (2010, January 3). Meta-modeling runtime models. Proceedings of the 2010 International Conference on Models in Software Engineering, Oslo, Norway.","DOI":"10.1007\/978-3-642-21210-9_21"},{"key":"ref_19","first-page":"1","article-title":"Models@run.time: Foundations, Applications, and Roadmaps","volume":"Volume 8378","author":"Bencomo","year":"2014","journal-title":"Lecture Notes in Computer Science"},{"key":"ref_20","first-page":"1731","article-title":"Modeling and maintaining runtime software architectures","volume":"24","author":"Song","year":"2013","journal-title":"Ruan Jian Xue Bao\/J. Softw."},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"46","DOI":"10.1109\/MC.2004.175","article-title":"Rainbow: Architecture-based self-adaptation with reusable infrastructure","volume":"37","author":"Garlan","year":"2004","journal-title":"Computer"},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"62","DOI":"10.1109\/MS.2006.61","article-title":"Using Architecture Models for Runtime Adaptability","volume":"23","author":"Floch","year":"2006","journal-title":"IEEE Softw."},{"key":"ref_23","unstructured":"Hong, M., and Gang, H. (2004, January 26\u201328). PKUAS: An architecture-based reflective component operating platform. Proceedings of the IEEE International Workshop on Distributed Computing Systems, Suzhou, China."},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Morin, B., Barais, O., Nain, G., and Jezequel, J.-M. (2009, January 16\u201324). Taming dynamically adaptive systems using models and aspects. Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, Vancouver, BC, Canada.","DOI":"10.1109\/ICSE.2009.5070514"},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Elkhodary, A., Esfahani, N., and Malek, S. (2010, January 7\u201311). FUSION: A framework for engineering self-tuning self-adaptive software systems. Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, Santa Fe, NM, USA.","DOI":"10.1145\/1882291.1882296"},{"key":"ref_26","unstructured":"D\u2019Ippolito, N., Braberman, V., Kramer, J., Magee, J., Sykes, D., and Uchitel, S. (June, January 31). Hope for the best, prepare for the worst: Multi-tier control for adaptive systems. Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India."},{"key":"ref_27","unstructured":"Chen, B., Peng, X., Yu, Y., Nuseibeh, B., and Zhao, W. (June, January 31). Self-adaptation through incremental generative model transformations at runtime. Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India."},{"key":"ref_28","unstructured":"Zhu, Y., Huang, G., and Mei, H. (December, January 30). Quality Attribute Scenario Based Architectural Modeling for Self-Adaptation Supported by Architecture-based Reflective Middleware. Proceedings of the 11th Asia-Pacific Software Engineering Conference, Busan, Korea."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1145\/2330667.2330686","article-title":"Self-Adaptive Software Needs Quantitative Verification at Runtime","volume":"55","author":"Calinescu","year":"2012","journal-title":"Commun. ACM"},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"1039","DOI":"10.1109\/TSE.2017.2738640","article-title":"Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases","volume":"44","author":"Calinescu","year":"2017","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"1393","DOI":"10.3724\/SP.J.1001.2009.03497","article-title":"Combinatorial Testing: Principles and Methods","volume":"20","author":"Yang","year":"2009","journal-title":"J. Softw."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"365","DOI":"10.1016\/j.future.2016.07.006","article-title":"An approach based on runtime models for developing dynamically adaptive systems","volume":"68","author":"Loukil","year":"2016","journal-title":"Future Gener. Comput. Syst."},{"key":"ref_33","unstructured":"Chen, L. (2014). Design and Implementation of Strategy-Driven Adaptive Software Simulation Platform, Peking University. (In Chinese)."},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"2796","DOI":"10.1016\/j.jss.2012.04.077","article-title":"QoS and energy management with Petrinets: A self-adaptive framework","volume":"85","author":"Mirandola","year":"2012","journal-title":"J. Syst. Softw."},{"key":"ref_35","doi-asserted-by":"crossref","first-page":"148","DOI":"10.1109\/TSE.2008.74","article-title":"Enhanced modeling and solution of layered queueing networks","volume":"35","author":"Franks","year":"2009","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1007\/978-3-540-74974-5_9","article-title":"Stochastic modeling of composite web services for closed-form analysis of their performance and reliability bottlenecks","volume":"Volume 4749","author":"Sato","year":"2007","journal-title":"Lecture Notes in Computer Science"},{"key":"ref_37","doi-asserted-by":"crossref","unstructured":"Hierons, R.M., Bowen, J.P., and Harman, M. (2008). Testing real-time systems using UPPAAL. Formal Methods and Testing: An Outcome of the FORTEST Network, Springer.","DOI":"10.1007\/978-3-540-78917-8"},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"585","DOI":"10.1007\/978-3-642-22110-1_47","article-title":"PRISM 4.0: Verification of probabilistic real-time systems","volume":"Volume 6806","author":"Kwiatkowska","year":"2011","journal-title":"Lecture Notes in Computer Science"},{"key":"ref_39","unstructured":"Behrmann, G., David, A., Larsen, K.G., Hakansson, J., Petterson, P., Yi, W., and Hendriks, M. (2006, January 11\u201314). UPPAAL 4.0. Proceedings of the 3rd International Conference on Quantitative Evaluation Systems, Riverside, CA, USA."},{"key":"ref_40","doi-asserted-by":"crossref","first-page":"163","DOI":"10.1007\/s00165-011-0207-2","article-title":"A formal approach to adaptive software: Continuous assurance of non-functional requirements","volume":"24","author":"Filieri","year":"2012","journal-title":"Formal Aspects Comput."},{"key":"ref_41","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1109\/TSE.2015.2421318","article-title":"Supporting Self-Adaptation via Quantitative Verification and Sensitivity Analysis at Run Time","volume":"42","author":"Filieri","year":"2016","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Calinescu, R., and Kwiatkowska, M. (2009, January 16\u201324). Using quantitative analysis to implement autonomic it systems. Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, Vancouver, BC, Canada.","DOI":"10.1109\/ICSE.2009.5070512"},{"key":"ref_43","doi-asserted-by":"crossref","first-page":"387","DOI":"10.1109\/TSE.2010.92","article-title":"Dynamic QoS management and optimization in service-based systems","volume":"37","author":"Calinescu","year":"2011","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_44","doi-asserted-by":"crossref","unstructured":"Ghezzi, C., Pinto, L.S., Spoletini, P., and Tamburrelli, G. (2013, January 18\u201326). Managing non-functional uncertainty via model-driven adaptivity. Proceedings of the 2013 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA.","DOI":"10.1109\/ICSE.2013.6606549"},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Moreno, G.A., C\u00e0mara, J., Garlan, D., and Schmerl, B. (2015, January 30). Proactive self-adaptation under uncertainty: A probabilistic model checking approach. Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, El Paso, TX, USA.","DOI":"10.1145\/2786805.2786853"},{"key":"ref_46","unstructured":"Cheng, S.W. (2016). Rainbow: Cost-Effective Software Architecture-Based Self-Adaptation, Carnegie Mellon University."},{"key":"ref_47","doi-asserted-by":"crossref","first-page":"118","DOI":"10.1109\/TSE.1980.234477","article-title":"A User-Oriented Software Reliability Model","volume":"SE-6","author":"Cheung","year":"1980","journal-title":"IEEE Trans. Softw. Eng."}],"container-title":["Symmetry"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-8994\/14\/3\/589\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T22:37:42Z","timestamp":1760135862000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-8994\/14\/3\/589"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,16]]},"references-count":47,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2022,3]]}},"alternative-id":["sym14030589"],"URL":"https:\/\/doi.org\/10.3390\/sym14030589","relation":{},"ISSN":["2073-8994"],"issn-type":[{"type":"electronic","value":"2073-8994"}],"subject":[],"published":{"date-parts":[[2022,3,16]]}}}