Constraint-Based Model Weaving

  • Jules White
  • Jeff Gray
  • Douglas C. Schmidt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5560)


Aspect-oriented modeling (AOM) is a promising technique for untangling the concerns of complex enterprise software systems. AOM decomposes the crosscutting concerns of a model into separate models that can be woven together to form a composite solution model. In many domains, such as multi-tiered e-commerce web applications, separating concerns is much easier than deducing the proper way to weave the concerns back together into a solution model. For example, modeling the types and sizes of caches that can be leveraged by a Web application is much easier than deducing the optimal way to weave the caches back into the solution architecture to achieve high system throughput.

This paper presents a technique called constraint-based weaving that maps model weaving to a constraint satisfaction problem (CSP) and uses a constraint-solver to deduce the appropriate weaving strategy. By mapping model weaving to a CSP and leveraging a constraint solver, our technique (1) generates solutions that are correct with respect to the weaving constraints, (2) can incorporate complex global weaving constraints, (3) can provide weaving solutions that are optimal with respect to a weaving cost function, and (4) can eliminate manual effort that would normally be required to specify pointcuts and maintain them as target models change. The paper also presents the results of a case study that applies our CSP weaving technique to a representative enterprise Java application. Our evaluation of this case study showed a reduction in manual effort that our technique provides.


