Boolean Constraints Clause Samples
Boolean Constraints. Aspect agreement can range from a very simple problem (e.g., when all aspects are orthogonal (non-interacting)), to a very hard problem (e.g., when aspect interactions are ar- bitrary). Since aspect-oriented middleware systems are not widely deployed, we draw on work in other areas [5, 21, 1] in order to hypothesize what an ideal framework requires. Therefore, our description is highly expository in nature rather than purely prescriptive. Each host (client or server) will need to include in their policy a set of statements to impose some requirements on the adaptlets used in a session. If an adaptlet is used in a session, we say the adaptlet’s status is on (true) for that session; otherwise, the adaptlet’s status is off (false). Due to the nature of interactions, sometimes one adapt- let may be dependent on another adaptlet. Also, adaptlets might conflict: viz, they cannot be used together. Finally, since hosts do not have a priori knowledge of which adaptlets are supported by a peer, it is useful to provide choices amongst a number of adaptlets, in order to meet some requirement. Here we present the encoding of these constraints in Glue- QoS, whose syntax follows from boolean logic: onflict: Two aspects conflict if their combination has a negative effect on the behavior of the entire applica- tion. The deployment of one aspect should exclude the deployment of the other. The decision that an effect is negative is application dependent but may include ef- fects such as introducing deadlock, putting data in in- consistent states, or degrading performance. onflict is encoded by, not(A and B).
