Skip to main content
Log in

Reasoning about product-line evolution using complex feature model differences

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Features define common and variable parts of the members of a (software) product line. Feature models are used to specify the set of all valid feature combinations. Feature models not only enjoy an intuitive tree-like graphical syntax, but also a precise formal semantics, which can be denoted as propositional formulae over Boolean feature variables. A product line usually constitutes a long-term investment and, therefore, has to undergo continuous evolution to meet ever-changing requirements. First of all, product-line evolution leads to changes of the feature model due to its central role in the product-line paradigm. As a result, product-line engineers are often faced with the problems that (1) feature models are changed in an ad-hoc manner without proper documentation, and (2) the semantic impact of feature diagram changes is unclear. In this article, we propose a comprehensive approach to tackle both challenges. For (1), our approach compares the old and new version of the diagram representation of a feature model and specifies the changes using complex edit operations on feature diagrams. In this way, feature model changes are automatically detected and formally documented. For (2), we propose an approach for reasoning about the semantic impact of diagram changes. We present a set of edit operations on feature diagrams, where complex operations are primarily derived from evolution scenarios observed in a real-world case study, i.e., a product line from the automation engineering domain. We evaluated our approach to demonstrate its applicability with respect to the case study, as well as its scalability concerning experimental data sets.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. The notion of an “asymmetric” difference is due to the fact that \({\varDelta }(v_1,v_2)\) specifies document changes only in one direction, i.e., from \(v_1\) to \(v_2\). In order to specify the changes from \(v_2\) back to \(v_1\), a different asymmetric difference is required.

  2. The effect on the internal run-time representation of the feature diagram is more complex and explained in Sect. 4.

  3. http://pi.informatik.uni-siegen.de/Projekte/SiLift/asejournal2014.php.

  4. Please note that for those combinations marked with “*”, exceptional cases may arise, where the resulting characterization differs from the intuitive characterization. In particular, a specialization edit operation followed by generalization edit operation (and vice versa), as well as two subsequent arbitrary edit operations may result in an arbitrary edit, a generalization, a specialization, or even a refactoring. In our practical experiments conducted so far, these hypothetical cases did not occur (cf. Sect. 7.1).

  5. http://pi.informatik.uni-siegen.de/Projekte/SiLift/asejournal2014.php.

  6. http://pi.informatik.uni-siegen.de/CVSM/.

