A constraint-based variability modeling framework

  • Sven Jörges
  • Anna-Lena Lamprecht
  • Tiziana Margaria
  • Ina Schaefer
  • Bernhard Steffen


Constraint-based variability modeling is a flexible, declarative approach to managing solution-space variability. Product variants are defined in a top-down manner by successively restricting the admissible combinations of product artifacts until a specific product variant is determined. In this paper, we illustrate the range of constraint-based variability modeling by discussing two of its extreme flavors: constraint-guarded variability modeling and constraint-driven variability modeling. The former applies model checking to establish the global consistency of product variants which are built by manual specification of variations points, whereas the latter uses synthesis technology to fully automatically generate product variants that satisfy all given constraints. Each flavor is illustrated by means of a concrete case study.


Variability Software product lines Constraint-based variability modeling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Pohl K., Böckle G., van der Linden F.: Software Product Line Engineering—Foundations, Principles, and Techniques. Springer, Berlin (2005)zbMATHGoogle Scholar
  2. 2.
    Czarnecki K., Eisenecker U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  3. 3.
    Völter, M., Groher, I (2007) Product line implementation using aspect-oriented and model-driven software development. In: SPLC, pp. 233–242Google Scholar
  4. 4.
    Clarke E.M., Grumberg O., Peled D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  5. 5.
    Müller-Olm, M., Schmidt, D., Steffen, B.: Model-checking: a tutorial introduction. In: Static Analysis, p. 848 (1999)Google Scholar
  6. 6.
    Bakera M., Margaria T., Renner C., Steffen B.: Tool-supported enhancement of diagnosis in model-driven verification. Innov. Syst. Softw. Eng. 5, 211–228 (2009). doi: 10.1007/s11334-009-0091-6 CrossRefGoogle Scholar
  7. 7.
    Jörges S., Margaria T., Steffen B.: Assuring property conformance of code generators via model checking. Form. Asp. Comput. 23, 589–606 (2011)CrossRefGoogle Scholar
  8. 8.
    Steffen B., Margaria T., Braun V., Kalt N.: Hierarchical service definition. Ann. Rev. Commun. ACM 51, 847–856 (1997)Google Scholar
  9. 9.
    Steffen, B., Margaria, T., Claßen, A., Braun, V., Nisius, R., Reitenspieß, M.: A Constraint-oriented service creation environment. In: TACAS, pp. 418–421 (1996)Google Scholar
  10. 10.
    Steffen B., Margaria T., Claßen A., Braun V.: Incremental formalization: a key to industrial success. Softw. Concepts Tools 17(2), 78–95 (1996)Google Scholar
  11. 11.
    Steffen, B.: Method for incremental synthesis of a discrete technical system, WO 98/24022 (1998)Google Scholar
  12. 12.
    Braun, V., Margaria, T., Steffen, B., Yoo, H., Rychly, T.: Safe service customization. In: Intelligent Network Workshop 1997. IN ’97., IEEE. Volume, Vol. 2 (1997)Google Scholar
  13. 13.
    Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML profile for software product lines. In: Workshop on Product Familiy Engineering (PFE), pp. 129–139 (2003)Google Scholar
  14. 14.
    Gomaa H.: Designing Software Product Lines with UML. Addison Wesley, Reading (2004)Google Scholar
  15. 15.
    van Ommering R.C.: Software reuse in product populations. IEEE Trans. Softw. Eng. 31(7), 537–550 (2005)CrossRefGoogle Scholar
  16. 16.
    Batory D., Sarvela J., Rauschmayer A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  17. 17.
    Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding Standardized Variability to Domain Specific Languages. In: SPLC (2008)Google Scholar
  18. 18.
    Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract delta modeling. In: GPCE, Springer, Berlin (2010)Google Scholar
  19. 19.
    Schaefer, I., Dave Clarke, R.R., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujilol, S., Villela, K.: Software Diversity State of the Art and Perspectives. STTT, Springer, Berlin (2012)Google Scholar
  20. 20.
    Steffen, B., Margaria, T., Freitag, B.: Module Configuration by Minimal Model Construction. Technical report Fakultät für Mathematik und Informatik, Universitat Passau (1993)Google Scholar
  21. 21.
    Steffen B., Margaria T., Braun V.: The electronic tool integration platform: concepts and design. Int. J. Softw. Tools Technol. Transf. STTT 1(1–2), 9–30 (1997)zbMATHCrossRefGoogle Scholar
  22. 22.
    Pesic, M., Schonenberg, M.H., Sidorova, N., Van Der Aalst, W.M.P.: Constraint-based workflow models: change made easy. In: Proceedings of the 2007 OTM confederated international conference on the move to meaningful internet systems: CoopIS, DOA, ODBASE, GADA, and IS, Volume Part I. OTM’07, Springer-Verlag, Berlin, Heidelberg, pp. 77–94 (2007)Google Scholar
  23. 23.
    Schaefer, I., Lamprecht, A.L., Margaria, T.: Constraint-oriented Variability Modeling. In: Rash, J., Rouff, C. (eds.) 34th Annual IEEE Software Engineering Workshop (SEW-34), IEEE CS Press, pp. 77–83 (2011)Google Scholar
  24. 24.
    Salinesi, C., Djebbi, O., Mazo, R., Diaz, D., Lora-Michiels, A.: Constraints: The core of product line engineering. In: RCIS, IEEE, pp. 1–10 (2011)Google Scholar
  25. 25.
    Mazo R., Salinesi C., Diaz D., Djebbi O., Lora-Michiels A.: Constraints: The heart of domain and application engineering in the product lines engineering strategy. Int. J. Inf. Syst. Model. Des. 3(2), 33–68 (2012)CrossRefGoogle Scholar
  26. 26.
    Margaria T., Steffen B.: Agile IT thinking in user-centric models. In: Margaria, T., Agile, I.T. (eds) Leveraging Applications of Formal Methods, Verification and Validation, Volume 17 of Communications in Computer and Information Science, pp. 490–. Springer, Berlin (2009)CrossRefGoogle Scholar
  27. 27.
    Margaria T., Steffen B.: Business process modelling in the jABC: the one-thing-approach. In: Cardoso, J., van der Aalst, W. (eds) Handbook of Research on Business Process Modeling, IGI Global, USA (2009)Google Scholar
  28. 28.
    Steffen, B.: Unifying models. In: Reischuk, R., Morvan, M. (eds.) STACS 97. Lecture Notes in Computer Science, Vol. 1200. Springer, Berlin, pp. 1–20 (1997)Google Scholar
  29. 29.
    Steffen, B., Rüthing, O.: Quality engineering leveraging heterogeneous information (Invited Talk). In: Jhala, R., Schmidt, D. (eds.) Verification, Model Checking, and Abstract Interpretation. Lecture Notes in Computer Science, Vol. 6538. Springer, Berlin, pp. 23–37 (2011)Google Scholar
  30. 30.
    Margaria T., Steffen B.: Service-orientation: conquering complexity with XMDD. In: Hinchey, M., Coyle, L. (eds) Conquering Complexity, pp. 217–236. Springer, London (2012)CrossRefGoogle Scholar
  31. 31.
    Milner R.: Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River (1989)zbMATHGoogle Scholar
  32. 32.
    Steffen B., Ingólfsdóttir A.: Characteristic Formulae for Processes with Divergence. Information and Computation. 110(1), 149–163 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  33. 33.
    Steffen B., Ingólfsdóttir A.: Characteristic formulae for processes with divergence. Inf. Comput. 110(1), 149–163 (1994)zbMATHCrossRefGoogle Scholar
  34. 34.
    Steffen, B., Margaria, T., Nagel, R., Jörges, S., Kubczak, C.: Model-Driven Development with the jABC. In: Binm, E., Zivm, A., Ur, S. (eds.) Hardware and Software, Verification and Testing. Lecture Notes in Computer Science, Vol. 4383. Springer, Berlin, pp. 92–108 (2007)Google Scholar
  35. 35.
    Lamprecht, A.L., Naujokat, S., Margaria, T., Steffen, B.: Synthesis-based loose programming. In: Proceedings of the 7th Internatio al Conference on the Quality of Information and Communications Technology (QUATIC) (2010)Google Scholar
  36. 36.
    Naujokat, S., Lamprecht, A.L., Steffen, B., Jörges, S., Margaria T.: Simplicity principles for plug-in development: the jABC approach. In: Second International Workshop on Developing Tools as Plug-Ins (TOPI 2012) (2012)Google Scholar
  37. 37.
    Margaria T., Kubczak C., Steffen B.: Bio-jETI: a service integration, design, and provisioning platform for orchestrated bioinformatics processes. BMC Bioinf. 9(Suppl 4), S12 (2008)CrossRefGoogle Scholar
  38. 38.
    Lamprecht A.L., Margaria T., Steffen B.: Bio-jETI: a framework for semantics-based service composition. BMC Bioinf. 10(Suppl 10), S8 (2009)CrossRefGoogle Scholar
  39. 39.
    Margaria, T., Nagel, R., Steffen, B.: jETI: a tool for remote tool integration. In: Tools and Algorithms for the Construction and Analysis of Systems. LNCS, Vol. 3440/2005. Springer, Berlin, pp. 557–562 (2005)Google Scholar
  40. 40.
    Jörges, S., Genesys, A.: Model-Driven and Service-Oriented Approach to the Construction and Evolution of Code Generators. PhD thesis, Technische Universität Dortmund (2011)Google Scholar
  41. 41.
    Jörges S., Margaria T., Steffen B.: Genesys: service-oriented construction of property conform code generators. ISSE 4(4), 361–384 (2008)Google Scholar
  42. 42.
    Jörges, S., Kubczak, C., Pageau, F., Margaria, T.: Model driven design of reliable robot control programs using the jABC. In: Proceedings of 4th IEEE International Workshop on Engineering of Autonomic and Autonomous Systems (EASe 2007), pp. 137–148 (2007)Google Scholar
  43. 43.
    Java Community Process JSR 315: Java Servlet 3.0 Specification (2011)Google Scholar
  44. 44.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the 11th European Conference on Object-Oriented Programming, ECOOP, Springer, pp. 220–242 (1997)Google Scholar
  45. 45.
    Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the large and modeling in the small. In: Model Driven Architecture, European MDA Workshops: Foundations and Applications, MDAFA 2003 and MDAFA 2004. Springer, pp. 33–46 (2004)Google Scholar
  46. 46.
    Apache Foundation Apache Velocity (2010).
  47. 47.
    Bakera, M., Margaria, T., Renner, C.D., Steffen, B.: Property-driven functional healing: playing against undesired behavior In: Business Process Engineering, Proceedings of the CONQUEST 2007, dpunkt, pp. 363–372 (2007)Google Scholar
  48. 48.
    Bakera, M., Margaria, T., Renner, C., Steffen, B.: Verification, diagnosis and adaptation: tool-supported enhancement of the model-driven verification process. In: Revue des Nouvelles Technologies de l’Information (RNTI-SM-1), pp. 85–98 (2007)Google Scholar
  49. 49.
    Czarnecki, K.: Overview of generative software development. In: International Workshop on Unconventional Programming Paradigms, Springer, pp. 326–341 (2004)Google Scholar
  50. 50.
    Pettifer, S., Ison, J., Kalas, M., Thorne, D., McDermott, P., Jonassen, I., Liaquat, A., Fernandez, J.M., Rodriguez, J.M., Partners, I., Pisano, D.G., Blanchet, C., Uludag, M., Rice, P., Bartaseviciute, E., Rapacki, K., Hekkelman, M., Sand, O., Stockinger, H., Clegg, A.B., Bongcam-Rudloff, E., Salzemann, J., Breton, V., Attwood, T.K., Cameron, G., Vriend, G.: The EMBRACE web service collection. Nucl. Acids Res., 38, p. gkq297 (2010)Google Scholar
  51. 51.
    van de Aalst, W.M.P, Pesic, M.: DecSerFlow Towards a Truly Declarative Service Flow Language. In: Web Services and Formal Methods. Third International Workshop. Lecture Notes in Computer Science, Vol. 4184, Springer, Berlin, pp. 1–23 (2006)Google Scholar
  52. 52.
    Pesic, M., Schonenberg, H., van der Aalst, W.M.P.: DECLARE: full support for loosely-structured processes. In: Proceedings of the 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007), pp. 287–300 (2007)Google Scholar
  53. 53.
    Montali, M., Pesic, M., van der Aalst, W.M.P., Chesani, F., Mello, P., Storari, S.: Declarative specification and verification of service choreographiess. TWEB 4(1) (2010)Google Scholar
  54. 54.
    Larkin M., Blackshields G., Brown N., Chenna R., McGettigan P., McWilliam H., Valentin F., Wallace I., Wilm A., Lopez R., Thompson J., Gibson T., Higgins D.: Clustal W and Clustal X version 2.0. Bioinformatics 23(21), 2947–2948 (2007)CrossRefGoogle Scholar
  55. 55.
    Salinesi, C., Mazo, R., Diaz, D., Djebbi, O.: Using integer constraint solving in reuse based requirements engineering. In: IEEE International Conference on 0 Requirements Engineering, pp. 243–251 (2010)Google Scholar
  56. 56.
    Czarnecki K., Eisenecker U.W.: Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)Google Scholar
  57. 57.
    Barth, B., Butler, G., Czarnecki, K., Eisenecker, U.: In: Generative Programming. Lecture Notes in Computer Science, Vol. 2323. Springer, Berlin, pp. 61–88 (2002)Google Scholar
  58. 58.
    Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Annual Symposium on Principles of Programming Languages (1989)Google Scholar
  59. 59.
    Margaria, T., Steffen, B.: LTL guided planning: revisiting automatic tool composition in ETI. In: Proceedings of the 31st IEEE Software Engineering Workshop, IEEE Computer Society, pp. 214–226 (2007)Google Scholar
  60. 60.
    Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis. In: IEEE International Conference on 0 Requirements Engineering, pp. 243–253 (2007)Google Scholar
  61. 61.
    Deelstra S., Sinnema M., Bosch J.: Variability assessment in software product families. Inf. Softw. Technol. 51(1), 195–218 (2009)CrossRefGoogle Scholar
  62. 62.
    Than Tun, T., Boucher, Q., Classen, A., Hubaux, A., Heymans, P.: Relating requirements and feature configurations: a systematic approach. In: Proceedings of the 13th International Software Product Line Conference. SPLC ’09, Pittsburgh, PA, USA, Carnegie Mellon University, pp. 201–210 (2009)Google Scholar
  63. 63.
    Naujokat S.: Automatische Generierung von Prozessen im jABC. Diplomarbeit, TU Dortmund (2009)Google Scholar
  64. 64.
    Lamprecht, A.L., Margaria, T., Steffen, B.: Seven variations of an alignment workflow—an illustration of agile process design and management in Bio-jETI. In: Bioinformatics Research and Applications. LNBI, Vol. 4983. Springer, Atlanta, Georgia, pp. 445–456 (2008)Google Scholar
  65. 65.
    Kwon Y., Shigemoto Y., Kuwana Y., Sugawara H.: Web API for biology with a workflow navigation system. Nucl. Acids Res. 37(suppl_2), W11–16 (2009)CrossRefGoogle Scholar
  66. 66.
    Kang K., Lee J., Donohoe P.: Feature-Oriented Project Line Engineering. IEEE Software. 19(4), (2002)Google Scholar
  67. 67.
    Kastner, C., Thum, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F., Apel, S.: Feature IDE: a tool framework for feature -oriented software development. In: Proceedings of the 31st International Conference on Software Engineering. ICSE ’09, Washington, DC, USA, IEEE Computer Society, pp. 611–614 (2009)Google Scholar
  68. 68.
    Jonsson, B., Margaria, T., Naeser, G., Nyström, J., Steffen, B.: Incremental requirement specification for evolving systems. In: Calder, M., Magill, E.H. (eds.) Feature Interactions in Telecommunications and Software Systems VI (FIW 2000), IOS Press, pp. 145–162 (2000)Google Scholar
  69. 69.
    Jonsson B., Margaria T., Naeser G., Nyström J., Steffen B.: Incremental requirement specification for evolving systems. Nordic J. Comput. 8, 65–87 (2001)zbMATHGoogle Scholar
  70. 70.
    Lamprecht, A.L., Margaria, T., Schaefer, I., Steffen, B.: Synthesis-based variability control: correctness by construction. In: FMCO 2011 post-proceedings. LNCS, Springer (2012, submitted)Google Scholar
  71. 71.
    Gottschalk F., van der Aalst W.M.P., Jansen-Vullers M.H., La Rosa M.: Configurable Workflow Models. Int. J. Coop. Inf. Syst. 17(02), 177+ (2008)CrossRefGoogle Scholar
  72. 72.
    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 the 32nd ACM/IEEE International Conference on Software Engineering, Vol. 1. ICSE ’10, New York, NY, USA, ACM, pp. 335–344 (2010)Google Scholar
  73. 73.
    Asirelli, P., Beek, M.H.T., Fantechi, A., Gnesi, S.: A logical framework to deal with variability. In: Proceedings of the 8th international conference on Integrated formal methods. IFM’10, Berlin, Heidelberg, Springer-Verlag, pp. 43–58 (2010)Google Scholar
  74. 74.
    Asirelli, P., ter Beek, M., Gnesi, S., Fantechi, A.: Formal Description of Variability in Product Families. In: Software Product Line Conference (SPLC), 2011 15th International, pp. 130–139 (2011)Google Scholar
  75. 75.
    Lamprecht, A.L., Naujokat, S., Steffen, B., Margaria, T.: Constraint-guided workflow composition based on the EDAM ontology. In: Burger, A., Marshall, M.S., Romano, P., Paschke, A., Splendiani, A. (eds.) Proceedings of the Workshop on Semantic Web Applications and Tools for Life Sciences, Berlin, Germany, December 10, 2010, Vol. 698. CEUR Workshop Proceedings (2010)Google Scholar
  76. 76.
    Lamprecht A.L., Naujokat S., Margaria T., Steffen B.: Semantics-based composition of EMBOSS services. J. Biomed. Semant. 2(Suppl 1), S5 (2011)CrossRefGoogle Scholar
  77. 77.
    Rice P., Longden I., Bleasby A.: EMBOSS the European molecular biology open software suite. Trends Genet. TIG 16(6), 7–276 (2000)Google Scholar
  78. 78.
    Gentleman R.C., Carey V.J., Bates D.M., Bolstad B., Dettling M., Dudoi S., Ellis B., Gautier L., Ge Y., Gentry J., Hornik K., Hothorn T., Huber W., Iacus S., Irizarry R., Leisch F., Li C., Maechler M., Rossini A.J., Sawitzki G., Smith C., Smyth G., Tierney L., Yang J.Y., Zhang J.: Bioconductor: open software development for computational biology and bioinformatics. Genome Biol. 5(10), R80 (2004)CrossRefGoogle Scholar
  79. 79.
    DDBJ:Web API for Biology. Workflows composed of the Web APIs
  80. 80.
    Lamprecht A.L., Margaria T., Steffen B., Sczyrba A., Hartmeier S., Giegerich R., GeneFisher P.: variations of GeneFisher as processes in Bio-jETI. BMC Bioinformatics. 9(Suppl 4), S13 (2008)CrossRefGoogle Scholar
  81. 81.
    Ebert, B.E.: A systems approach to understand and engineer whole-cell redox biocatalysts. Dissertation, Fakultät Bio- und Chemieingenieurwesen, Technische Universität Dortmund (2011)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Sven Jörges
    • 1
  • Anna-Lena Lamprecht
    • 2
  • Tiziana Margaria
    • 2
  • Ina Schaefer
    • 3
  • Bernhard Steffen
    • 1
  1. 1.Chair for Programming SystemsTechnical University DortmundDortmundGermany
  2. 2.Chair for Service and Software EngineeringUniversity PotsdamPotsdamGermany
  3. 3.Institut für Software Systems EngineeringTechnische Universität BraunschweigBraunschweigGermany

Personalised recommendations