Advertisement

Consistent Product Line Configuration across File Type and Product Line Boundaries

  • Christoph Elsner
  • Peter Ulbrich
  • Daniel Lohmann
  • Wolfgang Schröder-Preikschat
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6287)

Abstract

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.

Keywords

Product Line Feature Model Object Constraint Language Software Product Line File Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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)
  3. 3.
    Bezivin, J.: On the unification power of models. Software and Systems Modeling 4(2), 171–188 (2005)CrossRefGoogle Scholar
  4. 4.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming. In: Methods, Tools and Applications, AW (May 2000)Google Scholar
  5. 5.
    Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: 6th Int. Conf. on Generative Programming and Component Engineering (GPCE 2006), pp. 211–220. ACM, New York (2006)CrossRefGoogle Scholar
  6. 6.
    Deelstra, S., Sinnema, M., Bosch, J.: Product derivation in software product families: a case study. Journal of Systems and Software 74(2), 173–194 (2005)CrossRefGoogle Scholar
  7. 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. 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. 9.
    Eclipse modeling framework homepage, http://www.eclipse.org/emf/ (visited 2010-02-22)
  10. 10.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons, New Jersey (2008)Google Scholar
  11. 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
  12. 12.
    Metzger, A., Heymans, P., Pohl, K., Schobbens, P.Y., Saval, G.: Disambiguating the documentation of variability in software product lines. In: 15th IEEE Int. Conf. on Requirements Engineering (RE 2007), pp. 243–253. IEEE Computer Society, Washington (2007)CrossRefGoogle Scholar
  13. 13.
    Object Management Group (OMG): Object constraint language, version 2.2. formal/2010-02-01 (February 2010)Google Scholar
  14. 14.
    van Ommering, R.: Building product populations with software components. In: 24th Int. Conf. on Software Engineering (ICSE 2002), pp. 255–265. ACM, New York (2002)CrossRefGoogle Scholar
  15. 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. 16.
    Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)Google Scholar
  17. 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. 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. 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. 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. 21.
    Eclipse XPand homepage, http://www.eclipse.org/modeling/m2t/?project=xpand (visited 2010-02-22)
  22. 22.
    Eclipse XText homepage, http://www.eclipse.org/Xtext/ (visited 2010-02-22)

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Christoph Elsner
    • 1
  • Peter Ulbrich
    • 2
  • Daniel Lohmann
    • 2
  • Wolfgang Schröder-Preikschat
    • 2
  1. 1.Siemens Corporate Research & TechnologiesErlangenGermany
  2. 2.Friedrich-Alexander University Erlangen-NurembergGermany

Personalised recommendations