Design Issues in a Component-based Software Product Line
Resumo
A software product line to support urban transport systems is briefly described and the design of two of its features is discussed. Different solutions based on components are shown for these two features and their variabilities. In particular, an analysis is made of how their design is influenced by the development process adopted, by the decision to use black-box (off-the-shelf) components or white-box components that may be created or adapted depending on application requirements, and by the decision of automating or not the composition process. Additionally, alternatives for deciding how to define iterative cycles and increments of the product line are discussed.Referências
Atkinson, C; Bayer, J.; Muthig, D. (2000) Component-Based Product Line Development: The KobrA Approach. 1st Software Product Line Conference, 19p.
Atkinson, C; Muthig, D. (2002) Enhancing Component Reusability through Product Line Technology. Proceedings of the 7th International Conference in Software Reuse (ICSR02), Springer Press, p. 93-108.
Bachmann, F.; Goedicke, M.; Leite, J.; Nord, R.; Pohl, K.; Ramesh, B.; Vilbig, A. (2004) A Meta-model for Representing Variability in Product Family Development. Proceedings of the 5th International Workshop on Software Product-Family Engineering, Springer, p. 66-80.
Becker, M. (2003) Towards a General Model of Variability in Product Families. Proceedings of the 1st Workshop on Software Variability Management, Groningen, 9p.
Bosch, J. (2000) Design et Use of Software Architectures: adopting and evolving a product-line approach, Addison-Wesley, 354p.
Bosch, J.; Florijn, G.; Greefhorst, D.; Kuusela, J.; Obbink, H.; Pohl, K. (2001) Variability Issues in Software Product Lines. Proceedings of the 4th International Workshop on Product Family Engineering, Springer, p. 11-19.
Cheesman, J.; Daniels, J. (2001) UML Components: a simple process for specifying component-based software, Addison-Wesley, 176p.
Clements, P.; Northrop, L. (2002) Software Product Lines: Practices and Patterns, Addison-Wesley, 563p.
Gomaa, H. (2004) Designing Software Product Lines with UML. Addison-Wesley, 701p.
Heo, S-H.; Choi, E. M. (2006) Representation of Variability in Software Product Line Using Aspect-Oriented Programming. Proceedings of the 4th International Conference on Software Engineering Research Management and Applications (SERA), 8p.
Junior, E. A. O.; Gimenes, I. M. S.; Huzita, E. H. M.; Maldonado, J. C. (2005) A Variability Management Process for Software Product Lines. Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research, Cascon, p. 225-241.
Kiczales, G. (1996) Aspect-Oriented Programming. ACM Computing Surveys (CSUR), v.28, n. 4es, p. 220-242.
Roberts, D; Johnson, R. (1998) Evolving Frameworks: a pattern language for developing object-oriented frameworks. In: Martin, R.C.; Riehle, D.; Buschman, F. Pattern Languages of Program Design 3, Addison-Wesley, p. 471-486.
Schimabukuro, E. K. J.; Masiero, P. C.; Braga, R. T. V. (2006) Captor: A Configurable Application Generator (in Portuguese). XIII Tools Session of the Brazilian Symposium of Software Engineering, 6p.
Sugumaran,V.; Park, S.; Kang, K.C. (2006) Software Product Line Engineering. Communications of the ACM, Vol 49, No. 12, p. 29-32.
Suvée, D.; Fraine, B. D.; Vanderperren, W. (2006) A Symmetric and Unified Approach Towards Combining Aspect-Oriented and Component-Based Software Development. In: Component Based Software Engineering, p. 114-122.
Weiss, D. M.; Lai, C. R. R. (1999) Software product-line engineering: a family-based software development process. Addison-Wesley, 426p.
Atkinson, C; Muthig, D. (2002) Enhancing Component Reusability through Product Line Technology. Proceedings of the 7th International Conference in Software Reuse (ICSR02), Springer Press, p. 93-108.
Bachmann, F.; Goedicke, M.; Leite, J.; Nord, R.; Pohl, K.; Ramesh, B.; Vilbig, A. (2004) A Meta-model for Representing Variability in Product Family Development. Proceedings of the 5th International Workshop on Software Product-Family Engineering, Springer, p. 66-80.
Becker, M. (2003) Towards a General Model of Variability in Product Families. Proceedings of the 1st Workshop on Software Variability Management, Groningen, 9p.
Bosch, J. (2000) Design et Use of Software Architectures: adopting and evolving a product-line approach, Addison-Wesley, 354p.
Bosch, J.; Florijn, G.; Greefhorst, D.; Kuusela, J.; Obbink, H.; Pohl, K. (2001) Variability Issues in Software Product Lines. Proceedings of the 4th International Workshop on Product Family Engineering, Springer, p. 11-19.
Cheesman, J.; Daniels, J. (2001) UML Components: a simple process for specifying component-based software, Addison-Wesley, 176p.
Clements, P.; Northrop, L. (2002) Software Product Lines: Practices and Patterns, Addison-Wesley, 563p.
Gomaa, H. (2004) Designing Software Product Lines with UML. Addison-Wesley, 701p.
Heo, S-H.; Choi, E. M. (2006) Representation of Variability in Software Product Line Using Aspect-Oriented Programming. Proceedings of the 4th International Conference on Software Engineering Research Management and Applications (SERA), 8p.
Junior, E. A. O.; Gimenes, I. M. S.; Huzita, E. H. M.; Maldonado, J. C. (2005) A Variability Management Process for Software Product Lines. Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research, Cascon, p. 225-241.
Kiczales, G. (1996) Aspect-Oriented Programming. ACM Computing Surveys (CSUR), v.28, n. 4es, p. 220-242.
Roberts, D; Johnson, R. (1998) Evolving Frameworks: a pattern language for developing object-oriented frameworks. In: Martin, R.C.; Riehle, D.; Buschman, F. Pattern Languages of Program Design 3, Addison-Wesley, p. 471-486.
Schimabukuro, E. K. J.; Masiero, P. C.; Braga, R. T. V. (2006) Captor: A Configurable Application Generator (in Portuguese). XIII Tools Session of the Brazilian Symposium of Software Engineering, 6p.
Sugumaran,V.; Park, S.; Kang, K.C. (2006) Software Product Line Engineering. Communications of the ACM, Vol 49, No. 12, p. 29-32.
Suvée, D.; Fraine, B. D.; Vanderperren, W. (2006) A Symmetric and Unified Approach Towards Combining Aspect-Oriented and Component-Based Software Development. In: Component Based Software Engineering, p. 114-122.
Weiss, D. M.; Lai, C. R. R. (1999) Software product-line engineering: a family-based software development process. Addison-Wesley, 426p.
Publicado
29/08/2007
Como Citar
DONEGAN, Paula M.; MASIERO, Paulo C..
Design Issues in a Component-based Software Product Line. 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. 3-16.
DOI: https://doi.org/10.5753/sbcars.2007.24115.