Skip to main content

Compositional Feature-Oriented Systems

  • Conference paper
  • First Online:
Software Engineering and Formal Methods (SEFM 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11724))

Included in the following conference series:

Abstract

Feature-oriented systems describe system variants through features as first-class abstractions of optional or incremental units of systems functionality. The choice how to treat modularity and composition in feature-oriented systems strongly influences their design and behavioral modeling. Popular paradigms for the composition of features are superimposition and parallel composition. We approach both in a unified formal way for programs in guarded command language by introducing compositional feature-oriented systems (CFOSs). We show how both compositions relate to each other by providing transformations that preserve the behaviors of system variants. Family models of feature-oriented systems encapsulate all behaviors of system variants in a single model, prominently used in family-based analysis approaches. We introduce family-ready CFOSs that admit a family model and show by an annotative approach that every CFOS can be transformed into a family-ready one that has the same modularity and behaviors.

The author has been supported by the DFG through the Cluster of Excellence EXC 2050/1 (CeTI, project ID 390696704, as part of Germany’s Excellence Strategy), the Collaborative Research Centers CRC 912 (HAEC) and TRR 248 (see https://perspicuous-computing.science, project ID 389792660), the Research Training Group RoSI (GRK 1907), Deutsche Telekom Stiftung, and the 5G Lab Germany.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Recall Definition 3 of \(\chi (X)\), the characteristic Boolean expression of X.

  2. 2.

    Note that an empty disjunction always evaluates to \(\mathtt {ff}\).

References

  1. Acher, M., Collet, P., Fleurey, F., Lahire, P., Moisan, S., Rigault, J.-P.: Modeling context and dynamic adaptations with feature models. In: 4th International Workshop Models@run.time at Models 2009 (MRT 2009), p. 10 (2009)

    Google Scholar 

  2. Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Object Technol. 8, 49–84 (2009)

    Article  Google Scholar 

  3. Apel, S., Kästner, C., Lengauer, C.: Feature featherweight Java: a calculus for feature-oriented programming and stepwise refinement. In: Proceedings of the 7th International Conference on Generative Programming and Component Engineering, GPCE 2008, pp. 101–112. ACM, New York (2008)

    Google Scholar 

  4. Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 125–140. Springer, Heidelberg (2005). https://doi.org/10.1007/11561347_10

    Chapter  Google Scholar 

  5. Baier, C., Dubslaff, C.: From verification to synthesis under cost-utility constraints. ACM SIGLOG News 5(4), 26–46 (2018)

    Google Scholar 

  6. Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  7. Bettini, L., Damiani, F., Schaefer, I.: Compositional type checking of delta-oriented software product lines. Acta Informatica 50(2), 77–122 (2013)

    Article  MathSciNet  Google Scholar 

  8. Chandy, K.M., Misra, J.: A Foundation of Parallel Program Design. Addison-Wesley, Reading (1988)

    MATH  Google Scholar 

  9. Chrszon, P., Dubslaff, C., Klüppelholz, S., Baier, C.: Family-based modeling and analysis for probabilistic systems – featuring ProFeat. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 287–304. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49665-7_17

    Chapter  Google Scholar 

  10. Chrszon, P., Dubslaff, C., Klüppelholz, S., Baier, C.: Profeat: feature-oriented engineering for family-based probabilistic model checking. Formal Aspects Comput. 30(1), 45–75 (2018)

    Article  MathSciNet  Google Scholar 

  11. Cimatti, A., et al.: NuSMV 2: an opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45657-0_29

    Chapter  Google Scholar 

  12. Classen, A., Cordy, M., Heymans, P., Legay, A., Schobbens, P.-Y.: Model checking software product lines with SNIP. Int. J. Softw. Tools Technol. Transf. 14(5), 589–612 (2012)

    Article  Google Scholar 

  13. Classen, A., Cordy, M., Heymans, P., Legay, A., Schobbens, P.-Y.: Formal semantics, modular specification, and symbolic verification of product-line behaviour. Sci. Comput. Program. 80, 416–439 (2014)

    Article  Google Scholar 

  14. Classen, A., Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A., Raskin, J.-F.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans. Softw. Eng. 39(8), 1069–1089 (2013)

    Article  Google Scholar 

  15. Classen, A., Heymans, P., Schobbens, P.-Y., Legay, A., Raskin, J.-F.: Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of ICSE 2010, pp. 335–344. ACM (2010)

    Google Scholar 

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

    Google Scholar 

  17. Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A.: Beyond Boolean product-line model checking: dealing with feature attributes and multi-features. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE 2013, pp. 472–481. IEEE Press, Piscataway (2013)

    Google Scholar 

  18. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co. (2000)

    Google Scholar 

  19. Damiani, F., Schaefer, I.: Dynamic delta-oriented programming. In: Proceedings of the 15th Software Product Line Conference (SPLC), vol. 2, pp. 34:1–34:8. ACM (2011)

    Google Scholar 

  20. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Upper Saddle River (1976)

    MATH  Google Scholar 

  21. Dubslaff, C., Baier, C., Klüppelholz, S.: Probabilistic model checking for feature-oriented systems. Trans. Aspect-Oriented Softw. Dev. 12, 180–220 (2015)

    Google Scholar 

  22. Dubslaff, C., Klüppelholz, S., Baier, C.: Probabilistic model checking for energy analysis in software product lines. In: 13th International Conference on Modularity (MODULARITY), pp. 169–180. ACM (2014)

    Google Scholar 

  23. Francez, N., Forman, I.R.: Superimposition for interacting processes. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 230–245. Springer, Heidelberg (1990). https://doi.org/10.1007/BFb0039063

    Chapter  Google Scholar 

  24. Gomaa, H., Hussein, M.: Dynamic software reconfiguration in software product families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 435–444. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24667-1_33

    Chapter  Google Scholar 

  25. Gruler, A., Leucker, M., Scheidemann, K.: Modeling and model checking software product lines. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-68863-1_8

    Chapter  Google Scholar 

  26. Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. Computer 41(4), 93–95 (2008)

    Article  Google Scholar 

  27. Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual, vol. 1003. Addison-Wesley, Reading (2004)

    Google Scholar 

  28. Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Trans. Program. Lang. Syst. 23(3), 396–450 (2001)

    Article  Google Scholar 

  29. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute, November 1990

    Google Scholar 

  30. Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: 2008 ACM/IEEE 30th International Conference on Software Engineering, pp. 311–320 (2008)

    Google Scholar 

  31. Kästner, C., Apel, S., Ostermann, K.: The road to feature modularity? In: Proceedings of the 15th International Software Product Line Conference, SPLC 2011, vol. 2, pp. 5:1–5:8. ACM, New York (2011)

    Google Scholar 

  32. Kästner, C., Apel, S., ur Rahman, S.S., Rosenmüller, M., Batory, D.S., Saake, G.: On the impact of the optional feature problem: analysis and case studies. In: 2009 Proceedings of 13th International Conference on Software Product Lines, SPLC 2009, San Francisco, California, USA, 24–28 August, pp. 181–190 (2009)

    Google Scholar 

  33. Katz, S.: A superimposition control construct for distributed systems. ACM Trans. Program. Lang. Syst. (TOPLAS) 15(2), 337–356 (1993)

    Article  Google Scholar 

  34. Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22110-1_47

    Chapter  Google Scholar 

  35. Leino, K.R.M., Saxe, J.B., Stata, R.: Checking java programs via guarded commands. In: Leino, K.R.M., Saxe, J.B., Stata, R. (eds.) Workshop on Object-oriented Technology, pp. 110–111. Springer, Heidelberg (1999)

    Google Scholar 

  36. Milner, R.: Communication and Concurrency. PHI Series in Computer Science. Prentice Hall, Upper Saddle River (1989)

    Google Scholar 

  37. Plath, M., Ryan, M.: Feature integration using a feature construct. Sci. Comput. Program. 41(1), 53–84 (2001)

    Article  Google Scholar 

  38. Post, H., Sinz, C.: Configuration lifting: verification meets software configuration. In: Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2008, pp. 347–350. IEEE Computer Society, Washington, DC (2008)

    Google Scholar 

  39. Schaefer, I., Worret, A., Poetzsch-Heffter, A.: A model-based framework for automated product derivation. In: Proceedings of the 1st International Workshop on Model-driven Approaches in Software Product Line Engineering (MAPLE 2009), collocated with the 13th International Software Product Line Conference (SPLC 2009), San Francisco, USA, 24 August 2009 (2009)

    Google Scholar 

  40. Zave, P.: Feature-oriented description, formal methods, and DFC. In: Gilmore, S., Ryan, M. (eds.) Language Constructs for Describing Features, pp. 11–26. Springer, London (2001). https://doi.org/10.1007/978-1-4471-0287-8_2

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Clemens Dubslaff .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Dubslaff, C. (2019). Compositional Feature-Oriented Systems. In: Ölveczky, P., Salaün, G. (eds) Software Engineering and Formal Methods. SEFM 2019. Lecture Notes in Computer Science(), vol 11724. Springer, Cham. https://doi.org/10.1007/978-3-030-30446-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-30446-1_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-30445-4

  • Online ISBN: 978-3-030-30446-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics