Aspect Algebra: The Operational Semantics for Aspect Oriented Software
Anirban Sarkar
Department of Computer Applications
National Institute of Technology
Durgapur, India
E-Mail: sarkar.anirban@gmail.com
Narayan C Debnath
Department of Computer Science
Winona State University
MN, USA
E-mail: ndebnath@winona.edu
Abstract— This paper has proposed novel aspect algebra for
Graph – semantic based Aspect Model called GAM. The GAM
provides formal representation of Aspect Oriented System
(AOS) concepts like join points, advices, PointCut etc. using
graph based semantics. On the other hand, the proposed
algebra is comprised of set of operators defined on conceptual
semantics of AOS. Those operators are used to conceptualize
the different operational semantics of cross cutting concerns in
Aspect Oriented System design and will play a crucial role on
realization of weaving mechanism formally at model level.
Keywords– Aspect Oriented System; Aspect Oriented
Modeling; Conceptual Modeling; Cross-Cutting Concerns;
Cross-cutting Operations.
I. INTRODUCTION
Aspect-orientation provides a new way of modularization
by clearly separating cross-cutting concerns from non-cross-
cutting ones. Aspect-orientation in design model facilitates
higher level insight about the software system with different
level of views, abstraction, modularization and composition
of application structures and behaviors. Moreover, a
conceptual level design model of aspect oriented software
(AOS) is closer to the user perception about software system
and related cross-cutting concerns. In the context of aspect
oriented software development, two major properties,
quantification and obliviousness are necessary [10].
Obliviousness states that the base system components are not
aware of the aspects that will eventually cross-cut those and
Quantification states that aspects may cross-cut an arbitrary
number of base components simultaneously. From a
software development point of view, aspect orientation
originally emerged at the programming level with AspectJ
[8]. Some key aspects related concepts are cross-cutting
concerns, Aspect, Weaving, Join Point, Advice, PointCut etc.
[1].
In recent years, several aspect oriented modeling
approaches [2, 3, 4, 5, 6, 7, 9, 12, 13, 14] have been proposed
to adopt the aspect orientation in design phase of software
lifecycle. Majority of these approaches has been extended
the UML notations. Only two approaches [4, 6] are based on
non-UML notations. Most of the approaches are lacking
from, (i) proper formalization of different aspect oriented
concepts and (ii) formal semantics for the cross-cutting
operational facets like weaving mechanism.
Few approaches [2, 3, 5, 12, 13, 14] have been addressed
the aspect oriented operational semantics at model level.
Majority of these approaches are based on Object Constraint
Language (OCL). But OCL-based textual languages might
be cumbersome for specifying PointCuts and operational
facets of such system precisely [2, 15]. In [12] action based
semantics have been proposed to realize the cross-cutting
operations. Whereas, in [14] eXtensible Markup Language
(XML) based approach has been used to realize the weaving
mechanism at model level. All these proposed approaches
are lacking from formal and precise semantics of cross-
cutting operations in AOS.
This paper has proposed algebra based cross-cutting
operational model for AOS. The objective is to provide
formal and precise semantics for cross-cutting operations
which will lead to formal weaving mechanism at model level
of AOS. A formal and precise semantics for cross-cutting
operations (like weaving) at the AOS design model level is
important because, firstly, it will provide a well formed
guideline of code weaving at programming level and
secondly, many weaving related crucial issues like possible
effects, conflicts etc. can be identified and modeled at the
design level. Thus it will reduce a considerable complexity at
code level for the developer of AOS system.
The proposed approach is based on Graph – semantic
based Aspect Model (GAM) [11]. In this context, GAM
provides a rich set of semantic constructs with graphical
notations to facilitate the high level representation of AOS.
GAM is used to conceptualize the different facets of cross
cutting concerns in AOS, which is understandable to all
stake holders of such system and also independent of
implementation issues.
II. THE GRAPH–SEMANTIC BASED ASPECT MODEL
(GAM) WITH EXAMPLE
The GAM is the extension of the comprehensive object
oriented model to conceptualize both the base and cross-
cutting concerns of aspect oriented software system. It
contains all the formal details [11], those are necessary to
specify the base concerns, their properties and set of services
provided by base concerns. Also it describes the system wide
cross-cutting concerns those will commonly pertained to the
base concerns. To conceptualize the cross-cutting concerns,
the model facilitates the formal description of join points,
aspects, advices and PointCut relations.
2012 Ninth International Conference on Information Technology- New Generations
978-0-7695-4654-4/12 $26.00 © 2012 IEEE
DOI 10.1109/ITNG.2012.28
139
2012 Ninth International Conference on Information Technology - New Generations
978-0-7695-4654-4/12 $26.00 © 2012 IEEE
DOI 10.1109/ITNG.2012.28
139