ABSTRACT
The complexity of product line variability models makes it hard to maintain their consistency over time regardless of the modeling approach used. Engineers thus need support for detecting and resolving inconsistencies. We describe experiences of applying a tool-supported approach for incremental consistency checking on variability models. Our approach significantly improves the overall performance and scalability compared to batch-oriented techniques and allows providing immediate feedback to modelers. It is extensible as new consistency constraints can easily be added. Furthermore, the approach is flexible as it is not limited to variability models and it also checks the consistency of the models with the underlying code base of the product line. We report the results of a thorough evaluation based on real-world product line models and discuss lessons learned.
- }}S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type safety for feature-oriented product lines. Automated Software Engineering - An International Journal, 17:251--300, 2010. Google ScholarDigital Library
- }}F. Bachmann, M. Goedicke, J. Leite, R. Nord, K. Pohl, B. Ramesh, and A. Vilbig. A meta-model for representing variability in product family development. In F. van der Linden, editor, 5th Int'l WS on Sw. Product-Family Engineering, volume LNCS 3014, pages 66--80, Siena, Italy, 2003. Springer.Google Scholar
- }}K. Bak, K. Czarnecki, and A. Wasowski. Feature and class models in Clafer: Mixed, specialized, and coupled. Technical report, University of Waterloo, 2010.Google Scholar
- }}R. Balzer. Tolerating inconsistency. In Int'l Conf. on Software Engineering (ICSE), pages 158--165, 1991. Google ScholarDigital Library
- }}V. Basili, G. Caldiera, and D. Rombach. Goal/question/metric paradigm. In J. Marciniak, editor, Encyclopedia of Sw. Eng., pages 528--532, New York, 1994. John Wiley and Sons.Google Scholar
- }}D. S. Batory. Feature models, grammars, and propositional formulas. In Proc. Int'l Conf. Sw. Product Lines, pages 7--20, 2005. Google ScholarDigital Library
- }}B. Belkhouche and C. L. Olalde. Multiple view analysis of designs. In Proc. of the 2nd Int'l Software Architecture WS (ISAW-2) and Int'l WS on Multiple Perspectives in Software Development on SIGSOFT '96 WSs, pages 159--161, New York, NY, USA, 1996. ACM. Google ScholarDigital Library
- }}D. Benavides, S. Segura, and A. Ruiz-Cortes. Automated analysis of feature models 20 years later: a literature review. Information Systems (in Press), 2010. Google ScholarDigital Library
- }}X. Blanc, I. Mounier, A. Mougenot, and T. Mens. Detecting model inconsistency through operation-based model construction. In Proc. ICSE Conf., pages 511--520, 2008. Google ScholarDigital Library
- }}G. H. Campbell, S. R. Faulk, and D. M. Weiss. Introduction to Synthesis. Technical report, Software Productivity Consortium, Herndon, VA, USA, 1990.Google Scholar
- }}L. A. Campbell, B. H. C. Cheng, W. E. McUmber, and K. Stirewalt. Automatically detecting and visualising errors in UML diagrams. Requir. Eng., 7(4):264--287, 2002.Google ScholarCross Ref
- }}B. H. C. Cheng, E. Y. Wang, and R. H. Bourdeau. A graphical environment for formally developing object-oriented software. In ICTAI, pages 26--32, 1994.Google ScholarCross Ref
- }}K. Czarnecki. Variability modeling: State of the art and future directions (keynote presentation). In Proc. 4th Int'l WS on Variability Modelling of Software-intensive Systems (VaMoS 2010), page 11, Linz, Austria, 2010. ICB-Research Report 37, Univ. of Duisburg Essen.Google Scholar
- }}B. Delaware, W. R. Cook, and D. S. Batory. Fitting the pieces together: a machine-checked model of safe composition. In Proc. ESEC/FSE Conf., 2009, Amsterdam, pages 243--252, 2009. Google ScholarDigital Library
- }}G. Deng, J. Gray, D. Schmidt, Y. Lin, A. Gokhale, and G. Lenz. Evolution in model-driven software product-line architectures. In P. Tiako, editor, Designing software-intensive systems, pages 1280--1312. Idea Group Inc (IGI), 2008.Google ScholarCross Ref
- }}D. Dhungana, P. Grünbacher, R. Rabiser, and T. Neumayer. Structuring the modeling space and supporting evolution in software product line engineering. Journal of Systems and Software, 83(7):1197--1122, 2010. Google ScholarDigital Library
- }}D. Dhungana, P. Heymans, and R. Rabiser. A formal semantics for decision-oriented variability modeling with DOPLER. In Proc. 4th Int'l WS on Variability Modelling of Software-intensive Systems (VaMoS 2010), pages 29--35, Linz, Austria, 2010. ICB-Research Report 37, Univ. of Duisburg Essen.Google Scholar
- }}D. Dhungana, R. Rabiser, P. Grünbacher, and T. Neumayer. Integrated tool support for software product line engineering. In Proc. ASE Conf., pages 533--534, Atlanta, Georgia, USA, 2007. ACM. Google ScholarDigital Library
- }}A. Egyed. Instant consistency checking for the UML. In 28th Int'l Conf. on Software Engineering, pages 381--390, New York, NY, 2006. ACM. Google ScholarDigital Library
- }}A. Egyed, E. Letier, and A. Finkelstein. Generating and evaluating choices for fixing inconsistencies in UML design models. In Proc. of the 2008 23rd IEEE/ACM Int'l Conf. on Automated Sw. Eng., pages 99--108, Washington, DC, USA, 2008. IEEE Computer Society. Google ScholarDigital Library
- }}A. Egyed and D. S. Wile. Support for managing design-time decisions. IEEE TSE, 32(5):299--314, 2006. Google ScholarDigital Library
- }}P. Grünbacher, R. Rabiser, D. Dhungana, and M. Lehofer. Model-based customization and deployment of Eclipse-based tools: Industrial experiences. In Proc. ASE Conf., pages 247--256, 2009. Google ScholarDigital Library
- }}F. Heidenreich. Towards systematic ensuring well-formedness of software product lines. In FOSD '09: Proc. of the First Int'l WS on Feature-Oriented Software Development, pages 69--74, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- }}W. Heider, R. Rabiser, D. Dhungana, and P. Grünbacher. Tracking evolution in model-based product lines. In 1st Int'l WS on Model-driven Approaches in Software Product Line Engineering (MAPLE 2009), Proc. (vol 2) of the 13th Int'l Software Product Line Conf. (SPLC 2009), pages 59--63, San Francisco, CA, USA, 2009. SEI CMU.Google Scholar
- }}K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical report, SEI-CMU, USA, 1990.Google Scholar
- }}C. Kästner and S. Apel. Type-checking software product lines - a formal approach. In 23rd IEEE/ACM ASE Conf., L'Aquila, Italy, pages 258--267, 2008. Google ScholarDigital Library
- }}T. Mende, F. Beckwermert, R. Koschke, and G. Meier. Supporting the grow-and-prune model in software product lines evolution using clone detection. In 12th European Conf. on Sw. Maintenance and Reengineering, pages 163--172, Washington, DC, USA, 2008. IEEE CS. Google ScholarDigital Library
- }}L. G. P. Murta, A. van der Hoek, and C. M. L. Werner. ArchTrace: Policy-based support for managing evolving architecture-to-implementation traceability links. In Proc. ASE Conf., pages 135--144, 2006. Google ScholarDigital Library
- }}C. Nentwich, L. Capra, W. Emmerich, and A. Finkelstein. xlinkit: a consistency checking and smart link generation service. ACM Trans. Internet Techn., 2(2):151--185, 2002. Google ScholarDigital Library
- }}K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, 2005. Google ScholarCross Ref
- }}J. Robins et al. ArgoUml, http://argouml.tigris.org/. Technical report.Google Scholar
- }}R. V. D. Straeten, T. Mens, J. Simmonds, and V. Jonckers. Using description logic to maintain consistency between UML models. In Proc. 6th Int'l UML Conf., San Francisco, CA, USA, pages 326--340, 2003.Google Scholar
- }}P. Trinidad, D. Benavides, A. Ruiz-Cortés, S. Segura, and A.Jimenez. FaMa framework. In Proc. Sw. Product Lines Conf., page 359, 2008. Google ScholarDigital Library
- }}A. Tsiolakis and H. Ehrig. Consistency analysis of UML class and sequence diagrams using attributed graph grammars. In Proc. of the Graph Transformation and Graph Grammars (GRATA), Berlin, Germany, pages 77--86, 2000.Google Scholar
- }}M. Vierhauser, D. Dhungana, W. Heider, R. Rabiser, and A. Egyed. Tool support for incremental consistency checking on variability models. In Proc. 4th Int'l WS on Variability Modelling of Software-intensive Systems (VaMoS 2010), pages 171--174, Linz, Austria, 2010. ICB-Research Report 37, Univ. of Duisburg Essen.Google Scholar
- }}A. Zisman and A. Kozlenkov. Knowledge base approach to consistency management of UML specification. In Prof. ASE Conf., pages 359--363, 2001. Google ScholarDigital Library
Index Terms
- Flexible and scalable consistency checking on product line variability models
Recommendations
Resolving feature dependency implementations inconsistencies during product derivation
ECMFA-TW '10: Proceedings of the 6th ECMFA Traceability WorkshopFeatures implementing the functionality in a software product line (SPL) often interact and depend on each other. It is hard to maintain the consistency between feature dependencies on the model level and the actual implementation over time, resulting ...
Variability management in software product line engineering
ICSE '06: Proceedings of the 28th international conference on Software engineeringBy explicitly modeling and managing variability, software product line engineering provides a systematic approach for creating a diversity of similar products at low cost, in short time, and with high quality. This tutorial focuses on the two principle ...
Verifying consistency of software product line architectures with product architectures
AbstractThere has been increasing interest in modeling software product lines (SPLs) using architecture description languages (ADLs). However, sometimes it is required to reverse engineer an SPL architecture from a set of product architectures. This ...
Comments