Program Synthesis for Configuring Collaborative Solutions in Feature Models

  • Lina Ochoa
  • Oscar González-Rojas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10034)


We create a program synthesis for searching optimal configurations in collaborative decision-making models. At the specification level, existing approaches do not consider both individual and business constraints to configure products in a cooperative manner. Usually, the combination of independent specifications is manually implemented into low level platforms, which limits the management of constraint-intensive decision processes. Our proposed model-driven collaboration system analyses multiple domain and preference models to help selecting goal-driven technological solutions. First, we extend an existing domain-specific language to specify multi-objective and constraint-based business rules. Next, we created model transformations to generate a program that can be executed into two different constraint-based platforms, which combine heterogeneous and highly expressive models. We apply our approach to find a goal-driven enterprise information system solution. The program synthesis analyzed in average 697 constraints across multiple specifications to avoid inconsistencies in manual configurations.


Enterprise interoperability Domain modeling Collaborative product configuration Program synthesis Constraint programming 


  1. 1.
    Batory, D.: Program refactoring, program synthesis, and model-driven development. In: Krishnamurthi, S., Odersky, M. (eds.) CC 2007. LNCS, vol. 4420, pp. 156–171. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-71229-9_11 CrossRefGoogle Scholar
  2. 2.
    Ba̧k, K., Diskin, Z., Antkiewicz, M., Czarnecki, K., Wa̧sowski, A.: Clafer: unifying class and feature modeling. Softw. Syst. Model. 15, 811–845 (2016)CrossRefGoogle Scholar
  3. 3.
    Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: Pastor, O., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005). doi: 10.1007/11431855_34 CrossRefGoogle Scholar
  4. 4.
    Colanzi, T.E., Vergilio, S.R.: Applying search based optimization to software product line architectures: lessons learned. In: Fraser, G., Teixeira de Souza, J. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 259–266. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-33119-0_19 CrossRefGoogle Scholar
  5. 5.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, New York (2000)Google Scholar
  6. 6.
    Henard, C., Papadakis, M., Harman, M., Le Traon, Y.: Combining multi-objective search and constraint solving for configuring large software product lines. In: 37th International Conference on Software Engineering, pp. 517–528. IEEE Press (2015)Google Scholar
  7. 7.
    Hierons, R.M., Li, M., Liu, X., Segura, S., Zheng, W.: SIP: optimal product selection from feature models using many-objective evolutionary optimization. ACM Trans. Softw. Eng. Methodol. 25, 17:1–17:39 (2016)CrossRefGoogle Scholar
  8. 8.
    Junker, U.: QUICKXPLAIN: preferred explanations and relaxations for over-constrained problems. In: 19th National Conference on Artifical Intelligence, pp. 167–172. AAAI Press, Menlo Park (2004)Google Scholar
  9. 9.
    Liang, J.: Solving Clafer models with Choco. University of Waterloo, Technical report (2012)Google Scholar
  10. 10.
    Machado, L., Pereira, J., Garcia, L., Figueiredo, E.: SPLConfig: product configuration in software product line. In: Brazilian Conference on Software: Theory and Practice - Tools Session, pp. 85–92 (2014)Google Scholar
  11. 11.
    Ochoa, L., González-Rojas, O., Thüm, T.: Using decision rules for solving conflicts in extended feature models. In: 8th ACM SIGPLAN International Conference on Software Language Engineering, pp. 149–160. ACM, New York (2015)Google Scholar
  12. 12.
    Ochoa, L., González-Rojas, O., Verano, M., Castro, H.: Searching for optimal configurations within large-scale models: a cloud computing domain. In: Link, S., Trujillo, J.C. (eds.) ER 2016. LNCS, vol. 9975, pp. 65–75. Springer, Cham (2016). doi: 10.1007/978-3-319-47717-6_6 CrossRefGoogle Scholar
  13. 13.
    Siegmund, N., Rosenmüller, M., Kuhlemann, M., Kästner, C., Apel, S., Saake, G.: SPL conqueror: toward optimization of non-functional properties in software product lines. Softw. Qual. J. 20, 487–517 (2012)CrossRefGoogle Scholar
  14. 14.
    Stein, J., Nunes, I., Cirilo, E.: Preference-based feature model configuration with multiple stakeholders. In: 18th International Software Product Line Conference, pp. 132–141. ACM, New York (2014)Google Scholar
  15. 15.
    White, J., Benavides, D., Schmidt, D., Trinidad, P., Dougherty, B., Ruiz-Cortes, A.: Automated diagnosis of feature model configurations. J. Syst. Softw. 83, 1094–1107 (2010)CrossRefGoogle Scholar
  16. 16.
    White, J., Dougherty, B., Schmidt, D.C.: Selecting highly optimal architectural feature sets with filtered cartesian flattening. J. Syst. Softw. 82, 1268–1284 (2009)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Systems and Computing Engineering Department, School of EngineeringUniversidad de los AndesBogotáColombia

Personalised recommendations