为适应计算环境和用户需求在系统运行期间的变化,满足软件系统进行动态演化的需求,提出面向动态软件体系结构的在线演化方法,设计并实现了一种运行时刻的软件体系结构元模型,将原先运行时刻不可见的体系结构设计信息具体化为显式的体系结构实体,并与系统实现及系统规约之间保持因果关联.元模型的演化可通过反射实现对运行系统的修改和对规约的更新,所有演化行为都在良定义的体系结构元模型的指导下规范地进行,保证了演化前后系统的一致性、完整性和演化的可追溯性.基于该方法开发了可视化支撑平台Artemis-ARC系统,支持构件和服务的设计、开发、集成及动态演化,并通过简单的应用实例展示了在线演化的效果.
An increasingly important requirement for software systems is the capability to evolve dynamically according to the changes of computing environment and users' need during runtime. In this paper, a dynamic software architecture oriented approach is proposed to support online evolution. Notably, architecture information is reified as explicit and manipulable entities to organize a runtime architecture meta-model, which is causally connected to software implementation and specification. By using reflection, the evolved architecture meta-model modifies running system, and updates specification simultaneously. The well-defined architecture meta-model supervises all evolutionary behaviors to ensure system consistency, integrity, and evolution traceability. Based on this model, a visualized integrated development platform entitled Artemis-ARC is also successfully implemented. It supports component and service design, development and assembly, especially dynamic evolution. Furthermore, a simple application case is developed with Artemis-ARC to illustrate the effect of online evolution.