Representing Shared Join Points with State Charts: A High Level Design Approach

Aspect Oriented Programming promises many advantages at programming level by incorporating the cross cutting concerns into separate units, called aspects. Join Points are distinguishing features of Aspect Oriented Programming as they define the points where core requirements and crosscutting concerns are (inter)connected. Currently, there is a problem of multiple aspects- composition at the same join point, which introduces the issues like ordering and controlling of these superimposed aspects. Dynamic strategies are required to handle these issues as early as possible. State chart is an effective modeling tool to capture dynamic behavior at high level design. This paper provides methodology to formulate the strategies for multiple aspect composition at high level, which helps to better implement these strategies at coding level. It also highlights the need of designing shared join point at high level, by providing the solutions of these issues using state chart diagrams in UML 2.0. High level design representation of shared join points also helps to implement the designed strategy in systematic way.




References:
[1] Aspect-Oriented Software Development. http://www.aosd.net.
[2] Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, Ch.,
Loingtier, J.and Irwin, J.: "Aspect-Oriented Programming". In
Proceedings of the 11th European Conference on Object-Oriented
Programming (ECOOP '97) (Yväskylä, Finland, June 9-13, 1997).
Springer-Verlag, Berlin Heidelberg, 1997, LNCS 1241, Pages 220-242.
[3] Stein, D., Hanenberg, St., Unland, R..: "An UML-based Aspect-Oriented
Design Notation For AspectJ". In Proc. Of AOSD -02 (Enschede, the
Netherlands, Apr. 2002), ACM, pp. 106-112.
[4] Wesley Coelho and Gail C. Murphy: "Modeling Aspects: An
Implementation-Driven Approach". Workshop on Best Practices for
Model Driven Software Development at OOPSLA 2004.
[5] Kiczales, G, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm & W.
Griswold: "An Overview of AspectJ". In Proceedings of ECOOP 2001,
LNCS 2072, Springer Verlag, 2001.
[6] Boucke N., Holvoet T.: "State-based join points: Motivation and
requirements". In Filman, R. E., Haupt, M., Hirschfeld, R. (eds):
Proceedings of the Second Dynamic Aspects Workshop (2005) 1-4.
[7] Eduardo Barra Zavaleta, Gonzalo Génova Fuster, Juan Llorens Morillo:
"An approach to Aspect Modelling with UML 2.0". Workshop on
Aspect Oriented Modeling, October 11, 2004, Lisbon, Portugal, held in
Conjunction with the 7th International conference on the Unified
Modeling Language- UML 2004, October 10-15, 2004, Lisbon,
Portugal.
[8] I. Nagy, Lodewijk Bergmans and Mehmet Aksit: "Composing Aspects at
Shared Join Points". Proceedings of International Conference
NetObjectDays, NODe2005.
[9] Stein, D., Hanenberg, S. and Unland, R.: "On Representing Join Points
in The UML". In Proceedings of the 2nd Workshop on Aspect Modeling
with UML at the Fifth International Conference on the Unified
Modeling Language and its Applications (UML 2002), (Dresden,
Germany, 30 September - 4 October, 2002).
[10] I. Nagy, L. Bergmans, M. Aksit.: "Declarative Aspect Composition".
Technical Report,
http://trese.ewi.utwente.nl/publications/publications.php?
action=showPublication&pub_id=346 University of Twente, (April
2005).
[11] Anis Charfi, Michel Riveill, Mireille Blay-Fornarino, Anne-Marie
Pinna-Déry: "Transparent and Dynamic Aspect Composition". In
Workshop on Software Engineering Properties of Languages and Aspect
Technologies (SPLAT), Bonn (Germany), 21 march 2006.
[12] A. Rashid, N. M. Ali: "A State-based Join Point Model for AOP".
Workshop on Views, Aspects and Roles ÔÇö VAR (held with ECOOP
2005).
[13] Stein, D.; Hanenberg, S.; Unland, R.: "Modeling Pointcuts. Early
Aspects". Workshop on Aspect-Oriented Requirements Engineering and
Architecture Design, AOSD 2004, Lancaster, UK, March 22, 2004.
[14] Eric Braude: Software Design: From Programming to Architecture. John
Wiley & Sons, Inc. 2004.
[15] Object Management Group: "Unified Modeling Language".
Superstructure, version 2.0 formal/05-07-04.
[16] Mohamed Mancona Kande, Jorg Kienzle and Alfred Strohmeier, "From
AOP to UML- A Bottom-Up Approach", Swiss Federal Institute of
Technology Lausanne, Switzerland. [2001].
[17] A. Rashid, Araujo J., A. Moreira, and I. Brito: "Aspect-Oriented
Requirements with UML". Workshop on Aspect-Oriented Modeling
with UML (held with UML 2002).
[18] Mahoney, M., Bader, A., Aldawud, O., Elrad, T.: "Using Aspects to
Abstract and Modularize Statecharts." The 5th Aspect-Oriented
Modeling Workshop in Conjunction with UML 2004.
http://www.cs.iit.edu/~oaldawud/AOM/mahoney.pdf.
[19] Mark Mahoney: "Modeling Crosscutting Concerns in Reactive Systems
with Aspect-Orientation". Doctoral Symposium at MoDELS/UML 2005,
Montego Bay Jamaica, October 2005.
[20] Michelle Crane, Juergen Dingel: "UML Vs. Classical Vs. Rhapsody
Statecharts: Not All Models Are Created Equal". ACM/IEEE 8th
International Conference on Model Driven Engineering Languages and
Systems (MoDELS 2005).
[21] Stein, D.; Hanenberg, S.; Unland, R.: "Position Paper on Aspect-
Oriented Modeling: Issues on Representing Crosscutting Features". 3rd
International Workshop on Aspect-Oriented Modeling with UML,
AOSD 2003, Boston, MA, March 18, 2003.