Abstract
Handling the various derivations of an aspect-oriented software family architecture can be a daunting and costly task if explicit support is not systematically provided throughout early and late development stages. Aspect-oriented software development (AOSD) has been recently explored as a technique that enables software product line customization. However, the application of AOSD has been limited to modularize specific crosscutting features encountered in the implementation of software product-line architectures or frameworks. Only a few works have investigated the development of product derivation approaches for AOSD. This paper presents a model-based generative approach to mapping features to aspects across different artifacts of a product line. Our main aim is to enable the smooth and systematic derivation of aspect-oriented software family architecture. Our approach is complementary to a set of previously-proposed modularization guidelines to implement aspect-oriented frameworks. We present details about the suite of mappings supported by our generative model, illustrate them in heterogeneous case studies, and discuss several implementation issues for its accomplishment.
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
Alves, V., Matos, P., Cole, L., Borba, P., Ramalho, G.: Extracting and Evolving Mobile Games Product Lines. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 70–81. Springer, Heidelberg (2005)
Anastasopoulos, M., Muthig, D.: An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology. In: Proceedings of the International Conference on Software Reuse (ICSR), pp. 141–156 (July 2004)
Antkiewicz, M., Czarnecki, K.: FeaturePlugin: Feature modeling plug-in for Eclipse. In: OOPSLA 2004 Eclipse Technology eXchange (ETX) Workshop (2004)
Apel, S., Batory, D.: When to Use Features and Aspects? A Case Study. In: Proceedings of GPCE 2006, pp. 59-68, Portland, Oregon (October 2006)
Baniassad, E., Clements, P., Araújo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering Early Aspects. IEEE Software 23(1), 61–70 (2006)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R.: Eclipse Modeling Framework. Addison-Wesley, Reading (2004)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
Czarnecki, K., Helsen, S., Eisenecker, U.: Staged Configuration Using Feature Models. In: Proceedings of the Third Software Product-Line Conference (September 2004)
Czarnecki, K., Helsen, S.: Feature-Based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–664 (2006)
Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approach Based on Superimposed Variants. In: Proceedings of GPCE 2005, pp. 422–437 (October 2005)
Czarnecki, K., Antkiewicz, M., Kim, C.: Multi-level Customization in Application Engineering. Communications of the ACM 49(12), 61–65 (2006)
Fayad, M., Schmidt, D., Johnson, R.: Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley & Sons, Chichester (1999)
Filman, R., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2005)
Griss, M.: Implementing Product-Line Features With Component Reuse. In: Frakes, W.B. (ed.) Software Reuse: Advances in Software Reusability. LNCS, vol. 1844, Springer, Heidelberg (2000)
Griswold, W., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces, pp. 51–60, IEEE Software, Special Issue on Aspect-Oriented Programming (January 2006)
Jacobson, I.: Use Cases and Aspects-Working Seamlessly Together. Journal of Object Technology 2(4), 7–28 (2003)
Jacobson, I., Christerson, M., Jonsson, P.: Overgaard Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading (1992)
Jarke, M.: Requirements Traceability. Comm. ACM 41(12), 32–36 (1998)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting Started with AspectJ. Comm. ACM 44, 59–65 (2001)
Krueger, C.: Easing the Transition to Software Mass Customization. In: Proceedings of the 4th International Workshop on Software Product-Family Engineering, pp. 282–293 (2001)
Kulesza, U., Garcia, A., Lucena, C., Alencar, P.: A Generative Approach for Multi-Agent System Development. In: Choren, R., Garcia, A., Lucena, C., Romanovsky, A. (eds.) Software Engineering for Multi-Agent Systems III. LNCS, vol. 3390, pp. 52–69. Springer, Heidelberg (2005)
Kulesza, U., Alves, V., Garcia, A., Lucena, C., Borba, P.: Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming. In: Proceedings of the 9th International Conference on Software Reuse (ICSR-9), pp. 231–245 (June 2006)
Kulesza, U., Coelho, R., Alves, V., Neto, A., Garcia, A., Lucena, C., von Staa, A., Borba, P.: Implementing Framework Crosscutting Extensions with EJPs and AspectJ. In: Proceedings of the ACM SIGSoft 20th Brazilian Symposium on SoftwareEngineering (SBES 2006), pp. 177–192, Florianópolis, Brazil (October 2006)
Kulesza, U., Garcia, A., Bleasby, F., Lucena, C.: Instantiating and Customizing Product Line Architectures using Aspects and Crosscutting Feature Models. In: Proceedings of the Workshop on Early Aspects, OOPSLA 2005, San Diego (2005)
Kulesza, U., Lucena, C., Alencar, P., Garcia, A.: Customizing Aspect-Oriented Variabilites using Generative Techniques. In: Proceedings of SEKE 2006, pp. 17–22, San Francisco (2006)
Loughran, N., Rashid, A.: Framed Aspects: Supporting Variability and Configurability for AOP. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 127–140. Springer, Heidelberg (2004)
Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: Roy, B., Meier, W. (eds.) FSE 2004. LNCS, vol. 3017, pp. 127–136. Springer, Heidelberg (2004)
Monteiro, M., Fernandes, J.: Towards a Catalog of Aspect-Oriented Refactorings. In: Proceedings of AOSD 2005, Chicago, pp. 111–122 (March 2005)
Rashid, A., Moreira, A., Araújo, J.: Modularisation and Composition of Aspectual Requirements. In: Proceedings of AOSD 2003, Boston, pp. 11–20 (March 2003)
Sullivan, K., Griswold, W., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information Hiding Interfaces for Aspect-Oriented Design. In: Proceedings of ESEC/FSE’ 2005, Lisbon, Portugal, pp. 166–175 (September 5-9, 2005)
Weiss, D., Lai, C.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley Professional, Reading (1999)
Zhang, C., Jacobsen, H.: Resolving Feature Convolution in Middleware Systems. In: Proceedings of OOPSLA 2004, October 24-28, 2004, Vancouver, BC, Canada pp.188–205
Pure::Variants (July 2007), http://www.pure-systems.com/
Gears/BigLever (July 2007), http://www.biglever.com/
Jackson, M., Zave, P.: Distributed feature composition: A virtual architecture for telecommunications services. IEEE Transactions on Software Engineering 24(10), 831–847 (1998)
Sanen, F., Truyen, E., Joosen, W., Jackson, A., Nedos, A., Clarke, S., Loughran, N., Rashid, A.: Classifying And Documenting Aspect Interactions. In: Proceedings of the 5th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS) at AOSD 2006, Bonn, Germany (March 2006)
Cirilo, E., Kulesza, U., Lucena, C.: GenArch – A Model-Based Product Derivation Tool. In: Proceedings of the First Brazilian Symposium on Components, Architecture and Reuse (SBCARS 2007), Campinas, Brazil (August 2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kulesza, U. et al. (2007). Mapping Features to Aspects: A Model-Based Generative Approach. In: Moreira, A., Grundy, J. (eds) Early Aspects: Current Challenges and Future Directions. EAW 2007. Lecture Notes in Computer Science, vol 4765. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76811-1_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-76811-1_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-76810-4
Online ISBN: 978-3-540-76811-1
eBook Packages: Computer ScienceComputer Science (R0)