摘要
描述了一种在基于构件的软件开发中系统化支持面向贯穿特性的关注点分离技术.基于构件的软件开发强调通过组装可复用构件支持软件复用,在目标应用有多个关注点、存在贯穿特性的情况下,如何在构件组装时模块化封装各关注点的实现逻辑并将其组织成有机整体是一个重要的问题.文章以基于构件、面向体系结构的软件开发方法ABC为基础,提出通过构件运行支撑平台的支持,在运行时刻动态组织各贯穿特性的方法ABC-S2C.其机制是首先引入面向Aspect的软件开发中的概念Advice,用Advice对贯穿特性进行建模和模块化封装;其次是将连接子结构化和实体化,通过连接子将各Aspect和构件代码关联在一起,由连接子在运行时刻截获对构件的服务请求,按照配置动态调用各贯穿特性的处理逻辑Advice.这样的一套以连接子为核心的动态机制支持对黑盒构件的复用,在构件化软件生命周期主要阶段提供了对“贯穿特性”的系统化的模块化支持技术及机制.
This paper describes an approach to systematically supporting separation of crosscut- ting concerns in component-based software development. Component-based software development focuses on reusing black-box COTS components. So how to effectively support the modularization of those "crosscutting concerns" without component source code is quite challenging. This paper proposes an approach named ABC-S2C that addresses this issue at runtime with the support from middleware platform. In this approach, a new first-class entity called advice that is the concept of aspect-orientation is introduced to model the crosscutting concerns related to component interactions. The advices and components are dynamically weaved together into another entity named connectors. The connectors and advices are explicit entities supported by the underlying middleware. At runtime, the connector intercepts the service requests and then invokes those configured advices. Since it is the connector but not component that provides the weaving points, the approach effectively addresses the issue of "crosscutting concerns" while facilitates black-box COTS component reuse at the same time.
出处
《计算机学报》
EI
CSCD
北大核心
2005年第12期2036-2044,共9页
Chinese Journal of Computers
基金
国家"九七三"重点基础研究发展规划项目基金(2002CB312003)
国家自然科学基金(60125206
60233010
90412011)资助.