Skip to main content

Constraint-Based Model Weaving

  • Chapter

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

Abstract

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.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Apache Foundation’s JMeter, http://jmeter.apache.org

  2. AspectJ, http://www.eclipse.org/aspectj/

  3. HyperJ, http://www.alphaworks.ibm.com/tech/hyperj

  4. .NET Pet Store, http://msdn2.microsoft.com/en-us/library/ms978487.aspx

  5. Sun Microsystem’s Java Pet Store Sample Application, http://java.sun.com/developer/releases/petstore/

  6. The Spring Framework, http://www.springframework.org/about

  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. 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. 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. 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. Bistarelli, S., Montanari, U., Rossi, F.: Semiring-Based Constraint Satisfaction and Optimization. Journal of the ACM 44(2), 201–236 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  12. Budinsky, F.: Eclipse Modeling Framework. Addison-Wesley Professional, New York (2003)

    Google Scholar 

  13. Cohen, J.: Constraint logic programming languages. Communications of the ACM 33(7), 52–68 (1990)

    Article  Google Scholar 

  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. Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–646 (2006)

    Article  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  18. Fletcher, R.: Practical methods of optimization. Wiley-Interscience, New York (1987)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  20. Gomaa, H.: Designing Concurrent, Distributed, and Real-time Applications with UML. Addison-Wesley, Reading (2000)

    Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. Holzner, S.: Ant: The Definitive Guide. O’Reilly, Sebastopol (2005)

    Google Scholar 

  25. Jampel, M., Freuder, E., Maher, M.: Over-Constrained Systems. Springer, London (1996)

    Google Scholar 

  26. König, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in Action. Manning Publications (2007)

    Google Scholar 

  27. Kumar, V.: Algorithms for Constraint-Satisfaction Problems: A Survey. AI Magazine 13(1), 32–44 (1992)

    Google Scholar 

  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. 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 

  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)

    Article  Google Scholar 

  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. 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. 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. 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. 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. 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. Nelder, J., Mead, R.: A Simplex Method for Function Minimization. Computer Journal 7(4), 308–313 (1965)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  39. Reeves, C.: Modern Heuristic Techniques for Combinatorial Problems. John Wiley & Sons, Inc., New York (1993)

    MATH  Google Scholar 

  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. 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. Software Composition and Modeling (Softcom) Laboratory. Constraint-Specification Aspect Weaver (C-SAW). University of Alabama at Birmingham, Birmingham, AL, http://www.cis.uab.edu/gray/research/C-SAW

  43. Valesky, T.: Enterprise JavaBeans. Addison-Wesley, Reading (1999)

    Google Scholar 

  44. Van Hentenryck, P.: Constraint Satisfaction in Logic Programming. MIT Press, Cambridge (1989)

    Google Scholar 

  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. 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. Warmer, J., Kleppe, A.: The Object Constraint Language. Addison-Wesley, Reading (2003)

    Google Scholar 

  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. 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 

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

White, J., Gray, J., Schmidt, D.C. (2009). Constraint-Based Model Weaving. 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_5

Download citation

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

  • 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