在面向方面软件体系结构设计中,通过指定注入位置、时机及约束,将封装了横切行为和特征的方面组件与组成软件体系结构(SA)的组件、连接件编织起来,形成一个有机整体,这对SA整体行为和质量特征的分析和验证具有十分重要的意义.提出一种SA层编织机制,它基于AC2-ADL建立的编织前SA模型,通过明确定义的编织过程和相关编织规则,将编织前独立设计的方面组件显式地织入到组件中,使得最终形成的仅含组件、连接件的编织后SA模型更加易于分析和验证.最后结合案例进一步对该编织机制作详细解释.
In the design of aspect-oriented software architecture, two kinds of elements may be involved. One is the aspeetual elements which encapsulate crosscutting behaviors and features; another is basic elements which are traditional components or eonneetors. Furthermore, the two kinds of elements need to be woven together to form integrated model by specifying location, time point and constraints of injection, which is very important for analyzing and verifying overall behaviors and quality attributes of software architecture (SA). A kind of weaving mechanism at SA level, which is based on an aspect-oriented software architecture description language named AC2-ADL, is proposed in this paper. This weaving mechanism includes a set of weaving rules and a weaving process. Concretely, these rules are composed of match rules, conflict detection rules and interweaving rules. The match rules are used to search for location of injection over SA model. The conflict detection rules can determine whether there are temporal conflicts between crosscutting operations or not. And the interweaving rules are used to add the computation within crosscutting operation into corresponding component. What's more, weaving process is defined based on these weaving rules. Under guidance of the weaving process, aspectual components designed independently in unwoven stage is explicitly woven into components. Then a model of SA in woven stage only containing components and connectors is acquired, which is easier to analyze and verify. Finally, this weaving mechanism is illustrated in detail through ease study.