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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
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)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley Professional, Reading (2005)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Long, E., Misra, A., Sztipanovits, J.: Increasing Productivity at Saturn. Computer 31(8), 35–43 (1998)
Doldi, L.: Validation of Telecom Systems with SDL: The Art of SDL Simulation and Reachability Analysis. Wiley, Chichester (2003)
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)
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)
Kon, F., Costa, F., Blair, G., Campbell, R.H.: The Case for Reflective Middleware. Communications of the ACM 45(6), 33–38 (2002)
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)
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)
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)
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)
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)
Pinto, M., Fuentes, L., Troya, J.M.: A Dynamic Component and Aspect-Oriented Platform. The Computer Journal 48(4), 401–420 (2005)
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)
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)
Object Management Group (OMG): Semantics of a Foundational Subset for Executable UML Models, Request For Proposal (ad/2005-04-02) (April 2005)
Object Management Group (OMG): Unified Modelling Language: Superstructure v2.0 (formal/05-07-04), ch. 5: Actions (July 2005)
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)
Object Management Group (OMG): Unified Modelling Language: Superstructure v2.0 (formal/05-07-04) (August 2005)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1994)
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)
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)
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)
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)
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)
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)
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)
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)
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)
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)
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)
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)
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)
Mellor, S.J., Scott, K., Uhl, A., Weise, D.: MDA Distilled. Addison-Wesley, Reading (2004)
Selic, B.: The Pragmatics of Model-Driven Development. IEEE Software 20(5) (September 2003)
Mellor, S., Balcer, M.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley Professional, Reading (2002)
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)
Bell, A.E.: Death by UML Fever. ACM Queue 2(1), 72–80 (2004)
Kleppe, A., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture–Practice and Promise. Addison-Wesley Professional, Reading (2003)
Hailpern, B., Tarr, P.: Model-Driven Development: The Good, The Bad, and The Ugly. IBM Systems Journal 45(3), 451–461 (2006)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)