AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects

  • Rosana T. Vaccare Braga USP
  • Fernão S. Rodrigues Germano USP
  • Stanley F. Pacios USP
  • Paulo C. Masiero USP

Resumo


Product lines for information systems present variabilities both in non-functional and functional features. Aspects are being used successfully in the implementation of non-functional features, as they provide intuitive units for isolating the requirements associated to this type of features. However, aspects could also be used to implement some product line features that refer to functional requirements. Using that approach, the instantiation of specific products could be done by combining the desired aspects into the final product. In this paper, we propose an approach, named AIPLE-IS, to incrementally build a product line for information systems using aspects. The product line core is developed first, followed by the addition of optional features through aspects. A case study for a product line in the domain of information systems for psychology clinics is presented to illustrate the approach.

Referências

Alves, V., Matos Jr, P., and Borba, P. (2004) "An Incremental Aspect-Oriented Product Line Method for J2ME Game Development", Workshop on Managing Variability Consistently in Design and Code (in conjunction with OOPSLA'2004).

Apel, S., Leich, T., Saake, G. (2006) Aspectual Mixin Layers: Aspects and Features in Concert. In: Proc. of International Conference on Software Engineering, p. 122-131.

Arkin, A., 2002. Business Process Modeling Language (BPML), Version 1.0. http://www.bpmi.org/ (last access: december, 2006)

AspectJ. The AspectJ Project. Disponível para acesso na URL: http://eclipse.org/aspectj/, em 10/11/2006.

Baniassad, E. L. A., Clements, P., Araújo, J., Moreira, A., Rashid, A.; Tekinerdogan, B., 2006. Discovering Early Aspects. In IEEE Software, v. 23, n 1, p. 61-70.

Bosch, J., 2000. Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach. Pearson Education (Addison-Wesley & ACM Press), ISBN 0-201-67494-7.

Buschmann F. et al., 1996. Pattern-oriented software architecture: A System of Patterns, Wiley.

Clarke, S.; Baniassad, E. L. A., 2005. Aspect Oriented Analysis and Design. Addison-Wesley Professional, ISBN 0321246748.

Elrad, T.; Filman, R. E.; Bader, A., 2001. Aspect Oriented Programming, Communications of the ACM, 44(10), October.

Gomaa, H., 2004. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley.

Griswold, W. G.; Shonle, M.; Sullivan, K.; Song, Y.; Tewari, N.; Cai, Y.; Rajan, H., 2006. Modular Software Design with Crosscutting Interfaces. IEEE Software, vol. 23, no. 1, p 51-60.

Jacobson, I.; Booch, G.; Rumbaugh, J., 1999. The Unified Process. IEEE Software (May/June).

Kang, K., et al., 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study (CMU/SEI-90-TR-21, ADA 235785). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University.

Kiczales, G. Lamping, J. Menhdhekar, A. Maeda, C. Lopes, C. Loingtier, J. M. Irwin, J., 1997. Aspect-oriented programming. In: Proc. of the European Conference on Object-Oriented Programming, Springer-Verlag, p. 220-242.

Loughran, N., Rashid, A., Zhang, W., and Jarzabek, S. (2004) "Supporting Product Line Evolution with Framed Aspects". Workshop on Aspects, Components and Patterns for Infrastructure Software (held with AOSD 2004).

Mezini, M. and Ostermann, K. (2004),Variability Management with Feature-Oriented Programming and Aspects, Foundations of Software Engineering (FSE-12), ACM SIGSOFT.

Pacios, S. F.; Masiero, P. C.; Braga, R. T. V., 2006. Guidelines for Using Aspects to Evolve Product Lines. In: III Workshop Brasileiro de Desenvolvimento de Software Orientado a Aspectos, p.111-120.

Pearce, D. J.; Noble, J., 2006. Relationship aspects. In: Proc. of the 5th international conference on Aspect-oriented software development, p. 75-86.

Prieto-Diaz, R.; Arango, G., 1991. Domain analysis and software system modeling. IEEE Computer Science Press Tutorial.

Rational, C., 2000. Unified Modeling Language. Available at: http://www.rational.com/uml/references (last access: December, 2006).

Shimabukuro, E. K.; Masiero, P. C.; Braga, R. T. V., 2006. Captor: A Configurable Application Generator, Proceedings of Tools Session of the 20th Simpósio Brasileiro de Engenharia de Software, p.121-128 (in Portuguese).

Yoder, J.W.; Balaguer, F.; Johnson, R., 2001. Architecture and Design of Adaptive Object Models. SIGPLAN Not. 36, p. 50-60.
Publicado
29/08/2007
BRAGA, Rosana T. Vaccare; GERMANO, Fernão S. Rodrigues; PACIOS, Stanley F.; MASIERO, Paulo C.. AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 1. , 2007, Campinas/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2007 . p. 17-30. DOI: https://doi.org/10.5753/sbcars.2007.24116.