Model Weaving Aspect Oriented Programming Constraint Satisfaction Global Constraints 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Apache Foundation’s JMeter,
  2. 2.
  3. 3.
  4. 4.
  5. 5.
    Sun Microsystem’s Java Pet Store Sample Application,
  6. 6.
  7. 7.
    Baniassad, E., Clarke, S.: Theme: an Approach to Aspect-oriented Analysis and Design. In: Proceedings of the 26th International Conference on Software Engineering, Scotland, UK, May 2004, pp. 158–167 (2004)Google Scholar
  8. 8.
    Bézivin, J.: From Object Composition to Model Transformation with the MDA. In: Proceedings of TOOLS, Santa Barbara, CA, USA, August 2001, pp. 350–354 (2001)Google Scholar
  9. 9.
    Bézivin, J., Jouault, F., Valduriez, P.: First Experiments with a ModelWeaver. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development Workshop, 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, Canada (March 2004)Google Scholar
  10. 10.
    Bistarelli, S., Fargier, H., Montanari, U., Rossi, F., Schiex, T., Verfaillie, G.: Semiring-based CSPs and Valued CSPs: Basic Properties and Comparison. In: Jampel, M., Maher, M.J., Freuder, E.C. (eds.) CP-WS 1995, vol. 1106, pp. 111–150. Springer, Heidelberg (1996)Google Scholar
  11. 11.
    Bistarelli, S., Montanari, U., Rossi, F.: Semiring-Based Constraint Satisfaction and Optimization. Journal of the ACM 44(2), 201–236 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Budinsky, F.: Eclipse Modeling Framework. Addison-Wesley Professional, New York (2003)Google Scholar
  13. 13.
    Cohen, J.: Constraint logic programming languages. Communications of the ACM 33(7), 52–68 (1990)CrossRefGoogle Scholar
  14. 14.
    Cottenier, T., van den Berg, A., Elrad, T.: The Motorola WEAVR: Model Weaving in a Large Industrial Context. In: Proceedings of the International Conference on Aspect-Oriented Software Development, Industry Track, Vancouver, Canada (March 2006)Google Scholar
  15. 15.
    Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  16. 16.
    Del Fabro, M., Bézivin, J., Valduriez, P.: Weaving Models with the Eclipse AMW plugin. In: Eclipse Modeling Symposium, Eclipse Summit Europe, Esslingen, Germany (October 2006)Google Scholar
  17. 17.
    Elrad, T., Aldawud, O., Bader, A.: Aspect-Oriented Modeling: Bridging the Gap between Implementation and Design. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 189–201. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Fletcher, R.: Practical methods of optimization. Wiley-Interscience, New York (1987)zbMATHGoogle Scholar
  19. 19.
    France, R., Ray, I., Georg, G., Ghosh, S.: An Aspect-Oriented Approach to Early Design Modeling. IEE Proceedings-Software 151(4), 173–185 (2004)CrossRefGoogle Scholar
  20. 20.
    Gomaa, H.: Designing Concurrent, Distributed, and Real-time Applications with UML. Addison-Wesley, Reading (2000)Google Scholar
  21. 21.
    Gray, J., Bapty, T., Neema, S., Tuck, J.: Handling crosscutting constraints in domain-specific modeling. Communications of the ACM 44(10), 87–93 (2001)CrossRefGoogle Scholar
  22. 22.
    Hannemann, J., Murphy, G., Kiczales, G.: Role-based Refactoring of Crosscutting Concerns. In: Proceedings of the 4th International Conference on Aspect-oriented Software Development, Chicago, Illinois, USA, March 2005, pp. 135–146 (2005)Google Scholar
  23. 23.
    Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: Proceedings of the 3rd International Conference on Aspect-oriented Software Development, Lancaster, UK, March 2004, pp. 26–35 (2004)Google Scholar
  24. 24.
    Holzner, S.: Ant: The Definitive Guide. O’Reilly, Sebastopol (2005)Google Scholar
  25. 25.
    Jampel, M., Freuder, E., Maher, M.: Over-Constrained Systems. Springer, London (1996)Google Scholar
  26. 26.
    König, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in Action. Manning Publications (2007)Google Scholar
  27. 27.
    Kumar, V.: Algorithms for Constraint-Satisfaction Problems: A Survey. AI Magazine 13(1), 32–44 (1992)Google Scholar
  28. 28.
    Kurtev, I., van den Berg, K., Jouault, F.: Rule-based Modularization in Model Transformation Languages Illustrated with ATL. In: Proceedings of the 2006 ACM Symposium on Applied Computing, Dijon, France, April 2006, pp. 1202–1209 (2006)Google Scholar
  29. 29.
    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)CrossRefGoogle Scholar
  30. 30.
    Ledeczi, A., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing domain-specific design environments. Computer 34(11), 44–51 (2001)CrossRefGoogle Scholar
  31. 31.
    Li, W., Hsiung, W., Kalshnikov, D., Sion, R., Po, O., Agrawal, D., Candan, K.: Issues and Evaluations of Caching Solutions for Web Application Acceleration. In: Proceedings of the 28th International Conference on Very Large Data Bases, Hong Kong, China (August 2002)Google Scholar
  32. 32.
    Luo, Q., Krishnamurthy, S., Mohan, C., Pirahesh, H., Woo, H., Lindsay, B., Naughton, J.: Middle-tier Database Caching for E-business. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, Madison, Wisconsin, June 2002, pp. 600–611 (2002)Google Scholar
  33. 33.
    László Lengyel, H.C., Levendovszky, T.: Identification of Crosscutting Concerns in Constraint-Driven Validated Model Transformations. In: Proceedings of the Third Workshop on Models and Aspects at ECOOP 2007, Berlin, Germany (July 2007)Google Scholar
  34. 34.
    Michel, L., Hentenryck, P.V.: Comet in context. In: PCK50: Proceedings of the Paris C. Kanellakis Memorial Workshop on Principles of Computing & Knowledge, San Diego, CA, USA, pp. 95–107 (2003)Google Scholar
  35. 35.
    Mohan, C.: Caching Technologies for Web Applications. In: Proceedings of the 27th International Conference on Very Large Data Bases, Rome, Italy, September 2001, p. 726 (2001)Google Scholar
  36. 36.
    Morin, B., Barais, O., Jézéquel, J.-M., Ramos, R.: Towards a Generic Aspect-Oriented Modeling Framework. In: Models and Aspects Workshop, at ECOOP 2007, Berlin, Germany (July 2007)Google Scholar
  37. 37.
    Nelder, J., Mead, R.: A Simplex Method for Function Minimization. Computer Journal 7(4), 308–313 (1965)zbMATHGoogle Scholar
  38. 38.
    Reddy, Y., Ghosh, S., France, R., Straw, G., Bieman, J., 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)CrossRefGoogle Scholar
  39. 39.
    Reeves, C.: Modern Heuristic Techniques for Combinatorial Problems. John Wiley & Sons, Inc., New York (1993)zbMATHGoogle Scholar
  40. 40.
    Schiex, T.: Possibilistic Constraint Satisfaction Problems or How to Handle Soft Constraints. In: Proceedings of the Eighth Conference on Uncertainty in Artificial Intelligence, San Mateo, CA, USA, pp. 268–275 (1992)Google Scholar
  41. 41.
    Shavor, S., D’Anjou, J., McCarthy, P., Kellerman, J., Fairbrother, S.: The Java Developer’s Guide to Eclipse. Pearson Education, Upper Saddle River (2003)Google Scholar
  42. 42.
    Software Composition and Modeling (Softcom) Laboratory. Constraint-Specification Aspect Weaver (C-SAW). University of Alabama at Birmingham, Birmingham, AL,
  43. 43.
    Valesky, T.: Enterprise JavaBeans. Addison-Wesley, Reading (1999)Google Scholar
  44. 44.
    Van Hentenryck, P.: Constraint Satisfaction in Logic Programming. MIT Press, Cambridge (1989)Google Scholar
  45. 45.
    Voelter, M., Groher, I., Heidenheim, G.: Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In: Proceedings of the 11th International Software Product Line Conference, Kyoto, Japan, September 2007, pp. 233–242 (2007)Google Scholar
  46. 46.
    Wallace, R., Freuder, E.: Heuristic Methods for Over-constrained Constraint Satisfaction Problems. In: Jampel, M., Maher, M.J., Freuder, E.C. (eds.) CP-WS 1995. LNCS, vol. 1106, pp. 207–216. Springer, Heidelberg (1996)Google Scholar
  47. 47.
    Warmer, J., Kleppe, A.: The Object Constraint Language. Addison-Wesley, Reading (2003)Google Scholar
  48. 48.
    White, J., Schmidt, D.C., Mulligan, S.: The generic eclipse modeling system. In: Proceedings of the Model-Driven Development Tool Implementors Forum at TOOLS 2007, Zurich, Switzerland (June 2007)Google Scholar
  49. 49.
    Zhang, J., Cottenier, T., van den Berg, A., Gray, J.: Aspect Composition in the Motorola Aspect-Oriented Modeling Weaver. Journal of Object Technology 6(7)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Jules White
    • 1
  • Jeff Gray
    • 2
  • Douglas C. Schmidt
    • 1
  1. 1.Vanderbilt UniversityNashvilleUSA
  2. 2.University of Alabama, BirminghamBirminghamUSA

Personalised recommendations