摘要
持续变化的需求对开放环境下软件系统的灵活性和可伸缩性提出了较高的要求.在许多情况下,这需要系统中能够发生变化的位置、变化的程度等可以被动态调整,即要求软件的运行时可变性是可以动态演化的.然而在多数系统(例如自适应系统)中,软件运行时可变性受限于开发者在设计阶段基于当时需求和环境要求做出的决策和假设,使得软件可变性模型本身是难以动态改变的,进而导致了系统在运行时难以适应持续变化的需求和环境.软件运行时可变性动态演化是解决问题的关键.但目前只有少数研究工作关注该方面,而且它们往往停留在模型建立和验证阶段,缺乏如何实现动态演化的研究.为解决此问题,提出了元变机制以支持对可变性要素数量、属性、关系的改变.元变机制利用体系结构动态调整技术在体系结构和构件两个层次上实现可变性演化的基本操作,即可变性要素的增加、替换和删除;又利用可变性对象实现了对这些操作的封装和信息隐藏,使人们在关注高层的可变性模型变化时无须考虑可变性要素的异构性等细节.该文给出了元变机制的基础设施并基于.Net Framework阐述了其生成方法,并提供了相应工具以观察或触发运行时可变性模型的变化,最后以个人云资源分享为背景,解决了资源清理案例中的运行时可变性的动态演化问题,展示了元变机制的可行性和有效性;并对元变机制的基本操作进行了性能测试,展示了其高效性.
Software systems situated in open environment are supposed to have high flexibility and scalability to handle ever-changing requirements.In many cases,this implies that the location where variation can occur and the degree of such variation can be changed in the systems,i.e.,software runtime variability should be dynamically evolvable.However,in many systems like self-adaptive systems or other similar ones,runtime variability is limited due to design decisions and assumptions made on the basis of requirements and environments observed at design time,which typically makes runtime variability unchangeable and further results in bad adaptation of the systems to newly-changed requirements and environments at runtime.The key to the problem is dynamic evolution of runtime variability,which is concerned by few studies that only care about its logical model and validation other than implementation.The fact motivates us to propose meta-variability mechanism to support the regulation of runtime variability from an implemental perspective.The mechanism utilizes reconfiguration to realize the basic operations of evolution,i.e.,in addition,substitution and removal of variability elements at level of architecture and that of component,and utilizes variability objects to support encapsulation,information-hidingand execution of these operations.We described infrastructure of meta-variability mechanism,showed how to generate it on the basis of.Net Framework,and provided tools for observing the changes of variability model or triggering them to start the evolution.We finally showed practicability and effectiveness of the mechanism by solving runtime variability evolution in the cases of resource disposing of personal cloud.Through performance evaluation,the mechanism is proved efficiently.
出处
《计算机学报》
EI
CSCD
北大核心
2016年第11期2216-2235,共20页
Chinese Journal of Computers
基金
国家自然科学基金(61379051
61532004)
教育部新世纪优秀人才支持计划(NCET-10-0898)资助~~