References

  • Acher, M., Heymans, P., Collet, P., Quinton, C., Lahire, P., Merle, P.: Feature model differences. In: CAiSE–24th International Conference on Advanced Information Systems Engineering (2012)

  • Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., Lucena, C.: Refactoring product lines. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering (2006)

  • Amelunxen, C., Schürr, A.: Formalizing model transformation rules for UML/MOF 2. IET Softw. J. 2(3), 204–222 (2007)

    Article  Google Scholar 

  • Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Model Driven Engineering Languages and Systems. Springer, Berlin Heidelberg (2010)

  • Barone, I., De Lucia, A., Fasano, F., Rullo, E., Scanniello, G., Tortora, G.: COMOVER: Concurrent model versioning. In: IEEE International Conference on Software Maintenance, pp. 462–463. IEEE (2008)

  • Batory, D.: Feature models, grammars, and propositional formulas. In: 9th SPLC, pp. 7–20 (2005)

  • Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T., DeBaud, J.M.: PuLSE: A methodology to develop software product lines. Proceedings of the Symposiumon Software Reusability. SSR ’99, pp. 122–131. ACM, New York (1999)

  • Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: CAiSE, pp. 491–503 (2005)

  • Bendix, L., Emanuelsson, P.: Collaborative work with software models-industrial experience and requirements. In: IEEE International Conference on Model-Based Systems Engineering, pp. 60–68. IEEE (2009)

  • Biermann, E., Ehrig, H., Ermel, C., Golas, U., Taentzer, G.: Parallel independence of amalgamated graph transformations applied to model transformation. In: Graph Transformations and Model-Driven Engineering, pp. 121–140. Springer (2010)

  • Botterweck, G., Pleuss, A.: Evolution of software product lines. In: Evolving Software Systems, pp. 265–295 (2014)

  • Botterweck, G., Pleuss, A., Dhungana, D., Polzer, A., Kowalewski, S.: EvoFM: Feature-driven planning of product-line evolution. In: ICSE Workshop on Product Line Approaches in Software Engineering, pp. 24–31. ACM (2010)

  • Braun, S., Bartelt, C., Obermeier, M., Rausch, A., Vogel-Heuser, B.: Requirements on evolution management of product lines in automation engineering. In: International Conference on Mathematical Modelling. Wien, Österreich (2012)

  • Bruegge, B., Dutoit, A.H., Wolf, T.: Sysiphus: Enabling informal collaboration in global software development. In: IEEE International Conference on Global Software Engineering, pp. 139–148 (2006)

  • Brun, C., Pierantonio, A.: Model differences in the eclipse modeling framework. UPGRADE Eur. J. Inform. Prof. 9(2), 29–34 (2008)

    Google Scholar 

  • Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2001)

    Google Scholar 

  • Conradi, R., Westfechtel, B.: Version models for software configuration management. ACM Comput. Surv. (CSUR) 30(2), 232–282 (1998)

    Article  Google Scholar 

  • Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  • Dhungana, D., Grünbacher, P., Rabiser, R., Neumayer, T.: Structuring the modeling space and supporting evolution in software product line engineering. J. Syst. Softw. 83(7), 1108–1122 (2010)

    Article  Google Scholar 

  • Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation, vol. 373. Springer, Heidelberg (2006)

    MATH  Google Scholar 

  • Gheyi, R., Massoni, T., Borba, P.: Automatically checking feature model refactorings. J. Univers. Comput. Sci. 17(5), 684–711 (2011)

    MATH  Google Scholar 

  • Herrmannsdoerfer, M., Koegel, M.: Towards a generic operation recorder for model evolution. In: Proceedings of the 1st International Workshop on Model Comparison in Practice, pp. 76–81. ACM (2010)

  • Johansen, M.F., Haugen, O., Fleurey, F.: An algorithm for generating t-wise covering arrays from large feature models. In: SPLC, pp. 46–55. ACM (2012)

  • Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, S.A.: Feature oriented domain analysis (FODA). Tech. rep, CMU (1990)

    Google Scholar 

  • Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the 30th International Conference on Software Engineering, ICSE ’08, pp. 311–320. ACM, New York (2008). doi:10.1145/1368088.1368131

  • Kehrer, T., Kelter, U., Ohrndorf, M., Sollbach, T.: Understanding model evolution through semantically lifting model differences with SiLift. In: 28th IEEE International Conference on Software Maintenance (ICSM), pp. 638–641. IEEE (2012a)

  • Kehrer, T., Kelter, U., Pietsch, P., Schmidt, M.: Adaptability of model comparison tools. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 306–309 (2012b)

  • Kehrer, T., Kelter, U., Reuling, D.: Workspace updates of visual models. In: Proceedings of the 29th ACM/IEEE international conference on Automated Software Engineering(ASE), pp. 827–830. ACM (2014a)

  • Kehrer, T., Kelter, U., Taentzer, G.: A rule-based approach to the semantic lifting of model differences in the context of model versioning. In: Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering, pp. 163–172. IEEE (2011)

  • Kehrer, T., Kelter, U., Taentzer, G.: Consistency-preserving edit scripts in model versioning. In: IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), pp. 191–201. IEEE (2013)

  • Kehrer, T., Kelter, U., Taentzer, G.: Propagation of software model changes in the context of industrial plant automation. at-Automatisierungstechnik 62(11), 803–814 (2014b)

  • Kelter, U., Wehren, J., Niere, J.: A generic difference algorithm for UML models. In: Proceedings of the Software Engineering, pp. 105–116. LNI 64, GI (2005)

  • Kögel, M.: Towards software configuration management for unified models. In: Proceedings of the International Workshop on Comparison and Versioning of Software Models, pp. 19–24. ACM (2008)

  • Kolovos, D.S.: Establishing correspondences between models with the epsilon comparison language. In: Model Driven Architecture-Foundations and Applications, pp. 146–157. Springer (2009)

  • Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: Different models for model matching: an analysis of approaches to support model differencing. In: ICSE Workshop on Comparison and Versioning of Software Models (CVSM), pp. 1–6. IEEE (2009)

  • Könemann, P.: Capturing the intention of model changes. In: Model Driven Engineering Languages and Systems, pp. 108–122. Springer (2010)

  • Küster, J.M., Gerth, C., Förster, A., Engels, G.: Detecting and resolving process model differences in the absence of a change log. In: Business Process Management, pp. 244–260. Springer (2008)

  • Langer, P., Wimmer, M., Brosch, P., Herrmannsdörfer, M., Seidl, M., Wieland, K., Kappel, G.: A posteriori operation detection in evolving software models. J. Syst. Softw. 86(2), 551–566 (2013)

    Article  Google Scholar 

  • Lin, Y., Gray, J., Jouault, F.: DSMDiff: a differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4), 349–361 (2007)

    Article  Google Scholar 

  • Lippe, E., Van Oosterom, N.: Operation-based merging. In: ACM SIGSOFT Software Engineering Notes, 17:5, pp. 78–87. ACM (1992)

  • Lity, S., Bürdek, J., Lochau, M., Berens, M., Schürr, A., Schaefer, I.: Re-engineering automation systems as dynamic software product lines. In: MBEES, pp. 43–52. fortiss GmbH (2015)

  • Lotufo, R., She, S., Berger, T., Czarnecki, K., Wasowski, A.: Evolution of the linux kernel variability model. In: 14th SPLC, pp. 136–150. ACM (2010)

  • Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002)

    Article  Google Scholar 

  • Myers, E.W.: AnO (ND) difference algorithm and its variations. Algorithmica 1(1–4), 251–266 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  • Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: Proceedings of the 29th international conference on Software Engineering, pp. 54–64. IEEE Computer Society (2007)

  • Object Management Group: Meta Object Facility (MOF) Core Specification Version 2.0 (2006). http://www.omg.org/cgi-bin/doc?formal/2006-01-01

  • Pleuss, A., Botterweck, G., Dhungana, D., Polzer, A., Kowalewski, S.: Model-driven support for product line evolution on feature level. J. Syst. Softw. 85(10), 2261–2274 (2012). Automated Software Evolution

  • Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations. Principles and Techniques. Springer, Berlin (2005)

    Book  MATH  Google Scholar 

  • Schneider, C., Zündorf, A., Niere, J.: CoObRA-a small step for development tools to collaborative environments. In: Workshop on Directions in Software Engineering Environments (2004)

  • Schürr, A.: Logic based programmed structure rewriting systems. Fundam. Inf. 26(3,4), 363–385 (1996)

  • Segura, S., Galindo, J., Benavides, D., Parejo, J., Ruiz-Corts, A.: BeTTy: Benchmarking and testing on the automated analysis of feature models. In: Eisenecker, U., Apel, S., Gnesi, S. (eds.) Sixth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’12), pp. 63–71. ACM, Leipzig, Germany (2012)

    Chapter  Google Scholar 

  • Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2008)

    Google Scholar 

  • Stürmer, I., Dörr, H., Giese, H., Kelter, U., Schürr, A., Zündorf, A.: Das mate projekt: Visuelle spezifikation von matlab simulink/stateflow analysen und transformationen. In: MBEES, pp. 83–94 (2007). (available in German only)

  • Sun, J., Zhang, H., Wang, H.: Formal semantics and verification for feature modeling. In: Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 303–312. IEEE Computer Society, Washington, DC, USA (2005)

  • Thüm, T., Batory, D., Kästner, C.: Reasoning about edits to feature models. In: Proceedings of the 31st International Conference on Software Engineering (ICSE), pp. 254–264. IEEE Computer Society, Washington, DC (2009)

  • Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)

    Article  Google Scholar 

  • Tichy, W.F.: The string-to-string correction problem with block moves. ACM Trans. Comput. Syst. (TOCS) 2(4), 309–321 (1984)

    Article  MathSciNet  Google Scholar 

  • Tichy, W.F.: Tools for software configuration management. SCM 30, 1–20 (1988)

    Google Scholar 

  • Vogel-Heuser, B., Legat, C., Folmer, J., Feldmann, S.: Researching Evolution in Industrial Plant Automation: Scenarios and Documentation of the Pick and Place Unit. Technical Report TUM-AIS-TR-01-14-02, Technische Universität München (2014)

  • Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Professional, Boston (2003)

    Google Scholar 

  • Xing, Z., Stroulia, E.: Refactoring detection based on umldiff change-facts queries. In: 13th Working Conference on Reverse Engineering (WCRE), pp. 263–274. IEEE (2006)

  • Xing, Z., Stroulia, E.: Differencing logical UML models. Autom. Softw. Eng. (ASE) 14(2), 215–259 (2007)

    Article  Google Scholar 

Download references

Acknowledgments

This work was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP 1593: Design For Future—Managed Software Evolution.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timo Kehrer.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bürdek, J., Kehrer, T., Lochau, M. et al. Reasoning about product-line evolution using complex feature model differences. Autom Softw Eng 23, 687–733 (2016). https://doi.org/10.1007/s10515-015-0185-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-015-0185-3

Keywords

Navigation