Research Article

Comprehensive Aspectual UML Approach to Support AspectJ

Table 7

Representation of an Aspect in the Aspectual Composite Structure Diagram.

Notation drawing viewDescription

327808.table.007a(i) Classifier name: gives an instance of an Aspect
(ii) Attribute: gives a value of that Aspect at a given time
(iii) Method: name of the method to be executed
(iv) Join point: name of the join point executed at that time
(v) Pointcut: name of the pointcut that captures that join point at that time
(vi) Advice: the codes to be injected at that join point

327808.table.007b(i) Relation between the Aspect and Objects to indicate that there is a code to be ejected after the join point
(ii) “After” relationship has two operands: Aspect and Class; the solid line with open arrowhead points from the Aspect to the Class

327808.table.007c(i) Relation between the Aspect and Objects to indicate that there is a code to be ejected after returning the join point
(ii) “After Returning” relationship has two operands: Aspect and Class; the solid line with open arrowhead points from the Aspect to the Class

327808.table.007d(i) Relation between the Aspect and Objects to indicate that there is a code to be ejected after throwing the join point
(ii) “After Throwing” relationship has two operands: Aspect and Class; the solid line with open arrowhead points from the Aspect to the Class

327808.table.007e(i) Relation between the Aspect and Objects to indicate that there is a code to be ejected before the join point
(ii) “Before” relationship has two operands: Aspect and Class; the solid line with open arrowhead points from the Aspect to the Class

327808.table.007f(i) Relation between the Aspect and Objects to indicate that there is a code to be ejected around the join point
(ii) “Around” relationship has two operands: Aspect and Class; the solid line with open arrowhead points from the Aspect to the Class

327808.table.007g(i) Relation between the Aspect and Objects to indicate that a pointcut captures a join point; this pointcut type is a “Method Call”
(ii) “Method Call” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007h(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Method Execution”
(ii) “Method Execution” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007i(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Method Get”
(ii) “Method Get” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007j(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Method Set”
(ii) “Method Set” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007k(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Constructor Call”
(ii) “Constructor Call” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007l(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Constructor Execution”
(ii) “Constructor Execution” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007m(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Constructor Initialization”
(ii) “Constructor Initialization” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007n(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Constructor Preinitialization”
(ii) “Constructor Preinitialization” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007o(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Static Initialization”
(ii) “Static Initialization” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007pRelation between the Aspect and Objects to indicate that there is a pointcut of type “Handler”; “Handler” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007q(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Advice Execution”
(ii) “Advice Execution” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007r(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Within”
(ii) “Within” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007s(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Method Within Code”
(ii) “Method Within Code” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007t(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Constructor Within Code”
(ii) “Constructor Within Code” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007u(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “CFlow”
(ii) “CFlow” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007v(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “CFlow Below”
(ii) “CFlow Below” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007w(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “This”
(ii) “This” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007x(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Target”
(ii) “Target” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007y(i) Relation between the Aspect and Objects to indicate that there is a pointcut of type “Argus”
(ii) “Argus” relationship has two operands: Aspect and Class; the solid line with cross and no arrow connects the Aspect to the Class

327808.table.007zRepresents an Aspectual collaboration, where it represents an Aspectual Collaboration Use Case Diagram