Quality-aware analysis in product line engineering with the orthogonal variability model
- 621 Downloads
Software product line engineering is about producing a set of similar products in a certain domain. A variability model documents the variability amongst products in a product line. The specification of variability can be extended with quality information, such as measurable quality attributes (e.g., CPU and memory consumption) and constraints on these attributes (e.g., memory consumption should be in a range of values). However, the wrong use of constraints may cause anomalies in the specification which must be detected (e.g., the model could represent no products). Furthermore, based on such quality information, it is possible to carry out quality-aware analyses, i.e., the product line engineer may want to verify whether it is possible to build a product that satisfies a desired quality. The challenge for quality-aware specification and analysis is threefold. First, there should be a way to specify quality information in variability models. Second, it should be possible to detect anomalies in the variability specification associated with quality information. Third, there should be mechanisms to verify the variability model to extract useful information, such as the possibility to build a product that fulfils certain quality conditions (e.g., is there any product that requires less than 512 MB of memory?). In this article, we present an approach for quality-aware analysis in software product lines using the orthogonal variability model (OVM) to represent variability. We propose to map variability represented in the OVM associated with quality information to a constraint satisfaction problem and to use an off-the-shelf constraint programming solver to automatically perform the verification task. To illustrate our approach, we use a product line in the automotive domain which is an example that was created in a national project by a leading car company. We have developed a prototype tool named FaMa-OVM, which works as a proof of concepts. We were able to identify void models, dead and false optional elements, and check whether the product line example satisfies quality conditions.
KeywordsQuality modelling Software product lines Quality-aware analysis Automated analysis Orthogonal variability model
We would like to thank Silvia Abrahão and Isidro Ramos for their helpful comments in earlier versions of this article. We also would like to thank José Galindo for his work on implementing FaMa-OVM tool. This work has been partially supported by the European Commission (FEDER) and Spanish Government under CICYT project SETI (TIN2009-07366), by the Andalusian Government under ISABEL (TIC-2533) and THEOS (TIC-5906) projects, by Evangelischer Entwicklungsdienst e.V. (EED) and by the DFG under grant PO 607/2-1 IST-SPL.
- Bagheri, E., Di Noia, T., Ragone, A., & Gasevic, D. (2010). Configuring software product line feature models based on stakeholders’ soft and hard requirements. In Proceedings of the 14th international conference on Software product lines, SPLC’10 (pp. 16–31). Springer, Berlin.Google Scholar
- Batory, D. (2005). Feature models, grammars, and propositional formulas. In 9th international software product line conference (Vol. 3714, pp. 7–20). Springer, LNCS.Google Scholar
- Benavides, D., Trinidad, P., & Ruiz-Cortés, A. (2005). Automated reasoning on feature models. In 17th international conference advanced information systems engineering (Vol. 3520, pp. 491–503). Springer, LNCSGoogle Scholar
- Berre, D. L., Parrain, A. (2010). Sat4j solver. http://www.sat4j.or.
- Chen, L., Babar, M. A., & Ali, N. (2009). Variability management in software product lines: A systematic review. In 13th international software product line conference (pp. 81–90). Pittsburgh, PA: Carnegie Mellon University.Google Scholar
- Dhungana, D., Rabiser, R., Grünbacher, P., & Neumayer, T. (2007). Integrated tool support for software product line engineering. In 22nd IEEE/ACM international conference on automated Software Engineering (pp. 533–534). New York, NY: ACM.Google Scholar
- Dhungana, D., Heymans, P., & Rabiser, R. (2010). A formal semantics for decision-oriented variability modeling with dopler. In Fourth international workshop on variability modelling of software–intensive systems (pp. 29–35).Google Scholar
- Foundation, E. (2011). Xtext—language development framework. http://www.eclipse.org/Xtex
- Heuer, A., Lauenroth, K., Müller, M., & Scheele, J. N. (2010). Towards effective visual modeling of complex software product lines. In Proceedings of the 3rd international workshop on visualisation in software product line engineering (VISPLE) in proceedings of the 14th international software product line conference (Vol. 2, pp. 229–237).Google Scholar
- Kang, K., Cohen, S., Hess, J., Novak, W., & Peterson, S. (1990). Feature–Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University.Google Scholar
- Laburthe, F., Jussien, N., Rochart, G., Cambazard, H., Prud’homme, C., Malapert, A., et al. (2010). Choco solver. http://www.choco.emn.f.
- Metzger, A., & Pohl, K. (2007). Variability management in software product line engineering. In 29th international conference on software engineering (ICSE companion) (pp. 186–187). IEEE Computer Society.Google Scholar
- Metzger, A., Pohl, K., Heymans, P., Schobbens, P., & Saval, G. (2007). Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In 15th international requirements engineering conference (pp. 243–253).Google Scholar
- Montagud, S., & Abrahão, S. (2009). Gathering current knowledge about quality evaluation in software product lines. In SPLC ’09: Proceedings of the 13th international software product line conference (pp. 91–100). Pittsburgh, PA: Carnegie Mellon University.Google Scholar
- Sinnema, M., Deelstra, S., Nijhuis, J., & Bosch, J. (2004). COVAMOF: A framework for modeling variability in software product families. In Third software product line conference (Vol. 3154, pp. 197–213). Springer, LNCS.Google Scholar
- Trinidad, P., Benavides, D., Ruiz-Cortés, A., Segura, S., & Jimenez, A. (2008). Fama framework. In 12th international software product line conference—tool demonstrations (pp. 359–359). IEEE Computer Society.Google Scholar
- Tsang, E. (1993). Foundations of constraint satisfaction. London and San Diego: Academic Press.Google Scholar
- Tun, T. T., Boucher, Q., Classen, A., Hubaux, A., & Heymans, P. (2009). Relating requirements and feature configurations: A systematic approach. In Software product lines, 13th international conference, SPLC 2009, ACM international conference proceeding series (Vol. 446, pp. 201–210).Google Scholar