-
摘要:
运行时行为模型构造是面向可靠性预计的软件运行时模型构造的组成部分,为软件可靠性预计提供运行时组件与组件之间的动态交互关系和状态之间的转移概率信息。基于Java开发平台提出了一种基于非侵入式监控的软件运行时行为模型的构造方法,包括获得当前时刻的运行时体系结构模型;根据运行时体系结构模型确定监控对象;声明监控方法中的代理Bean;声明监控方法中的监控Bean,实现对组件动态调用信息的提取;声明代理Bean和监控Bean的接口;基于模型构造算法实现对运行时行为模型的构造等步骤。基于Rainbow-znn软件进行了实例应用,验证了所提方法的可行性。
Abstract:Runtime behavior model construction is a component of software runtime model construction oriented to reliability prediction. It provides runtime component-to-component dynamic interaction relationship and state transition probability information for software reliability prediction. Based on Java development platform, a construction method of software runtime behavior model based on non-intrusive monitoring is proposed, including the following steps: obtaining the current runtime architecture model; determining the monitoring objects according to the runtime architecture model; declaring the proxy Bean in the monitoring method; declaring the monitoring Bean to realize the extraction of the dynamic component interaction information; declaring the interface between the proxy Bean and the monitoring Bean; based on the construction algorithm, the runtime behavior model is constructed. Finally, based on the Rainbow-znn software, an example is carried out, which verified the feasibility of this method.
-
表 1 XML文件的关键字及说明
Table 1. Keywords and statements for XML file
关键字 说明 InvokeInformation 调用信息 ComponentName 发起调用的组件名称 ClassName 类的名称或接口的名称 MethodName 方法名称 ReturnType 返回类型 ParameterType 参数类型 EventName 事件名称 -
[1] PARNAS D. The influence of software structure on reliability[J]. ACM SIGPLAN Notices, 1975, 10(6): 358-362. doi: 10.1145/390016.808458 [2] SHOOMAN M L. Structural models for software reliability prediction[C]//Proceedings of the 2nd International Conference on Software Engineering. Piscataway: IEEE Press, 1976: 268-280. [3] LITTLEWOOD B. A reliability model for systems with Markov structure[J]. Journal of the Royal Statistical Society Series C (Applied Statistics), 1975, 24(2): 172-177. [4] CHEUNG R C. A user-oriented software reliability model[J]. IEEE Transactions on Software Engineering, 1980, 6(2): 118-125. [5] KUBAT P. Assessing reliability of modular software[J]. Operations Research Letters, 1989, 8(1): 35-41. doi: 10.1016/0167-6377(89)90031-X [6] KRISHNAMURTHY S, MATHUR A P. On the estimation of reliability of a software system using reliabilities of its components[C]//Proceedings of the 8th International Symposium on Software Reliability Engineering. Piscataway: IEEE Press, 1997: 146-153. [7] YACOUB S, CUKIC B, AMMAR H. A scenario-based reliability analysis approach for component-based software[J]. IEEE Transactions on Reliability, 2004, 53(4): 465-480. doi: 10.1109/TR.2004.838034 [8] YACOUB S, AMMAR H. A methodology for architecture-level reliability risk analysis[J]. IEEE Transactions on Software Engineering, 2002, 28(6): 529-547. doi: 10.1109/TSE.2002.1010058 [9] HEINRICH R. Architectural run-time models for performance and privacy analysis in dynamic cloud applications[J]. Performance Evaluation Review, 2016, 43(4): 13-22. doi: 10.1145/2897356.2897359 [10] OREIZY P, MEDVIDOVIC N, TAYLOR R N. Architecture-based runtime software evolution[C]//Proceedings of the 20th International Conference on Software Engineering. Piscataway: IEEE Press, 1998: 177-186. [11] BLAIR G, BENCOMO N, FRANCE B. Models@run. time[J]. Computer, 2009, 42(10): 22-27. doi: 10.1109/MC.2009.326 [12] HEINRICH R, JUNG R, SCHMIEDERS E, et al. Architectural run-time models for operator-in-the-loop adaptation of cloud applications[C]//2015 IEEE 9th Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-based Environments. Piscataway: IEEE Press, 2015: 36-40. [13] 黄罡, 梅宏, 杨芙清, 等. 基于软件体系结构的反射式中间件研究[J]. 软件学报, 2003, 14(11): 1819-1826. https://www.cnki.com.cn/Article/CJFDTOTAL-RJXB200311000.htmHUANG G, MEI H, YANG F Q, et al. Research on architecture-based reflective middleware[J]. Journal of Software, 2003, 14(11): 1819-1826(in Chinese). https://www.cnki.com.cn/Article/CJFDTOTAL-RJXB200311000.htm [14] LEMOS R D, GIESE H, MVLLER H A, et al. Software engineering for self-adaptive systems: A second research roadmap[M]. Berlin: Springer, 2013: 1-32. [15] SZVETITS M, ZDUN U. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime[J]. Software & Systems Modeling, 2016, 15(1): 31-69. [16] LEHMANN G, BLUMENDORF M, TROLLMANN F, et al. Meta-modeling runtime models[C]//Proceedings of the 2010 International Conference on Models in Software Engineering. Berlin: Springer, 2010: 209-223. [17] BENCOMO N, FRANCE R, CHENG B, et al. Models@run. time: Foundations, applications, and roadmaps[M]. Berlin: Springer, 2014: 47-100. [18] HUANG A, GARLAN D, SCHMERL B. Rainbow: Architecture-based self-adaptation with reusable infrastructure[C]//Proceedings of the 1st International Conference on Autonomic Computing. Piscataway: IEEE Press, 2004: 46-55. [19] 宋晖, 黄罡, 武义涵, 等. 运行时软件体系结构的建模与维护[J]. 软件学报, 2013, 24(8): 1731-1745. https://www.cnki.com.cn/Article/CJFDTOTAL-RJXB201308004.htmSONG H, HUANG G, WU Y H, et al. Modeling and maintaining runtime software architectures[J]. Journal of Software, 2013, 24(8): 1731-1745(in Chinese). https://www.cnki.com.cn/Article/CJFDTOTAL-RJXB201308004.htm [20] B AU'U R M, SZILÁGVI G, VÖRÖS A, et al. Distributed graph queries for runtime monitoring of cyber-physical systems[C]//International Conference on Fundamental Approaches to Software Engineering. Berlin: Springer, 2018: 111-128. [21] MOS A, MURPHY J. Performance management in component-oriented systems using a model driven architecture approach[C]//Proceedings of the 6th International Enterprise Distributed Object Computing Conference. Piscataway: IEEE Press, 2002: 227-237. [22] MOS A, MURPHY J. Performance monitoring of Java component-oriented distributed applications[C]//9th International Conference on Software, Telecommunication & Computer Networks. Piscataway: IEEE Press, 2001: 123-129. [23] CHENG S W. Rainbow: Cost-effective software architecture-based self-adaptation[D]. Pittsburgh: Carnegie Mellon University, 2008.