aspectWebML.asymmetricConcernComposition.aspectualSubject
Package aspectualSubject


OverviewImage

The aspectualSubject package encompasses the concepts required for identifying where to apply an Advice.


Class Summary
Pointcut To which ConcernModule a Pointcut applies is determined by the CompositionPlan, i.e., the WebML Model (or to a prior result of a composition) to which the Aspect is applied.
SimplePointcut The SimplePointcut concept has been defined to represent a set of JoinPoints which are selected according to a certain quantification method (OCL-based, Enumeration-based).

Constraints:
  1. expressionORjoinPoint: not self.expression.oclIsUndefined() xor joinPoint -> notEmpty()
  2. expressionEXCLUDESjoinPointFeature: not self.expression.oclIsUndefined() implies joinPointFeature.oclIsUndefined())
  3. joinPointFeatureREQUIRESjoinPoint: not self.joinPointFeature.oclIsUndefined() implies self.joinPoint -> notEmpty()
CompositePointcut For reuse purposes, modelers are allowed to define CompositePointcuts which are composed of other SimplePointcuts and/or CompositePointcuts by means of logical operators, e.g., AND, OR, NOT.
JoinPoint A JoinPoint is a well-defined place in a ConcernModule, or rather an instance of a modeling concept belonging to the WebML language. This means, that any instance of a modeling element from the WebML language, whether it is defined in a WebML model or an Advice, can serve as a JoinPoint at some point in the CompositionPlan

Enumeration Summary
RelativePositionKind Denotes the allowed relative positions with respect to the JoinPoints where the Advice shall be introduced.
OperatorKind The allowed logical operators to compose CompositePointcuts.


Copyright Andrea Schauerhuber, Cornelia Tomasek (Vienna University of Technology, 2007)
Note: This documentation is partly based upon WebRatio's WebML User Guide (for further information on WebRatio see http://www.webratio.com/), 'Designing Data-Intensive Web Applications' [S.Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera, 2003] (for further information see http://www.webml.org/webml/page2.do?ctx1=EN) and 'Model-driven Development of Context-Aware Web Applications' [S. Ceri, F. Daniel, M. Matera, F. M. Facca. ACM Transactions on Internet Technology, 2007, 7(1)]