Skip to main content

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 5560))

Abstract

Several efforts have been made to incorporate aspect-oriented abstractions into the modelling level. Several modelling languages have appeared, which are mainly UML extensions that incorporate aspect-oriented constructions (e.g. advices or pointcuts). Although these extensions help to improve the modularisation of software designs, their incorporation makes it more complex to understand how the model works after being composed (e.g. woven). In order to overcome this problem, different aspect-oriented model weavers, such as Motorola WEAVR, AOEM and KerTheme, were proposed. These weavers provide the infrastructure for testing and debugging the models before moving into an implementation. However, these model weavers are static in the sense that aspects cannot be woven and unwoven at run time (i.e. during model execution). Hence, software systems that require dynamic weaving (e.g. adaptive applications) are not properly supported. Reasoning about this kind of application can be more complex due to the intrinsic dynamic nature. The novel contribution of this work is an aspect-oriented dynamic model weaver that can be used for running aspect-oriented models where aspects are woven and unwoven during model execution. These ideas are illustrated using a location-aware intelligent transportation system.

This work has been supported by Spanish Ministerio de Ciencia y Tecnología (MCYT) Project TIN2005-09405-C02-01 and European Commission Grant IST-2-004349-NOE AOSD-Europe and the European Commission STREP Project AMPLE IST-033710.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Colyer, A., Clement, A., Harley, G., Webster, M.: Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools. Addison-Wesley Professional, Reading (2004)

    Google Scholar 

  2. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  3. Stein, D., Hanenberg, S., Unland, R.: A UML-based Aspect-Oriented Design Notation for AspectJ. In: Proc. of the 1st Int. Conference on Aspect-Oriented Software Development (AOSD), Enschede, The Netherlands, April 2002, pp. 106–112 (2002)

    Google Scholar 

  4. Aldawud, O., Elrad, T., Bader, A.: UML Profile for Aspect-Oriented Software Development. In: Proc. of 3rd Int. Workshop on Aspect-Oriented Modelling (AOM), 2nd Int. Conference on Aspect-Oriented Software Development (AOSD), Boston, Massachusetts, USA (March 2003)

    Google Scholar 

  5. Evermann, J.: A Meta-Level Specification and Profile for AspectJ in UML. Journal of Object Technology (JOT), Special Issue on Aspect-Oriented Modelling 6(7), 27–49 (2007)

    Google Scholar 

  6. Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley Professional, Reading (2005)

    Google Scholar 

  7. Wagelaar, D., Jonckers, V.: A Concept-Based Approach to Software Design. In: Hamza, M. (ed.) Proc. of the 7th Int. Conference on Software Engineering and Applications (SEA), Marina del Rey, California, USA (November 2003)

    Google Scholar 

  8. Grundy, J.: Multi-Perspective Specification, Design and Implementation of Components using Aspects. International Journal of Software Engineering and Knowledge Engineering 10(6), 713–734 (2000)

    Article  Google Scholar 

  9. Clifton, C., Leavens, G.T.: A Design Discipline And Language Features For Modular Reasoning In Aspect-Oriented Programs. Technical Report TR #05-23, Department of Computer Science, Iowa State University (December 2005)

    Google Scholar 

  10. Kiczales, G., Mezini, M.: Aspect-Priented Programming and Modular Reasoning. In: Proc. of the 27th Int. Conference on Software Engineering (ICSE), St. Louis, Missouri, USA, May 2005, pp. 49–58 (2005)

    Google Scholar 

  11. Reddy, Y.R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., McEachen, N., Song, E., Georg, G.: Directives for Composing Aspect-Oriented Design Class Models. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 75–105. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Jackson, A., Klein, J., Baudry, B., Clarke, S.: KerTheme: Testing Aspect Oriented Models. In: Proc. of the Workshop on Integration of Model Driven Development and Model Driven Testing, 2nd European Conference on Model-Driven Architecture-Foundations and Applications (ECMDA-FA), Bilbao, Spain (July 2006)

    Google Scholar 

  13. Cottenier, T., van den Berg, A., Elrad, T.: Motorola WEAVR: Aspect Orientation and Model-Driven Engineering. Journal of Object Technology (JOT), Special Issue on Aspect-Oriented Modelling 6(7), 51–88 (2007)

    Google Scholar 

  14. Fuentes, L., Sánchez, P.: Designing and Weaving Aspect-Oriented Executable UML models. Journal of Object Technology (JOT), Special Issue on Aspect-Oriented Modelling 6(7), 109–136 (2007)

    Google Scholar 

  15. Whittle, J., Jayaraman, P.: MATA: A Tool for Aspect-Oriented Modeling based on Graph Transformation. In: Proc. of the 11th Int. Workshop on Aspect-Oriented Modelling (AOM), 11th Int. Conference on Model Driven Engineering Languages and Systems (MoDELS), Nashville, Tennessee, USA (October 2007)

    Google Scholar 

  16. Long, E., Misra, A., Sztipanovits, J.: Increasing Productivity at Saturn. Computer 31(8), 35–43 (1998)

    Article  Google Scholar 

  17. Doldi, L.: Validation of Telecom Systems with SDL: The Art of SDL Simulation and Reachability Analysis. Wiley, Chichester (2003)

    Google Scholar 

  18. Baker, P., Loh, S., Weil, F.: Model-Driven Engineering in a Large Industrial Context-Motorola Case Study. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 476–491. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  19. Cottenier, T., van den Berg, A., Elrad, T.: Motorola WEAVR: Model Weaving in a Large Industrial Context. In: Proc. of the 6th Int. Conference on Aspect-Oriented Software Development (AOSD), Industry Track, Vancouver, British Columbia, Canada (March 2007)

    Google Scholar 

  20. Kon, F., Costa, F., Blair, G., Campbell, R.H.: The Case for Reflective Middleware. Communications of the ACM 45(6), 33–38 (2002)

    Article  Google Scholar 

  21. Grace, P., Truyen, E., Lagaisse, B., Joosen, W.: The Case for Aspect-Oriented Reflective Middleware. In: Proc. of the 6th Workshop on Adaptive and Reflective Middleware (ARM), 8th Int. Conference on Middleware, Newport Beach, California, USA (November 2007)

    Google Scholar 

  22. Rasche, A., Schult, W., Polze, A.: Self-Adaptive Multithreaded Applications - A Case for Dynamic Aspect Weaving. In: Proc. of the 4th Workshop on Adaptive and Reflective Middleware (ARM), 6th International Conference on Middleware, Grenoble, France (November 2005)

    Google Scholar 

  23. Sivaharan, T., Blair, G., Friday, A., Wu, M., Duran-Limon, H., Okanda, P., Sørensen, C.: Cooperating Sentient Vehicles for Next Generation Automobiles. In: Proc. of the 1st Workshop on Applications of Mobile Embedded Systems (WAMES), 2nd Int. Conference on Mobile Systems, Applications and Services (MobiSys), Boston, Massachusetts, USA (June 2004)

    Google Scholar 

  24. Verissimo, P., Cahil, V., Casimiro, A., Cheverst, K., Friday, A., Kaiser, J.: Cortex: Towards Supporting Autonomous and Cooperating Sentient Entities. In: Proc. of the European Wireless Conference, Florence, Italy (February 2002)

    Google Scholar 

  25. Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: An Aspect- Oriented Approach Tailored for Component Based Software Development. In: Proc. of the 2nd Int. Conference on Aspect-Oriented Software Development (AOSD), Boston, Massachusetts, USA, March 2003, pp. 21–29 (2003)

    Google Scholar 

  26. Pinto, M., Fuentes, L., Troya, J.M.: A Dynamic Component and Aspect-Oriented Platform. The Computer Journal 48(4), 401–420 (2005)

    Article  Google Scholar 

  27. Popovici, A., Gross, T., Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: Proc. of the 1st Int. Conference on Aspect-Oriented Software Development (AOSD), Enschede, The Netherlands, pp. 141–147 (2002)

    Google Scholar 

  28. Fuentes, L., Jiménez, D.: An Aspect-Priented Ambient Intelligence Middleware Platform. In: Proc. of the 3rd Int. Workshop on Middleware for Pervasive and Ad-hoc Computing (MPAC), 6th International Conference on Middleware, Grenoble, Grenoble, France, pp. 1–8 (2005)

    Google Scholar 

  29. Object Management Group (OMG): Semantics of a Foundational Subset for Executable UML Models, Request For Proposal (ad/2005-04-02) (April 2005)

    Google Scholar 

  30. Object Management Group (OMG): Unified Modelling Language: Superstructure v2.0 (formal/05-07-04), ch. 5: Actions (July 2005)

    Google Scholar 

  31. Sunyé, G., Pennaneac’h, F., Ho, W.M., Guennec, A.L., Jézéquel, J.M.: Using UML Action Semantics for Executable Modeling and Beyond. In: Dittrich, K.R., Geppert, A., Norrie, M.C. (eds.) CAiSE 2001. LNCS, vol. 2068, pp. 433–447. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  32. Object Management Group (OMG): Unified Modelling Language: Superstructure v2.0 (formal/05-07-04) (August 2005)

    Google Scholar 

  33. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1994)

    Google Scholar 

  34. Dotan, D., Kirshin, A.: Debugging and Testing Behavioral UML Models. In: Companion to the 22nd Int. Conference on Object Oriented Programming Systems and Applications, Montreal, Quebec, Canada, October 2007, pp. 838–839 (2007)

    Google Scholar 

  35. Fuentes, L., Manrique, J., Sánchez, P.: Pópulo: A tool for debugging uml models. In: Proc. of the 30th Int. Conference on Software Engineering (ICSE), Companion Volume (Research demonstration), Leipzig, Germany, May 2008, pp. 955–956 (2008)

    Google Scholar 

  36. Lidia Fuentes, J.M., Sánchez, P.: Execution and Simulation of (Profiled) UML models using Pópulo. In: Proc. of the 2nd Int. Workshop on Modelling in Software Engineering (MISE), 30th Int. Conference on Software Engineering (ICSE), Leipzig, Germany, May 2008, pp. 75–81 (2008)

    Google Scholar 

  37. Xu, D., Xu, W.: State-based Incremental Testing of Aspect-Oriented Programs. In: Proc. of the 5th Int. Conference on Aspect-Oriented Software Development (AOSD), Bonn, Germany, March 2006, pp. 180–189 (2006)

    Google Scholar 

  38. Baker, P., Jervis, C.: Testing UML 2.0 Models Using TTCN-3 and the UML 2.0 Testing Profile. In: Gaudin, E., Najm, E., Reed, R. (eds.) SDL 2007. LNCS, vol. 4745, pp. 86–100. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  39. Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A Survey of Self-Management in Dynamic Software Architecture Specifications. In: Proceedings of the 1st Workshop on Self-managed Systems (WOSS), Newport Beach, California, USA, October-November 2004, pp. 28–33 (2004)

    Google Scholar 

  40. Zhang, J., Cheng, B.H.C.: Model-based Development of Dynamically Adaptive Software. In: Proc. of the 28th Int. Conference on Software Engineering (ICSE), Shanghai, China, May 2006, pp. 371–380 (2006)

    Google Scholar 

  41. Tarr, P., Ossher, H., Sutton, S.M., Harrison, W.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 37–61. Addison-Wesley, Reading (2005)

    Google Scholar 

  42. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  43. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and Merging of Statecharts Specifications. In: Proc. of the 29th Int. Conference on Software Engineering (ICSE), Minneapolis, Minnesota, May 2007, pp. 54–64 (2007)

    Google Scholar 

  44. Whittle, J., Moreira, A., Araújo, J., Jayaraman, P.K., Elkhodary, A.M., Rabbi, R.: An Expressive Aspect Composition Language for UML State Diagrams. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 514–528. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  45. Dietz, P., Weigert, T., Weil, F.: Formal Techniques for Automatically Generating Marshalling Code From High-Level Specifications. In: Proc. of the 2nd Workshop on Industrial-Strength Formal Specification Techniques (WIFT), Boca Raton, Florida, USA, October 1998, pp. 40–47 (1998)

    Google Scholar 

  46. Weigert, T., Dietz, P.: Automated Generation of Marshaling Code from High-Level Specifications. In: Reed, R., Reed, J. (eds.) SDL 2003. LNCS, vol. 2708, pp. 374–386. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  47. Mellor, S.J., Scott, K., Uhl, A., Weise, D.: MDA Distilled. Addison-Wesley, Reading (2004)

    Google Scholar 

  48. Selic, B.: The Pragmatics of Model-Driven Development. IEEE Software 20(5) (September 2003)

    Google Scholar 

  49. Mellor, S., Balcer, M.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley Professional, Reading (2002)

    Google Scholar 

  50. Cottenier, T., van den Berg, A., Elrad, T.: Model Weaving: Bridging the Divide between Elaborationists and Translationists. In: Proc. of 9th Int. Workshop on Aspect-Oriented Modelling (AOM), 9th Int. Conference on Model Driven Engineering, Languages and Systems (MoDELS), Genova, Italy (October 2006)

    Google Scholar 

  51. Bell, A.E.: Death by UML Fever. ACM Queue 2(1), 72–80 (2004)

    Article  Google Scholar 

  52. Kleppe, A., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture–Practice and Promise. Addison-Wesley Professional, Reading (2003)

    Google Scholar 

  53. Hailpern, B., Tarr, P.: Model-Driven Development: The Good, The Bad, and The Ugly. IBM Systems Journal 45(3), 451–461 (2006)

    Article  Google Scholar 

  54. Ho, W.M., Jézéquel, J.M., Pennaneac’h, F., Plouzeau, N.: A Toolkit for Weaving Aspect-Oriented UML designs. In: Proc. of the 1st Int. Conference on Aspect-oriented Software Development (AOSD), Enschede, The Netherlands, pp. 99–105 (2002)

    Google Scholar 

  55. Gray, J., Bapty, T., Neema, S., Schmidt, D.C., Gokhale, A., Natarajan, B.: An Approach for Supporting Aspect-Oriented Domain Modelling. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 151–168. Springer, Heidelberg (2003)

    Google Scholar 

  56. Stein, D., Hanenberg, S., Unland, R.: A Graphical Notation to Specify Model Queries for MDA Transformations on UML Models. In: Aßmann, U., Aksit, M., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 77–92. Springer, Heidelberg (2005)

    Google Scholar 

  57. Muller, P.A., Fleurey, F., Jézéquel, J.M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  58. Cottenier, T., de Berg, A.V., Elrad, T.: Modelling Aspect Oriented Compositions. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 100–109. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  59. Cottenier, T., van den Berg, A., Elrad, T.: Joinpoint Inference from Behavioral Specification to Implementation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 476–500. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  60. Groher, I., Völter, M.: XWeave: Models and Aspects in Concert. In: Proc. of 10th Int. Workshop on Aspect-Oriented Modelling (AOM), 6th Int. Conference on Aspect-Oriented Software Development (AOSD), Vancouver, British Columbia, Canada, March 2007, pp. 35–40 (2007)

    Google Scholar 

  61. Ubayashi, N., Sano, S., Otsubo, G.: A Reflective Aspect-Oriented Model Editor Based on Metamodel Extension. In: Proc. of the 1st Int. Workshop on Modelling in Software Engineering (MISE), 29th Int. Conference on Software Engineering (ICSE), Minneapolis, Minnesota, USA (May 2007)

    Google Scholar 

  62. Jayaraman, P.K., Whittle, J., Elkhodary, A.M., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  63. Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jézéquel, J.M.: Introducing Variability into Aspect-Oriented Modeling Approaches. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 498–513. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  64. Popovici, A., Alonso, G., Gross, T.R.: Just-In-Time Aspects: Efficient Dynamic Weaving for Java. In: Proc. of the 2nd Int. Conference on Aspect-Oriented Software Development (AOSD), Boston, Massachusetts, USA, pp. 100–109 (2003)

    Google Scholar 

  65. Vanderperren, W., Suvée, D., Cibrán, M.A., Fraine, B.D.: Stateful Aspects in JAsCo. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 167–181. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  66. Stein, D., Hanenberg, S., Unland, R.: Expressing Different Conceptual Models of Joinpoint Selections in Aspect-Oriented Design. In: Proc. of the 5th Int. Conference on Aspect-Oriented Software Development (AOSD), Bonn, Germany (March 2006)

    Google Scholar 

  67. Sánchez, P., Stein, D., Hanenberg, S.: Statecharts as an Intermediate Representation of JPDDs which Help Developers to Map Them to Executable Artifacts. In: Proc. of the 12th Workshop on Aspect-Oriented Modelling (AOM), 7th Int. Conference on Aspect-Oriented Software Development (AOSD), Brussels, Belgium, March-April (2008)

    Google Scholar 

  68. Aracic, I., Gasiunas, V., Mezini, M., Ostermann, K.: An Overview of CaesarJ. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 135–173. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  69. Herrmann, S.: Object Teams: Improving Modularity for Crosscutting Collaborations. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 248–264. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  70. Laguna, M.A., González-Baixauli, B., Marqués, J.M.: Seamless Development of Software Product Lines. In: Consel, C., Lawall, J.L. (eds.) Proc. of the 6th Int. Conference on Generative Programming and Component Engineering (GPCE), Salzburg, Austria, October 2007, pp. 85–94 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Fuentes, L., Sánchez, P. (2009). Dynamic Weaving of Aspect-Oriented Executable UML Models. In: Katz, S., Ossher, H., France, R., Jézéquel, JM. (eds) Transactions on Aspect-Oriented Software Development VI. Lecture Notes in Computer Science, vol 5560. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03764-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03764-1_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03763-4

  • Online ISBN: 978-3-642-03764-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics