持续变化的需求对开放环境下软件系统的灵活性和可伸缩性提出了较高的要求.在许多情况下,这需要系统中能够发生变化的位置、变化的程度等可以被动态调整,即要求软件的运行时可变性是可以动态演化的.然而在多数系统(例如自适应系统)中,软件运行时可变性受限于开发者在设计阶段基于当时需求和环境要求做出的决策和假设,使得软件可变性模型本身是难以动态改变的,进而导致了系统在运行时难以适应持续变化的需求和环境.软件运行时可变性动态演化是解决问题的关键.但目前只有少数研究工作关注该方面,而且它们往往停留在模型建立和验证阶段,缺乏如何实现动态演化的研究.为解决此问题,提出了元变机制以支持对可变性要素数量、属性、关系的改变.元变机制利用体系结构动态调整技术在体系结构和构件两个层次上实现可变性演化的基本操作,即可变性要素的增加、替换和删除;又利用可变性对象实现了对这些操作的封装和信息隐藏,使人们在关注高层的可变性模型变化时无须考虑可变性要素的异构性等细节.该文给出了元变机制的基础设施并基于.Net Framework阐述了其生成方法,并提供了相应工具以观察或触发运行时可变性模型的变化,最后以个人云资源分享为背景,解决了资源清理案例中的运行时可变性的动态演化问题,展示了元变机制的可行性和有效性;并对元变机制的基本操作进行了性能测试,展示了其高效性.