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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Apache Foundation’s JMeter, http://jmeter.apache.org
AspectJ, http://www.eclipse.org/aspectj/
.NET Pet Store, http://msdn2.microsoft.com/en-us/library/ms978487.aspx
Sun Microsystem’s Java Pet Store Sample Application, http://java.sun.com/developer/releases/petstore/
The Spring Framework, http://www.springframework.org/about
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)
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)
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)
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)
Bistarelli, S., Montanari, U., Rossi, F.: Semiring-Based Constraint Satisfaction and Optimization. Journal of the ACM 44(2), 201–236 (1997)
Budinsky, F.: Eclipse Modeling Framework. Addison-Wesley Professional, New York (2003)
Cohen, J.: Constraint logic programming languages. Communications of the ACM 33(7), 52–68 (1990)
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)
Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–646 (2006)
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)
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)
Fletcher, R.: Practical methods of optimization. Wiley-Interscience, New York (1987)
France, R., Ray, I., Georg, G., Ghosh, S.: An Aspect-Oriented Approach to Early Design Modeling. IEE Proceedings-Software 151(4), 173–185 (2004)
Gomaa, H.: Designing Concurrent, Distributed, and Real-time Applications with UML. Addison-Wesley, Reading (2000)
Gray, J., Bapty, T., Neema, S., Tuck, J.: Handling crosscutting constraints in domain-specific modeling. Communications of the ACM 44(10), 87–93 (2001)
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)
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)
Holzner, S.: Ant: The Definitive Guide. O’Reilly, Sebastopol (2005)
Jampel, M., Freuder, E., Maher, M.: Over-Constrained Systems. Springer, London (1996)
König, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in Action. Manning Publications (2007)
Kumar, V.: Algorithms for Constraint-Satisfaction Problems: A Survey. AI Magazine 13(1), 32–44 (1992)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Nelder, J., Mead, R.: A Simplex Method for Function Minimization. Computer Journal 7(4), 308–313 (1965)
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)
Reeves, C.: Modern Heuristic Techniques for Combinatorial Problems. John Wiley & Sons, Inc., New York (1993)
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)
Shavor, S., D’Anjou, J., McCarthy, P., Kellerman, J., Fairbrother, S.: The Java Developer’s Guide to Eclipse. Pearson Education, Upper Saddle River (2003)
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
Valesky, T.: Enterprise JavaBeans. Addison-Wesley, Reading (1999)
Van Hentenryck, P.: Constraint Satisfaction in Logic Programming. MIT Press, Cambridge (1989)
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)
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)
Warmer, J., Kleppe, A.: The Object Constraint Language. Addison-Wesley, Reading (2003)
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)
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)
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
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)