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.
[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.
[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.
@article{"International Journal of Information, Control and Computer Sciences:54228", author = "Muhammad Naveed and Muhammad Khalid Abdullah and Khalid Rashid and Hafiz Farooq Ahmad", title = "Representing Shared Join Points with State Charts: A High Level Design Approach", abstract = "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.", keywords = "Aspect Oriented Software Development, Shared Join
Points.", volume = "2", number = "3", pages = "743-5", }