ABSTRACT
The process of designing and building a software system requires making many decisions. These decisions, the alternatives considered, and the reasons behind the choices comprise the rationale for the completed system. The driving force behind many, if not most, of these decisions is the need to meet the stakeholder requirements for the system being developed. Software product line approaches allow developers to design and develop families of products that share a common platform of behaviors and infrastructure. These approaches are based on assembling a configuration of a set of common features (commonalities) along with a set of product specific features (variabilities) to form a new product with a low amount of effort. In this context, these variabilities represent a wide variety of potential "design" alternatives. The goal of our research is to bring the end-user into the process of configuring a software product through the use of system level rationale that maps product line features to system requirements. Specifically, in our approach we specify rationale at the level of a feature diagram. Accordingly, we are taking advantage of the natural correlation between alternative features in a feature diagram and the alternative structure used in design rationale. This allows the end-user to indicate which requirements apply to their product and to have that selection generate a set of product features that satisfy those requirements.
- Aldazabal, A., and Erofeev, S. Product line unified modeller. In Eclipse Summit Europe (2007).Google Scholar
- Antkiewicz, M., and Czarnecki, K. Featureplugin: feature modeling plug-in for eclipse. In eclipse '04: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange (New York, NY, USA, 2004), ACM, pp. 67--72. Google ScholarDigital Library
- Burge, J. E., and Brown, D. C. An integrated approach for software design checking using design rationale. In in 1st International Conference on Design Computing and Cognition (2004), Kluwer Academic Press, pp. 557--576.Google ScholarCross Ref
- Burge, J. E., and Brown, D. C. Software engineering using rationale. J. Syst. Softw. 81, 3 (2008), 395--413. Google ScholarDigital Library
- Burge, J. E., Carroll, J. M., McCall, R., and Mistrk, I. Rationale-Based Software Engineering. Springer Publishing Company, Incorporated, 2008. Google ScholarDigital Library
- Cechticky, V., Pasetti, A., Rohlik, O., and Schaufelberger, W. Xml-based feature modelling. In Software Reuse: Methods, Techniques and Tools: 8th International Conference (2004), Springer-Verlag, pp. 101--114.Google Scholar
- Conklin, E. J., and Yakemovic, K. C. B. A process-oriented approach to design rationale. Hum.-Comput. Interact. 6, 3 (1991), 357--391. Google ScholarDigital Library
- Dutoit, A. H., McCall, R., Mistrik, I., and Paech, B. Rationale Management in Software Engineering. Springer Verlag New York, Inc., Secaucus, NJ, USA, 2006. Google ScholarDigital Library
- Fischer, G., Lemke, A. C., McCall, R., and Morch, A. I. Making argumentation serve design. Hum.-Comput. Interact. 6, 3 (1991), 393--419. Google ScholarDigital Library
- Gomaa, H. Designing software product lines with uml. In SEW '05: Proceedings of the 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (Washington, DC, USA, 2005), IEEE Computer Society, pp. 160--216. Google ScholarDigital Library
- González-Baixauli, B., Laguna, M. A., and Crespo, Y. Product lines, features, and mdd. In 1st European Workshop on Model Transformation (EWMT 05) (Sep 2005). SPLC 05.Google Scholar
- Hendrickson, S. A., Subramanian, S., and van der Hoek, A. Multi-tiered design rationale for change set based product line architectures. In SHARK '08: Proceedings of the 3rd international workshop on Sharing and reusing architectural knowledge (New York, NY, USA, 2008), ACM, pp. 41--44. Google ScholarDigital Library
- Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. Feature-oriented domain analysis (foda) feasibility study. Tech. rep., Carnegie-Mellon University Software Engineering Institute, November 1990.Google Scholar
- Karacapilidis, N., and Dimitris, P. Computer supported argumentation and collaborative decision making: the hermes system. Information Systems 26, 4 (2001), 259--277. Google ScholarDigital Library
- Krueger, C. Easing the transition to software mass customization. In Software Product-Family Engineering, F. van der Linden, Ed., vol. 2290 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2002, pp. 178--184. Google ScholarDigital Library
- Lee, J. Design rationale systems: Understanding the issues. IEEE Expert: Intelligent Systems and Their Applications 12, 3 (1997), 78--85. Google ScholarDigital Library
- Liaskos, S., Lapouchnian, A., Wang, Y., Yu, Y., and Easterbrook, S. Configuring common personal software: a requirements-driven approach. In Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on (2005), pp. 9--18. Google ScholarDigital Library
- Moran, T. P. Design Rationale: Concepts, Techniques, and Use. L. Erlbaum Associates Inc., Hillsdale, NJ, USA, 1996. Google ScholarDigital Library
- Pure-systems GmbH. Variant management with pure::variants. {Online, accessed 3/5/2011}, 2006.Google Scholar
- Rohlik, O., Pasetti, A., Ekstein, K., and Chevalley, P. A meta-modelling approach to feature modelling. http://pnp-software.com/XFeature/pdf/XFeatureToolConcept.pdf.Google Scholar
- Rohlik, O., Pasetti, A., Ekstein, K., and Chevalley, P. Xfeature feature modelling tool. http://pnp-software.com/XFeature/.Google Scholar
- Thurimella, A. K., and Bruegge, B. Evolution in product line requirements engineering: A rationale management approach. Requirements Engineering, IEEE International Conference on 0 (2007), 254--257.Google Scholar
Index Terms
- Using rationale to drive product line architecture configuration
Recommendations
Towards an Automated Product Line Architecture Recovery: The Apo-Games Case Study
SBCARS '18: Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and ReuseSoftware Product Line Engineering (SPLE) has been widely adopted for applying systematic reuse in families of systems. Given the high upfront investment required for SPLE adoption, organizations commonly start with more opportunistic reuse approaches (...
Architecture-centric derivation of products in a software product line
MiSE '16: Proceedings of the 8th International Workshop on Modeling in Software EngineeringIt is essential to architecture-centric product line development that product line architecture can be used to drive activities specific to product line development, such as product derivation. This requires a mechanism that can automatically derive the ...
Another architecture style for a product line architecture
iiWAS '11: Proceedings of the 13th International Conference on Information Integration and Web-based Applications and ServicesArchitecture design is the key process of a Product Line Architecture. It derives the artifacts of all members products to have new specific architectures. During architecture design, the variability and commonality of software components should be ...
Comments