Consistent Product Line Configuration across File Type and Product Line Boundaries
Creating a valid software configuration of a product line can require laborious customizations involving multiple configuration file types, such as feature models, domain-specific languages, or preprocessor defines in C header files. Using configurable off-the-shelf components causes additional complexity. Without checking of constraints across file types boundaries already at configuration time, intricate inconsistencies are likely to be introduced—resulting in product defects, which are costly to discover and resolve later on.
Up to now, at best ad-hoc solutions have been applied. To tackle this problem in a general way, we have developed an approach and a corresponding plug-in infrastructure. It allows for convenient definition and checking of constraints across configuration file types and product line boundaries. Internally, all configuration files are converted to models, facilitating the use of model-based constraint languages (e.g., OCL). Converter plug-ins for arbitrary configuration file types may be integrated and hide a large amount of complexity usually associated with modeling. We have validated our approach using a quadrotor helicopter product line comprising three sub–product-lines and four different configuration file formats. The results give evidence that our approach is practically applicable, reduces time and effort for product derivation (by avoiding repeated compiling, testing, and reconfiguration cycles), and prevents faulty software deployment.
KeywordsProduct Line Feature Model Object Constraint Language Software Product Line File Type
Unable to display preview. Download preview PDF.
- 1.Benavides, D., Segura, S., Trinidad, P., Ruiz-Corts, A.: FAMA: Tooling a framework for the automated analysis of feature models. In: 1st Int. W’shop on Variability Modelling of Software-Intensive Systems (VAMOS) (2007)Google Scholar
- 2.Beuche, D.: Variant management with pure::variants. Tech. rep., puresystems GmbH (2006), http://www.pure-systems.com/fileadmin/downloads/pv-whitepaper-en-04.pdf% (visited 2009-03-26)
- 4.Czarnecki, K., Eisenecker, U.W.: Generative Programming. In: Methods, Tools and Applications, AW (May 2000)Google Scholar
- 7.Egyed, A.: Scalable consistency checking between diagrams - the ViewIntegra approach. In: 16th IEEE Int. Conf. on Automated Software Engineering (ASE 2003). IEEE Control Systems Magazine, Washington (2001)Google Scholar
- 8.Elsner, C., Lohmann, D., Schröder-Preikschat, W.: Product derivation for solutiondriven product line engineering. In: 1st W’shop on Feature-Oriented Software Development (FOSD 2009). ACM, New York (2009)Google Scholar
- 9.Eclipse modeling framework homepage, http://www.eclipse.org/emf/ (visited 2010-02-22)
- 10.Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons, New Jersey (2008)Google Scholar
- 11.Lohmann, D., Hofer, W., Schröder-Preikschat, W., Streicher, J., Spinczyk, O.: CiAO: An aspect-oriented operating-system family for resource-constrained embedded systems. In: 2009 USENIX TC, USENIX, Berkeley, pp. 215–228 (June 2009)Google Scholar
- 13.Object Management Group (OMG): Object constraint language, version 2.2. formal/2010-02-01 (February 2010)Google Scholar
- 15.Rosenmller, M., Siegmund, N.: Automating the configuration of multi software product lines. In: 4th Int. W’shop on Variability Modelling of Software-intensive Systems (VAMOS) (January 2010)Google Scholar
- 16.Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)Google Scholar
- 17.Stephan, M., Antkiewicz, M.: Ecore.fmp: A tool for editing and instantiating class models as feature models. Tech. rep., University of Waterloo, 200 University Avenue West Waterloo, Ontario, Canada (August 2008)Google Scholar
- 18.Trujillo, S., Kästner, C., Apel, S.: Product lines that supply other product lines: A service-oriented approach. In: First Workshop on Service-Oriented Architectures and Product Lines. Special Report. CMU/SEI-2008-SR-006 (September 2007)Google Scholar
- 19.Ulbrich, P.: The I4Copter project – Research platform for embedded and safetycritical system software, http://www4.informatik.uni-erlangen.de/Research/I4Copter/ (visited 2010-02-22)
- 20.Völter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: 11th Software Product Line Conf. (SPLC 2007), pp. 233–242 (2007)Google Scholar
- 21.Eclipse XPand homepage, http://www.eclipse.org/modeling/m2t/?project=xpand (visited 2010-02-22)
- 22.Eclipse XText homepage, http://www.eclipse.org/Xtext/ (visited 2010-02-22)