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