Abstract:
In the design of aspect-oriented software architecture, two kinds of elements may be involved. One is the aspectual elements which encapsulate crosscutting behaviors and features; another is basic elements which are traditional components or connectors. 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. Whats 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 case study.